From 1e50ab25a73e2067a7ea88895477b304ca146e3c Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Sun, 29 Jul 2001 18:02:47 +0000 Subject: [PATCH] updates. --- apps/irssi/src/silc/core/silc-channels.c | 2 +- apps/silc/README | 5 + apps/silc/testi.conf | 63 - apps/silc/testi2.conf | 66 - apps/silcd/command.c | 10 +- doc/Makefile.am.pre | 9 +- doc/whitepaper/silc_channel.edg | 2683 +++++++++++++ doc/whitepaper/silc_network.edg | 2972 ++++++++++++++ doc/whitepaper/silc_packet.edg | 2025 ++++++++++ doc/whitepaper/silc_priv1.edg | 2402 +++++++++++ doc/whitepaper/silc_priv2.edg | 2240 +++++++++++ doc/whitepaper/silc_priv3.edg | 2347 +++++++++++ doc/whitepaper/silc_protocol.html | 280 ++ doc/whitepaper/silc_routers.edg | 2447 ++++++++++++ doc/whitepaper/silc_template.edg | 1597 ++++++++ {doc => scripts}/fix.pl | 0 scripts/html2ps | 4606 ++++++++++++++++++++++ scripts/html2psrc | 62 + {doc => scripts}/makerfc | 2 +- 19 files changed, 23677 insertions(+), 141 deletions(-) create mode 100644 apps/silc/README delete mode 100644 apps/silc/testi.conf delete mode 100644 apps/silc/testi2.conf create mode 100644 doc/whitepaper/silc_channel.edg create mode 100644 doc/whitepaper/silc_network.edg create mode 100644 doc/whitepaper/silc_packet.edg create mode 100644 doc/whitepaper/silc_priv1.edg create mode 100644 doc/whitepaper/silc_priv2.edg create mode 100644 doc/whitepaper/silc_priv3.edg create mode 100644 doc/whitepaper/silc_protocol.html create mode 100644 doc/whitepaper/silc_routers.edg create mode 100644 doc/whitepaper/silc_template.edg rename {doc => scripts}/fix.pl (100%) create mode 100755 scripts/html2ps create mode 100755 scripts/html2psrc rename {doc => scripts}/makerfc (79%) diff --git a/apps/irssi/src/silc/core/silc-channels.c b/apps/irssi/src/silc/core/silc-channels.c index 5bf3383e..d500e63b 100644 --- a/apps/irssi/src/silc/core/silc-channels.c +++ b/apps/irssi/src/silc/core/silc-channels.c @@ -296,7 +296,7 @@ static void event_cmode(SILC_SERVER_REC *server, va_list va) uint32 modei; SilcIdType idtype; - idtype = va_arg(va, SilcIdType); + idtype = va_arg(va, int); entry = va_arg(va, void *); modei = va_arg(va, uint32); (void)va_arg(va, char *); diff --git a/apps/silc/README b/apps/silc/README new file mode 100644 index 00000000..d8fe44b5 --- /dev/null +++ b/apps/silc/README @@ -0,0 +1,5 @@ +This directory includes the old SILC Client. It was the first SILC +client ever made. However, it is now obsolete and not supported. It +is provided here merely as an example code. Do not try to compile it. + + -Pekka diff --git a/apps/silc/testi.conf b/apps/silc/testi.conf deleted file mode 100644 index 77e96396..00000000 --- a/apps/silc/testi.conf +++ /dev/null @@ -1,63 +0,0 @@ -[Cipher] -aes-256-cbc:../lib/silcsim/modules/aes.sim.so:32:16 -aes-192-cbc:../lib/silcsim/modules/aes.sim.so:24:16 -aes-128-cbc:../lib/silcsim/modules/aes.sim.so:16:16 -twofish-256-cbc:../lib/silcsim/modules/twofish.sim.so:32:16 -twofish-192-cbc:../lib/silcsim/modules/twofish.sim.so:24:16 -twofish-128-cbc:../lib/silcsim/modules/twofish.sim.so:16:16 -mars-256-cbc:../lib/silcsim/modules/mars.sim.so:32:16 -mars-192-cbc:../lib/silcsim/modules/mars.sim.so:24:16 -mars-128-cbc:../lib/silcsim/modules/mars.sim.so:16:16 -none:../lib/silcsim/modules/none.sim.so:0:0 - -[Hash] -md5::64:16 -sha1::64:20 - -[hmac] -hmac-sha1-96:sha1:12 -hmac-md5-96:md5:12 -hmac-sha1:sha1:20 -hmac-md5:md5:16 - -[PKCS] -rsa - -[Identity] -nobody:nobody - -[AdminInfo] -Mun huone:Mun servo:Pekka Riikonen:priikone@poseidon.pspt.fi - -[ServerInfo] -lassi.kuo.fi.ssh.com:212.146.42.253:Kuopio, Finland:1333 - -[ListenPort] -212.146.42.253:212.146.42.253:1333 - -[Logging] -infologfile:silcd2.log:10000 -#warninglogfile:/var/log/silcd_warning.log:10000 -errorlogfile:silcd2.log:10000 -#fatallogfile:/var/log/silcd_error.log: - -[ConnectionClass] -1:100:100:100 -2:200:300:400 - -[ClientConnection] -:::1333:1 -:::1334:1 -:::1335:1 -:::1336:1 - -[AdminConnection] -*:priikone:*:passwd:testi - -[ServerConnection] -#212.146.42.253:passwd:priikone:1335:1:1 - -[RouterConnection] -212.146.42.253:passwd:priikone:1334:1:1:1 - -[DenyConnection] diff --git a/apps/silc/testi2.conf b/apps/silc/testi2.conf deleted file mode 100644 index 1d549c5b..00000000 --- a/apps/silc/testi2.conf +++ /dev/null @@ -1,66 +0,0 @@ -[Cipher] -aes-256-cbc:../lib/silcsim/modules/aes.sim.so:32:16 -aes-192-cbc:../lib/silcsim/modules/aes.sim.so:24:16 -aes-128-cbc:../lib/silcsim/modules/aes.sim.so:16:16 -twofish-256-cbc:../lib/silcsim/modules/twofish.sim.so:32:16 -twofish-192-cbc:../lib/silcsim/modules/twofish.sim.so:24:16 -twofish-128-cbc:../lib/silcsim/modules/twofish.sim.so:16:16 -mars-256-cbc:../lib/silcsim/modules/mars.sim.so:32:16 -mars-192-cbc:../lib/silcsim/modules/mars.sim.so:24:16 -mars-128-cbc:../lib/silcsim/modules/mars.sim.so:16:16 -none:../lib/silcsim/modules/none.sim.so:0:0 - -[Hash] -md5::64:16 -sha1::64:20 - -[hmac] -hmac-sha1-96:sha1:12 -hmac-md5-96:md5:12 -hmac-sha1:sha1:20 -hmac-md5:md5:16 - -[PKCS] -rsa - -[serverkeys] -./silcd.pub:./silcd.prv - -[Identity] -nobody:nobody - -[AdminInfo] -Mun huone:Mun servo:Pekka Riikonen:priikone@poseidon.pspt.fi - -[ServerInfo] -lassi.kuo.fi.ssh.com:212.146.42.253:Kuopio, Finland:1334 - -[ListenPort] -212.146.42.253:212.146.42.253:1334 - -[Logging] -infologfile:silcd2.log:10000 -#warninglogfile:/var/log/silcd_warning.log:10000 -errorlogfile:silcd2.log:10000 -#fatallogfile:/var/log/silcd_error.log: - -[ConnectionClass] -1:100:100:100 -2:200:300:400 - -[ClientConnection] -:::1333:1 -:::1334:1 -:::1335:1 -:::1336:1 - -[AdminConnection] -*:priikone:*:passwd:testi - -[ServerConnection] -212.146.42.253:passwd:priikone:1334:1:1 - -[RouterConnection] -212.146.42.253:passwd:priikone:1335:1:1:0 - -[DenyConnection] diff --git a/apps/silcd/command.c b/apps/silcd/command.c index c5041bcb..7c8fde9e 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -1807,18 +1807,16 @@ SILC_SERVER_CMD_FUNC(nick) FALSE : TRUE, client->id, new_id); + oidp = silc_id_payload_encode(client->id, SILC_ID_CLIENT); + /* Remove old cache entry */ silc_idcache_del_by_context(server->local_list->clients, client); - oidp = silc_id_payload_encode(client->id, SILC_ID_CLIENT); - /* Free old ID */ - if (client->id) - silc_free(client->id); + silc_free(client->id); /* Save the nickname as this client is our local client */ - if (client->nickname) - silc_free(client->nickname); + silc_free(client->nickname); client->nickname = strdup(nick); client->id = new_id; diff --git a/doc/Makefile.am.pre b/doc/Makefile.am.pre index d32ee531..7d906cbe 100644 --- a/doc/Makefile.am.pre +++ b/doc/Makefile.am.pre @@ -21,6 +21,7 @@ AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign COMMONDIRS = SUBDIRS = SILC_DISTRIBUTION_SUBDIRS DIST_SUBDIRS = SILC_DISTRIBUTION_SUBDIRS +makerfc = ../scripts/makerfc all: touch draft-riikonen-silc-spec-03.txt @@ -42,13 +43,13 @@ dist-hook: touch draft-riikonen-silc-pp-03.txt touch draft-riikonen-silc-ke-auth-03.txt touch draft-riikonen-silc-commands-01.txt - ./makerfc draft-riikonen-silc-spec-03.nroff \ + $(makerfc) draft-riikonen-silc-spec-03.nroff \ draft-riikonen-silc-spec-03.txt - ./makerfc draft-riikonen-silc-pp-03.nroff \ + $(makerfc) draft-riikonen-silc-pp-03.nroff \ draft-riikonen-silc-pp-03.txt - ./makerfc draft-riikonen-silc-ke-auth-03.nroff \ + $(makerfc) draft-riikonen-silc-ke-auth-03.nroff \ draft-riikonen-silc-ke-auth-03.txt - ./makerfc draft-riikonen-silc-commands-01.nroff \ + $(makerfc) draft-riikonen-silc-commands-01.nroff \ draft-riikonen-silc-commands-01.txt endif diff --git a/doc/whitepaper/silc_channel.edg b/doc/whitepaper/silc_channel.edg new file mode 100644 index 00000000..feddcd14 --- /dev/null +++ b/doc/whitepaper/silc_channel.edg @@ -0,0 +1,2683 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X -56 +Y 203 +Scale 100 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 128,0,128 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 255,255,0 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block short" +LastEndLen 21 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 64 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A000000000000000000000000000000000000000000DC455D00 +} + +Preview 3260 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF44FF3F827FFF7FFF13FF03820204EFE7EF1E820205EFE7EF03827FFF7FFF +13FF03820213EFE7EF03824EFF6CC057FF3F824BFF03FC03C066FC03C00FFF7F +82538203FC03C030FC128203FC098218FC03C00CFF06827FFF4DFF038203FC03 +C066FC03C07FFF62FF03FC03C030FC0C8203FC068203FC038203FC038215FC03 +C07FFF62FF03FC03C006FC03821BFC03823FFC03C07FFF62FF03FC03C006FC0F +8206FC0C8209FC098203FC038206FC128203FC068206FC03C07FFF62FF03FC03 +C066FC03C030FF12826CFF128221FF03FC03C033FC068203FC068203FC03821E +FC03C030FF12826CFF128221FF03FC03C006FC1E8242FC03C030FF03820CDB03 +826CFF03820CDB038221FF03FC03C006FC1E820CFC128203FC098203FC06820F +FC03C030FF12826CFF128221FF03FC03C066FC03C05AFF278260FF03FC03C033 +FC068203FC068203FC03821EFC03C05AFF038221F4038260FF03FC03C006FC1E +8242FC03C02AFF278209FF0C8203F4068203F4038203F4038203F4038209FF27 +8230FF03FC03C006FC1E820CFC128203FC098203FC06820FFC03C00FFF158206 +FF038221F4038209FF068203F403820CF4038209F4038209FF038221F4038230 +FF03FC03C066FC03C00FFF0F8203DB038206FF0C8203F4068203F4038203F403 +8203F4038209FF038221F4038209FF0C8203F4068203F4038203F4038203F403 +820CFF15C003FF06C006FF03FC03C066FC03C00FFF03820FDB038206FF068203 +F403820CF4038209F4038209FF12820300128209FF068203F403820CF4038209 +F403820CFF03C006FF0CC003FF06C006FF03FC03C006FC12824EFC03C00FFF15 +8206FF038221F4038218FF06001BFF038221F403820CFF06C009FF06C003FF06 +C006FF03FC03C006FC03820CDB038206FC098206FC068206FC068203FC128203 +FC098206FC03C02AFF218206001BFF03001BFF0300248230FF03FC03C006FC03 +820CDB03824EFC03C04BFF090018FF030018FF060054FF03FC03C006FC12824E +FC03C054FF030012FF060012FF06005AFF03FC03C006FC0FDB51FC03C024FF12 +821BFF0382030015820300128206005AFF03FC03C066FC03C024FF03820CDB03 +821BFF33825DFF03FC03C066FC03C024FF12821BFF03820207E6F2FF03820207 +E6F2FF038212FF278224FF03FC03C066FC03C024FF03820CDB03821BFF0C82FD +E6F2FF1582FDE6F2FF0C8203000CFF0300038221F4038224FF03FC03C066FC03 +C024FF12821BFF03820207E6F2FF03820207E6F2FF0382150003F4098203F406 +8203F4038203F4068209FF158206FF03FC03C066FC03C051FF338212FF038203 +F4038203F403820CF4038206F4038209FF0F8203DB038206FF03FC6CC051FF03 +82020FE6F2FF038212FF038221F4038209FF03820FDB03827FFF47FF03820204 +E6F2FF0F820206E6F2FF038212FF278209FF15827FFF47FF2782060006827FFF +72FF0205E1E3FF09FF0206E1E3FF11FF068215FF09007FFF20FF12823DFFFEE1 +E30205FFF0F0FDFFE1E304FFFEE1E30206FFF0F0FDFFE1E30CFF098218FF0600 +7EFF15820CFF12823AFFFEE1E30210FFF0F0FDFFE1E30CFF068215FF248212FF +12823FFF0F8203DB03820CFF03820CDB038237FFFEE1E30212FFF0F0FDFFE1E3 +24FF03821EF4038212FF12823FFF03820FDB03820CFF128234FFFEE1E30214FF +F0F0FDFFE1E306821BFF0C8203F4068203F4038203F4068212FF03820CDB0382 +3FFF158252FFFEE1E30214FFF0F0FDFFE1E321FF068203F403820CF4038206F4 +038212FF12827BFF248207FFFEE1E30214FFF0F0FDFFE1E321FF03821EF40382 +7FFF1DFF03F403821EF4038207FFFEE1E30215FFF0F003821EFF24826CFF2782 +09FF03F403821EF4038207FFFEE1E30215FFF0F00205FFE1E37FFF23FF038221 +F4038209FF03F40C8203F4068203F4038203F406820AFFFEE1E30212FFF0F003 +820206FFF0F0FDFFE1E33CFF128227FF15C003FF06C00CFF038221F4038209FF +03F4068203F403820CF4038206F403820DFFFEE1E30219FFF0F0FDFFE1E339FF +03820CDB038227FF03C006FF0CC003FF06C00CFF038203F4098203F4068203F4 +038203F4068209FF03F403821EF4038210FFFEE1E30205FFF0F009C0FDFFF0F0 +12C003820209FFF0F0FDFFE1E336FF128227FF06C009FF06C006FF03C00CFF03 +8203F4038203F403820CF4038206F4038209FF03F40F8206000F8213FFFEE1E3 +0204FFF0F003C0FDFFF0F003C0FDFFF0F003C00204FFF0F003C0038203C00208 +FFF0F0FDFFE1E336FF03820CDB038251FF038221F403821EFF030022FFFEE1E3 +020EFFF0F003820209FFF0F0FDFFE1E336FF128251FF248206001BFF03001FFF +FEE1E3020DFFF0F00382020BFFF0F0FDFFE1E37FFF3EFF030003FF060012FF06 +001FFFFEE1E30208FFF0F00CC0038206C0020AFFF0F0FDFFE1E37FFF47FF0600 +12FF03001FFFFEE1E30208FFF0F003C0FDFFF0F0038203C0038203C0020BFFF0 +F0FDFFE1E37FFF0EFF27820FFF338206FF06820204FFF0F00682FDFFF0F00982 +020EFFF0F0FDFFE1E37FFF11FF038221F403820FFF3982030009820215FFF0F0 +FDFFE1E37FFF14FF0C8203F4068203F4038203F4038203F4038203FF030009FF +03000208E6F2FF03820206E6F2FF038206FF0682FDFFE1E30214FFF0F0FDFFE1 +E37FFF1AFF068203F403820CF4038209F403821200FDE6F2FF1282FDE6F2FF09 +82FDE6F2FF0C820DFFFEE1E30214FFF0F0FDFFE1E306FF33C060FF038221F403 +820FFF03820208E6F2FF03820206E6F2FF038210FFFEE1E30213FFF0F0FDFFE1 +E306FF03C02DF403C060FF27820FFF338213FFFEE1E30211FFF0F0FDFFE1E309 +FF03C02DF403C07FFF17FF03820205E6F2FF0F820205E6F2FF038216FFFBE1E3 +FFE1E30206FFF0F0FDFFE1E30207FFF0F0FDFFE1E30CFF33C07FFF14FF060015 +82030018821CFF0206E1E3FF03FFFEE1E30205FFF0F0FDFFE1E30FFF03C02DF4 +03C04BFF128230FF060003FF030015FF060049FF0205E1E3FF11FF03C012F40C +820FF403C04BFF03820CDB038209FF278206001BFF03006CFF33C04BFF128209 +FF038221F4038221FF060069FF03C02DF403C04BFF03820CDB038209FF038221 +F4038221FF03006CFF03C012F40C820FF403C04BFF128209FF038203F4098203 +F4068203F4038203F406820CFF27825DFF03C02DF403C006FF038203FF038209 +FF0C8203FF098203FF038230FF038203F4038203F403820CF4038206F403820C +FF038221F403825DFF33C066FF038221F403820CFF038203F4098203F4068203 +F4038203F406825DFF03C02DF403C006FF038203FF068203FF0C8203FF068206 +FF038233FF27820CFF038203F4038203F403820CF4038206F403825DFF03C012 +F40C820FF403C07FFF1AFF038221F4038209FF15823FFF33C006FF098209FF03 +8206FF068203FF12825DFF278209FF038203DB0F823FFF03C02DF403C060FF15 +8254FF03820FDB03823FFF03C012F40C820FF403C006FF098203FF038206FF03 +8203FF188227FF0F8203DB038254FF15823FFF03C02DF403C060FF03820FDB03 +827FFF29FF33C006FF098203FF0C8203FF038203FF0C822DFF15820FFF12827F +FF08FF03C02DF403C07FFF05FF12827FFF08FF03C009F41E8206F403C006FF03 +8203FF068203FF12825DFF03820CDB03827FFF08FF33C07FFF05FF12827FFF7F +FF7FFF7FFF7FFF7FFF7FFF29FF03827FFF35FF03827FFF1AFF7F8238827FFF7F +FF7FFF7FFF26FF3F827FFF7FFF13FF03820204F0FFF00382FDF0FFF01B820204 +F0FFF003827FFF7FFF13FF03820213F0FFF003827FFF7FFF13FF3F827FFF7FFF +7FFF7FFF7FFF5EFF03C003FF03C03FFF06C07FFF17FF06C003FF03C003FF06C0 +06FF03C003FF06C003FF06C006FF03C003FF03C003FF09C006FF03C006FF03C0 +06FF03C006FF0CC009FF09C003FF03C006FF06C003FF03C003FF03C006FF03C0 +06FF03C07FFF14FF03C009FF03C003FF03C003FF03C003FF03C003FF06C003FF +0FC003FF1BC003FF06C006FF03C003FF03C003FF0CC003FF03C009FF12C006FF +0CC003FF03C07FFF17FF03C009FF06C006FF03C003FF06C003FF06C006FF03C0 +03FF03C003FF0CC003FF03C006FF03C006FF03C006FF03C006FF06C003FF03C0 +06FF03C00CFF03C003FF09C003FF03C003FF03C003FF09C003FF03C07FFF14FF +06C003FF03C02AFF03C003FF03C006FF03C039FF06C00FFF06C07FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF63FFFE0000000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +FigureSymbol "box layer 6" +{ + FixedAspect FALSE + Height 768 + Width 256 + TextBox >50,16,<950,150 + TextBox >50,182,<950,316 + TextBox >50,348,<950,482 + TextBox >50,516,<950,648 + TextBox >50,682,<950,814 + TextBox >50,848,<950,980 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Line 0,166 1000,166 + Line 0,332 1000,332 + Line 0,500 1000,500 + Line 0,666 1000,666 + Line 0,831 1000,831 + } +} + +FigureSymbol "bracket3" +{ + FixedAspect FALSE + Height 48 + Width 192 + Outline + { + Polyline 23 0,1000 0,<957 >16,<871 >46,<789 >90,<713 >146,<646 >213,<590 >289,<546- + >371,<516 >457,500 475,500 500,0 525,500 <543,500 <629,<516 <711,<546- + <787,<590 <854,<646 <910,<713 <954,<789 <984,<871 1000,<957 1000,1000 + } +} + +FigureSymbol "bracket4" +{ + FixedAspect FALSE + Height 48 + Width 192 + Outline + { + Polyline 23 0,0 0,>43 >16,>129 >46,>211 >90,>287 >146,>354 >213,>410 >289,>454- + >371,>484 >457,500 475,500 500,1000 525,500 <543,500 <629,>484 <711,>434- + <787,>410 <854,>354 <910,>287 <954,>211 <984,>129 1000,>43 1000,0 + } +} + +FigureSymbol "box divided 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,33,<950,300 + TextBox >50,366,500,966 + TextBox 500,366,<950,966 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Line 0,333 1000,333 + Line 500,333 500,1000 + } +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC INFO" + Text "INFO" + Bounds 192,1328,736,1744 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 2 +{ + Text "Channel Xyz\sect Client\sect Client\sect Client\sect Client\sect - +. . ." + Bounds 1280,672,1536,992 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "box layer 6" + TypeSize 8 + TypeFace "Arial" +} + +Figure 3 +{ + Style "SILC Client" + Text "Client" + Bounds 864,736,960,800 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 4 +{ + Style "SILC Client" + Text "Client" + Bounds 512,656,608,720 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 5 +{ + Style "SILC Client" + Text "Client" + Bounds 1600,1584,1696,1648 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 6 +{ + Style "SILC Client" + Text "Client" + Bounds 976,1584,1072,1648 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 7 +{ + Style "SILC Network Cloud" + Text "SILC\line Network" + Bounds 864,864,1312,1312 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 14 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 8 +{ + Style "SILC Server" + Text "Server" + Bounds 368,800,560,896 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 9 +{ + Style "SILC Server" + Text "Server" + Bounds 624,768,816,864 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 10 +{ + Style "SILC Server" + Text "Server" + Bounds 336,944,528,1040 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 11 +{ + Style "SILC Server" + Text "Server" + Bounds 400,1072,592,1168 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 12 +{ + Style "SILC Server" + Text "Server" + Bounds 640,1104,832,1200 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 13 +{ + Style "SILC Server" + Text "Server" + Bounds 1424,1456,1616,1552 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 14 +{ + Style "SILC Server" + Text "Server" + Bounds 1344,1168,1536,1264 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 15 +{ + Style "SILC Server" + Text "Server" + Bounds 944,1456,1136,1552 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 16 +{ + Style "SILC Server" + Text "Server" + Bounds 1184,1488,1376,1584 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 17 +{ + Style "SILC Server" + Text "Server" + Bounds 1488,1312,1680,1408 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 18 +{ + Style "SILC Server" + Text "Channel Key" + Bounds 512,528,832,592 + BorderColor 130,130,130 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeFace "Arial" +} + +Figure 19 +{ + Style "SILC Server" + Text "Channel Key" + Bounds 1168,1728,1488,1792 + BorderColor 130,130,130 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeFace "Arial" +} + +Figure 20 +{ + Text "" + Bounds 208,592,1136,624 + BorderColor 130,130,130 + FillColor 130,130,130 + BorderWidth 4 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "bracket3" + TypeSize 8 + TypeFace "Arial" +} + +Figure 21 +{ + Text "" + Bounds 800,1696,1856,1728 + BorderColor 130,130,130 + BorderWidth 4 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "bracket4" + TypeSize 8 + TypeFace "Arial" +} + +Figure 22 +{ + Style "SILC Client" + Text "Client" + Bounds 912,1360,1008,1424 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 23 +{ + Style "SILC Client" + Text "Client" + Bounds 816,1472,912,1536 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 24 +{ + Style "SILC Client" + Text "Client" + Bounds 1568,1088,1664,1152 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 25 +{ + Style "SILC Client" + Text "Client" + Bounds 1616,1200,1712,1264 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 26 +{ + Style "SILC Client" + Text "Client" + Bounds 1728,1312,1824,1376 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 27 +{ + Style "SILC Client" + Text "Client" + Bounds 336,704,432,768 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 28 +{ + Style "SILC Client" + Text "Client" + Bounds 224,848,320,912 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 29 +{ + Style "SILC Client" + Text "Client" + Bounds 512,1216,608,1280 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 30 +{ + Label TRUE + Style "Title" + Text "Cell A" + Bounds 186,1088,358,1161 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 18 + TypeFace "Arial" +} + +Figure 31 +{ + Label TRUE + Style "Title" + Text "Cell B" + Bounds 1675,1463,1847,1536 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 18 + TypeFace "Arial" +} + +Figure 32 +{ + Style "SILC Client" + Text "" + Bounds 240,1424,336,1488 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 33 +{ + Label TRUE + Style "Title" + Text "Client on the Channel Xyz" + Bounds 368,1447,698,1479 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 34 +{ + Style "SILC Server" + Text "" + Bounds 240,1520,400,1552 + BorderColor 130,130,130 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 35 +{ + Style "SILC Server" + Text "" + Bounds 240,1584,400,1616 + BorderColor 130,130,130 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 36 +{ + Label TRUE + Style "Title" + Text "Channel key on \line the Cell A\line Channel key on\line the Cell- + B\line Router connection\line secured with \line session key" + Bounds 459,1509,691,1727 + TextColor 130,130,130 + TextFormat 0x0024 + Behavior 0x00A24052 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Connector 37 +{ + Style "SILC Server To Router" + Figure1 -1 + Figure2 -1 + EndPoint1 240,1648 + EndPoint2 400,1648 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 21 + End2Length 21 + PenStyle 21 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000000 +} + +Figure 38 +{ + Label TRUE + Style "Title" + Text "Channel Message Delivery" + Bounds 591,421,1481,503 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 20 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 39 +{ + Style "SILC Client" + Text "Client" + Bounds 352,1200,448,1264 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 40 +{ + Label TRUE + Style "Title" + Text "SILC channel\line containing all joined \line clients. A message\- +line sent to the channel\line will be delivered to\line all of th- +ese clients" + Bounds 1559,677,1817,864 + TextColor 130,130,130 + TextFormat 0x0024 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 41 +{ + Text "Router\sect Decypt\line message\sect Encrypt\line message" + Bounds 608,912,864,1040 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "box divided 3" + TypeSize 7 + TypeFace "Arial" +} + +Figure 42 +{ + Text "Router\sect Encrypt\line message\sect Decrypt\line message" + Bounds 1136,1296,1392,1424 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "box divided 3" + TypeSize 7 + TypeFace "Arial" +} + +Figure 43 +{ + Text "" + Bounds 1097,1049,1112,1064 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 44 +{ + Style "SILC Router to Router" + Figure1 41 + Figure2 43 + EndPoint1 864,1004 + EndPoint2 1104,1056 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 45 +{ + Style "SILC Router to Router" + Figure1 43 + Figure2 42 + EndPoint1 1104,1056 + EndPoint2 1230,1296 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 46 +{ + Style "SILC Server To Router" + Figure1 9 + Figure2 41 + EndPoint1 725,864 + EndPoint2 729,912 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 47 +{ + Style "SILC Server To Router" + Figure1 8 + Figure2 41 + EndPoint1 560,894 + EndPoint2 608,915 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 48 +{ + Style "SILC Server To Router" + Figure1 10 + Figure2 41 + EndPoint1 528,986 + EndPoint2 608,983 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 49 +{ + Style "SILC Server To Router" + Figure1 11 + Figure2 41 + EndPoint1 576,1072 + EndPoint2 629,1040 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 50 +{ + Style "SILC Server To Router" + Figure1 12 + Figure2 41 + EndPoint1 736,1104 + EndPoint2 736,1040 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 51 +{ + Style "SILC Server To Router" + Figure1 15 + Figure2 42 + EndPoint1 1115,1456 + EndPoint2 1164,1424 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 52 +{ + Style "SILC Server To Router" + Figure1 16 + Figure2 42 + EndPoint1 1275,1488 + EndPoint2 1270,1424 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 53 +{ + Style "SILC Server To Router" + Figure1 13 + Figure2 42 + EndPoint1 1434,1456 + EndPoint2 1378,1424 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 54 +{ + Style "SILC Server To Router" + Figure1 17 + Figure2 42 + EndPoint1 1488,1360 + EndPoint2 1392,1360 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 55 +{ + Style "SILC Server To Router" + Figure1 14 + Figure2 42 + EndPoint1 1381,1264 + EndPoint2 1343,1296 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Staples Section: diff --git a/doc/whitepaper/silc_network.edg b/doc/whitepaper/silc_network.edg new file mode 100644 index 00000000..437c9635 --- /dev/null +++ b/doc/whitepaper/silc_network.edg @@ -0,0 +1,2972 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X 11 +Y 624 +Scale 120 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 128,0,128 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 128,128,255 +Color16 255,255,0 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block shorter" +LastEndLen 36 +ConPointMarks 0 +CornerRadius 18 +Template "General Purpose Diagram.EDG" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 64 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A00000000000000000000000000000000002E006500DC455D00 +} + +Preview 4336 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF73FF7FC044C07FFF0EFF03C018FC338215FC098254FC +03C07FFF0EFF03C018FC338272FC03C07FFF0EFF03C018FC338215FC068203FC +06824EFC03C07FFF0EFF03C018FC338272FC03C07FFF0EFF03C018FC338212FC +068203FC068206FC1B8203FC03822AFC03C07FFF0EFF03C018FC338272FC03C0 +7FFF0EFF03C018FC338215FC098203FC03824EFC03C07FFF0EFF03C018FC0210 +E6F2FF75FC03C07FFF0EFF03C018FC36000FFC068203FC038209FC038203FC09 +8203FC038206FC128203FC068215FC03C07FFF0EFF03C01BFC03002AFC030072 +FC03C07FFF0EFF03C018FC0C8203FC128203FC068203FC0C820CFC098203FC03 +8209FC0C8203FC038206FC128203FC068215FC03C07FFF0EFF03C01EFC038227 +FC038272FC03C07FFF0EFF03C07FFC3EFC03C07FFF0EFF7FC044C07FFF0EFF7F +C044C07FFF05FF09C0FAF5F1F5F5F1F57FFF38FFFAF5F1F5F5F1F509C075FF06 +C00203F5F1F506820242F5F1F506C06CFF03C00206F5F1F506820243F5F1F503 +C066FF03C00207F5F1F50382FDF5F1F50382021BF5F1F50F820223F5F1F503C0 +63FF03C00225F5F1F50F820204F5F1F512820219F5F1F503C060FF0982FDF5F1 +F50C82FDF5F1F50382FDF5F1F50382FDF5F1F50F82FDF5F1F50682FDF5F1F503 +820210F5F1F5038209DB03820204F5F1F51282020AF5F1F51282020AF5F1F503 +C05DFF03C00203F5F1F50382FDF5F1F50382FAF5F1F5F5F1F503820203F5F1F5 +09820203F5F1F506820212F5F1F50F820204F5F1F503820CDB0382020AF5F1F5 +1282FAF5F1F5F5F1F51282FAF5F1F5F5F1F503C05DFF03C0020CF5F1F5038202 +22F5F1F51282020AF5F1F503820CDB0382FAF5F1F5F5F1F512820203F5F1F55D +FF03C0020EF5F1F50382020EF5F1F51282021CF5F1F51282FAF5F1F5F5F1F503 +820CDB03820203F5F1F503C05AFF03C0020FF5F1F50382020DF5F1F512820224 +F5F1F512820203F5F1F503C05AFF03C00210F5F1F50382020CF5F1F503820CDB +0382022CF5F1F503FF03C05AFF03C00211F5F1F50682020AF5F1F512820203F5 +F1F521820207F5F1F52182020CF5F1F503FF03C05AFF03C00213F5F1F5038202 +12F5F1F503820209F0FFF003820207F5F1F503821BF40382020CF5F1F503FF03 +C05AFF03C00215F5F1F503820210F5F1F50982FDF0FFF00682FDF0FFF00382FD +F0FFF006820207F5F1F50C8203F4098203F406820203F5F1F512820203F5F1F5 +03FF03C05AFF03C00218F5F1F50382020DF5F1F50382FDF0FFF003820204F0FF +F00382FAF0FFF0F0FFF003820207F5F1F5068203F4038209F4038206F4038202 +03F5F1F512820203F5F1F503FF03C05AFF03C0021AF5F1F50382020BF5F1F521 +820207F5F1F521820203F5F1F512820203F5F1F503FF03C05AFF03C0021DF5F1 +F50382FDF5F1F506820205F5F1F50208F0FFF006000208F5F1F506F4030015F4 +0204F5F1F50FDB0204F5F1F503FF03C05AFF03C00222F5F1F50C820209F5F1F5 +06000207F5F1F506000215F5F1F503FF03C05AFF03C00226F5F1F50682FDF5F1 +F539820213F5F1F503FF03C05AFF03C0021DF5F1F52182FAF5F1F5F5F1F50982 +020EE6F2FF03820203F5F1F524820204F5F1F503FF03C05AFF03C0021DF5F1F5 +03821BF403820204F5F1F50382020EE6F2FF03820203F5F1F503821EF4038202 +04F5F1F503FF03C05AFF03C0021DF5F1F50C8203F4068203F4038203F403820F +00FAE6F2FFE6F2FF0F82FDE6F2FF0682FDE6F2FF0382FAE6F2FFE6F2FF03820C +00098203F4068203F4038203F406820204F5F1F503FF03C05AFF03C0021DF5F1 +F5068203F403820CF4038203F40382FDF5F1F50300FAF5F1F5F5F1F50300FAE6 +F2FFE6F2FF09820203E6F2FF06820204E6F2FF03820300FAF5F1F5F5F1F50300 +038203F403820CF4038206F403820204F5F1F503FF03C05AFF03C0021DF5F1F5 +03821BF403820204F5F1F50382020EE6F2FF03820203F5F1F503821EF4038202 +04F5F1F503FF03C05AFF03C0021DF5F1F52182FAF5F1F5F5F1F50982020EE6F2 +FF03820203F5F1F524820204F5F1F503FF03C05AFF03C00225F5F1F50382FDF5 +F1F50382FDF5F1F50682FDF5F1F5098206001582030009820213F5F1F503FF03 +C05AFF03C00222F5F1F50382FDF5F1F503820209F5F1F50300FDF5F1F5030002 +07F5F1F50300FDF5F1F503000214F5F1F503FF03C05AFF03C0021FF5F1F50682 +020DF5F1F506000209F5F1F506000214F5F1F503FF03C05AFF03C0021DF5F1F5 +03820208F5F1F521820206F5F1F52182020DF5F1F503FF03C05AFF03C0020AF5 +F1F512820216F5F1F503821BF403820206F5F1F503820209F0FFF00382020DF5 +F1F503FF03C05AFF03C0020AF5F1F512820216F5F1F5098203F4068203F40382 +03F406820206F5F1F50C82FDF0FFF00982FDF0FFF00682020DF5F1F503FF03C0 +5AFF03C0020AF5F1F503820CDB0382020CF5F1F503820209F5F1F5038203F403 +820CF4038206F403820206F5F1F50682FDF0FFF003820203F0FFF00382FAF0FF +F0F0FFF00382020DF5F1F503FF03C05AFF03C0020AF5F1F51282020CF5F1F503 +820209F5F1F503821BF403820206F5F1F503820209F0FFF00382020DF5F1F503 +FF03C05AFF03C0021CF5F1F503820209F5F1F521820206F5F1F52182FAF5F1F5 +F5F1F512820205F5F1F503FF03C05AFF03C00211F5F1F50F820205F5F1F50382 +0228F5F1F512820205F5F1F503FF03C05AFF03C00206F5F1F512820205F5F1F5 +0F820205F5F1F503820228F5F1F503820CDB03820205F5F1F503FF03C05AFF03 +C00206F5F1F512820205F5F1F5038209DB03820205F5F1F50382021FF5F1F50F +820204F5F1F512820205F5F1F503FF03C05AFF03C00206F5F1F512820205F5F1 +F50F820225F5F1F50F82020FF5F1F503FF03C05AFF03C00206F5F1F50FDB0210 +F5F1F50382021FF5F1F50F82020FF5F1F503FF03C05AFF03C0021BF5F1F50382 +021FF5F1F50CDB0207F5F1F512820203F5F1F503FF03C05AFF03C0020DF5F1F5 +21820207F5F1F52182021CF5F1F512820203F5F1F503FF03C05AFF03C00203F5 +F1F512820204F5F1F503820209F0FFF003820203F5F1F503820203F5F1F50382 +1BF40382021CF5F1F503820CDB03820203F5F1F503FF03C05AFF03C00203F5F1 +F512820204F5F1F51282FDF0FFF00382FDF0FFF006820204F5F1F50382FAF5F1 +F5F5F1F50C8203F4068203F4038203F403820215F5F1F50F82FAF5F1F5F5F1F5 +12820203F5F1F503FF03C05AFF03C00203F5F1F503820CDB03820204F5F1F506 +82FDF0FFF003820203F0FFF00382FAF0FFF0F0FFF003820207F5F1F5068203F4 +03820CF4038203F403820214F5F1F503DB0F82020BF5F1F503FF03C05AFF03C0 +0203F5F1F512820204F5F1F503820209F0FFF003820204F5F1F50382FAF5F1F5 +F5F1F503821BF403820214F5F1F503DB038209DB0382020BF5F1F503FF03C05A +FF03C0020DF5F1F51882060003820203F5F1F50682FAF5F1F5F5F1F506820300 +18820214F5F1F503DB0F82020BF5F1F503FF03C05AFF03C00215F5F1F5090002 +03F5F1F50682FAF5F1F5F5F1F50300FDF5F1F50300022DF5F1F503FF03C05AFF +03C00216F5F1F506000203F5F1F503820203F5F1F50600022EF5F1F503FF03C0 +5AFF03C00213F5F1F53082022CF5F1F503FF03C05AFF03C00204F5F1F5248202 +03F5F1F50382020EE6F2FF03820204F5F1F52182021DF5F1F503FF03C05AFF03 +C00204F5F1F503821EF403820203F5F1F50382020EE6F2FF03820204F5F1F503 +821BF40382021DF5F1F503FF03C05AFF03C00204F5F1F50C8203F4068203F403 +8203F4068209000382FAE6F2FFE6F2FF0F82FDE6F2FF0682FDE6F2FF0382FAE6 +F2FFE6F2FF0382FDF5F1F50900098203F4068203F4038203F40682021DF5F1F5 +03FF03C05AFF03C00204F5F1F5068203F403820CF4038206F403820203F5F1F5 +0382FAE6F2FFE6F2FF09820203E6F2FF06820204E6F2FF03820204F5F1F50382 +03F403820CF4038206F40382021DF5F1F503FF03C05AFF03C00204F5F1F50382 +1EF403820203F5F1F50382020EE6F2FF03820204F5F1F503821BF40382021DF5 +F1F503FF03C05AFF03C00204F5F1F524820203F5F1F50382020EE6F2FF038202 +04F5F1F521820203F5F1F512820214F5F1F503FF03C05AFF03C00213F5F1F509 +8206001582060006820212F5F1F512820214F5F1F503FF03C05AFF03C00215F5 +F1F509000204F5F1F50682FDF5F1F509000213F5F1F503820CDB03820214F5F1 +F503FF03C05AFF03C00215F5F1F506000204F5F1F50982FAF5F1F5F5F1F50600 +0213F5F1F512820214F5F1F503FF03C05AFF03C0020DF5F1F521820204F5F1F5 +0382FDF5F1F521820226F5F1F503FF03C05AFF03C0020DF5F1F503821BF40382 +0206F5F1F503821BF403820226F5F1F503FF03C05AFF03C00203F5F1F5128202 +04F5F1F5128203F4038203F406820203F5F1F50682FDF5F1F50C8203F4068203 +F4038203F403820203F5F1F512820205F5F1F512820212F5F1F503FF03C05AFF +03C00203F5F1F512820204F5F1F5068203F4038209F4038206F403820203F5F1 +F50382FAF5F1F5F5F1F5068203F403820CF4038203F403820203F5F1F5128202 +05F5F1F512820212F5F1F503FF03C05AFF03C00203F5F1F512820204F5F1F521 +820203F5F1F50382FAF5F1F5F5F1F521820203F5F1F512820205F5F1F5128202 +12F5F1F503FF03C05AFF03C0021BF5F1F503820233F5F1F503FF03C05AFF03C0 +021AF5F1F503820217F5F1F512820217F5F1F503FF03C05AFF03C00205F5F1F5 +1282021DF5F1F50F820205F5F1F512820217F5F1F503FF03C05AFF03C00205F5 +F1F512820210F5F1F50382020CF5F1F50F820205F5F1F503820CDB03820217F5 +F1F503FF03C05AFF03C00205F5F1F503820CDB0382FAF5F1F5F5F1F512820208 +F5F1F50382020CF5F1F5038209DB03820205F5F1F512820217F5F1F503FF03C0 +5AFF03C00205F5F1F51282FAF5F1F5F5F1F50C8203DB03820208F5F1F5038202 +0CF5F1F50F820222F5F1F503FF03C05AFF03C0020DF5F1F503820CDB03820209 +F5F1F503820232F5F1F503FF03C05AFF03C0020DF5F1F51282020BF5F1F50682 +022FF5F1F503FF03C05AFF03C00221F5F1F50982022BF5F1F503FF03C05AFF03 +C00224F5F1F50982FDF5F1F506820225F5F1F503FF03C05AFF03C0022BF5F1F5 +0382FDF5F1F50682FDF5F1F50382FDF5F1F503820207F5F1F50982FDF5F1F50C +82FDF5F1F50382FDF5F1F50382FDF5F1F50F82FDF5F1F50682FDF5F1F503825A +FF03C00233F5F1F50382FDF5F1F50682FDF5F1F50982FDF5F1F50382FDF5F1F5 +0382FDF5F1F50382FAF5F1F5F5F1F503820203F5F1F509820203F5F1F5068206 +C05AFF03C0023DF5F1F50382FDF5F1F50382FAF5F1F5F5F1F50382FDF5F1F506 +82FDF5F1F50382FDF5F1F509820203F5F1F503C05DFF03C00249F5F1F50C82FA +F5F1F5F5F1F503C05DFF03C0021BF5F1F503C0FAF5F1F5F5F1F506C0FDF5F1F5 +03C0FDF5F1F503C0FDF5F1F503C0FDF5F1F50CC0FAF5F1F5F5F1F506C0FDF5F1 +F503C0FDF5F1F506C00216F5F1F503820204F5F1F503C060FF03C0021BF5F1F5 +03C0FDF5F1F506C0FDF5F1F503C00203F5F1F51EC0FDF5F1F503C0FDF5F1F506 +C0021AF5F1F503C066FF03C00219F5F1F506C0FDF5F1F506C0FAF5F1F5F5F1F5 +03C0FAF5F1F5F5F1F503C0FDF5F1F503C0FAF5F1F5F5F1F503C00207F5F1F503 +C0021AF5F1F503C069FF03C0024BF5F1F503C06CFF06C00247F5F1F506C075FF +7FC04DC0FDF5F1F506C07FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF23FFFE000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC INFO" + Text "INFO" + Bounds 480,1856,1568,2112 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Connector 2 +{ + Style "SILC Server To Router" + Figure1 -1 + Figure2 -1 + EndPoint1 640,1936 + EndPoint2 912,1936 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Figure 3 +{ + Style "SILC Background" + Text "" + Bounds 352,464,1696,1840 + BorderColor 192,192,192 + FillColor 245,241,245 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x01024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" + HasConnectionPoints TRUE + ConnectionPoint 1 99,71 "" +} + +Figure 4 +{ + Style "Rectangle" + Text "Server" + Bounds 576,1072,768,1168 + BorderColor 130,130,130 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 5 +{ + Style "SILC Router" + Text "Router" + Bounds 688,912,944,1040 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 6 +{ + Style "Rectangle" + Text "Server" + Bounds 880,1072,1072,1168 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 7 +{ + Style "Rectangle" + Text "Server" + Bounds 1008,928,1200,1024 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 8 +{ + Style "Rectangle" + Text "Server" + Bounds 864,784,1056,880 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 9 +{ + Style "SILC Server" + Text "Server" + Bounds 576,784,768,880 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 10 +{ + Style "Rectangle" + Text "Server" + Bounds 432,928,624,1024 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 11 +{ + Style "Rectangle" + Text "Server" + Bounds 992,1568,1184,1664 + BorderColor 130,130,130 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 12 +{ + Style "Rectangle" + Text "Router" + Bounds 1104,1408,1360,1536 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 13 +{ + Style "Rectangle" + Text "Server" + Bounds 1296,1568,1488,1664 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 14 +{ + Style "Rectangle" + Text "Server" + Bounds 1424,1424,1616,1520 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 15 +{ + Style "Rectangle" + Text "Server" + Bounds 1280,1280,1472,1376 + BorderColor 130,130,130 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 16 +{ + Style "Rectangle" + Text "Server" + Bounds 992,1280,1184,1376 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 17 +{ + Style "Rectangle" + Text "Server" + Bounds 848,1424,1040,1520 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 18 +{ + Style "Rectangle" + Text "Client" + Bounds 448,688,544,752 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 19 +{ + Text "" + Bounds 841,1337,856,1352 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 20 +{ + Figure1 5 + Figure2 19 + EndPoint1 822,1040 + EndPoint2 848,1344 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + BindToStyle FALSE + Behavior 0x00000008 +} + +Connector 21 +{ + Style "Flow Closed 2" + Figure1 19 + Figure2 12 + EndPoint1 848,1344 + EndPoint2 1104,1429 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 22 +{ + Text "" + Bounds 697,1609,712,1624 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 23 +{ + Style "SILC Router to Router" + Figure1 22 + Figure2 -1 + EndPoint1 704,1616 + EndPoint2 480,1808 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 24 +{ + Style "Flow Closed 2" + Figure1 12 + Figure2 22 + EndPoint1 1104,1507 + EndPoint2 704,1616 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 25 +{ + Label TRUE + Style "Title" + Text "Another Router" + Bounds 398,1716,683,1764 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 26 +{ + Text "" + Bounds 873,649,888,664 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 27 +{ + Style "Flow Closed 2" + Figure1 5 + Figure2 26 + EndPoint1 829,912 + EndPoint2 880,656 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 28 +{ + Style "Flow Closed 2" + Figure1 26 + Figure2 -1 + EndPoint1 880,656 + EndPoint2 1632,560 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 29 +{ + Label TRUE + Style "Title" + Text "Another Router" + Bounds 1385,585,1670,633 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Connector 30 +{ + Style "Flow Closed" + Figure1 10 + Figure2 5 + EndPoint1 624,976 + EndPoint2 688,976 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 31 +{ + Style "SILC Server To Router" + Figure1 9 + Figure2 5 + EndPoint1 720,880 + EndPoint2 752,912 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 32 +{ + Style "Flow Closed" + Figure1 8 + Figure2 5 + EndPoint1 912,880 + EndPoint2 880,912 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +Connector 33 +{ + Figure1 7 + Figure2 5 + EndPoint1 1008,976 + EndPoint2 944,976 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Figure 34 +{ + Label TRUE + Style "Title" + Text "SILC Network" + Bounds 790,494,1251,576 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 20 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 35 +{ + Style "Rectangle" + Text "Client" + Bounds 576,656,672,720 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x01024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" + HasConnectionPoints TRUE + ConnectionPoint 1 659,984 "" +} + +Figure 36 +{ + Style "Rectangle" + Text "Client" + Bounds 416,784,512,848 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 37 +{ + Style "Rectangle" + Text "Client" + Bounds 1024,688,1120,752 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 38 +{ + Style "Rectangle" + Text "Client" + Bounds 1104,784,1200,848 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 39 +{ + Style "Rectangle" + Text "Client" + Bounds 1200,704,1296,768 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 40 +{ + Style "Rectangle" + Text "Client" + Bounds 1248,880,1344,944 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 41 +{ + Style "Rectangle" + Text "Client" + Bounds 1408,1072,1504,1136 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 42 +{ + Style "Rectangle" + Text "Client" + Bounds 1280,784,1376,848 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 43 +{ + Style "Rectangle" + Text "Client" + Bounds 416,1088,512,1152 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 44 +{ + Style "Rectangle" + Text "Client" + Bounds 464,1200,560,1264 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 45 +{ + Style "Rectangle" + Text "Client" + Bounds 640,1216,736,1280 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 46 +{ + Style "Rectangle" + Text "Client" + Bounds 1344,1184,1440,1248 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 47 +{ + Style "Rectangle" + Text "Client" + Bounds 1536,1120,1632,1184 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 48 +{ + Style "Rectangle" + Text "Client" + Bounds 1504,1232,1600,1296 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 49 +{ + Style "Rectangle" + Text "Client" + Bounds 1552,1680,1648,1744 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 50 +{ + Style "Rectangle" + Text "Client" + Bounds 1424,1696,1520,1760 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 51 +{ + Style "Rectangle" + Text "Client" + Bounds 1536,1568,1632,1632 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 52 +{ + Style "Rectangle" + Text "Client" + Bounds 848,1648,944,1712 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 53 +{ + Style "SILC Client" + Text "Client" + Bounds 528,1296,624,1360 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 54 +{ + Style "Rectangle" + Text "Client" + Bounds 1152,1712,1248,1776 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 55 +{ + Style "Rectangle" + Text "Client" + Bounds 992,1728,1088,1792 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Connector 56 +{ + Figure1 4 + Figure2 5 + EndPoint1 720,1072 + EndPoint2 752,1040 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 57 +{ + Figure1 6 + Figure2 5 + EndPoint1 922,1072 + EndPoint2 888,1040 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 58 +{ + Figure1 16 + Figure2 12 + EndPoint1 1136,1376 + EndPoint2 1168,1408 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 59 +{ + Figure1 15 + Figure2 12 + EndPoint1 1328,1376 + EndPoint2 1296,1408 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 60 +{ + Figure1 14 + Figure2 12 + EndPoint1 1424,1472 + EndPoint2 1360,1472 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 61 +{ + Figure1 13 + Figure2 12 + EndPoint1 1338,1568 + EndPoint2 1304,1536 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 62 +{ + Figure1 11 + Figure2 12 + EndPoint1 1136,1568 + EndPoint2 1168,1536 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 63 +{ + Figure1 17 + Figure2 12 + EndPoint1 1040,1472 + EndPoint2 1104,1472 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + BindToStyle FALSE + Behavior 0x00000000 +} + +Connector 64 +{ + Style "SILC Router to Router" + Figure1 -1 + Figure2 -1 + EndPoint1 624,1904 + EndPoint2 928,1904 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 65 +{ + Label TRUE + Style "Title" + Text "Router to Router Connection" + Bounds 1040,1887,1403,1919 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 66 +{ + Label TRUE + Style "Title" + Text "Server to Router Connection" + Bounds 1037,1921,1398,1953 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 67 +{ + Style "Rectangle" + Text "" + Bounds 624,2064,912,2096 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x01024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" + HasConnectionPoints TRUE + ConnectionPoint 1 704,250 "" +} + +Figure 68 +{ + Style "Rectangle" + Text "" + Bounds 624,2032,912,2064 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x01024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" + HasConnectionPoints TRUE + ConnectionPoint 1 663,93 "" +} + +Figure 69 +{ + Style "Rectangle" + Text "" + Bounds 624,1968,912,2000 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x01024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" + HasConnectionPoints TRUE + ConnectionPoint 1 611,312 "" +} + +Figure 70 +{ + Style "Rectangle" + Text "" + Bounds 624,2000,912,2032 + BorderColor 130,130,130 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x01024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" + HasConnectionPoints TRUE + ConnectionPoint 1 642,375 "" +} + +Figure 71 +{ + Label TRUE + Style "Title" + Text "Server" + Bounds 1036,2031,1123,2063 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 72 +{ + Label TRUE + Style "Title" + Text "Server/Backup Router" + Bounds 1036,1999,1319,2031 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 73 +{ + Label TRUE + Style "Title" + Text "Router" + Bounds 1036,1966,1125,1998 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 74 +{ + Label TRUE + Style "Title" + Text "Client" + Bounds 1035,2064,1109,2096 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +## Staples Section: diff --git a/doc/whitepaper/silc_packet.edg b/doc/whitepaper/silc_packet.edg new file mode 100644 index 00000000..ddc4ab0a --- /dev/null +++ b/doc/whitepaper/silc_packet.edg @@ -0,0 +1,2025 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X -60 +Y 740 +Scale 120 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 128,0,128 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 255,255,0 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block shorter" +LastEndLen 36 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 56 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A0000000000000000000000000000000000 +} + +Preview 1780 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF22FF7FC06BC066FF03C07FFC65FC03C066FF03C015FC +248212FC0C8203FC0C8203FC038203FC068209FC098203FC098203FC068203FC +068203FC038203FC038203FC098203FC068203FC068215FC03C066FF03C015FC +24827FFC2CFC03C066FF03C07FFC65FC03C066FF03C04BFC038206FC0F8203FC +038203FC068206FC098206FC1B8206FC068203FC068203FC038203FC15820FFC +03C066FF03C07FFC65FC03C066FF03C015FC248215FC0C8206FC068203FC0382 +03FC038203FC068203FC0F8203FC0F8203FC068203FC038203FC068206FC0382 +03FC038203FC128203FC098266FF03C015FC24827FFC2CFC03C066FF03C07FFC +65FC03C066FF03C015FC248212FC038203FC068206FC0C8206FC0F8206FC0F82 +03FC0F8203FC068203FC038203FC038203FC128203FC098209FC03C066FF03C0 +7FFC65FC03C066FF03C015FC24827FFC2CFC03C066FF03C015FC248212FC0F82 +03FC068203FC068203FC038203FC068269FC03C066FF03C07FFC65FC03C066FF +03C07FFC65FC03C066FF7FC06BC07FFF7FFF7FFF7FFF56FF030003FF060006FF +09007FFF7FFF7FFF7FFF7FFF16FF09827FFF59FF6F8209FF6F8269FF03827FFF +7FFF7FFF7FFF7FFF73FF12007FFF7FFF37FF060003FF0F0003FF06007FFF7FFF +7FFF7FFF7FFF13FF06827FFF74FF578206FF54827FFF20FF03827FFF7FFF5EFF +120003FF0C0021FF120003FF090003FF030006FF030003FF060006FF0F007FFF +7FFF7FFF7FFF17FF090003FF060003FF06003FFF090003FF060003FF06007FFF +7FFF7FFF7FFF3EFFFDA0000054FFFD8000807FFF59FF0214A000000213800080 +03FF02128000807FFF7FFF7FFF7FFF7FFF5EFF7F827F824F8203FF038230F403 +8233F403820213EFE7EF03820226E6F2FF0382020FCCFCCC038203FF098206F4 +098203F4038203F4098203F4038203F4038203F4098206F4098203F4038203F4 +098203F41282FDEFE7EF0682FDEFE7EF0982FDEFE7EF0382FDEFE7EF0982FDEF +E7EF06820209E6F2FF0382FAE6F2FFE6F2FF0382FDE6F2FF0982FDE6F2FF0382 +FDE6F2FF0C82FAE6F2FFE6F2FF0382020BE6F2FF03820204CCFCCC0682FDCCFC +CC0C820204CCFCCC038203FF0C8203F4098203F4038203F4098203F4038203F4 +038203F4038203F4068203F4098203F4038203F4098203F40982FDEFE7EF0682 +FDEFE7EF0382FAEFE7EFEFE7EF0982FDEFE7EF0382FDEFE7EF0982FDEFE7EF06 +820209E6F2FF0682FDE6F2FF0382FDE6F2FF0382FDE6F2FF0982FDE6F2FF0682 +FDE6F2FF0382FAE6F2FFE6F2FF0382020BE6F2FF03820204CCFCCC0682FACCFC +CCCCFCCC06820205CCFCCC038203FF7F827F824F827FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF75FF06C003FF03C075FF15C003FF06C006FF03C006FF03C006 +FF0CC006FF03C006FF06C003FF03C006FF03C003FF06C003FF03C003FF03C006 +FF03C006FF0CC006FF03C006FF06C003FF0CC003FF0FC006FF03C003FF03C003 +FF18C003FF03C05AFF09C006FF03C00CFF09C003FF03C003FF03C006FF06C003 +FF0CC009FF03C003FF03C003FF06C003FF03C003FF09C003FF03C003FF03C006 +FF06C003FF0CC006FF03C006FF03C003FF06C006FF03C003FF03C006FF03C003 +FF06C003FF06C003FF06C003FF03C054FF03C006FF06C006FF03C00CFF03C003 +FF03C003FF03C006FF03C003FF03C003FF03C003FF03C003FF06C006FF03C003 +FF06C006FF06C003FF03C003FF03C003FF03C006FF03C003FF03C003FF03C003 +FF03C003FF06C003FF03C006FF06C006FF03C003FF09C003FF09C003FF09C003 +FF03C003FF06C05AFF03C003FF06C009FF06C006FF06C015FF03C030FF03C003 +FF06C015FF03C018FF09C030FF03C07FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F +FF7FFF7FFF7FFF7FFF7FFF7FFF5BFFFE00000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +FigureSymbol "bracket4" +{ + FixedAspect FALSE + Height 48 + Width 192 + Outline + { + Polyline 23 0,0 0,>43 >16,>129 >46,>211 >90,>287 >146,>354 >213,>410 >289,>454- + >371,>484 >457,500 475,500 500,1000 525,500 <543,500 <629,>484 <711,>434- + <787,>410 <854,>354 <910,>287 <954,>211 <984,>129 1000,>43 1000,0 + } +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC INFO" + Text "INFO" + Bounds 400,1488,1680,1776 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 2 +{ + Style "Rectangle" + Text "IP Header" + Bounds 144,1056,432,1152 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 3 +{ + Style "Rectangle" + Text "TCP Header" + Bounds 416,1056,736,1152 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 4 +{ + Style "Rectangle" + Text "SILC Header" + Bounds 720,1056,1072,1152 + BorderColor 130,130,130 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 5 +{ + Style "Rectangle" + Text "Packet Data" + Bounds 1040,1056,1712,1152 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 6 +{ + Style "Rectangle" + Text "MAC" + Bounds 1680,1056,1968,1152 + BorderColor 130,130,130 + FillColor 204,252,204 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 7 +{ + Text "" + Bounds 720,1280,1680,1312 + BorderColor 130,130,130 + BorderWidth 4 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "bracket4" + TypeSize 8 + TypeFace "Arial" +} + +Figure 8 +{ + Text "" + Bounds 720,1168,1040,1200 + BorderColor 0,0,160 + BorderWidth 4 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "bracket4" + TypeSize 8 + TypeFace "Arial" +} + +Figure 9 +{ + Text "" + Bounds 1040,1168,1680,1200 + BorderColor 128,0,128 + FillColor 192,192,192 + BorderWidth 4 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "bracket4" + TypeSize 8 + TypeFace "Arial" +} + +Figure 10 +{ + Label TRUE + Style "Title" + Text "Encrypted\line (session key)" + Bounds 797,1211,964,1274 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 11 +{ + Label TRUE + Style "Title" + Text "Encrypted\line (session key or other keys)" + Bounds 1192,1213,1531,1276 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 12 +{ + Label TRUE + Style "Title" + Text "" + Bounds 1281,1310,1297,1326 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 13 +{ + Label TRUE + Style "Title" + Text "Authenticated\line (HMAC)" + Bounds 1115,1322,1292,1385 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 14 +{ + Label TRUE + Style "Title" + Text "SILC Packet and Packet Encryption" + Bounds 345,914,1777,1012 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 24 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 15 +{ + Style "Rectangle" + Text "" + Bounds 544,1584,736,1616 + BorderColor 130,130,130 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 16 +{ + Style "Rectangle" + Text "" + Bounds 544,1632,736,1664 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 17 +{ + Style "Rectangle" + Text "" + Bounds 544,1536,736,1568 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 18 +{ + Style "Rectangle" + Text "" + Bounds 544,1712,736,1744 + BorderColor 130,130,130 + FillColor 204,252,204 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 19 +{ + Label TRUE + Style "Title" + Text "Unencrypted area" + Bounds 835,1535,1062,1567 + TextColor 130,130,130 + TextFormat 0x0024 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 20 +{ + Label TRUE + Style "Title" + Text "SILC Packet Header always encrypted with session key" + Bounds 835,1583,1536,1615 + TextColor 130,130,130 + TextFormat 0x0024 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 21 +{ + Label TRUE + Style "Title" + Text "Packet data area always encrypted either with session key\line or- + some other key (depends on the data payload)" + Bounds 835,1630,1573,1693 + TextColor 130,130,130 + TextFormat 0x0024 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 22 +{ + Label TRUE + Style "Title" + Text "MAC generated from plaintext before encryption" + Bounds 835,1710,1440,1742 + TextColor 130,130,130 + TextFormat 0x0024 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 23 +{ + Text "" + Bounds 720,1392,1968,1424 + BorderColor 130,130,130 + BorderWidth 4 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "bracket4" + TypeSize 8 + TypeFace "Arial" +} + +Figure 24 +{ + Label TRUE + Style "Title" + Text "SILC Packet" + Bounds 1264,1439,1423,1471 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +## Staples Section: diff --git a/doc/whitepaper/silc_priv1.edg b/doc/whitepaper/silc_priv1.edg new file mode 100644 index 00000000..7ae2ab8d --- /dev/null +++ b/doc/whitepaper/silc_priv1.edg @@ -0,0 +1,2402 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X -56 +Y 267 +Scale 109 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 253,254,194 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 241,240,255 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block short" +LastEndLen 25 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 68 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A00000000000000000000000000000000000000000000000000 +F0BA5900 +} + +Preview 3728 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF46FF7FC059C0 +78FF03C018FC21DB06FC128203FC098203FC068203FC0C8203FC068203FC0382 +0CFC098206FC038206FC068203FC03821EFC03C078FF03C018FC21DB7FFC1AFC +03C078FF03C07FFC53FC03C078FF03C018FC21DB06FC128203FC098203FC0682 +03FC0C8203FC068203FC038206FC038203FC098206FC038206FC068203FC0382 +1EFC03C078FF03C07FFC53FC03C078FF03C018FC21DB06FC128203FC098203FC +068203FC0C8203FC098206FC038203FC098203FC068203FC06822AFC03C078FF +03C018FC21DB7FFC1AFC03C078FF03C07FFC53FC03C078FF03C018FC21DB06FC +128203FC098203FC068203FC0C8203FC098206FC038203FC098203FC068203FC +068206FC038221FC03C078FF03C018FC21DB7FFC1AFC03C078FF03C07FFC53FC +03C078FF7FC059C042FF21C015FF3FC05AFF3CC015FF24C006FF06C0FDEFE7EF +1BFFFDEFE7EF06C00CFF03C006F436FF03F406C04EFF06C003F436FF03F406C0 +0CFF03C0FAEFE7EFEFE7EF1BFFFDEFE7EF09C0020EEFE7EF03C006FF03C048F4 +03C048FF03C048F403C009FF03C0020EEFE7EF03C0FDEFE7EF21DBFAEFE7EFEF +E7EF03C006FF03C003F442DB06F448FF03C003F442DB06F409FF03C0FDEFE7EF +21DBFAEFE7EFEFE7EF03C0FDEFE7EF03DB0F82FDF0FFF0098203DBFDEFE7EF03 +FF03C006FF03C003F41282FDF0FFF0098203DB1282FDFFFFC6098203DB06F403 +C045FF03C003F41282FDC2FEFD098206DB1282FDFFDFDF098206F403C006FF03 +C0FDEFE7EF1282FDFFDFDF098203DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7 +EF03FF03C006FF03C003F442DB03F403FF03C045FF03C003F442DB03F403FF03 +C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03 +C006FF03C003F442DB03F403FF03C00FFF098206FF09821EFF03C003F442DB03 +F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403 +DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03 +F403FF03C00CFF03820203FFE1E303820204FFE1E303821BFF03C003F403DB02 +09EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF403 +DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003 +F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00DFFFEE1E30203FFF0 +F0FDFFE1E30204FFF0F0FDFFE1E31BFF03C003F403DB0209EFE7EF06DB0209EF +E7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0 +FDEFE7EF03DB1BF403DBFDEFE7EF06C006FF03C003F403DB0209EFE7EF06DB02 +09EFE7EF03DB03C003FF03C00AFFFEE1E30209FFF0F0FDFFE1E3038218FF03C0 +03F403C003820208EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF06C00382 +1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB15C003DB0209EFE7EF06 +DB0209EFE7EF15C0FDFFE1E3020AFFF0F0FDFFE1E30FFF15C00208EFE7EF06DB +0209EFE7EF03DB03F415C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403 +DB03C012F403DB0209EFE7EF06DB0209EFE7EF03C012F4FDFFE1E3020AFFF0F0 +FDFFE1E30CFF15F403C00208EFE7EF06DB0209EFE7EF03DB15F403C01BF403DB +FDEFE7EF03FF03C0FDEFE7EF03DB03F4098203F4098203F403C015F403DBFDEF +E7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7EF0982FDEFE7EF098203C015F4 +FDFFE1E3020BFFF0F0098203FF18F403C00682FDEFE7EF0982FDEFE7EF06DBFD +EFE7EF0982FDEFE7EF0982FDEFE7EF03DB18F403C0098203F4098203F403DBFD +EFE7EF03FF03C0FDEFE7EF03DB1BF403DB03C012F403DB0209EFE7EF06DB0209 +EFE7EF03C012F4FDFFE1E3020BFFF0F0FAFFE1E3FFE1E3068215F403C00208EF +E7EF06DB0209EFE7EF03DB15F403C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03 +DB1BF403DB18C00209EFE7EF06DB0209EFE7EF18C0020DFFF0F0FDFFE1E30382 +18C00208EFE7EF06DB0209EFE7EF03DB18C01BF403DBFDEFE7EF03FF03C0FDEF +E7EF03DB1BF403DBFDEFE7EF15C00209EFE7EF06DB0209EFE7EF03DB12C00382 +FDFFE1E3020DFFF0F0FDFFE1E315C00209EFE7EF06DB0209EFE7EF03DB15C003 +DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4098203F4098203F403DB15 +F403C0FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7EF0982FDEFE7EF09 +82FDEFE7EF15F403C00202FFE1E3FAFFF0F0FFF0F003C00205FFF0F003C00203 +FFF0F0FDFFE1E303C012F4FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7 +EF0982FDEFE7EF0982FDEFE7EF03DB03C012F403DB03F4098203F4098203F403 +DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18F403C00208EFE7EF06DB0209 +EFE7EF15F403C0FDFFE1E3020DFFF0F003C015F40209EFE7EF06DB0209EFE7EF +03C015F403DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18C00209 +EFE7EF06DB0209EFE7EF18C0FDFFE1E3020DFFF0F0FDFFE1E318C00208EFE7EF +06DB0209EFE7EF03DB18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403 +DBFDEFE7EF03FF03C006FF06C003DB0209EFE7EF06DB0209EFE7EF03DB03F403 +FF03C006FF03C004FFFEE1E3020DFFF0F0FDFFE1E303FF03C006FF03C003F403 +DB0209EFE7EF06DB0209EFE7EF03DB03F406C006FF03C0FDEFE7EF03DB1BF403 +DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003 +F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00DFFFEE1E3020DFFF0 +F0FDFFE1E30CFF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03 +C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403 +DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03 +F403FF03C00DFFFEE1E3020BFFF0F0FAFFE1E3FFF0F00FFF03C003F403DB0209 +EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF403DB +FDEFE7EF03FF03C0FDEFE7EF0CDB03C003DB06C009DBFDEFE7EF03FF03C006FF +03C003F442DB03F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C0 +03F442DB03F403FF03C006FF03C0FDEFE7EF0CDB03C003DB06C009DBFDEFE7EF +03FF03C00204EFE7EF0FC00204EFE7EF03FF03C006FF03C048F403FF03C00DFF +FEE1E3020BFFF0F0FDFFE1E303820FFF03C048F403FF03C006FF03C00204EFE7 +EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C002 +04EFE7EF03FF03C006FF03C048F403FF03C010FFFEE1E3020AFFF0F0FDFFE1E3 +12FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF +03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F4 +03FF03C013FFFEE1E30204FFF0F0FDFFE1E30203FFF0F0FDFFE1E315FF03C048 +F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C002 +04EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F403FF03C016 +FF0204E1E3FFFEF0F00203FFE1E3FDFFF0F015FF03C048F403FF03C006FF03C0 +0204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7 +EF06C00204EFE7EF03FF03C006FF03C048F403FF03C025FF0203F0F0FF17FF03 +C048F403FF03C006FF03C00204EFE7EF0FC00204EFE7EF03FF03C00204EFE7EF +06C0FDEFE7EF03C00205EFE7EF03FF03C006FF03C048F403FF03C045FF03C048 +F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF03C00205EFE7EF03FF03C0FD +EFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03 +C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03DB1882FDE6F2FF03 +DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF03 +C0FDEFE7EF03DB1882FDE6F2FF03DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7 +EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7 +EF21DBFDEFE7EF03FF03C0020DEFE7EF03FF03C006FF03C048F403FF03C045FF +03C048F403FF03C006FF03C0020DEFE7EF03FF03C0020DEFE7EF03FF03C006FF +03C01BF4038203F4068206F4038218F403FF03C045FF03C01BF4038203F40682 +21F403FF03C006FF03C0020DEFE7EF03FF03C0020DEFE7EF03FF03C006FF03C0 +48F406C045FF03C048F406C006FF03C0020DEFE7EF03FF03C00205EFE7EF0382 +0203EFE7EF03820204EFE7EF03C006FF03C048F403C048FF03C048F403C009FF +03C00205EFE7EF03820208EFE7EF03C0FDEFE7EF03C0020BEFE7EF06C006FF03 +C048F403C048FF03C048F403C009FF03C0020DEFE7EF2AC0FDEFE7EF03C00CFF +42C003F403C04EFF42C003F403C00CFF27C0FDEFE7EF03C07FFF7FFF7FFF7FFF +7FFF7FFF54FF06C030FF03C07FFF4DFF03C006FF03C003FF03C003FF12C003FF +06C003FF24C003FF03C006FF0CC003FF0CC006FF03C07FFF4AFF06C003FF03C0 +03FF18C003FF06C003FF1BC003FF06C003FF03C003FF1EC003FF06C07FFF4AFF +06C009FF03C00CFF03C009FF03C003FF03C027FF06C009FF06C07FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF16FFFE000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 256 + Width 128 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 256 + Width 128 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +FigureSymbol "arrow right 1" +{ + FixedAspect FALSE + Height 96 + Width 256 + TextBox 0,>250,<700,<750 + Fill + { + Polygon 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 + } + Outline + { + Polyline 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 1" +{ + FixedAspect FALSE + Height 96 + Width 256 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 + } + Outline + { + Polyline 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC Background" + Text "Server X" + Bounds 400,576,848,1216 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 2 +{ + Style "SILC Background" + Text "Client A" + Bounds 96,576,352,1216 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 3 +{ + Label TRUE + Style "Title" + Text "Private Message Delivery" + Bounds 621,455,1469,537 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 20 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 4 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 128,832,320,1120 + BorderColor 219,219,219 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 5 +{ + Style "Rectangle" + Text "Session Key" + Bounds 128,1120,320,1184 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 6 +{ + Text "" + Bounds 176,736,208,832 + BorderColor 192,192,192 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +Figure 7 +{ + Style "Arrow up" + Text "" + Bounds 224,736,256,832 + BorderColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +Figure 8 +{ + Style "Rectangle" + Text "Message" + Bounds 128,672,320,736 + BorderColor 219,219,219 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 9 +{ + Style "SILC Background" + Text "Client B" + Bounds 1760,576,2016,1216 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 10 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 1792,832,1984,1120 + BorderColor 219,219,219 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 11 +{ + Style "Rectangle" + Text "Session Key" + Bounds 1792,1120,1984,1184 + BorderColor 219,219,219 + FillColor 223,223,255 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 12 +{ + Text "" + Bounds 1840,736,1872,832 + BorderColor 192,192,192 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +Figure 13 +{ + Style "Arrow up" + Text "" + Bounds 1888,736,1920,832 + BorderColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +Figure 14 +{ + Style "Rectangle" + Text "Message" + Bounds 1792,672,1984,736 + BorderColor 219,219,219 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 15 +{ + Style "Rectangle" + Text "Decrypt\line \line Encrypt" + Bounds 432,832,624,1120 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 16 +{ + Style "Rectangle" + Text "Session Key" + Bounds 432,1120,624,1184 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 17 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 624,832,816,1120 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 18 +{ + Style "Rectangle" + Text "Session Key" + Bounds 624,1120,816,1184 + BorderColor 219,219,219 + FillColor 198,255,255 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 19 +{ + Style "SILC Background" + Text "Server Y" + Bounds 1264,576,1712,1216 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 20 +{ + Style "Rectangle" + Text "Session Key" + Bounds 1296,1120,1488,1184 + BorderColor 219,219,219 + FillColor 253,254,194 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 21 +{ + Style "Rectangle" + Text "Session Key" + Bounds 1488,1120,1680,1184 + BorderColor 219,219,219 + FillColor 223,223,255 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 22 +{ + Style "Rectangle" + Text "Decrypt\line \line Encrypt" + Bounds 1488,832,1680,1120 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 23 +{ + Style "SILC Network Cloud" + Text "SILC\line Network" + Bounds 912,720,1200,1136 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 24 +{ + Style "SILC INFO" + Text "INFO" + Bounds 432,1232,1680,1456 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 25 +{ + Style "Rectangle" + Text "" + Bounds 592,1264,784,1296 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 26 +{ + Style "Rectangle" + Text "" + Bounds 592,1312,784,1344 + BorderColor 219,219,219 + FillColor 223,223,255 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 27 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 1296,832,1488,1120 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 28 +{ + Label TRUE + Style "Title" + Text "Session key between Client A and Server X" + Bounds 878,1264,1432,1296 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 29 +{ + Label TRUE + Style "Title" + Text "Session key between Client B and Server Y" + Bounds 878,1312,1431,1344 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 30 +{ + Style "Rectangle" + Text "" + Bounds 592,1360,784,1392 + BorderColor 219,219,219 + FillColor 198,255,255 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 31 +{ + Style "Rectangle" + Text "" + Bounds 592,1408,784,1440 + BorderColor 219,219,219 + FillColor 253,254,194 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 32 +{ + Label TRUE + Style "Title" + Text "Session key between Server X and its router" + Bounds 878,1359,1443,1391 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 33 +{ + Label TRUE + Style "Title" + Text "Session key between Server Y and its router" + Bounds 878,1403,1443,1435 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 34 +{ + Label TRUE + Style "Title" + Text "" + Bounds 511,251,527,267 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 35 +{ + Text "" + Bounds 320,880,448,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 36 +{ + Text "" + Bounds 304,960,432,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 37 +{ + Text "" + Bounds 800,880,928,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 38 +{ + Text "" + Bounds 784,960,912,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 39 +{ + Text "" + Bounds 1184,880,1312,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 40 +{ + Text "" + Bounds 1200,960,1328,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 41 +{ + Text "" + Bounds 1664,880,1792,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 42 +{ + Text "" + Bounds 1680,960,1808,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +## Staples Section: diff --git a/doc/whitepaper/silc_priv2.edg b/doc/whitepaper/silc_priv2.edg new file mode 100644 index 00000000..26d355d3 --- /dev/null +++ b/doc/whitepaper/silc_priv2.edg @@ -0,0 +1,2240 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X -56 +Y 0 +Scale 109 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 253,254,194 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 241,240,255 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block short" +LastEndLen 25 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 76 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A00000000000000000000000000000000000000000000000000 +FDD3EBBF0000000078385900 +} + +Preview 3580 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF11FF7FC059C078FF03C015FC21DB0CFC +068203FC038203FC188203FC098203FC068203FC0C8203FC098206FC038203FC +098203FC098206FC03820FFC03C078FF18C021DB7FC020C078FF7FFC56FC45FF +21C015FF3FC05AFF3CC015FF24C006FF06C0FDEFE7EF1BFFFDEFE7EF06C00CFF +03C006F436FF03F406C04EFF06C003F436FF03F406C00CFF03C0FAEFE7EFEFE7 +EF1BFFFDEFE7EF09C0020EEFE7EF09FF03C048F403C048FF03C048F403C009FF +03C0020EEFE7EF03C0FDEFE7EF21DBFAEFE7EFEFE7EF03C006FF03C04BF448FF +03C04BF409FF03C0FDEFE7EF21DBFAEFE7EFEFE7EF03C0FDEFE7EF03DB0203F0 +FFF009820203F0FFF003DBFDEFE7EF03FF03C006FF03C04BF403C045FF03C04B +F403C006FF03C0FDEFE7EF03DB0203F0FFF009820203F0FFF003DBFDEFE7EF03 +FF03C0FDEFE7EF03DB0209F0FFF003DBFDEFE7EF03FF03C006FF03C04BF403C0 +45FF03C04BF403C006FF03C0FDEFE7EF03DB0209F0FFF003DBFDEFE7EF03FF03 +C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C00FFF09822DFF03 +C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF21DBFD +EFE7EF03FF03C006FF03C003F442DB03F403FF03C00CFF03820203FFE1E30382 +0204FFE1E31EFF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03 +C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF +06DB0209EFE7EF03DB03F403FF03C00DFFFEE1E30203FFF0F0FDFFE1E30204FF +F0F0FDFFE1E31BFF03C003F442DB03F403FF03C006FF03C0FDEFE7EF03DB1BF4 +03DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C0 +03F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00AFFFEE1E30209FF +F0F0FDFFE1E31BFF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF +03C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF4 +03DBFDEFE7EF06C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03C0 +03FF03C00AFFFEE1E3020AFFF0F0FDFFE1E318FF03C003F403C003820208EFE7 +EF06DB0209EFE7EF03DB03F403FF03C006FF06C003821BF403DBFDEFE7EF03FF +03C0FDEFE7EF03DB1BF403DB15C003DB0209EFE7EF06DB0209EFE7EF15C0FDFF +E1E3020AFFF0F0FDFFE1E30FFF15C00208EFE7EF06DB0209EFE7EF03DB03F415 +C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4098203F4098203F403C015 +F403DBFDEFE7EF0682FDEFE7EF0C82FDEFE7EF06DBFDEFE7EF0682FDEFE7EF0C +8203C015F4FDFFE1E3020BFFF0F0098203FF18F403C00207EFE7EF06DB0209EF +E7EF03DB18F403C0098203F4098203F403DBFDEFE7EF03FF03C0FDEFE7EF03DB +1BF403DB03C012F403DB0209EFE7EF06DB0209EFE7EF03C012F4FDFFE1E3020B +FFF0F0FAFFE1E3FFE1E3068215F403C00682FDEFE7EF0C82FDEFE7EF06DBFDEF +E7EF0682FDEFE7EF0C82FDEFE7EF03DB15F403C01BF403DBFDEFE7EF03FF03C0 +FDEFE7EF03DB1BF403DB18C01882FDEFE7EF06DB1882FDEFE7EF18C0020DFFF0 +F0FDFFE1E3038218C00208EFE7EF06DB0209EFE7EF03DB18C01BF403DBFDEFE7 +EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF15C00209EFE7EF06DB0209EFE7 +EF03DB12C004FFFEE1E3020DFFF0F0FDFFE1E315C01882FDEFE7EF06DBFDEFE7 +EF188203DB15C003DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4098203 +F4098203F403DB15F403C0FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7 +EF0982FDEFE7EF0982FDEFE7EF15F403C00202FFE1E3FAFFF0F0FFF0F003C002 +05FFF0F003C00203FFF0F0FDFFE1E303C012F40209EFE7EF06DB0209EFE7EF03 +DB03C012F403DB03F4098203F4098203F403DBFDEFE7EF03FF03C0FDEFE7EF03 +DB1BF403DB18F403C00208EFE7EF06DB0209EFE7EF15F403C0FDFFE1E3020DFF +F0F003C015F4FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFAEFE7EFEFE7EF09 +82FDEFE7EF098203C015F403DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1B +F403DB15F403C00209EFE7EF06DB0209EFE7EF15F403C0FDFFE1E3020DFFF0F0 +FDFFE1E303C012F40209EFE7EF06DB0209EFE7EF03DB03C012F403DB1BF403DB +FDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18C00209EFE7EF06DB0209EFE7EF +15C004FFFEE1E3020DFFF0F0FDFFE1E318C00208EFE7EF06DB0209EFE7EF03DB +18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0 +06FF06C003DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C004FF +FEE1E3020DFFF0F0FDFFE1E303FF03C006FF03C003F403DB0209EFE7EF06DB02 +09EFE7EF03DB03F406C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0 +FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF06 +DB0209EFE7EF03DB03F403FF03C00DFFFEE1E3020DFFF0F00FFF03C003F403DB +0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF4 +03DBFDEFE7EF03FF03C0FDEFE7EF0CDB03C012DBFDEFE7EF03FF03C006FF03C0 +03F442DB03F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C003F4 +03DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF0CDB +03C012DBFDEFE7EF03FF03C00204EFE7EF0FC00204EFE7EF03FF03C006FF03C0 +48F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C003F442DB03F4 +03FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204 +EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F403FF03C010FF +FEE1E3020AFFF0F0FDFFE1E312FF03C048F403FF03C006FF03C00204EFE7EF06 +C0FDEFE7EF06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C00204EF +E7EF03FF03C006FF03C048F403FF03C013FFFEE1E30204FFF0F0FDFFE1E30203 +FFF0F0FDFFE1E315FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF +06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03 +C006FF03C048F403FF03C016FF0205E1E3FF0203F0F0FFFEE1E315FF03C048F4 +03FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204 +EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F403FF03C025FF +0203E1E3FF17FF03C048F403FF03C006FF03C00204EFE7EF0FC00204EFE7EF03 +FF03C00204EFE7EF06C0FDEFE7EF03C00205EFE7EF03FF03C006FF03C048F403 +FF03C045FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF03C00205 +EFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C045 +FF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03 +DB1882FDE6F2FF03DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048 +F403FF03C006FF03C0FDEFE7EF03DB1882FDE6F2FF03DBFDEFE7EF03FF03C0FD +EFE7EF03DB0209E6F2FF03DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF +03C048F403FF03C006FF03C0FDEFE7EF03DB0209E6F2FF03DBFDEFE7EF03FF03 +C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403 +FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0020DEFE7EF03FF03C006FF +03C048F403FF03C045FF03C048F403FF03C006FF03C0020DEFE7EF03FF03C002 +0DEFE7EF03FF03C006FF03C01BF4038203F4068206F403821BF403C045FF03C0 +1BF4038203F4068224F403C006FF03C0020DEFE7EF03FF03C00205EFE7EF0382 +0203EFE7EF03820204EFE7EF03C006FF03C048F406C045FF03C048F406C006FF +03C00205EFE7EF03820208EFE7EF03C0FDEFE7EF03C0020BEFE7EF06C006FF03 +C048F403C048FF03C048F403C009FF03C0020DEFE7EF2AC0FDEFE7EF03C00CFF +42C003F403C04EFF42C003F403C00CFF27C0FDEFE7EF03C07FFF7FFF7FFF7FFF +7FFF7FFF6CFF06C018FF03C07FFF50FF03C003FF09C006FF03C006FF03C003FF +03C003FF12C003FF06C003FF24C003FF03C003FF09C003FF03C07FFF47FF09C0 +03FF09C006FF06C003FF03C003FF18C003FF06C003FF1BC003FF06C003FF06C0 +03FF0CC07FFF47FF06C003FF0CC006FF06C009FF03C00CFF03C009FF03C003FF +03C027FF03C07FFF7FFF7FFF7FFF7AFF06C030FF03C07FFF4DFF03C006FF03C0 +03FF03C003FF12C003FF06C003FF24C003FF03C006FF0CC003FF0CC006FF03C0 +7FFF4AFF06C003FF03C003FF18C003FF06C003FF1BC003FF06C003FF03C003FF +1EC003FF06C07FFF4AFF06C009FF03C00CFF03C009FF03C003FF03C027FF06C0 +09FF06C07FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF16FFFE0000000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 256 + Width 128 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 256 + Width 128 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +FigureSymbol "arrow right 1" +{ + FixedAspect FALSE + Height 96 + Width 256 + TextBox 0,>250,<700,<750 + Fill + { + Polygon 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 + } + Outline + { + Polyline 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 1" +{ + FixedAspect FALSE + Height 96 + Width 256 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 + } + Outline + { + Polyline 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC Background" + Text "Server X" + Bounds 400,576,848,1216 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 2 +{ + Style "SILC Background" + Text "Client A" + Bounds 96,576,352,1216 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 3 +{ + Label TRUE + Style "Title" + Text "Private Message Delivery\line With Private Message Key" + Bounds 607,379,1483,542 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 20 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 4 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 128,832,320,1120 + BorderColor 219,219,219 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 5 +{ + Style "Rectangle" + Text "Key" + Bounds 128,1120,320,1184 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 6 +{ + Text "" + Bounds 176,736,208,832 + BorderColor 192,192,192 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +Figure 7 +{ + Style "Arrow up" + Text "" + Bounds 224,736,256,832 + BorderColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +Figure 8 +{ + Style "Rectangle" + Text "Message" + Bounds 128,672,320,736 + BorderColor 219,219,219 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 9 +{ + Style "SILC Background" + Text "Client B" + Bounds 1760,576,2016,1216 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 10 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 1792,832,1984,1120 + BorderColor 219,219,219 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 11 +{ + Text "" + Bounds 1840,736,1872,832 + BorderColor 192,192,192 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +Figure 12 +{ + Style "Arrow up" + Text "" + Bounds 1888,736,1920,832 + BorderColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +Figure 13 +{ + Style "Rectangle" + Text "Message" + Bounds 1792,672,1984,736 + BorderColor 219,219,219 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 14 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 432,832,624,1120 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 15 +{ + Style "SILC Background" + Text "Server Y" + Bounds 1264,576,1712,1216 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 16 +{ + Style "SILC Network Cloud" + Text "SILC\line Network" + Bounds 912,720,1200,1136 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 17 +{ + Style "SILC INFO" + Text "INFO" + Bounds 432,1248,1680,1312 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 18 +{ + Style "Rectangle" + Text "" + Bounds 576,1264,768,1296 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 19 +{ + Label TRUE + Style "Title" + Text "Private Message Key between Client A and Client B" + Bounds 861,1266,1516,1298 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 20 +{ + Label TRUE + Style "Title" + Text "" + Bounds 511,251,527,267 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 21 +{ + Style "Rectangle" + Text "Key" + Bounds 1792,1120,1984,1184 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 22 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 624,832,816,1120 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 23 +{ + Text "" + Bounds 304,960,432,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 24 +{ + Text "" + Bounds 320,880,448,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 25 +{ + Text "" + Bounds 800,880,928,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 26 +{ + Text "" + Bounds 784,960,912,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 27 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 1296,816,1488,1104 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 28 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 1488,816,1680,1104 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 29 +{ + Text "" + Bounds 1184,880,1312,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 30 +{ + Text "" + Bounds 1200,960,1328,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 31 +{ + Text "" + Bounds 1664,880,1792,976 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 32 +{ + Text "" + Bounds 1680,960,1808,1056 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +## Staples Section: diff --git a/doc/whitepaper/silc_priv3.edg b/doc/whitepaper/silc_priv3.edg new file mode 100644 index 00000000..3cc9c901 --- /dev/null +++ b/doc/whitepaper/silc_priv3.edg @@ -0,0 +1,2347 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X 64 +Y 167 +Scale 120 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 253,254,194 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 241,240,255 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block short" +LastEndLen 25 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 80 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A00000000000000000000000000000000000000000000000000 +40465D000C005900D01F5900D0F0FF00 +} + +Preview 3724 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +19FF7FC059C078FF03C018FC21DB09FC098206FC068206FC098203FC098203FC +098209FC068203FC038203FC098203FC06822AFC03C078FF03C018FC21DB1BFC +03827BFC03C078FF03C042FC098206FC068206FC098203FC098203FC098209FC +068203FC038203FC098203FC06822AFC03C078FF03C018FC21DB1BFC03827BFC +03C078FF03C07FFC53FC03C078FF7FC059C042FF21C015FF3FC05AFF3CC015FF +24C006FF06C0FDEFE7EF1BFFFDEFE7EF06C00CFF03C006F436FF03F406C04EFF +06C003F436FF03F406C00CFF03C0FAEFE7EFEFE7EF1BFFFDEFE7EF09C0FDEFE7 +EF21DBFAEFE7EFEFE7EF09FF03C048F403C048FF03C048F403C009FF03C0FDEF +E7EF21DBFAEFE7EFEFE7EF03C0FDEFE7EF03DBFDC2FEFD0C82FDC2FEFD098203 +DBFAEFE7EFEFE7EF03C006FF03C04BF448FF03C04BF409FF03C0FDEFE7EF03DB +FDF0FFF00C82FDF0FFF0098203DBFAEFE7EFEFE7EF03C0FDEFE7EF03DB0209C2 +FEFD03DBFDEFE7EF03FF03C006FF03C04BF403C045FF03C04BF403C006FF03C0 +FDEFE7EF03DB0209F0FFF003DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03 +FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF21 +DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03 +C045FF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7 +EF03DBFDF0FFF00982FDF0FFF00982FDF0FFF003DBFDEFE7EF03FF03C006FF03 +C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF03DBFDC2FEFD09 +82FDC2FEFD0982FDC2FEFD03DBFDEFE7EF03FF03C0FDEFE7EF03DB0209F0FFF0 +03DBFDEFE7EF03FF03C006FF03C048F403FF03C00FFF098206FF09821EFF03C0 +48F403FF03C006FF03C0FDEFE7EF03DB0209C2FEFD03DBFDEFE7EF03FF03C0FD +EFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C00CFF03820203FFE1E3 +03820204FFE1E303821BFF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7 +EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C003F442DB03F403FF03 +C00DFFFEE1E30203FFF0F0FDFFE1E30204FFF0F0FDFFE1E31BFF03C048F403FF +03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEF +E7EF03FF03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF +03C00AFFFEE1E30209FFF0F0FDFFE1E3038218FF03C003F442DB03F403FF03C0 +06FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB +FDEFE7EF06C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03C003FF +03C00AFFFEE1E3020AFFF0F0FDFFE1E318FF03C003F403C00209EFE7EF06DB02 +09EFE7EF03DB03F403FF03C006FF06C003DB1BF403DBFDEFE7EF03FF03C0FDEF +E7EF03DB1BF403DB15C003DB0209EFE7EF06DB0209EFE7EF15C0FDFFE1E3020A +FFF0F0FDFFE1E30FFF15C00208EFE7EF06DB0209EFE7EF03DB03F415C01BF403 +DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB03C012F403DB0209EFE7EF06DB +0209EFE7EF03C012F4FDFFE1E3020BFFF0F0098203FF15F403C00208EFE7EF06 +DB0209EFE7EF03DB15F403C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4 +098203F4098203F403C015F403DBFDEFE7EF0682FDEFE7EF0C82FDEFE7EF06DB +FDEFE7EF0682FDEFE7EF0C8203C015F4FDFFE1E3020BFFF0F0FAFFE1E3FFE1E3 +068218F403C00207EFE7EF06DB0209EFE7EF03DB18F403C0098203F4098203F4 +03DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB03C012F403DB0209EFE7EF06 +DB0209EFE7EF03C012F4FDFFE1E3020DFFF0F0FDFFE1E3038215F403C00682FD +EFE7EF0C82FDEFE7EF06DBFDEFE7EF0682FDEFE7EF0C82FDEFE7EF03DB15F403 +C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB15C01B82FDEFE7EF06 +DB1882FDEFE7EF18C0FDFFE1E3020DFFF0F0FDFFE1E318C00208EFE7EF06DB02 +09EFE7EF03DB18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEF +E7EF15C00209EFE7EF06DB0209EFE7EF03DB12C003820202FFE1E3FAFFF0F0FF +F0F003C00205FFF0F003C00203FFF0F0FDFFE1E315C01882FDEFE7EF06DBFDEF +E7EF188203DB15C003DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F40982 +03F4098203F403DB15F403C0FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEF +E7EF0982FDEFE7EF0982FDEFE7EF15F403C0FDFFE1E3020DFFF0F0FDFFE1E303 +C012F40209EFE7EF06DB0209EFE7EF03DB03C012F403DB03F4098203F4098203 +F403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18F403C00208EFE7EF06DB +0209EFE7EF15F403C0FDFFE1E3020DFFF0F003C015F4FDEFE7EF0982FDEFE7EF +0982FDEFE7EF06DBFAEFE7EFEFE7EF0982FDEFE7EF098203C015F403DB1BF403 +DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18C00209EFE7EF06DB0209EFE7 +EF18C0FDFFE1E3020DFFF0F0FDFFE1E318C00208EFE7EF06DB0209EFE7EF03DB +18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0 +06FF09C00209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C004FFFEE1 +E3020DFFF0F0FDFFE1E306C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF +03DB09C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB +1BF403DBFDEFE7EF03FF03C006FF06C003DB0209EFE7EF06DB0209EFE7EF03DB +03F403FF03C006FF03C004FFFEE1E3020DFFF0F006FF03C006FF03C003F403DB +0209EFE7EF06DB0209EFE7EF03DB03F406C006FF03C0FDEFE7EF03DB1BF403DB +FDEFE7EF03FF03C0FDEFE7EF03DB09F403C003F406C006F403DBFDEFE7EF03FF +03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00DFF +FEE1E3020BFFF0F0FDFFE1E303820FFF03C003F403DB0209EFE7EF06DB0209EF +E7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB09F403C003F406C006F403DB +FDEFE7EF03FF03C0FDEFE7EF09DB0FC009DBFDEFE7EF03FF03C006FF03C003F4 +42DB03F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C003F403DB +0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF09DB06C0 +03DB06C009DBFDEFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF +03FF03C006FF03C048F403FF03C010FFFEE1E3020AFFF0F0FDFFE1E312FF03C0 +03F442DB03F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF +03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F4 +03FF03C013FFFEE1E30204FFF0F0FDFFE1E30203FFF0F0FDFFE1E315FF03C048 +F403FF03C006FF03C00204EFE7EF0FC00204EFE7EF03FF03C00204EFE7EF06C0 +FDEFE7EF03C00205EFE7EF03FF03C006FF03C048F403FF03C016FF0205E1E3FF +0203F0F0FFFEE1E315FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7 +EF03C00205EFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F4 +03FF03C025FF0203E1E3FF17FF03C048F403FF03C006FF03C0FDEFE7EF21DBFD +EFE7EF03FF03C0FDEFE7EF03DB1882FDE6F2FF03DBFDEFE7EF03FF03C006FF03 +C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF03DB1882FDE6F2 +FF03DBFDEFE7EF03FF03C0FDEFE7EF03DB0209E6F2FF03DBFDEFE7EF03FF03C0 +06FF03C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF03DB0209 +E6F2FF03DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048 +F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03 +C0020DEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF +03C0020DEFE7EF03FF03C0020DEFE7EF03FF03C006FF03C01BF4038203F40682 +06F403821BF403C045FF03C01BF4038203F4068224F403C006FF03C0020DEFE7 +EF03FF03C00205EFE7EF03820203EFE7EF03820204EFE7EF03C006FF03C048F4 +06C045FF03C048F406C006FF03C00205EFE7EF03820208EFE7EF03C0FDEFE7EF +03C0020BEFE7EF06C006FF03C048F403C048FF03C048F403C009FF03C0020DEF +E7EF2AC0FDEFE7EF03C00CFF42C003F403C04EFF42C003F403C00CFF27C0FDEF +E7EF03C07FFF7FFF7FFF7FFF7FFF7FFF48FF03C015FF03C003FF03C012FF03C0 +7FFF53FF03C003FF09C006FF03C006FF09C003FF0CC003FF03C003FF09C003FF +03C003FF03C003FF06C006FF06C003FF06C003FF06C003FF18C07FFF35FF09C0 +03FF09C006FF06C003FF03C003FF03C003FF09C006FF06C003FF0CC003FF03C0 +06FF03C003FF09C003FF06C003FF21C07FFF35FF06C003FF0CC006FF06C009FF +03C003FF06C009FF03C018FF03C015FF03C018FF03C07FFF7FFF7FFF7FFF6EFF +06C030FF03C07FFF4DFF03C006FF03C003FF03C003FF12C003FF06C003FF24C0 +03FF03C006FF0CC003FF0CC006FF03C07FFF4AFF06C003FF03C003FF18C003FF +06C003FF1BC003FF06C003FF03C003FF1EC003FF06C07FFF4AFF06C009FF03C0 +0CFF03C009FF03C003FF03C027FF06C009FF06C07FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF16FFFE0000000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 256 + Width 128 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 256 + Width 128 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +FigureSymbol "arrow right 1" +{ + FixedAspect FALSE + Height 96 + Width 256 + TextBox 0,>250,<700,<750 + Fill + { + Polygon 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 + } + Outline + { + Polyline 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 1" +{ + FixedAspect FALSE + Height 96 + Width 256 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 + } + Outline + { + Polyline 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC Background" + Text "Server X" + Bounds 400,576,848,1216 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 2 +{ + Style "SILC Background" + Text "Client A" + Bounds 96,576,352,1216 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 3 +{ + Label TRUE + Style "Title" + Text "Private Message Delivery\line With Public Key Cryptosystem" + Bounds 533,379,1557,542 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 20 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 4 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 128,784,320,1072 + BorderColor 219,219,219 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 5 +{ + Style "Rectangle" + Text "Public Key" + Bounds 128,1072,320,1136 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 6 +{ + Text "" + Bounds 176,736,208,800 + BorderColor 192,192,192 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +Figure 7 +{ + Style "Arrow up" + Text "" + Bounds 224,736,256,800 + BorderColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +Figure 8 +{ + Style "Rectangle" + Text "Message" + Bounds 128,672,320,736 + BorderColor 219,219,219 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 9 +{ + Style "SILC Background" + Text "Client B" + Bounds 1760,576,2016,1216 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 10 +{ + Style "Rectangle" + Text "Encrypt\line \line Decrypt" + Bounds 1792,784,1984,1072 + BorderColor 219,219,219 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 11 +{ + Text "" + Bounds 1840,736,1872,800 + BorderColor 192,192,192 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +Figure 12 +{ + Style "Arrow up" + Text "" + Bounds 1888,736,1920,800 + BorderColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +Figure 13 +{ + Style "Rectangle" + Text "Message" + Bounds 1792,672,1984,736 + BorderColor 219,219,219 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 14 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 432,784,624,1072 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 15 +{ + Style "SILC Background" + Text "Server Y" + Bounds 1264,576,1712,1216 + BorderColor 192,192,192 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 16 +{ + Style "SILC Network Cloud" + Text "SILC\line Network" + Bounds 912,688,1200,1104 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 12 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 17 +{ + Style "SILC INFO" + Text "INFO" + Bounds 432,1232,1680,1360 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 18 +{ + Style "Rectangle" + Text "" + Bounds 592,1264,784,1296 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 19 +{ + Label TRUE + Style "Title" + Text "Client B's Public key and Private key pair" + Bounds 881,1266,1399,1298 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 20 +{ + Label TRUE + Style "Title" + Text "" + Bounds 511,251,527,267 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 21 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 624,784,816,1072 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 22 +{ + Text "" + Bounds 304,912,432,1008 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 23 +{ + Text "" + Bounds 320,832,448,928 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 24 +{ + Text "" + Bounds 800,832,928,928 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 25 +{ + Text "" + Bounds 784,912,912,1008 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 26 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 1296,768,1488,1056 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 27 +{ + Style "Rectangle" + Text "Pass the\line message\line through" + Bounds 1488,768,1680,1056 + BorderColor 219,219,219 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 10 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 28 +{ + Text "" + Bounds 1184,832,1312,928 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 29 +{ + Text "" + Bounds 1200,912,1328,1008 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 30 +{ + Text "" + Bounds 1664,832,1792,928 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow left 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 31 +{ + Text "" + Bounds 1680,912,1808,1008 + BorderColor 192,192,192 + FillColor 244,244,244 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "arrow right 1" + TypeSize 8 + TypeFace "Arial" +} + +Figure 32 +{ + Style "Rectangle" + Text "Private Key" + Bounds 128,1136,320,1200 + BorderColor 219,219,219 + FillColor 253,254,194 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 33 +{ + Style "Rectangle" + Text "Private Key" + Bounds 1792,1136,1984,1200 + BorderColor 219,219,219 + FillColor 240,255,240 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 34 +{ + Style "Rectangle" + Text "Public Key" + Bounds 1792,1072,1984,1136 + BorderColor 219,219,219 + FillColor 253,254,194 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 35 +{ + Style "Rectangle" + Text "" + Bounds 592,1312,784,1344 + BorderColor 219,219,219 + FillColor 253,254,194 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +Figure 36 +{ + Label TRUE + Style "Title" + Text "Client A's Public key and Private key pair" + Bounds 880,1309,1398,1341 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 37 +{ + Label TRUE + Style "Title" + Text "" + Bounds 462,384,478,400 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 38 +{ + Label TRUE + Style "Title" + Text "" + Bounds 367,321,383,337 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +Figure 39 +{ + Label TRUE + Style "Title" + Text "" + Bounds 304,206,320,222 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +## Staples Section: diff --git a/doc/whitepaper/silc_protocol.html b/doc/whitepaper/silc_protocol.html new file mode 100644 index 00000000..0cdd8b26 --- /dev/null +++ b/doc/whitepaper/silc_protocol.html @@ -0,0 +1,280 @@ + +
+SILC Protocol White Paper + + + + + + + + + +

About the White Paper

+

+The purpose of this white paper is to give short but deep enough introduction +to the SILC Protocol. The document describes the purpose of the protocol +and how the protocol works in practice. This document is intended for all +audience. This document should be easy to understand for non-technical +person and still be detailed enough for technically oriented person. See +the section Terms and Abbreviations for terms used +in this documents. +

+ +

+(c) Copyright 2001 Pekka Riikonen +(priikone at silcnet.org) +

+This document is free document; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. This document is distributed in +the hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License for more details. + +


+

Summary

+ +xxx + +

+ +


+

SILC Protocol

+

+ +SILC Network + +


+

Clients

+

+ +


+

Servers

+

+ +


+

Routers

+

+ +SILC Routers + + +


+

SILC Packet Protocol

+

+ +Typical SILC Packet + + + +


+

SILC Key Exchange Protocol

+

+ + +


+

SILC Connection Authentcation Protocol

+

+ + + +


+

Channels

+

+ +


+

Channel Message Delivery

+

+ +Channel Message Delivery + +


+

Channel Message Delivery With Channel Private Key

+

+ + +


+

Private Messages

+

+Private messages are messages that are sent from one client to another +through the SILC Network. They are private because they are not sent to +anyone else except to the true receiver of the message. Private messages +can be used to engage private conversation with another client if channels +are not desired. +

+ +As all messages in SILC the private message are also encrypted and +authenticated. There are several ways to secure private messages. By +default private messages are encrypted using the session keys established +in the SKE protocol. It is also possible to negotiate a private message +key between the two clients and encrypt the messages with that key. It +is even possible to encrypt the messages with public key cryptosystem, +if desired. The next sections will describe all these private message +delivery methods. + +

+The SILC protocol provides these three methods of delivering private messages +because none of the methods alone can satisfy the security requirements +of all people. The end user should decide the acceptable level of risk, +the required level of security and other security and usability aspects when +deciding what way of sending private message suites for them. + + +


+

Private Message Delivery With Session Keys

+

+Sending private messages are by default secured with session keys established +in the SKE protocol. This means that the private message is always encrypted +with the next receiver of the message enroute to the receiving client. +This also means that the message is decrypted and re-encrypted everytime +it is sent further to the receiving client. +

+ +Basic Private Message Delivery +


+ +As the above diagram shows the private messages sent by Client A to the +Client B travels through the SILC Network and is always decrypted and +re-encrypted with the session key of the next receiver. The Client B then +finally decrypts the private messages that is encrypted with the session +key shared between the Client B and the Server Y. +

+ +This way of securing private messages is not perfect and cannot be used +in all circumstances. If the clients having the conversation cannot trust +the servers and routers in the SILC Network they should not send private +messages that are secured in this manner. Messages secured in this manner +can be decrypted by the servers and routers that the clients consider to be +untrusted. +

+ +If the clients on the other hand trust the servers and routers in their +SILC Network, or they do not care that servers can decrypt their messages, +sending private messages in this way is very simple from client's point +of view. For servers and routers this of course means that they need +to decrypt and re-encrypt each private message. Since this way of securing +private message cannot be used at all times the SILC protocol provides +other ways of securing private messages. + +


+

Private Message Delivery With Private Message Key

+

+Private messages can be secured with private message key as well. This +key is known only by the sender of the message and the receiver of the +message. This way no one else except the sender and the receiver can encrypt +and decrypt the private messages. The message is encrypted by the sender +with the private message key and all the servers and routers pass the message +through enroute to the receiver. They cannot decrypt the message since +they do not have the key. When sending private messages in this way it +does not matter whether the clients trust or do not trust the servers and +routers in the SILC network. +

+ +Private Messages with Private Message Key +


+ +As the above diagram shows the Client A encrypts the message with private +message key and sends the message to the SILC Network. All servers and +routers merely pass the message through since they cannot decrypt it. +The Client B then receives the message and decrypts it with the private +message key. +

+ +Sending private messages in this manner is always secure since the key is +shared only by the sender and the receiver. The problem of this method +is that the sender and the receiver must somehow agree about the key +they are going to use. The private message key can generally be anything. +It can be a passphrase that only the sender and the receiver knows. They +could have been agreed to use some word or phrase as the key sometime +earlier before they started the conversation. Or the key maybe from some +random string from a code book that only the sender and the receiver poses. +Or it can be a key that is negotiated using some key negotiation protocol. +

+ +The problem however is fundamental. How to agree to use some key when +you cannot reach the other person over secure channel? The SILC protocol +solves this problem by providing a possiblity to negotiate the key +between two clients using the SKE protocol. One or both of the clients +may set up the SKE server running in their host and ask the other client +to connect to it. As a result of the SKE protocol the clients have +now shared secret that they can use as private message key. The key +is known only by the two clients that exexcuted the SKE protocol. They +can then use that key to secure all subsequent private messages. +

+ +Using this method of private messages delivery is recommended if the +clients cannot trust the servers and routers in the SILC Network. The +drawback is the extra phase of setting the private message key before +starting the conversation. However, using the SKE protocol is the +recommended way to negotiate the private message key since it can be +automized and does not cause any extra tasks for end user. + +


+

Private Message Delivery With Public Key Encryption

+

+If the clients cannot trust the servers and routers in the SILC Network +they can use the private message key. As described in the previous section +it is easy to set up with the SKE protocol. However, sometimes the two +clients do not want to use any passphrases as private message key or +negotiate the key with SKE, or perhaps they are unable to negotiate the +key because of some other external problem. The SILC protocol provides +yet another way of securing the private messages. This way does not +require setting or negotiating private message key. And, in this method +also it does not matter whether the clients trust or do not trust the +servers and routers in the SILC Network. The method is public key +encryption. The clients can encrypt the private messages with the +receiver's public key and send the message to the network. The servers +and routers cannot decrypt the messages since they do not have the +receiver's private key. The receiver on the other hand has the private +key which it uses to decrypt the message. +

+ +Private Messges with Public Key Cryptosystem +


+ +As the above diagram shows the Client A has the Client B's public key. +It will encrypt the message with that key and sends the message to the +SILC Network. All servers and routers pass the message through since +they cannot decrypt it. The Client B then uses its private key to +decrypt the message. The Client B has also the Client A's public key +that it can use to encrypt messages that it will send to Client A. +

+ +Even this method of private message delivery is not perfect. The drawbacks +of this method is that the public key encryption process, as being +assymmetric cryptosystem, is much slower than encryption process with +symmetric cryptosystems. This is not probably problem with short messages +but may be inconvenient with long messages. The other drawback is that the +sender must first assure that the public key it is using in the encryption +is actually the receiver's public key. This is a absolute requirement +in this method. If the sender cannot authenticate the receiver's public +key this method of private message delivery should not be used. In SILC +protocol clients can fetch other clients public keys from servers. +However, the servers may not have authenticated the fetched public key so +that should not be fully trusted. Use of certificates can solve the +problem. The receiver's certificate could be authenticated by a third +party Certificate Authority (CA). + +

+Usually verifying the public key is not a problem since the receiver +can provide the public key on some website, or verify the fingerprint of +the key over email, or phone call. The clients can also fetch the +public keys from SILC servers if they trust that the keys are authentic. +If both of the clients trust that the public keys are authentic using this +method of private message delivery is very simple and recommended. + + +


+

Conclusions

+ + + +

Terms and Abbreviations

+ +
+ + + diff --git a/doc/whitepaper/silc_routers.edg b/doc/whitepaper/silc_routers.edg new file mode 100644 index 00000000..8ef3e666 --- /dev/null +++ b/doc/whitepaper/silc_routers.edg @@ -0,0 +1,2447 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X -296 +Y 133 +Scale 100 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 128,0,128 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 255,255,0 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block" +LastEndLen 25 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 68 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A00000000000000000000000000000000000000000000000000 +94395900 +} + +Preview 4908 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7DFF7FC07FC01FC033FF03C07FFC7FFC19FC03C033FF03C07FFC7FFC +19FC03C033FF03C07FFC7FFC19FC03C033FF03C069FC06827FFC29FC03C033FF +03C024FC0C8203FC3F821EFC0F8203FC068206FC038203FC038206FC038206FC +038203FC098203FC0C8233FC03C033FF03C069FC038224FC038215FC038206FC +038206FC098203FC068206FC09823CFC03C033FF03C07FFC7FFC19FC03C033FF +03C07FFC7FFC19FC03C033FF03C069FC068224FC03820CFC038203FC038206FC +038206FC038203FC098203FC098242FC03C033FF03C021FC518221FC0F820CFC +098203FC068206FC098248FC03C033FF03C0098203FC038203FC038254FC0382 +7FFC2CFC03C033FF03C0068206FC038203FC03827FFC7FFC04FC03C033FF03C0 +7FFC7FFC19FC03C033FF7FC07FC01FC07FFF7FFF7FFF0203EFE7EF7FC07FC010 +C00203EFE7EF2AFFFAEFE7EFEFE7EF09C0025AEFE7EF09C0FAEFE7EFEFE7EF21 +FFFDEFE7EF06C00260EFE7EF06C0FDEFE7EF1BFF06C00264EFE7EF06C015FF03 +C00268EFE7EF03C00FFFFDEFE7EF03C0022AEFE7EF45820227EFE7EF03C0FDEF +E7EF0CFF03C0022BEFE7EF03820215E6F2FF03820228EFE7EF03C009FFFDEFE7 +EF03C0022BEFE7EF03820215E6F2FF03820228EFE7EF03C0FDEFE7EF06FF03C0 +021DEFE7EF24820203EFE7EF03820215E6F2FF0382FDEFE7EF06820204EFE7EF +24820216EFE7EF03C006FF03C0021CEFE7EF0382020CEFE7EF0C820215E6F2FF +0C82FDEFE7EF0982020CEFE7EF03820216EFE7EF06FF03C0021CEFE7EF038202 +0FEFE7EF03820205E6F2FF0382FDE6F2FF1B820205E6F2FF0382FAEFE7EFEFE7 +EF03820210EFE7EF03820216EFE7EF03C003FF03C0021BEFE7EF03820210EFE7 +EF03820205E6F2FF0682FDE6F2FF0982FDE6F2FF0C820205E6F2FF03820214EF +E7EF03820215EFE7EF03C003FF03C0021BEFE7EF03820210EFE7EF03820205E6 +F2FF06820205E6F2FF03820208E6F2FF03820214EFE7EF03820215EFE7EF03C0 +03FF03C0021BEFE7EF03820210EFE7EF03820215E6F2FF03820214EFE7EF0382 +0214EFE7EF03FF03C003FF03C0021BEFE7EF03820210EFE7EF03820215E6F2FF +03820214EFE7EF03820214EFE7EF03FF03C003FF03C0021BEFE7EF03820210EF +E7EF03820215E6F2FF03820214EFE7EF03820214EFE7EF03FF03C003FF03C002 +1BEFE7EF03820210EFE7EF45820214EFE7EF03820214EFE7EF03FF03C003FF03 +C0021AEFE7EF09820239EFE7EF03820215EFE7EF03FF03C003FF03C0021BEFE7 +EF06820239EFE7EF03820215EFE7EF03FF03C003FF03C0021BEFE7EF0382023A +EFE7EF03820215EFE7EF03FF03C003FF03C0020EEFE7EF48820225EFE7EF4582 +020AEFE7EF03FF03C003FF03C0020EEFE7EF03820216E6F2FF03820225EFE7EF +03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF03820216E6 +F2FF03820225EFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C002 +0EEFE7EF03820216E6F2FF03820225EFE7EF03820215E6F2FF0382020AEFE7EF +03FF03C003FF03C0020EEFE7EF03820216E6F2FF03820225EFE7EF03820215E6 +F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF03820205E6F2FF0382FD +E6F2FF1B820206E6F2FF0382FDEFE7EF06820204EFE7EF0382FDEFE7EF0F82FA +EFE7EFEFE7EF03820214EFE7EF03820205E6F2FF0382FDE6F2FF1B820205E6F2 +FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF03820205E6F2FF0682FDE6 +F2FF0982FDE6F2FF0C820206E6F2FF0F82020FEFE7EF06820210EFE7EF038202 +05E6F2FF0682FDE6F2FF0982FDE6F2FF0C820205E6F2FF0382020AEFE7EF03FF +03C003FF03C0020EEFE7EF03820205E6F2FF06820205E6F2FF03820209E6F2FF +0382FAEFE7EFEFE7EF03820212EFE7EF0382020FEFE7EF03820205E6F2FF0682 +0205E6F2FF03820208E6F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF +03820216E6F2FF03820216EFE7EF0382020EEFE7EF03820215E6F2FF0382020A +EFE7EF03FF03C003FF03C0020EEFE7EF03820216E6F2FF03820217EFE7EF0382 +020DEFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF +03820216E6F2FF03820219EFE7EF0382020BEFE7EF03820215E6F2FF0382020A +EFE7EF03FF03C003FF03C0020EEFE7EF48820219EFE7EF0382020BEFE7EF4582 +020AEFE7EF03FF03C003FF03C00216EFE7EF0382020AEFE7EF0982021CEFE7EF +03820217EFE7EF06820212EFE7EF03FF03C003FF03C00215EFE7EF0382020CEF +E7EF0982021CEFE7EF03820216EFE7EF09820211EFE7EF03FF03C003FF03C002 +13EFE7EF0982020FEFE7EF0382021CEFE7EF03820216EFE7EF03820212EFE7EF +03FF03C003FF03C00213EFE7EF0382030003820210EFE7EF0382021CEFE7EF03 +820216EFE7EF03820211EFE7EF03FF03C003FF03C00213EFE7EF06820212EFE7 +EF0382021CEFE7EF03820215EFE7EF03820211EFE7EF03FF03C003FF03C00213 +EFE7EF03820214EFE7EF0382FDEFE7EF0382021AEFE7EF03820214EFE7EF0382 +0211EFE7EF03FF03C003FF03C00204EFE7EF45820210EFE7EF0382021AEFE7EF +0382020AEFE7EF45820204EFE7EF03FF03C003FF03C00204EFE7EF03820215E6 +F2FF03820211EFE7EF03820219EFE7EF0382020AEFE7EF03820215E6F2FF0382 +0204EFE7EF03FF03C003FF03C00204EFE7EF03820215E6F2FF03820212EFE7EF +06820218EFE7EF03820209EFE7EF03820215E6F2FF03820204EFE7EF03FF03C0 +03FF03C00204EFE7EF03820215E6F2FF03820214EFE7EF03820221EFE7EF0382 +0215E6F2FF03820204EFE7EF03FF03C003FF03C00204EFE7EF03820205E6F2FF +0382FDE6F2FF1B820205E6F2FF03820214EFE7EF06820218EFE7EF03820207EF +E7EF03820205E6F2FF0382FDE6F2FF1B820205E6F2FF03820204EFE7EF03FF03 +C003FF03C00204EFE7EF03820205E6F2FF0682FDE6F2FF0982FDE6F2FF0C8202 +05E6F2FF0382022FEFE7EF03820206EFE7EF03820205E6F2FF0682FDE6F2FF09 +82FDE6F2FF0C820205E6F2FF03820204EFE7EF03FF03C003FF03C00204EFE7EF +03820205E6F2FF06820205E6F2FF03820208E6F2FF03820225EFE7EF12820203 +EFE7EF1B820205E6F2FF06820205E6F2FF03820208E6F2FF03820204EFE7EF03 +FF03C003FF03C00204EFE7EF03820215E6F2FF03820217EFE7EF03820209EFE7 +EF03820203EFE7EF0382020DEFE7EF0682FDEFE7EF03820215E6F2FF03820204 +EFE7EF03FF03C003FF03C00204EFE7EF03820215E6F2FF03820217EFE7EF0382 +0208EFE7EF03820212EFE7EF0382FAEFE7EFEFE7EF03820215E6F2FF03820204 +EFE7EF03FF03C003FF03C00204EFE7EF03820215E6F2FF03820218EFE7EF0382 +0218EFE7EF03820204EFE7EF03820215E6F2FF03820204EFE7EF03FF03C003FF +03C00204EFE7EF03820215E6F2FF03820218EFE7EF03820206EFE7EF03820212 +EFE7EF03820203EFE7EF03820215E6F2FF03820204EFE7EF03FF03C003FF03C0 +0204EFE7EF45820219EFE7EF03820205EFE7EF03820216EFE7EF45820204EFE7 +EF03FF03C003FF03C00213EFE7EF03820220EFE7EF03820204EFE7EF03820214 +EFE7EF0382020BEFE7EF06820210EFE7EF03FF03C003FF03C00213EFE7EF0382 +0220EFE7EF03820204EFE7EF03820215EFE7EF03820209EFE7EF09820210EFE7 +EF03FF03C003FF03C00214EFE7EF0682021EEFE7EF03820203EFE7EF03820216 +EFE7EF0382020AEFE7EF03820211EFE7EF03FF03C003FF03C00213EFE7EF0382 +03000382021EEFE7EF03820203EFE7EF03820218EFE7EF03820208EFE7EF0382 +0211EFE7EF03FF03C003FF03C00214EFE7EF06820222EFE7EF03820220EFE7EF +03820212EFE7EF03FF03C003FF03C00215EFE7EF0382023CEFE7EF03820206EF +E7EF03820212EFE7EF03FF03C003FF03C0020DEFE7EF45820227EFE7EF458202 +0AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF03820215E6F2FF0382020F +EFE7EF03820217EFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0 +020CEFE7EFFDE6F2FF03820215E6F2FF03820214EFE7EF03820212EFE7EF0382 +0215E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF038202 +15E6F2FF0382020EEFE7EF03820205EFE7EF03820212EFE7EF03820215E6F2FF +0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF03820205E6F2FF03 +82FDE6F2FF1B820205E6F2FF0382020EEFE7EF03820205EFE7EF03820212EFE7 +EF03820205E6F2FF0382FDE6F2FF1B820205E6F2FF0382020AEFE7EF03FF03C0 +03FF03C0020CEFE7EFFDE6F2FF03820205E6F2FF0682FDE6F2FF0982FDE6F2FF +0C820205E6F2FF0382020EEFE7EF03820205EFE7EF03820212EFE7EF03820205 +E6F2FF0682FDE6F2FF0982FDE6F2FF0C820205E6F2FF0382020AEFE7EF03FF03 +C003FF03C0020CEFE7EFFDE6F2FF03820205E6F2FF06820205E6F2FF03820208 +E6F2FF0382020DEFE7EF03820206EFE7EF03820212EFE7EF03820205E6F2FF06 +820205E6F2FF03820208E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7 +EFFDE6F2FF03820215E6F2FF0382020DEFE7EF03820206EFE7EF03820212EFE7 +EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF +03820215E6F2FF0382020DEFE7EF03820219EFE7EF03820215E6F2FF0382020A +EFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF03820215E6F2FF0382020DEF +E7EF03820219EFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C002 +0CEFE7EFFDE6F2FF03820215E6F2FF0382020CEFE7EF0382021AEFE7EF038202 +15E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF45820214 +EFE7EF03820212EFE7EF4582020AEFE7EF03FF03C003FF03C00218EFE7EF0382 +023DEFE7EF03820215EFE7EF03FF03C003FF03C00217EFE7EF03820220EFE7EF +0382021CEFE7EF06820215EFE7EF03FF03C003FF03C00217EFE7EF03820215EF +E7EF42820214EFE7EF03820214EFE7EF03FF03C003FF03C00217EFE7EF038202 +14EFE7EF45820214EFE7EF03820214EFE7EF03FF03C003FF03C00217EFE7EF03 +820214EFE7EF03820215E6F2FF03820214EFE7EF03820214EFE7EF03FF03C003 +FF03C00217EFE7EF03820214EFE7EF03820215E6F2FF03820213EFE7EF038202 +15EFE7EF03FF03C003FF03C00218EFE7EF0982020EEFE7EF0682FDEFE7EF0382 +0215E6F2FF0382020FEFE7EF0F820215EFE7EF03FF03C003FF03C0021BEFE7EF +36820205E6F2FF0382FDE6F2FF1B820205E6F2FF3082021AEFE7EF03FF03C003 +FF03C00229EFE7EF0382FAEFE7EFEFE7EF03820205E6F2FF0682FDE6F2FF0982 +FDE6F2FF0C820205E6F2FF03820229EFE7EF03FF03C003FF03C0022CEFE7EF03 +820205E6F2FF06820205E6F2FF03820208E6F2FF03820229EFE7EF03FF03C003 +FF03C0022CEFE7EF03820215E6F2FF03820229EFE7EF03FF03C003FF03C0022C +EFE7EF03820215E6F2FF03820229EFE7EF03FF03C003FF03C0022CEFE7EF0382 +0215E6F2FF03820229EFE7EF03FF03C003FF03C0022CEFE7EF45820229EFE7EF +03FF03C003FF03C0022CEFE7EF0216E6F2FF022AEFE7EF03FF03C003FF03C002 +6CEFE7EF03FF03C003FF03C0026DEFE7EF03C003FF03C0026CEFE7EF06C003FF +03C00217EFE7EF03C0FDEFE7EF06C0FDEFE7EF12C0FDEFE7EF03C0FAEFE7EFEF +E7EF09C00206EFE7EF09C0FAEFE7EFEFE7EF0CC0FAEFE7EFEFE7EF06C0FAEFE7 +EFEFE7EF03C0FDEFE7EF06C0FAEFE7EFEFE7EF06C0FDEFE7EF03C0FDEFE7EF03 +C0FAEFE7EFEFE7EF0CC0FAEFE7EFEFE7EF0CC00216EFE7EF03C006FF03C00217 +EFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF03C0FAEFE7EFEFE7 +EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF03C00205EFE7EF06C0FA +EFE7EFEFE7EF06C0FAEFE7EFEFE7EF06C0FAEFE7EFEFE7EF06C0FAEFE7EFEFE7 +EF06C00203EFE7EF03C00203EFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7 +EFEFE7EF06C0FAEFE7EFEFE7EF03C0FDEFE7EF09C00215EFE7EF03C006FF03C0 +0217EFE7EF09C0FDEFE7EF03C0FAEFE7EFEFE7EF03C0FAEFE7EFEFE7EF03C0FD +EFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF06C00204EFE7EF03C00204EFE7EF +03C0FAEFE7EFEFE7EF09C0FDEFE7EF09C0FDEFE7EF06C0FAEFE7EFEFE7EF06C0 +0203EFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF09C0FDEFE7EF +06C00218EFE7EF03C009FF03C00216EFE7EF03C0FAEFE7EFEFE7EF03C0FDEFE7 +EF09C0FAEFE7EFEFE7EF09C0FAEFE7EFEFE7EF09C0FDEFE7EF03C00203EFE7EF +06C00204EFE7EF06C0FDEFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FDEFE7EF03 +C0FAEFE7EFEFE7EF06C0FAEFE7EFEFE7EF0CC0FDEFE7EF03C0FAEFE7EFEFE7EF +06C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF06C00215EFE7EF03C00CFF +03C00216EFE7EF09C00209EFE7EF03C0020BEFE7EF09C00215EFE7EF03C0FDEF +E7EF03C00221EFE7EF03C00FFF03C00268EFE7EF03C012FF03C00268EFE7EF03 +C015FF06C00264EFE7EF06C01EFF06C00260EFE7EF06C02AFF7FC07FC019C0FD +EFE7EF06C018FFFE00000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Router to Router Prime" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +## Figures & Connectors Section: + +Figure 1 +{ + Style "SILC Background" + Text "" + Bounds 400,416,1584,1440 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 2 +{ + Label TRUE + Style "Title" + Text "Router Connections" + Bounds 656,455,1332,537 + TextColor 192,192,192 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 20 + TypeWeight 700 + TypeFace "Arial" +} + +Figure 3 +{ + Style "SILC Router" + Text "Router" + Bounds 544,720,800,848 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 4 +{ + Style "SILC Router" + Text "Router" + Bounds 448,912,704,1040 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 5 +{ + Style "SILC Router" + Text "Router" + Bounds 560,1104,816,1232 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 6 +{ + Style "SILC Router" + Text "Router" + Bounds 880,1264,1136,1392 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 7 +{ + Style "SILC Router" + Text "Router" + Bounds 1216,1104,1472,1232 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 8 +{ + Style "SILC Router" + Text "Router" + Bounds 1280,912,1536,1040 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 9 +{ + Style "SILC Router" + Text "Router" + Bounds 1216,720,1472,848 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 10 +{ + Style "SILC Router" + Text "Router" + Bounds 880,560,1136,688 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +Figure 11 +{ + Style "SILC INFO" + Text "INFO" + Bounds 496,1456,1520,1616 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +Figure 12 +{ + Text "" + Bounds 1033,921,1048,936 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 13 +{ + Style "SILC Router to Router" + Figure1 12 + Figure2 8 + EndPoint1 1040,928 + EndPoint2 1280,959 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 14 +{ + Style "SILC Router to Router" + Figure1 10 + Figure2 12 + EndPoint1 1015,688 + EndPoint2 1040,928 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 15 +{ + Text "" + Bounds 953,921,968,936 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 16 +{ + Style "SILC Router to Router" + Figure1 -1 + Figure2 15 + EndPoint1 923,704 + EndPoint2 960,928 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 17 +{ + Style "SILC Router to Router" + Figure1 15 + Figure2 5 + EndPoint1 960,928 + EndPoint2 761,1104 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 18 +{ + Text "" + Bounds 1049,1129,1064,1144 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 19 +{ + Style "SILC Router to Router" + Figure1 9 + Figure2 18 + EndPoint1 1291,848 + EndPoint2 1056,1136 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 20 +{ + Style "SILC Router to Router" + Figure1 18 + Figure2 5 + EndPoint1 1056,1136 + EndPoint2 816,1156 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 21 +{ + Style "Router to Router Prime" + Figure1 -1 + Figure2 -1 + EndPoint1 624,1504 + EndPoint2 912,1504 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 22 +{ + Style "Router to Router Prime" + Figure1 -1 + Figure2 -1 + EndPoint1 624,1552 + EndPoint2 912,1552 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 36 + End2Length 25 + PenStyle 21 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 23 +{ + Label TRUE + Style "Title" + Text "Primary Route" + Bounds 1064,1490,1244,1522 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Figure 24 +{ + Label TRUE + Style "Title" + Text "Secondary Routes" + Bounds 1064,1536,1299,1568 + TextColor 130,130,130 + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 8 + TypeItalic TRUE + TypeFace "Arial" +} + +Connector 25 +{ + Style "Flow Closed" + Figure1 9 + Figure2 8 + EndPoint1 1366,848 + EndPoint2 1386,912 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000000 +} + +Connector 26 +{ + Style "Flow Closed" + Figure1 8 + Figure2 7 + EndPoint1 1386,1040 + EndPoint2 1366,1104 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000000 +} + +Connector 27 +{ + Style "Flow Closed" + Figure1 5 + Figure2 4 + EndPoint1 650,1104 + EndPoint2 614,1040 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000000 +} + +Connector 28 +{ + Style "Flow Closed" + Figure1 4 + Figure2 3 + EndPoint1 608,912 + EndPoint2 640,848 + SuppressEnd1 FALSE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000000 +} + +Figure 29 +{ + Text "" + Bounds 1321,633,1336,648 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 30 +{ + Style "Flow Closed Smoothed" + Figure1 10 + Figure2 29 + EndPoint1 1136,631 + EndPoint2 1328,640 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 31 +{ + Style "Flow Closed Smoothed" + Figure1 29 + Figure2 9 + EndPoint1 1328,640 + EndPoint2 1336,720 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 32 +{ + Text "" + Bounds 665,633,680,648 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 33 +{ + Style "Flow Closed Smoothed" + Figure1 3 + Figure2 32 + EndPoint1 672,720 + EndPoint2 672,640 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 34 +{ + Style "Flow Closed Smoothed" + Figure1 32 + Figure2 10 + EndPoint1 672,640 + EndPoint2 880,631 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 35 +{ + Text "" + Bounds 1321,1337,1336,1352 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 36 +{ + Style "Flow Closed Smoothed" + Figure1 7 + Figure2 35 + EndPoint1 1338,1232 + EndPoint2 1328,1344 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 37 +{ + Style "Flow Closed Smoothed" + Figure1 35 + Figure2 6 + EndPoint1 1328,1344 + EndPoint2 1136,1335 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Figure 38 +{ + Text "" + Bounds 713,1337,728,1352 + FillColor 0,0,0 + BorderWidth 0 + BindToStyle FALSE + TextFormat 0x0000 + Behavior 0x00327A12 + Symbol "null" + TypeSize 8 + TypeFace "Arial" +} + +Connector 39 +{ + Style "Flow Closed Smoothed" + Figure1 6 + Figure2 38 + EndPoint1 880,1336 + EndPoint2 720,1344 + SuppressEnd1 FALSE + SuppressEnd2 TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +Connector 40 +{ + Style "Flow Closed Smoothed" + Figure1 38 + Figure2 5 + EndPoint1 720,1344 + EndPoint2 700,1232 + SuppressEnd1 TRUE + SuppressEnd2 FALSE + End1 "null" + End2 "block" + End1Length 18 + End2Length 25 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +## Staples Section: diff --git a/doc/whitepaper/silc_template.edg b/doc/whitepaper/silc_template.edg new file mode 100644 index 00000000..0d33ae5c --- /dev/null +++ b/doc/whitepaper/silc_template.edg @@ -0,0 +1,1597 @@ +EDGE Diagram File +Version 3.50 + +## Globals Section: + +X -248 +Y 565 +Scale 100 +PosterRows 1 +PosterCols 1 +Color1 221,208,221 +Color2 192,192,192 +Color3 130,130,130 +Color4 0,0,0 +Color5 0,255,255 +Color6 0,0,255 +Color7 0,0,160 +Color8 128,0,128 +Color9 239,231,239 +Color10 219,219,219 +Color11 244,244,244 +Color12 255,242,230 +Color13 240,255,240 +Color14 0,128,0 +Color15 223,223,255 +Color16 255,255,0 +GridX 32 +GridY 32 +SnapX 16 +SnapY 16 +SnapConPtsCentersEdges TRUE +ShadowColor 130,130,130 +ShadowX 11 +ShadowY 11 +ShowGrid TRUE +AlignToGrid TRUE +AlignToGridConPts TRUE +AttachMode 1 +SBarWidth 164 +SBarFigCols 3 +SBarLblCols 1 +SBarConCols 2 +SBarFigHeight 32 +SBarLblHeight 32 +SBarConHeight 24 +Parent "" +LargeDropMenus FALSE +LastEnd "block shorter" +LastEndLen 36 +ConPointMarks 0 +CornerRadius 18 +Template "silc_template.edg" + +DevMode 580 +{ +4850204C617365724A6574203131303000000000000000000000000000000000 +000400049400B0010F77010401000900990B3408640001000700580201000100 +580202000000323130207820323937206D6D0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000001000000 +010000000100000001000000000000000000000000004850204C617365724A65 +742031313030000000000000000000000000000000004C5054313A0000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000044021005100500004402540300000300 +8403DC0501000000000000000000000000000000000000000000000064000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000001000100000002000000000000000000000000000000 +0100000002000100000000000000480002000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000100000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000100 +} + +DevNames 68 +{ +080011002200010077696E73706F6F6C004850204C617365724A657420313130 +30004C5054313A00000000000000000000000000000000000000000000000000 +50F0FF00 +} + +Preview 700 +{ +FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E +0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF +7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF08FFFE000000 +} + +## Graphics Section: + +## Figure Symbols Section: + +FigureSymbol "data" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<900 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + } +} + +FigureSymbol "rounded box 2" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >150,0,<850,1000 + Rect 0,>150,1000,<850 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<700,1000,1000 + Ellipse 0,<700,>300,1000 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<850 + Arc <700,<700,1000,1000 <850,1000 1000,<850 + Line >150,1000 <850,1000 + Arc 0,<700,>300,1000 0,<850 >150,1000 + Line 0,>150 0,<850 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874- + >16,<919 >44,<957 >82,<985 >127,1000 <874,1000 +} + +FigureSymbol "connector" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 100,100,900,900 + Fill + { + Ellipse 0,0,1000,1000 + } + Outline + { + Ellipse 0,0,1000,1000 + } + Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1- + 402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000- + 599,1000 +} + +FigureSymbol "decision" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,255,800,750 + TextBox 800,375,950,625 + TextBox 425,750,575,1000 + TextBox 50,375,200,625 + TextBox 425,0,575,250 + Fill + { + Polygon 5 500,0 1000,500 500,1000 0,500 500,0 + } + Outline + { + Polyline 5 500,0 1000,500 500,1000 0,500 500,0 + } + Hot 5 500,0 1000,500 500,1000 0,500 500,0 +} + +FigureSymbol "box 3d" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<850,<850 + Fill + { + Rect 0,0,<900,<900 + Rect >100,>100,1000,1000 + Polygon 4 <900,0 1000,>100 <900,>100 <900,0 + Polygon 4 0,<900 >100,1000 >100,<900 0,<900 + } + Outline + { + Rect 0,0,<900,<900 + Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900 + Line <900,<900 1000,1000 + } + MiniOutline + { + Rect 0,0,<800,<800 + Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800 + Line <800,<800 1000,1000 + } + Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0 +} + +FigureSymbol "octagon" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Outline + { + Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 + } + Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666- + 0,>333 +} + +FigureSymbol "dog ear" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>150,<850,<850 + Fill + { + Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + } + Outline + { + Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 + Polyline 3 <850,0 <850,>150 1000,>150 + } + MiniOutline + { + Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0 + Polyline 3 <700,0 <700,>300 1000,>300 + } + Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0 +} + +FigureSymbol "disk simple" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>250,<900,<900 + Fill + { + Rect 0,>100,1000,<900 + Ellipse 0,0,1000,>200 + Ellipse 0,<800,1000,1000 + } + Outline + { + Line 0,>100 0,<900 + Line 1000,>100 1000,<900 + Ellipse 0,0,1000,>200 + Arc 0,<800,1000,1000 0,<900 1000,<900 + } + MiniOutline + { + Line 0,200 0,800 + Line 1000,100 1000,900 + Ellipse 0,0,1000,400 + Arc 0,600,1000,1000 0,800 1000,800 + } + Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81- + 1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920- + 1,>81 +} + +FigureSymbol "input/ouput" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Outline + { + Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0 + } + Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0 +} + +FigureSymbol "terminal" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>100,<800,<900 + Fill + { + Rect >500,0,<500,1000 + Ellipse 0,0,>999,1000 + Ellipse <1,0,1000,1000 + } + Outline + { + Line >500,0 <500,0 + Line >500,1000 <500,1000 + Arc 0,0,>999,1000 >500,0 >500,1000 + Arc <1,0,1000,1000 <500,1000 <500,0 + } + Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000- + <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1- + >401,1 +} + +FigureSymbol "preparation" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >150,>100,<850,<900 + Fill + { + Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Outline + { + Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 + } + Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0 +} + +FigureSymbol "cloud" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox 200,200,800,800 + Fill + { + Ellipse 84,114,672,702 + Ellipse 421,89,859,527 + Ellipse 573,286,995,708 + Ellipse 263,492,721,950 + Ellipse 0,528,423,952 + } + Outline + { + Arc 84,114,672,702 500,140 120,550 + Arc 421,89,859,527 860,300 500,140 + Arc 573,286,995,708 720,700 860,300 + Arc 263,492,721,950 350,900 720,700 + Arc 0,528,423,952 120,550 350,900 + } + Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700- + 743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319- + 860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140- + 436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561- + 33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900 +} + +FigureSymbol "document" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<750 + Fill + { + Rect 0,0,1000,<900 + Ellipse 0,<800,500,1000 + Chord 500,<800,1000,1000 1000,<900 500,<900 + } + Outline + { + Polyline 4 0,<900 0,0 1000,0 1000,<900 + Arc 0,<800,500,1000 0,<900 500,<900 + Arc 500,<800,1000,1000 1000,<900 500,<900 + } + MiniOutline + { + Polyline 4 0,900 0,0 1000,0 1000,900 + Arc 0,600,550,1000 0,750 550,750 + Arc 480,700,1000,1000 1000,850 480,850 + } + Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860- + 1000,0 0,0 1,<941 +} + +FigureSymbol "bevel" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >125,>125,<875,<875 + Fill + { + Rect 0,0,1000,1000 + } + Outline + { + Rect 0,0,1000,1000 + Rect >75,>75,<925,<925 + Line 0,0 >75,>75 + Line 0,1000 >75,<925 + Line <925,<925 1000,1000 + Line <925,>75 1000,0 + } + MiniOutline + { + Rect 0,0,1000,1000 + Rect 150,150,850,850 + Line 0,0 150,150 + Line 0,1000 150,850 + Line 850,850 1000,1000 + Line 850,150 1000,0 + } +} + +FigureSymbol "arrow right 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >50,>250,<700,<750 + Fill + { + Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Outline + { + Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 + } + Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200 +} + +FigureSymbol "arrow left 2" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<950,<750 + Fill + { + Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Outline + { + Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 + } + Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200 +} + +FigureSymbol "arrow up" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<950 + Fill + { + Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Outline + { + Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 + } + Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow up/down 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>350,<800,<650 + Fill + { + Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Outline + { + Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 + } + Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650- + >150,>350 0,>350 500,0 +} + +FigureSymbol "arrow left/right 1" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >300,>250,<700,<750 + Fill + { + Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Outline + { + Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 + } + Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800- + >300,<800 >300,1000 0,500 +} + +FigureSymbol "arrow down" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >200,>50,<800,<650 + Fill + { + Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Outline + { + Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 + } + Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000 +} + +FigureSymbol "callout 3" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 0,1000 >400,<800 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800 +} + +FigureSymbol "callout 4" +{ + FixedAspect FALSE + Height 0 + Width 0 + TextBox >100,>100,<900,<700 + Fill + { + Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150- + <900,0 >150,0 0,>150 + Rect >300,0,<700,<800 + Rect 0,>300,1000,<500 + Ellipse 0,0,>300,>300 + Ellipse <700,0,1000,>300 + Ellipse <700,<500,1000,<800 + Ellipse 0,<500,>300,<800 + } + Outline + { + Arc 0,0,>300,>300 >150,0 0,>150 + Line >150,0 <850,0 + Arc <700,0,1000,>300 1000,>150 <850,0 + Line 1000,>150 1000,<650 + Arc <700,<500,1000,<800 <850,<800 1000,<650 + Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800 + Arc 0,<500,>300,<800 0,<650 >150,<800 + Line 0,>150 0,<650 + } + Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44- + <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674- + >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800 +} + +FigureSymbol "banner2" +{ + FixedAspect FALSE + Height 128 + Width 512 + TextBox >325,>25,<725,<855 + Fill + { + Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910- + <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 + } + Outline + { + Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945- + >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880- + >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934- + <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994- + <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120- + 0,>120 >110,560 0,1000 + Line >300,<910 >300,>120 + Line >400,<880 >400,<970 + Line <700,<910 <700,>120 + Line <600,<880 <600,<970 + } + Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120- + <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000 +} + +FigureSymbol "scroll1" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox >170,>170,<830,<950 + Fill + { + Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + } + Outline + { + Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968- + >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950- + <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33- + <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51- + >120,<880 + Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000 + Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103- + >208,>114 >190,>120 <880,>120 + Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940 + Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115- + >163,>120 >190,>120 + } + Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0- + >120,<880 +} + +FigureSymbol "explosion" +{ + FixedAspect FALSE + Height 192 + Width 192 + TextBox 200,300,800,700 + Fill + { + Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Outline + { + Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 + } + Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325- + 975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680- + 400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340- + 0,100 +} + +FigureSymbol "rounded box 1" +{ + FixedAspect FALSE + Height 128 + Width 192 + TextBox >100,>100,<900,<900 + Fill + { + Rect >100,0,<900,1000 + Rect 0,>100,1000,<900 + Ellipse 0,0,>200,>200 + Ellipse <800,0,1000,>200 + Ellipse <800,<800,1000,1000 + Ellipse 0,<800,>200,1000 + } + Outline + { + Arc 0,0,>200,>200 >100,0 0,>100 + Line >100,0 <900,0 + Arc <800,0,1000,>200 1000,>100 <900,0 + Line 1000,>100 1000,<900 + Arc <800,<800,1000,1000 <900,1000 1000,<900 + Line >100,1000 <900,1000 + Arc 0,<800,>200,1000 0,<900 >100,1000 + Line 0,>100 0,<900 + } + MiniOutline + { + Arc 0,0,>500,>500 >250,0 0,>250 + Line >250,0 <750,0 + Arc <500,0,1000,>500 1000,>250 <750,0 + Line 1000,>250 1000,<750 + Arc <500,<500,1000,1000 <750,1000 1000,<750 + Line >250,1000 <750,1000 + Arc 0,<500,>500,1000 0,<750 >250,1000 + Line 0,>250 0,<750 + } + Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29- + <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000- + >55,<990 >29,<972 >11,<946 0,<916 0,>85 +} + +## End Symbols Section: + +EndSymbol "block" +{ + LineTo 100 + Fill + { + Polygon 4 500,500 1000,300 1000,700 500,500 + } + Outline + { + Polyline 4 500,500 1000,300 1000,700 500,500 + } +} + +EndSymbol "block short" +{ + LineTo 60 + Fill + { + Polygon 4 500,500 800,300 800,700 500,500 + } + Outline + { + Polyline 4 500,500 800,300 800,700 500,500 + } +} + +EndSymbol "taper" +{ + LineTo 80 + Fill + { + Polygon 5 500,500 1000,300 900,500 1000,700 500,500 + } + Outline + { + Polyline 5 500,500 1000,300 900,500 1000,700 500,500 + } +} + +EndSymbol "stick" +{ + Outline + { + Line 500,500 1000,300 + Line 500,500 1000,700 + } +} + +## Figure Styles Section: + +FigureStyle "Title" +{ + Label TRUE + Height 64 + Width 128 + Description "A diagram title" + TextFormat 0x0022 + Behavior 0x00824192 + Symbol "lbl" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "Title Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0022 + Behavior 0x00A241D2 + Symbol "lbl" + TypeSize 12 + TypeWeight 400 + TypeFace "Arial" +} + +FigureStyle "Label" +{ + Label TRUE + Height 64 + Width 128 + Description "An annotation, comment, or title" + TextFormat 0x0044 + Behavior 0x008241A1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Label Serif" +{ + Label TRUE + Height 0 + Width 0 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241C9 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Note Serif" +{ + Label TRUE + Height 0 + Width 0 + TextColor 0,0,160 + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00A241E1 + Symbol "lbl" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rectangle 3D" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "box 3d" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Paper" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "dog ear" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Rounded" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "rounded box 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Ellipse" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Terminal" +{ + Height 64 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "terminal" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Square" +{ + HasButton TRUE + Height 160 + Width 161 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Circle" +{ + HasButton TRUE + Height 160 + Width 160 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "connector" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Stop" +{ + Height 128 + Width 128 + DefaultText "STOP" + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "octagon" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Diamond" +{ + HasButton TRUE + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "decision" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Frame" +{ + Height 160 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "bevel" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Disk" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "disk simple" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Slanted" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "input/ouput" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Hexagon" +{ + HasButton TRUE + Height 161 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "preparation" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Inverse" +{ + Height 160 + Width 288 + FillColor 0,0,0 + TextColor 255,255,255 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Shadow" +{ + Height 160 + Width 288 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Idea" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Document" +{ + HasButton TRUE + Height 160 + Width 288 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "document" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow right 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left 2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow right/left" +{ + Height 128 + Width 289 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow left/right 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow down" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Arrow up/down" +{ + Height 161 + Width 128 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "arrow up/down 1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Left" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 3" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Callout Right" +{ + HasButton TRUE + Height 160 + Width 288 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "callout 4" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Banner" +{ + HasButton TRUE + Height 128 + Width 512 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "banner2" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Scroll" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "scroll1" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "Explosion" +{ + HasButton TRUE + Height 192 + Width 192 + BorderWidth 3 + TextFormat 0x0022 + Behavior 0x00024E12 + Symbol "explosion" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC INFO" +{ + HasButton TRUE + Height 160 + Width 1472 + BorderColor 192,192,192 + FillColor 252,252,252 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + BindToStyle FALSE + TextFormat 0x0044 + Behavior 0x00024E11 + Symbol "data" + TypeSize 8 + TypeWeight 700 + TypeOutPrec 3 + TypeClpPrec 2 + TypeQuality 1 + TypeFace "Arial" +} + +FigureStyle "SILC Background" +{ + HasButton TRUE + Height 1440 + Width 1344 + BorderColor 192,192,192 + FillColor 239,231,239 + TextColor 130,130,130 + BorderWidth 3 + TextFormat 0x0042 + Behavior 0x00024E22 + Symbol "rounded box 1" + TypeSize 10 + TypeWeight 700 + TypeFace "Arial" +} + +FigureStyle "SILC Server" +{ + HasButton TRUE + Height 96 + Width 192 + BorderColor 130,130,130 + FillColor 244,244,244 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Router" +{ + HasButton TRUE + Height 128 + Width 256 + BorderColor 130,130,130 + FillColor 255,242,230 + TextColor 130,130,130 + BorderWidth 3 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 12 + TypeFace "Arial" +} + +FigureStyle "SILC Client" +{ + HasButton TRUE + Height 64 + Width 96 + BorderColor 130,130,130 + FillColor 219,219,219 + TextColor 130,130,130 + BorderWidth 2 + Shadow TRUE + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "data" + TypeSize 8 + TypeFace "Arial" +} + +FigureStyle "SILC Network Cloud" +{ + HasButton TRUE + Height 480 + Width 672 + BorderColor 227,225,255 + FillColor 240,240,255 + TextColor 192,192,192 + BorderWidth 3 + TextFormat 0x0A22 + Behavior 0x00024E12 + Symbol "cloud" + TypeSize 18 + TypeWeight 700 + TypeFace "Arial" +} + +## Connector Styles Section: + +ConnectorStyle "Plain" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Dashed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Open 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Flow Closed 2" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Stick" +{ + HasButton TRUE + End1 "null" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Stick 2" +{ + HasButton TRUE + End1 "stick" + End2 "stick" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open" +{ + End1 "null" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Taper Open 2" +{ + End1 "taper" + End2 "taper" + End1Length 32 + End2Length 32 + LineWidth 3 + EndBorderWidth 2 + End1FillColor 255,255,255 + End2FillColor 255,255,255 + Behavior 0x00000000 +} + +ConnectorStyle "Plain Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Dashed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "null" + End1Length 18 + End2Length 18 + PenStyle 2 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Closed Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000008 +} + +ConnectorStyle "Flow Open Smoothed" +{ + HasButton TRUE + End1 "null" + End2 "block" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + End2FillColor 255,255,255 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Router to Router" +{ + HasButton TRUE + End1 "block" + End2 "block" + End1Length 36 + End2Length 36 + PenStyle 4 + LineWidth 3 + EndBorderWidth 2 + Color 130,130,130 + Behavior 0x00000008 +} + +ConnectorStyle "SILC Server To Router" +{ + HasButton TRUE + End1 "block short" + End2 "block short" + End1Length 18 + End2Length 18 + LineWidth 3 + EndBorderWidth 2 + Behavior 0x00000000 +} + +## Figures & Connectors Section: + +## Staples Section: diff --git a/doc/fix.pl b/scripts/fix.pl similarity index 100% rename from doc/fix.pl rename to scripts/fix.pl diff --git a/scripts/html2ps b/scripts/html2ps new file mode 100755 index 00000000..d11ca0cd --- /dev/null +++ b/scripts/html2ps @@ -0,0 +1,4606 @@ +: # Use perl +eval 'exec perl -S $0 "$@"' + if $running_under_some_shell; + +# This is html2ps version 1.0 beta3, an HTML-to-PostScript converter. +# Copyright (C) 1995-2000 Jan Karrman. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Author: Jan Karrman, Dept. of Scientific Computing, Uppsala University, +# Sweden, e-mail: jan@tdb.uu.se. + + +# Set the name of the global configuration file. See the installation notes +# and manual page for more details on configuration files. + +$globrc='/usr/local/lib/html2ps/html2psrc'; +$ug='/usr/local/lib/html2ps/html2ps.html'; + +$conf=<<'EOR'; +@html2ps { + package { + PerlMagick: 0; + ImageMagick: 0; + pbmplus: 0; + netpbm: 0; + djpeg: 0; + Ghostscript: 0; + TeX: 0; + dvips: 0; + libwww-perl: 0; + jfriedl: 0; + geturl: ""; + check: ""; + path: ""; + } + paper { + type: A4; + height: ""; + width: ""; + } + option { + twoup: 0; + base: ""; + check: 0; + toc: ""; + debug: 0; + DSC: 0; + encoding: "ISO-8859-1"; + rcfile: ""; + frame: 0; + grayscale: 0; + help: 0; + hyphenate: 0; + scaleimage: 1; + cookie: ""; + language: ""; + landscape: 0; + scalemath: 1; + number: 0; + startno: ""; + output: ""; + original: 0; + rootdir: ""; + xref: 0; + scaledoc: 1; + style: ""; + titlepage: 0; + text: 0; + underline: 0; + colour: 0; + version: 0; + web: ""; + duplex: ""; + } + margin { + middle: 2cm; + } + xref { + text: "[p $N]"; + passes: 1; + } + quote { + en { + open: "“"; + close: "”"; + open2: "`"; + close2: "'"; + } + sv { + open: "”"; + close: "”"; + open2: "'"; + close2: "'"; + } + da { + open: "»"; + close: "«"; + } + no { + open: "«"; + close: "»"; + } + fr { + open: "« "; + close: " »"; + } + de { + open: "„"; + close: "“"; + open2: "‚"; + close2: "`"; + } + fi: sv; + es: en; + it: no; + nn: no; + nb: no; + } + toc { + heading: "

Table of Contents

"; + level: 6; + indent: 1em; + } + titlepage { + content: "
+

$T

+

$[author]

"; + margin-top: 4cm; + } + font { + times { + names: "Times-Roman + Times-Italic + Times-Bold + Times-BoldItalic"; + } + new-century-schoolbook { + names: "NewCenturySchlbk-Roman + NewCenturySchlbk-Italic + NewCenturySchlbk-Bold + NewCenturySchlbk-BoldItalic"; + } + helvetica { + names: "Helvetica + Helvetica-Oblique + Helvetica-Bold + Helvetica-BoldOblique"; + } + helvetica-narrow { + names: "Helvetica-Narrow + Helvetica-Narrow-Oblique + Helvetica-Narrow-Bold + Helvetica-Narrow-BoldOblique"; + } + palatino { + names: "Palatino-Roman + Palatino-Italic + Palatino-Bold + Palatino-BoldItalic"; + } + avantgarde { + names: "AvantGarde-Book + AvantGarde-BookOblique + AvantGarde-Demi + AvantGarde-DemiOblique"; + } + bookman { + names: "Bookman-Light + Bookman-LightItalic + Bookman-Demi + Bookman-DemiItalic"; + } + courier { + names: "Courier + Courier-Oblique + Courier-Bold + Courier-BoldOblique"; + } + } + hyphenation { + min: 8; + start: 4; + end: 3; + en { + file: ""; + extfile: ""; + } + } + header { + left: ""; + center: ""; + right: ""; + odd-left: ""; + odd-center: ""; + odd-right: ""; + even-left: ""; + even-center: ""; + even-right: ""; + font-family: Helvetica; + font-size: 8pt; + font-style: normal; + font-weight: normal; + color: black; + alternate: 1; + } + footer { + left: ""; + center: ""; + right: ""; + odd-left: ""; + odd-center: ""; + odd-right: ""; + even-left: ""; + even-center: ""; + even-right: ""; + font-family: Helvetica; + font-size: 8pt; + font-style: normal; + font-weight: normal; + color: black; + alternate: 1; + } + frame { + width: 0.6pt; + margin: 0.5cm; + color: black; + } + justify { + word: 15pt; + letter: 0pt; + } + draft { + text: DRAFT; + print: ""; + dir: 0; + font-family: Helvetica; + font-style: normal; + font-weight: bold; + color: F0F0F0; + } + colour { + black: 000000; + green: 008000; + silver: C0C0C0; + lime: 00FF00; + gray: 808080; + olive: 808000; + white: FFFFFF; + yellow: FFFF00; + maroon: 800000; + navy: 000080; + red: FF0000; + blue: 0000FF; + purple: 800080; + teal: 008080; + fuchsia: FF00FF; + aqua: 00FFFF; + } + html2psrc: "$HOME/.html2psrc"; + imgalt: "[IMAGE]"; + datefmt: "%e %b %Y %R"; + locale: ""; + doc-sep: ""; + ball-radius: 0.25em; + numbstyle: 0; + showurl: 0; + seq-number: 0; + extrapage: 1; + break-table: 0; + forms: 1; + textarea-data: 0; + page-break: 1; + expand-acronyms: 0; + spoof: ""; + ssi: 1; + prefilled: 0; +} + +BODY { + font-family: Times; + font-size: 11pt; + text-align: left; + background: white; +} + +H1, H2, H3, H4, H5, H6 { + font-weight: bold; + margin-top: 0.8em; + margin-bottom: 0.5em; +} +H1 { font-size: 19pt } +H2 { font-size: 17pt } +H3 { font-size: 15pt } +H4 { font-size: 13pt } +H5 { font-size: 12pt } +H6 { font-size: 11pt } + +P, OL, UL, DL, BLOCKQUOTE, PRE { + margin-top: 1em; + margin-bottom: 1em; +} + +P { + line-height: 1.2em; + text-indent: 0; +} + +OL, UL, DD { margin-left: 2em } + +TT, KBD, PRE { font-family: Courier } + +PRE { font-size: 9pt } + +BLOCKQUOTE { + margin-left: 1em; + margin-right: 1em; +} + +ADDRESS { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +TABLE { + margin-top: 1.3em; + margin-bottom: 1em; +} + +DIV.noprint { display: none } + +DEL { text-decoration: line-through } + +A:link, HR { color: black } + +@page { + margin-left: 2.5cm; + margin-right: 2.5cm; + margin-top: 3cm; + margin-bottom: 3cm; +} + +EOR + +eval "require POSIX"; +$posix = !$@; + +%extend=('quote',1, 'font',1, 'colour',1, 'hyphenation',1); +%fal=("serif","times", "sans_serif","helvetica", "monospace","courier"); +@fo=("p","pre","h1","h2","h3","h4","h5","h6","i","b","tt","kbd","cite","samp", + "address","blockquote","ol","ul","dl","dt","dd","table","header","footer"); +%quote=('','en'); +%valid=('font',1, 'font_files',1, 'margin,left',1, 'margin,right',1, + 'margin,top',1, 'margin,bottom',1); +%cm=('cm',1, 'mm',0.1, 'in',2.54, 'pt',2.54/72, 'pc',2.54/6); +%pt=('cm',72/2.54, 'mm',72/25.4, 'in',72, 'pt',1, 'pc',12); +%space=('thinsp',6, '#8201',6, 'ensp',2, '#8194',2, 'emsp',1, '#8195',1); +$space=join('|',keys %space); +%vars=("T","Ti", "N","Pn", "U","UR", "H","h", "A","Au"); +%height=("letter",27.9, "legal",35.6, "arche",121.9, "archd",91.4, "archc",61, + "archb",45.7, "archa",30.5, "flsa",33, "flse",33, "halfletter",21.6, + "11x17",43.2, "ledger",27.9); +%width=("letter",21.6, "legal",21.6, "arche",91.4, "archd",61, "archc",45.7, + "archb",30.5, "archa",22.9, "flsa",21.6, "flse",21.6, "halfletter",14, + "11x17",27.9, "ledger",43.2); + +$version="html2ps version 1.0 beta3"; +$opts="2|b:|c|C:|d|D|e:|f:|F|g|h|H|i:|k:|l:|L|m:|n|N:|o:|O|r:|R|s:|S:|t|T|u|" + ."U|v|W:|x:"; +%optalias=( 'twoup','2', 'base','b', 'check','c', 'toc','C', 'debug','d', + 'DSC','D', 'encoding','e', 'rcfile','f', 'frame','F', 'grayscale','g', + 'help','h', 'hyphenate','H', 'scaleimage','i', 'cookie','k', 'language','l', + 'landscape','L', 'scalemath','m', 'number','n', 'startno','N', 'output','o', + 'original','O', 'rootdir','r', 'xref','R', 'scaledoc','s', 'style','S', + 'titlepage','t', 'text','T', 'underline','u', 'colour','U', 'version','v', + 'web','W', 'duplex','x'); +%type=( 'paper,height',2, 'paper,width',2, 'option,i',3, 'option,m',3, + 'option,N',4, 'option,s',3, 'option,x',4, 'xref,passes',4, 'draft,print',5); + +$usage=<html2ps.dbg") || die "Error opening debug file: html2ps.dbg\n"; + print STDERR "***** Writing debug info to html2ps.dbg\n"; + print DBG "***** $version\n***** Command: $0 $args\n***** Perl: $]\n"; + print DBG "***** HTML2PSPATH=$ENV{'HTML2PSPATH'}\n"; +} +undef $/; +$user=0; +$V='(-?\d+\.?\d*|-?\d*\.?\d+)'; +&getconf($conf); +&pagedef; +undef %AT_page; +for(@fo,"draft") { + eval "\$deffnt{'$_'}=defined \$$_\{'font-family'\}?" + ."\$$_\{'font-family'\}:\$body{'font-family'}"; +} +$user=1; +if(open(RC,$globrc)) { + $conf=; + print DBG "***** Global file $globrc:\n$conf" if($opt_d); + &getconf($conf); + close RC; +} else { + &dbg("Warning: cannot open the global resource file: $globrc\n") if($globrc); +} +$html2psrc=~s/^(~|\$HOME)/$ENV{"HOME"}/; +$prc=$html2psrc; +if($opt_f) { + ($prc=$opt_f)=~s/^:/$html2psrc:/; + $prc=~s/:$/:$html2psrc/; + $prc=~s/::/:$html2psrc:/; +} +$cwd=$posix?POSIX::getcwd():""; +opendir(DIR,$cwd); +@local=readdir DIR; +closedir DIR; +$globrc=~/html2psrc/; +$gdir=$`; +$hpath=$ENV{"HTML2PSPATH"}?$ENV{"HTML2PSPATH"}:".:"; +$hpath=~s/^:/$gdir:/; +$hpath=~s/:$/:$gdir/; +$hpath=~s/::/:$gdir:/; +$cur=$hpath=~s/(^|:)\.($|:)/$1$cwd$2/; +@hpath=split(/:/,$hpath); +for(@hpath) { + if(opendir(DIR,$_)) { + @files=readdir DIR; + $files{$_}=" @files "; + closedir DIR; + } +} +@rc=split(/:/,$prc); +for $rc (@rc) { + $found=0; + S:for $dir (@hpath) { + if(-r $rc && !grep(/^$rc$/,@local) || $files{$dir}=~/ $rc /) { + chdir $dir if($files{$dir}=~/ $rc / && $cwd); + if(open(RC,$rc)) { + $conf=; + print DBG "***** Personal file $rc:\n$conf" if($opt_d); + &getconf($conf); + close RC; + $found=1; + } + last S; + } + } + &dbg("Error opening resource file: $rc\n") if($opt_f && !$found); +} +chdir $cwd if($cwd); +$user=2; +&getconf($opt_S) if($opt_S); +print DBG "*****\n" if($opt_d); +&pagedef; +($pagew,$pageh)=split /\s+/, $AT_page{'size'} if(defined $AT_page{'size'}); + +require Image::Magick if($package{'PerlMagick'}); +$geturl=$package{'geturl'}; +$ulanch="f"; +$f=72/2.54; +$giftopm="giftopnm" if($package{'netpbm'}); +$giftopm="giftoppm" if($package{'pbmplus'}); + +for(keys %option){eval "\$opt_$_='$option{$_}' if(!defined \$opt_$_)"}; +die $usage if $opt_h; +die "$version\n" if $opt_v; +&dbg("$version\n") if ($opt_v||$opt_d); +die "Ghostscript is required to generate DSC PostScript\n" + if($opt_D && !$package{'Ghostscript'}); +die "Ghostscript is required to generate cross references\n" + if($opt_R && !$package{'Ghostscript'}); +$tmpname=$posix?POSIX::tmpnam():"h2p_$$"; +($scr=$tmpname)=~/\w+$/; +$tempdir=$`; + +if($opt_u) {$ulanch="t"}; +if(defined $opt_x && $opt_x!~/^[0-2]$/) { + die "Illegal duplex value: $opt_x\n"; +} +$V='(-?\d+\.?\d*|-?\d*\.?\d+)'; +for $o ($opt_s,$opt_i,$opt_m,$opt_N) { + die "Non numeric: $o\n" if(defined($o) && $o!~/^$V$/); +} + +$twoup=$opt_2?"t":"f"; +$xp=$extrapage?"t":"f"; + +die "Invalid option: -W $opt_W\n" if($opt_W!~/^[abflprsL\d]*$/); +$tocdoc=$opt_C=~/[ft]/; +if($tocdoc && !defined $opt_W) {$opt_W=4}; +$mult=$#ARGV>0 || $opt_W; +$maxlev=$opt_W=~/(\d+)/?$1:4; +$link=$opt_W=~/l/; +$local=$opt_W=~/s/; +$rel=$opt_W=~/r/; +$below=$opt_W=~/b/; +$layer=$opt_W=~/L/; +$prompt=$opt_W=~/p/; + +if($opt_C && $opt_C!~/^(b?[ft]|[ft]b?|b?h|hb?)$/) + {die "Invalid option: -C $opt_C\n"}; +$tc=$opt_C?"t":"f"; +$rev=$opt_C=~/t/; +$first=$opt_C=~/b/ || $opt_R; +$th=$tocdoc?"f":"t"; +$oeh=0; +$oef=0; + +@now=localtime; +@gmnow=gmtime; +POSIX::setlocale(&POSIX::LC_TIME,$locale) if($posix); +$R='(\s*>|[^a-zA-Z0-9>][^>]*>)'; +$S='([\w.:/%-]+)|"([^"]*)"|\'([^\']*)\''; +$X='[\da-fA-F]'; +$IM='(gif|jpeg|jpg|png|xbm|xpm|ps|eps)'; + +for('odd-left','odd-center','odd-right','even-left','even-center','even-right') + { + $oeh=1 if defined $header{$_}; + $oef=1 if defined $footer{$_}; +} +%metarc=(); +for $a ('left','center','right') { + if(defined $header{"odd-$a"} || defined $header{"even-$a"}) { + $oeh=1; + } + if(defined $footer{"odd-$a"} || defined $footer{"even-$a"}) { + $oef=1; + } + for('','odd-','even-') { + $apa=$header{$_.$a}; + $numb=1 if($apa=~/(^|[^\$])\$N/); + &spec($header{$_.$a}); + &spec($footer{$_.$a}); + $header{$_.$a}="($apa)"; + $apa=$footer{$_.$a}; + $numb=1 if($apa=~/(^|[^\$])\$N/); + $footer{$_.$a}="($apa)"; + &varsub($header{$_.$a},$footer{$_.$a}); + } +} +if($oeh) { + $yz="/YY [[{$header{'odd-left'}}{$header{'even-left'}}]" + ."[{$header{'odd-right'}}{$header{'even-right'}}]" + ."[{$header{'odd-center'}}{$header{'even-center'}}]] D\n"; +} else { + $ind=$header{'alternate'}; + $yz="/YY [[{$header{'left'}}$ind][{$header{'right'}}".(1-$ind) + ."][{$header{'center'}}2]] D\n"; +} +if($oef) { + $yz.="/ZZ [[{$footer{'odd-left'}}{$footer{'even-left'}}]" + ."[{$footer{'odd-right'}}{$footer{'even-right'}}]" + ."[{$footer{'odd-center'}}{$footer{'even-center'}}]] D"; +} else { + $ind=$footer{'alternate'}; + $yz.="/ZZ [[{$footer{'left'}}$ind][{$footer{'right'}}".(1-$ind) + ."][{$footer{'center'}}2]] D"; +} +$number=$opt_n || !$numb && ($opt_C || $opt_N || $opt_R)?"t":"f"; +$tih=$titlepage{'content'}; +$toch=$toc{'heading'}; +for ($imgalt,$xref{'text'},$tih,$toch,$inh,$draft{'text'}) { + &spec($_); +} + +for ($paper{'height'},$paper{'width'},$margin{'middle'},$frame{'margin'}, + $mlr,$mrl,$mtl,$mbl,$mll,$mrr,$mtr,$mbr,$pagew,$pageh) { + &getval($_,1); +} +$opt_s*=0.65 if($opt_2 && $opt_L); +$opt_N=1 if(!defined $opt_N); +$opt_N=int($opt_N-1); +$mm=int($margin{'middle'}*$f); +$is=0.8*$opt_i; +$msc=1/$opt_s; +$mag=1200*$opt_m*$opt_s; +$xref=$opt_R?"t":"f"; +$xref{'text'}=~s/\$N/) WB pN WB (/g; + +$d=int($f*$frame{'margin'}); +for (0..10) { + $temp=2**(-$_/2); + $width{"a$_"}=int($temp*2**(-1/4)*1000+.5)/10; + $height{"a$_"}=int($temp*2**(1/4)*1000+.5)/10; + $width{"b$_"}=int($temp*1000+.5)/10; + $height{"b$_"}=int($temp*2**(1/2)*1000+.5)/10; +} +if(!$pagew || !$pageh) { + if($width{"\L$paper{'type'}"}) { + $paper{'width'}=$width{"\L$paper{'type'}"} if(!defined $paper{'width'}); + $paper{'height'}=$height{"\L$paper{'type'}"} if(!defined $paper{'height'}); + ($pagew,$pageh)=($paper{'width'},$paper{'height'}); + } elsif($paper{'type'}) { + &dbg("Unknown paper type: $paper{'type'}\n"); + } +} +if($opt_L) { + $wl=$pageh-$mll-$mrl; + $wr=$pageh-$mlr-$mrr; + $hl=int(($pagew-$mtl-$mbl)*$f+.5); + $hr=int(($pagew-$mtr-$mbr)*$f+.5); + $xl=int($mtl*$f+.5); + $xr=int($mtr*$f+.5); + $yl=int($mll*$f+.5); + $yr=int($mlr*$f+.5); + $rot=" 90 rotate"; +} else { + $wl=$pagew-$mll-$mrl; + $wr=$pagew-$mlr-$mrr; + $hl=int(($pageh-$mtl-$mbl)*$f+.5); + $hr=int(($pageh-$mtr-$mbr)*$f+.5); + $xl=int($mll*$f+.5); + $xr=int($mlr*$f+.5); + $yl=int(($pageh-$mtl)*$f+.5); + $yr=int(($pageh-$mtr)*$f+.5); + $rot=""; +} + +if($opt_2) { + $wl=($wl-$margin{'middle'})/2; + $wr=($wr-$margin{'middle'})/2; +} +$wl=int($wl*$f+.5); +$wr=int($wr*$f+.5); +$pag=int($pageh*$f+.5); +$fe=$opt_F?"t":"f"; +$cf=$opt_U?"t":"f"; +$tp=$opt_t?"t":"f"; +$rm=$numbstyle?"t":"f"; +$pa=$showurl?"t":"f"; +$nh=$seq_number?"t":"f"; +$bt=$break_table?"t":"f"; +$ea=$expand_acronyms?"t":"f"; +$fi=$prefilled?"t":"f"; +$latin1=$opt_e=~/ISO-8859-1/i; +$lt=$del{'text-decoration'}=~/^line-through$/i?"SE":"WB"; +if(!$opt_x && defined $opt_x) { + $dupl="[{false statusdict/setduplexmode get exec} stopped cleartomark"; +} +if($opt_x) { + $dupl="[{true statusdict/setduplexmode get exec} stopped cleartomark"; +} +if($opt_x==2) { + $dupl.="\n[{true statusdict/settumble get exec} stopped cleartomark"; +} + +%head=("html",1, "head",1, "title",1, "base",1, "meta",1, "link",1, "style",1, + "script",1, "isindex",1); +%algn=("left",1, "center",2, "right",3, "justify",4, "char",5); +%f=("void",1, "above",2, "below",3, "hsides",4, "lhs",5, "rhs",6, "vsides",7, + "box",8, "border",9); +%r=("none",1, "groups",2, "rows",3, "cols",4, "all",5); +%v=("top",1, "middle",2, "bottom",3, "baseline",4); +%it=("radio",0, "checkbox",1, "text",2, "password",2, "image",3); +%ssy=(200,"\\", 201, "(", 202, ")"); +%lity=("I",0, "i",1, "A",2, "a",3, "1",4, "disc",5, "square",6, "circle",7); +$ltr=join('|',keys %lity); +%tex=('`a',"\340", '\^a',"\342", '`e',"\350", '`e',"\350", 'c\{c\}',"\347", + "'e","\351", '\^e',"\352", '"e',"\353", '\^i',"\356", '"i',"\357", + '\^o',"\364", '`u',"\371", '\^u',"\373", '"u',"\374", '"y',"\377", + 'aa',"\345", '"a',"\344", '"o',"\366", 'ae',"\346", 'oe',"\225"); +@hind=(0,0,0,0,0,0); +$ltrs='A-Za-z\222-\226\300-\377'; +%ent=( +"lsquo|#8216",96, +"rsquo|#8217",39, +"circ|#710",141, +"tilde|#732",142, +"permil|#8240",143, +"dagger|#8224",144, +"Dagger|#8225",145, +"Yuml|#376",146, +"scaron|#353",147, +"Scaron|#352",148, +"oelig|#339",149, +"OElig|#338",150, +"lsaquo|#8249",151, +"rsaquo|#8250",152, +"sbquo|#8218",153, +"bdquo|#8222",154, +"ldquo|#8220",155, +"rdquo|#8221",156, +"ndash|#8211",157, +"mdash|#8212",158, +"trade|#8482",159, +"nbsp",160, +"iexcl",161, +"cent",162, +"pound",163, +"curren",164, +"yen",165, +"brvbar",166, +"sect",167, +"uml",168, +"copy",169, +"ordf",170, +"laquo",171, +"not",172, +"reg",174, +"macr",175, +"deg",176, +"plusmn",177, +"sup2",178, +"sup3",179, +"acute",180, +"micro",181, +"para",182, +"middot",183, +"cedil",184, +"sup1",185, +"ordm",186, +"raquo",187, +"frac14",188, +"frac12",189, +"frac34",190, +"iquest",191, +"Agrave",192, +"Aacute",193, +"Acirc",194, +"Atilde",195, +"Auml",196, +"Aring",197, +"AElig",198, +"Ccedil",199, +"Egrave",200, +"Eacute",201, +"Ecirc",202, +"Euml",203, +"Igrave",204, +"Iacute",205, +"Icirc",206, +"Iuml",207, +"ETH",208, +"Ntilde",209, +"Ograve",210, +"Oacute",211, +"Ocirc",212, +"Otilde",213, +"Ouml",214, +"times",215, +"Oslash",216, +"Ugrave",217, +"Uacute",218, +"Ucirc",219, +"Uuml",220, +"Yacute",221, +"THORN",222, +"szlig",223, +"agrave",224, +"aacute",225, +"acirc",226, +"atilde",227, +"auml",228, +"aring",229, +"aelig",230, +"ccedil",231, +"egrave",232, +"eacute",233, +"ecirc",234, +"euml",235, +"igrave",236, +"iacute",237, +"icirc",238, +"iuml",239, +"eth",240, +"ntilde",241, +"ograve",242, +"oacute",243, +"ocirc",244, +"otilde",245, +"ouml",246, +"divide",247, +"oslash",248, +"ugrave",249, +"uacute",250, +"ucirc",251, +"uuml",252, +"yacute",253, +"thorn",254, +"yuml",255); +%symb=( +"alpha|#945",141, +"beta|#946",142, +"gamma|#947",147, +"delta|#948",144, +"epsilon|#949",145, +"zeta|#950",172, +"eta|#951",150, +"theta|#952",161, +"thetasym|#977",112, +"iota|#953",151, +"kappa|#954",153, +"lambda|#955",154, +"mu|#956",155, +"nu|#957",156, +"xi|#958",170, +"pi|#960",160, +"piv|#982",166, +"omicron|#959",157, +"rho|#961",162, +"sigma|#963",163, +"sigmaf|#962",126, +"tau|#964",164, +"upsilon|#965",165, +"upsih|#978",241, +"phi|#966",146, +"phiv",152, +"chi|#967",143, +"psi|#968",171, +"omega|#969",167, +"Alpha|#913",101, +"Beta|#914",102, +"Gamma|#915",107, +"Delta|#916",104, +"Epsilon|#917",105, +"Zeta|#918",132, +"Eta|#919",110, +"Theta|#920",121, +"Iota|#921",111, +"Kappa|#922",113, +"Lambda|#923",114, +"Mu|#924",115, +"Nu|#925",116, +"Xi|#926",130, +"Omicron|#927",117, +"Pi|#928",120, +"Rho|#929",122, +"Sigma|#931",123, +"Tau|#932",124, +"Upsilon|#933",125, +"Phi|#934",106, +"Chi|#935",103, +"Psi|#936",131, +"Omega|#937",127, +"fnof|#402",246, +"perp|#8869",136, +"plusmn|#177",261, +"cdot|#183",327, +"or|#8744",332, +"and|#8743",331, +"le|#8804",243, +"ge|#8805",263, +"equiv|#8801",272, +"cong|#8773",100, +"asymp|#8776",273, +"ne|#8800",271, +"sub|#8834",314, +"sube|#8838",315, +"sup|#8835",311, +"supe|#8839",312, +"isin|#8712",316, +"larr|#8592",254, +"rarr|#8594",256, +"uarr|#8593",255, +"darr|#8595",257, +"harr|#8596",253, +"lArr|#8656",334, +"rArr|#8658",336, +"uArr|#8657",335, +"dArr|#8659",337, +"hArr|#8660",333, +"forall|#8704","042", +"exist|#8707","044", +"infin|#8734",245, +"nabla|#8711",321, +"part|#8706",266, +"hellip|#8230",274, +"int|#8747",362, +"sum|#8721",345, +"prod|#8719",325, +"real|#8476",302, +"image|#8465",301, +"bull|#8226",267, +"prime|#8242",242, +"Prime|#8243",262, +"oline|#8254",140, +"frasl|#8260",244, +"weierp|#8472",303, +"alefsym|#8501",300, +"crarr|#8629",277, +"empty|#8709",306, +"notin|#8713",317, +"ni|#8715","047", +"minus|#8722","055", +"lowast|#8727","052", +"radic|#8730",326, +"prop|#8733",265, +"ang|#8736",320, +"cap|#8745",307, +"cup|#8746",310, +"sim|#8764",176, +"nsub|#8836",313, +"oplus|#8853",305, +"otimes|#8855",304, +"sdot|#8901",327, +"lceil|#8968",351, +"rceil|#8969",371, +"lfloor|#8970",353, +"rfloor|#8971",373, +"lang|#9001",341, +"rang|#9002",361, +"spades|#9824",252, +"clubs|#9827",247, +"hearts|#9829",251, +"diams|#9830",250, +"loz|#9674",340); + +$pc=')WB NL NP('; +$nimg=-1; +$nm=-1; +@font=(); +@size=(); +@styl=(); +@alig=(); +@colr=(); +@topm=(); +@botm=(); +@lftm=(); +@rgtm=(); +@z1=(); +@z2=(); +@z3=(); +&Subst($doc_sep); +($toct=$toch)=~s|<[\w/!?][^>]*>||g; +$dh="/h0 [()($toct)] D\n"; +&Subst($toch); +$toch=~s/ H\(/ -1 H(/g; +$toch="($toch)"; +&varsub($toch); +&Subst($tih); +$tih=~s/ H\(/ -1 H(/g; +$tih="($tih)"; +&varsub($tih); +$mn=0; +$nfont=0; +$mi=0; +for (@fo) {&setel($_)}; +%arr=%draft; +&fs("draft"); + +if(!$latin1 && !defined $fontid{"times"}) { + $fontid{"times"}=$nfont++; + @docfonts=(@docfonts,split(/\s+/,$font_names{"times"})); +} +$wind=0; +$wf="t"; +if(!$latin1) { + $wind=$fontid{"times"}; + $wf="f"; +} + +for $k (keys %font_files){ + @ff=split(/\s+/,$font_files{$k}); + @fn=split(/\s+/,$font_names{$k}); + for (0..3) { + if($ff[$_]) { + $ff{$fn[$_]}=$ff[$_]; + } elsif(!$ff{$fn[$_]}) { + $ff{$fn[$_]}=$ff[0]; + } + $fr{$fn[$_]}=$k; + } +} +$pta=defined $p{"text-align"}?$p{"text-align"}:$body{"text-align"}; +$pal=0; +$pal=1 if($pta=~/^c/i); +$pal=2 if($pta=~/^r/i); +$pal=3 if($pta=~/^j/i); +$bgcol=&col2rgb($body{"background"}); +if(!$bgcol) {$bgcol="[16#FF 16#FF 16#FF]"}; +if(!$p{"color"}) {$p{"color"}="black"}; +$tcol=&col2rgb($p{"color"}); +$lcol=&col2rgb($a__link{"color"}); +if($lcol) { + $Lc="/Lc t D\n/Dl $lcol D\n"; + $Lc.=$tcol ne $lcol?"/LX t D":"/LX f D"; +} else { + $Lc="/Lc f D\n/LX f D"; +} +$pcol=&col2rgb($pre{"color"}); +if(!$pcol) {$pcol="[0 0 0]"}; +$deftbg=&col2rgb($table{"background"}); +$hc=&col2rgb($hr{"color"}); +if(!$hc) {$hc="[0 0 0]"}; +$fcol=&col2rgb($frame{"color"}); +if(!$fcol) {$fcol="[0 0 0]"}; +for ($p{"font-size"},$pre{"font-size"},$header{"font-size"},$frame{'width'}, + $footer{"font-size"},$justify{'letter'},$justify{'word'}, + $titlepage{'margin-top'}) { + &getval($_,2); +} +for ($p{"line-height"},$p{"text-indent"},$p{"margin-top"},$toc{'indent'}, + $ball_radius) { + &getval($_,0); +} +$fl="/FL [/".join("\n/",@docfonts)."] D"; +for $k (keys %ff) { + $f=$ff{$k}; + if(defined $fontid{$fr{$k}} && !defined($cont{$f})) { + open(FONT,$f) || &dbg("Error opening fontfile $f\n"); + ($cont{$f}=)=~s/(^|\r?\n|\r)%.*//g; + close FONT; + } +} +$fontdef=""; +for (keys %cont) { + $fontdef.=$cont{$_}; +} +&ent($yz); +&ent($xref{'text'}); +&ent($draft{'text'}); + +$lnum=0; +for (keys %quote_open) { + $lid{$_}=$lnum++; + if(!defined $quote_close{$_}) {$quote_close{$_}=$quote_open{$_}}; + if(!defined $quote_open2{$_}) {$quote_open2{$_}=$quote_open{$_}}; + if(!defined $quote_close2{$_}) {$quote_close2{$_}=$quote_close{$_}}; + &ent($quote_open{$_}); + &ent($quote_close{$_}); + &ent($quote_open2{$_}); + &ent($quote_close2{$_}); + push(@qo,$quote_open{$_}); + push(@qc,$quote_close{$_}); + push(@qo2,$quote_open2{$_}); + push(@qc2,$quote_close2{$_}); +} +$qo=join(')(',@qo); +$qc=join(')(',@qc); +$qo2=join(')(',@qo2); +$qc2=join(')(',@qc2); +$hyphenation_file{''}=$hyphenation_file{'en'}; +$br=$collapse_br?"f":"t"; +$gd=0; +$ddr=defined $draft{'print'}; +if($ddr) { + if($draft{'print'}==0) { + $draft="f"; + } else { + $gd=1; + $draft="t"; + } +} +if(-e '/dev/null' || !-e 'nul') { + $pathsep=':'; + $gs='gs'; +} else { + $pathsep=';'; + $gs='gswin32c'; +} +$gb=$gs_bug?"t":"f"; +for (keys %quote) {$lid{$_}=$lid{$quote{$_}}}; +$ENV{'PATH'}.="$pathsep$package{'path'}" if($package{'path'}); +$delim="%-- End of variable part --"; +$cd="/Cd {aload length 2 idiv dup dict begin {D} repeat currentdict end} D"; + +$mysymb=<1?"s":"")." remaining\n"); + } + if($banner) { + $_="/Ba t D /BA {($banner)BN} D\nBs f Pb CP /BO E D pop\n"; + &Subst($_); + s/ H\(/ -1 H(/g; + } else { + $_="/Ba f D /BO 0 D Bs"; + } + if($tocdoc && $first && $ndoc==1) { + $TC=" TC\n"; + $et=" NP Ep ET /Tc f D"; + } else { + $TC=""; + $et=""; + } + $_.="\n/UR ($html) D\n/Ti ($ti) D\n/Au ($au) D\n/Df $draft D\n/ME ["; + for $i (sort {$metarc{$a} <=> $metarc{$b}} keys %metarc){ + $_.="($meta{$i})"; + } + $_.="] D\n$TC"; + if($ndoc==1) {$top=$_}; + if(!$tocdoc) { + $toc.="ND 1 gt{Ts 3 mul Np $refs{$html}()0 C()BD($ti)ES()$refs{$html}" + ." 1 TN()EA()BN}if\n"; + } + $hv=0; + while($P2=~s/(\d) (\d) H\(([^\s<)]*)/$1 $2 $nhd H($3)WB $nref Sn(/) { + $nhd++; + if($hv+1<$2) { + for($hv+1..$2-1) { + push(@z1,-$nref); + push(@z2,$_); + } + } + $hv=$2; + $hind[$hv-1]++; + for $i ($hv..5) {$hind[$i]=0}; + $hind=join('.',@hind[0..$hv-1]); + $hst=$3; + $'=~/\)EH/; + ($htxt=$hst.$`)=~s/\)EA\(//g; + if(!$tocdoc) { + $toc.="$hv NH le{$nref($hind\\240\\240)$hv C($htxt)$nref 1 TN()EA()BN}if\n"; + } + push(@z1,$nref); + push(@z2,$hv); + $nref++; + $htxt=~s/(\s+|\)BR\()/ /g; + $htxt=~s/(^\s+|\)[^(]*\(|\s+$)//g; + $htxt="" if(!$latin1); + $dh.="/h$nhd [($hind\\240\\240)($htxt)] D\n"; + } + if($tocdoc) { + if($ndoc==1 && !$first) { + $toc="TC RC ZF $_ $P2 WB () BN\n"; + $P2=""; + $P3=""; + $np=""; + $_=""; + } + } + $P3.="$fl1\n/Cb $bg D /Ct $tcol D /Cl $lcol D /CL -1 D Ct Sc\n"; + if($ndoc==1 && !$first) {$P3.="Pt\n"}; + $P3.="$fl2\n$_\n$np\n$P2"; + if($tocdoc && $ndoc==1 && !$first) { + $np="/Cb $bg D NP RC ZF"; + } else { + $fl1="WB NL$et"; + $fl2="DS"; + $np="0 BO R"; + } + } +} + +$P3.=($P3!~/\)\s*$/?"()":"")."WB NL"; +if(!$tocdoc && $first && $nhd){$P3="$toc/OU t D /Cb $bg D NP Ep ET $P3"}; +if(!$first && ($tocdoc || !$tocdoc && $nhd)){$P3.=" $toc"}; + +if($ntab>=0) { + $_="$tables] D"; + &ack($_); + y/\t\f/ /; + s/[\200-\377]/sprintf("\\%3.3o",ord($&))/eg; + s/\)XX/)9 9 PR/g; + s/ H\(/ -1 H(/g; + $tables=$_; +} +$_="%!PS\n%%Title: $title\n$P0$P1"; +if($nimg>=0) { + $_.="/AX [".join(' ',@XS)."] D\n/AY [".join(' ',@YS)."] D\n" + ."/IX [".join(' ',@IX)."] D\n/IT [".join(' ',@IT)."] D\n"; + if($nm>=0) { + $_.="/AZ [".join(' ',@DP)."] D\n/WS [".join(' ',@WS)."] D\n" + ."/FC [".join(' ',@FC)."] D\n/NI $nm D\n/BM ".($nm+1)." array D\nSB\n"; + for $i (0..$nm) {$_.="$BM[$i]\n\n"} + } + $_.="\n$pv%Endpv\n" if($nps); +} +@kw=split(/[, ]+/,$kw); +@Kw=(); +for $i (@kw){push(@Kw,$i) if(!grep(/^$i$/,@Kw))}; +$kw=join(', ',@Kw); +for $i (0..$#z2) { + $n=0; + $j=$i; + while($j++<=$#z2 && $z2[$j]>$z2[$i]) {$n++ if($z2[$j]==$z2[$i]+1)}; + push(@z3,$n); +} +$tdef=$ntab>=0?"$tbl$tables\n0 1 $ntab\{TS}for RC ZF\n":""; +$hd="/Hr [@z1]D\n/HV [@z2]D\n/Cn [@z3]D"; +&cut($hd); +if($gd) { + $sd="/Df t D /DG IW IW mul IL IL mul add sqrt D IW IL IW IL lt{E}if" + ." /WM E D /WX E D /DZ 180 D gsave SD /DZ DZ DF mul D SD grestore\n"; +} else { + $sd="/Df f D\n"; +} +$_.=<}ie SW pop D +ET RC ZF +$sd$rfs$tdef$top$P3 +/TE t D NP TU PM 0 eq and{/Pn () D showpage}if end restore +EOD + +if(($first || $opt_R) && $xref{'passes'}) { + &dbg("Inserting cross references\n") if($opt_d); + for $i (1..$xref{'passes'}) {&ref}; +} +&fin; + +sub h2p { + if($html eq '-') { + $_=<>; + } elsif($html=~m|://|) { + if(($prompt || $nrem>50) && $level>1) { + &prompt("Retrieve document $html (y/n/q)? ",$ans); + if($ans=~/q/i) {undef @docs}; + return 0 unless($ans=~/y/i); + } + &geturl($html,$_) || return; + $nrem++; + if($contyp!~m|text/html|i) {$_=" \n$_"}; + unless(($ba2)=$html=~m|(.*://.*/)|) {$ba2=$html."/"}; + } else { + if(open(FILE,$html)) { + &dbg("Reading $html\n") if($opt_W || $opt_d); + $_=<FILE>; + if(!/<HTML/i && $html!~/html?$/i && ($html!~/\.ps$/i || $ndoc>1)) { + $_=" <plaintext>\n$_"; + } + close FILE; + $var{DOCUMENT_NAME}=$html; + if($posix) { + $var{LAST_MODIFIED}=POSIX::strftime("%c",localtime((stat $html)[9])); + $var{DATE_LOCAL}=POSIX::strftime("%c",@now); + $var{DATE_GMT}=POSIX::strftime("%c",@gmnow); + } + $mod=(stat $html)[9]; + } else { + &dbg("*** Error opening $html\n"); + return 0; + } + } + + if(/^%!/ && /$delim/) { + $psin=1; + &openps if($opt_o); + $_=$P0.$'; + for $s ("b","c","cw","g","t") { + &dbg("Option -$s ignored\n") if(eval "\$opt_$s"); + } + &fin; + } + + &hb($_,$head); + $head=~/<title$R\s*([\w\W]*)<\/title/i; + ($ti=$2)=~s/\s+/ /g; + $ti=$doctit{$html} if(!$ti); + $ti=~s/\s*$//g; + &spec($ti); + &ent($ti); + $ti="<Untitled>" if(!$ti); + $title=$ti if(!$title); + $draft="f" if(!$ddr); + %meta=(); + $au=""; + while($head=~/<meta\s[^>]*(name|http-equiv)\s*=\s*["']?\s*(\w+)$R/gi) { + $k=lc $2; + ($v)=$&=~/content\s*=\s*["']\s*([^"']+)/i; + $v=~s/\s+/ /g; + $v=~s/\s*$//g; + &spec($v); + &ent($v); + $meta{$k}=$v; + if($k=~/author/) {$au=$au?"$au, $v":$v}; + if($k=~/keywords/) {$kw=$kw?"$kw, $v":$v}; + if($k=~/subject/ && !$su) {$su=$v}; + if(!$ddr && $k=~/status/ && $v=~/draft/i) {$draft="t";$gd=1}; + } + $Au.=($Au?" + ":"").$au if($au); + $b2=$opt_b; + unless($b2) { + ($b2)=$head=~/<base\s+href\s*=\s*"([^"]*)"$R/i; + unless($b2) {($b2)=$head=~/<base\s+href\s*=\s*([\w\.-]+)$R/i} + unless($b2) {$b2=$ba2} + } + $b2=~s|[^/]*$||; + ($b1)=$b2=~m|(.*://[^/]*)/|; + unless($b1) {$b1=$opt_r}; + unless($b2) {$b2=$html=~m|(.*/)[^/]*$|?$1:""}; + if(!defined $B2) {$B2=$b2}; + $levl{$b2.$html}=$levl{$html}; + + while($link && $head=~/<link\s+[^>]*rel\s*=\s*["']?next$R/gi) { + if(($lnk)=$&=~/href\s*=\s*["']?\s*([^"' >]*)/gi) { + if($lnk=~m|.+//[^/]+$|) {$lnk=$&."/"} + if($lnk=~m|://|) { + $rlnk=0; + } else { + $rlnk=1; + if($lnk=~m|^/|) {$lnk=$b1.$lnk} else {$lnk=$b2.$lnk} + } + while($lnk!~m|^\.\./| && $lnk=~m|[^/]*/\.\./|) {$lnk=$`.$'}; + $lnk=~s|/\./|/|g; + if(&follow && !$levl{$lnk}) { + $levl{$lnk}=$level+1; + push(@links,$lnk); + } + } + } + ($battr)=/<BODY$R/i; + ($lang)=$battr=~/\slang\s*=\s*['"]?([a-zA-Z-]+)/i; + ($lang)=$head=~/<html[^>]+lang\s*=\s*['"]?([a-zA-Z-]+)/i if(!$lang); + $lang=$opt_l if($opt_l); + $lang='en' if(!$lang); + $lang=lc $lang; + if($battr=~/\stext\s*=\s*['"]?\s*#?(\w+)/i) {$tcol=&col2rgb($1)}; + if(!$tcol) {$tcol="Dt"}; + if($battr=~/\slink\s*=\s*['"]?\s*#?(\w+)/i) {$lcol=&col2rgb($1)}; + if(!$lcol) {$lcol="Dl"}; + &inihyph if($opt_H); + ($bg)=$battr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i; + $bg=&col2rgb($bg); + if($bg) { + ($red,$grn,$blu)=@cvec; + } else { + ($red,$grn,$blu)=$bgcol=~/#(\w+).*#(\w+).*#(\w+)/; + $bg="Db"; + } + + $temp=""; + while(/<object$R/i) { + $temp.=$`; + $tag=$&; + $end=$'; + $type=$tag=~/type\s*=\s*($S)/i?$+:""; + $uaddr=$tag=~/data\s*=\s*($S)/i?$+:""; + if($type=~/^text\/(html|plain)$/i + || !$type && $uaddr=~m"(\.html?|://.+/|://[^/]+)$"i) { + $tag=~/data\s*=\s*/i; + if(&open($uaddr,$idoc)) { + if($type=~/plain/i) { + $idoc="<XMP>$idoc</XMP>"; + } else { + &hb($idoc,$dum); + } + $_=$idoc; + $_.=$' if($end=~/<\/object>/i); + } else { + &dbg("\n*** Error opening $uaddr\n"); + $_=$end; + } + } else { + $temp.=$tag; + $_=$end; + } + } + $_=$temp.$_; + + if($opt_c && defined $package{'check'}) { + $file=$html; + if($html=~m|://|) { + open(SCRATCH,">$scr"); + print SCRATCH; + close SCRATCH; + $file="$scr"; + } + &dbg(`$package{'check'} $file`); + } + + if(!$latin1) { + if($opt_e=~/EUC-/i) { + s/([\216\217\241-\376].)+/\000$&\000/g; + &spec($_); + s/\000(.+?)\000/)F1($1)F2(/g; + } elsif($opt_e=~/SHIFT-JIS/i) { + s/[\201-\237\340-\374][@-~\200-\374]/$&\000/g; + s/[\241-\337]+(?!\000)/$&\000/g; + s/[ -~\t\n\r\240]+(?!\000)/\002$&\001/g; + &spec($_); + s/\000//g; + } else { + while(/\e\$B([^\e]*)/) { + $beg=$`; + $end=$'; + $mat=$1; + $mat=~s/\s//g; + $_="$beg\001$mat$end"; + } + s/\e\([BJ]/\002/g; + &spec($_); + } + s/\001/)F1(/g; + s/\002/)F2(/g; + $_=")F2($_"; + y/\000-\010\013\016-\037\177//d; + } else { + &spec($_); + y/\000-\010\013\016-\037\177-\237//d; + } + s/(\r\n|\r)/\n/g; + $refs{$html}=$nref++ if(!defined $refs{$html}); + $_="\004$lang\004)WB $refs{$html} Sn($_"; + +# Yes, I know Perl has case-insensitive pattern matching. But on my system +# it takes about 10 times longer to run! + + $pt=""; + if(/<[pP][lL][aA][iI][nN][tT][eE][xX][tT]$R/) {$_=$`;$pt=$'}; + while($_){ + if(/(<[lL][iI][sS][tT][iI][nN][gG]$R)/) {$_=$`; $tag=$1; $rest=$'; + if(/<[xX][mM][pP]$R/){$_=$`; &Subst($_); $P2.="$_)XX("; $_=$'.$tag.$rest; + if(m|</[xX][mM][pP]$R|) {$P2.="$`)RP("; $_=$'} + else {$P2.=$'; $_=""}} + else {&Subst($_); $P2.="$_)XX("; $_=$rest; + if(m|</[lL][iI][sS][tT][iI][nN][gG]$R|) {$P2.="$`)RP("; $_=$'} + else {$P2.=$'; $_=""}}} + elsif(/<[xX][mM][pP]$R/) {$_=$`; &Subst($_); $P2.="$_)XX("; $_=$'; + if(m|</[xX][mM][pP]$R|) {$P2.="$`)RP("; $_=$'} + else {$P2.=$'; $_=""}} + else {&Subst($_);$P2.=$_; $_=""} + } + $pt=~s/\f/$pc/g; + if($pt) {$P2.=")XX($pt"}; + $P2.=")"; + if($plain) {$P2.="RP ()"}; + while($P2=~/XX\(/) { + $beg=$`; + $'=~/\)(RP|$)/; + $mat=$`; + $end=$&.$'; + $mat=~s/(.*\n){30}.*/$&)WR(/g; + ($temp=$mat)=~s/\)[^(]+\(//g; + @prel=split(' *\n',$temp); + $maxl=0; + for $line (@prel) { + $line=~s/\\.../x/g; + while($line=~/\t+/) { + $sp=' ' x (length($&)*8-length($`)%8); + $line=~s/\t+/$sp/; + $mat=~s/\t+/$sp/; + } + $ll=length($line); + $maxl=$ll if($ll > $maxl); + } + $P2="$beg ".($#prel+1)." $maxl PR($mat$end"; + } + $P1=~s/[\200-\377]/sprintf("\\%3.3o",ord($&))/eg; + $P2=~s/[\200-\377]/sprintf("\\%3.3o",ord($&))/eg; + $P2=~y/\t\f/ /; + 1; +} +sub Subst{ + local($_)=@_; + if($page_break) { + s/<!--NewPage-->/$pc/g; + s/<(\?|hr\s+class\s*=\s*["']?)\s*page-break$R/$pc/gi; + } + s/<!--OddPage-->/)WB NL OP(/g; + if($ssi && $html!~m|://|) { + while(/<!--#(include|config|echo)\s+(\w+)\s*="([^"]+)"\s*-->/) { + $inc=""; + $file=$3; + if($1 eq "include" && (substr($file,0,1) ne "/" || $opt_r)) { + if(substr($file,0,1) ne "/") { + $file=$B2.$file; + } elsif($2 eq "virtual") { + $file=$opt_r.$file; + } + if(open INC,$file) { + $inc=<INC>; + &spec($inc); + close INC; + } + } elsif ($1 eq "config" && $2 eq "timefmt") { + if($posix) { + $var{LAST_MODIFIED}=POSIX::strftime($3,localtime((stat $html)[9])); + $var{DATE_LOCAL}=POSIX::strftime($3,@now); + $var{DATE_GMT}=POSIX::strftime($3,@gmnow); + } + } elsif ($1 eq "echo") { + $inc=$var{$3}; + } + $_=$`.$inc.$'; + } + } + s/(&shy;?|&#173;?|<!--hy-->)/)HY(/g; + while(/<!--/) { + $_=$`; + &getcom; + $_.=$rest; + } + $temp=""; + while(/<([^"'>]*=\s*["'])/) { + $temp.=$`."<"; + $_=$1.$'; + while(/^[^"'>]*=\s*(["'])/) { + $temp.=$&; + $_=$'; + if(/$1/) { + ($tg=$`)=~y/>/\003/; + $temp.=$tg.$&; + $_=$'; + } + } + } + $_=$temp.$_; + $a='[aA][lL][iI][gG][nN]'; + $Y='[sS][tT][yY][lL][eE]'; + $A="($a\\s*=\"?|$Y\\s*=\\s*\"?[tT][eE][xX][tT]-\\s*$a:)"; + $I='[lL][eE][fF][tT]'; + $C='[cC][eE][nN][tT][eE][rR]'; + $D='[rR][iI][gG][hH][tT]'; + $J='[jJ][uU][sS][tT][iI][fF][yY]'; + $s='[sS][eE][lL][eE][cC][tT]'; + $F='[fF][oO][nN][tT]'; + $U='[cC][oO][lL][oO][rR]'; + $O='[cC][oO][mM][pP][aA][cC][tT]'; + s/<\w+[^>]*\s+[iI][dD]\s*=\s*($S)[^>]*>/$&<a name="$+">/g; + s|<[dD][eE][lL]$R[\w\W]*?</[dD][eE][lL]>||g if($del{'display'}=~/^none$/); + $ndiv=1; + s|</?[dD][iI][vV]\d$R||g; + s|<(/?)([dD][iI][vV])([>\s])|"<$1$2".($1?--$ndiv:$ndiv++).$3|eg; + while(/<[dD][iI][vV](\d+)$R/) { + $dbeg=$`; + $dnum=$1; + $dattr=$2; + $dend=$'; + $div=""; + $ediv=""; + if($2=~/class\s*=\s*["']?noprint$R/i) { + $_=$dbeg; + $_.=$' if($dend=~/<\/[dD][iI][vV]$dnum>/); + } else { + if($dattr=~/$A\s*($I|$C|$D|$J)/) { + $div.=")".$algn{"\L$2"}." Al("; + $ediv.=")Ea("; + } + if($dattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i) { + $lang=lc $1; + $div.="\004$lang\004"; + &inihyph if($opt_H); + $dbeg=~/(\004[^\004]*\004)[^\004]*$/; + $ediv.=$1; + } + $dend=~s|</[dD][iI][vV]$dnum>|$ediv)BR(|; + $_="$dbeg$div)BR($dend"; + } + } + s|<$C$R|)2 Al(|g; + s|</$C$R|)Ea(|g; + s|<(\w+)/([^/]+)/|<$1>$2</$1>|g; + s/(<\w+[^>]*>)\n|\n(<\/\w+>)/$+/g; + s|(<[lL][iI])$R\s*<[pP]>|)0 P($1$2|g; + s/<[hH]([1-6])\s+$A\s*($I|$C|$D|$J)$R/)$algn{"\L$3"} $1 H(/g; + s|<[hH]([1-6])$R|)0 $1 H(|g; + s|</[hH][1-6]>|)EH(|g; + s|<[bB][rR]$R|)BR(|g; + s/<[pP]\s+[^>]*$A\s*($I|$C|$D|$J)$R/)$algn{"\L$2"} P(/g; + s|<[pP]$R|)0 P(|g; + s|</[pP]>|)EP(|g; + s|<[aA][dD][dD][rR][eE][sS][sS]$R|)AD(|g; + s|</[aA][dD][dD][rR][eE][sS][sS]>|)DA(|g; + s|<[pP][rR][eE]$R\n?|)XX(|g; + s|\n? *</[pP][rR][eE]>|)RP(|g; + s|<[dD][tT]\s[^>]*$O$R|)1 DT(|g; + s|<[dD][tT]$R|)0 DT(|g; + s|<[dD][dD]$R|)DD(|g; + s|<[dD][lL]\s[^>]*$O$R|)1 DL(|g; + s|<[dD][lL]$R|)0 DL(|g; + s|</[dD][lL]>|)LD(|g; + s|<[uU][lL]$R|)UL(|g; + s|</[uU][lL]>|)LU(|g; + s|<[mM][eE][nN][uU]$R|)UL(|g; + s|</[mM][eE][nN][uU]>|)LU(|g; + s|<[dD][iI][rR]$R|)UL(|g; + s|</[dD][iI][rR]>|)LU(|g; + s|<[oO][lL]\s[^>]*[sS][tT][aA][rR][tT]\s*=\s*['"]?(-?\d+)$R|$&)WB $1 Ln(|g; + s|<[oO][lL]\s[^>]*[tT][yY][pP][eE]\s*=\s*['"]?([1iIaA])$R|)$lity{$1} OL(|g; + s|<[oO][lL]$R|)4 OL(|g; + s|</[oO][lL]>|)LO(|g; + s|<[lL][iI]\s[^>]*[vV][aA][lL][uU][eE]\s*=\s*['"]?(-?\d+)$R|$&)WB $1 Ln(|g; + s|<[lL][iI]\s[^>]*[tT][yY][pP][eE]\s*=\s*['"]?($ltr)$R|)$lity{$1} LI(|g; + s|<[lL][iI]$R|)-1 LI(|g; + s|</[lL][iI]$R||g; + s"<([bB][qQ]|[bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE])$R")BQ("g; + s"</([bB][qQ]|[bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE])>")QB("g; + s|<[sS][tT][rR][oO][nN][gG]$R|)BD(|g; + s|</[sS][tT][rR][oO][nN][gG]>|)ES(|g; + s|<[sS][aA][mM][pP]$R|)SM(|g; + s|</[sS][aA][mM][pP]>|)ES(|g; + s|<[qQ]$R(\s*)|$2)Q(|g; + s|(\s*)</[qQ]>|)EQ($1|g; + s|<[cC][iI][tT][eE]$R|)CT(|g; + s|</[cC][iI][tT][eE]>|)ES(|g; + s|<[vV][aA][rR]$R|)I(|g; + s|</[vV][aA][rR]>|)ES(|g; + s|<[bB]$R|)BD(|g; + s|</[bB]>|)ES(|g; + s|<[iI]$R|)I(|g; + s|</[iI]>|)ES(|g; + s|<[tT][tT]$R|)TT(|g; + s|</[tT][tT]>|)ES(|g; + s|<[uU]$R|)UN(|g; + s|</[uU]>|)NU(|g; + s|<[sS]([tT][rR][iI][kK][eE])?$R|)SE(|g; + s|</[sS]([tT][rR][iI][kK][eE])?>|)XE(|g; + s|<[dD][fF][nN]$R|)I(|g; + s|</[dD][fF][nN]>|)ES(|g; + s|<[eE][mM]$R|)EM(|g; + s|</[eE][mM]>|)ES(|g; + s|<[cC][oO][dD][eE]$R|)SM(|g; + s|</[cC][oO][dD][eE]>|)ES(|g; + s|<[kK][bB][dD]$R|)KB(|g; + s|</[kK][bB][dD]>|)ES(|g; + s|<[bB][iI][gG]$R|)4 FZ(|g; + s|</[bB][iI][gG]>|)ES(|g; + s|<[sS][mM][aA][lL][lL]$R|)2 FZ(|g; + s|</[sS][mM][aA][lL][lL]>|)ES(|g; + s|<[iI][nN][sS]$R|)sM WB(|g; + s|</[iI][nN][sS]>|)WB eM(|g; + s|<[dD][eE][lL]$R|)sM $lt(|g; + s|</[dD][eE][lL]>|)XE eM(|g; + s|<[aA][cC][rR][oO][nN][yY][mM][^>]+[tT][iI][tT][lL][eE]\s*=\s*($S)[^>]*>|)($+)Ac(|g; + s|</[aA][cC][rR][oO][nN][yY][mM]>|)Ca(|g; + s|<[fF][oO][rR][mM][\w\W]*?</[fF][oO][rR][mM]>||g if(!$forms); + s|</?[fF][oO][rR][mM]$R|)Ts BE(|g; + s/<$s[^>]*[mM][uU][lL][tT][iI][pP][lL][eE]$R/)1 MS(<table>/g; + s/<$s$R/)0 MS(<table>/g; + s|</$s>|</table>|g; + s/<[oO][pP][tT][iI][oO][nN]$R/<tr><td>)O(/g; + while(/<[iI][nN][pP][uU][tT]$R/) { + $beg=$`; + $iattr=$1; + $rest=$'; + $it=2; + if($iattr=~/type\s*=\s*["']?(\w+)/i) {$it=$it{"\L$1"}}; + if($it<2) { + $it=($iattr=~/\schecked\W/i?1:0) ." $it"; + } elsif($it==2) { + $siz=$iattr=~/size\s*=\s*["']?(\d+)/i?$1:12; + $ival=$iattr=~/value\s*=\s*($S)/i?$+:""; + $it="($ival)$siz $it"; + } + if(defined($it)) { + $cmd=$it==3?"<img $iattr":")$it BX("; + } else { + $cmd=""; + } + $_=$beg.$cmd.$rest; + } + while(/<[tT][eE][xX][tT][aA][rR][eE][aA]$R/) { + $beg=$`; + $txatr=$1; + $rest=$'; + if($rest=~m|</[tT][eE][xX][tT][aA][rR][eE][aA]>|) { + $rest=$'; + $data=$prefilled||$textarea_data?$`:""; + $rows=4; + $cols=20; + if($txatr=~/rows\s*=\s*["']?(\d+)/i) {$rows=$1}; + if($txatr=~/cols\s*=\s*["']?(\d+)/i) {$cols=$1}; + $nl=$data=~y/\n/\n/; + for ($nl..$rows) {$data.="\n"}; + $data=~/(.*\n){$rows}/; + $tfont=$prefilled?"TT":"0 FZ"; + ($data=$&)=~s/.*\n/<tr height=24><td valign=top>)$tfont($&)ES(/g; + $wi=10*$cols; + $frame=$prefilled?"frame=box":"border"; + $_="$beg<table $frame width=$wi cellpadding=2>$data</table>$rest"; + } else { + $_=$beg.$rest; + } + } + $nfnt=1; + s|<(/?)($F)([>\s])|"<$1$2".($1?--$nfnt:$nfnt++).$3|eg; + while(/<$F(\d+)([^>]*)$U\s*=\s*["']?\s*#?(\w+)$R/) { + $rgb=&col2rgb($3); + $_=$`.($rgb?")WB $rgb Sc(":"")."<font$2$4"; + $temp=$'; + $temp=~s|</$F$1>|</font>)Ec(| if($rgb); + $_.=$temp; + } + $base{"+"}="Bf add "; + $base{"-"}="Bf add "; + s/<$F\d*\s[^>]*[sS][iI][zZ][eE]\s*=\s*["']?([+-]?)(\d+\.?\d*)$R/)$1$2 $base{$1}FZ(/g; + s|<$F\d*$R|)3 FZ(|g; + s|</$F\d*>|)Ef(|g; + s|<[bB][aA][sS][eE]$F\s[^>]*[sS][iI][zZ][eE]\s*=\s*["']?(\d+)$R|)$1 BZ(|g; + while(/(<[aA]\s+[^>]*)[nN][aA][mM][eE]\s*=\s*(["']?)([^"'\s>]*)$R([^\s<)]*)/) { + $lnk="$html#$3"; + $refs{$lnk}=$nref++ unless(defined $refs{$lnk}); + $_="$`$1$4$5)WB $refs{$lnk} Sn($'"; + } + while(/<[aA]\s+[^>]*[hH][rR][eE][fF]\s*=\s*["']?\s*([^"'\s>]*)$R/) { + $beg=$`; + $tag=$&; + $rest=$'; + $lnk=$1; + $revtoc=$tag=~/rev\s*=['"]?\s*toc/i; + $html=~m|[^/]*$|; + $lnk=~s/^\Q$&#/#/; + $loc=$lnk=~/^#/; + if($loc) { + $html=~m|[^/]*$|; + $lnk=$&.$lnk; + } + if($lnk=~m|.+//[^/]+$|) {$lnk=$&."/"} + if($lnk=~m|://|) { + $rlnk=0; + } else { + $rlnk=1; + if($lnk=~m|^/|) {$lnk=$b1.$lnk} elsif($lnk!~m|^\w+:|) {$lnk=$b2.$lnk}; + } + while($lnk!~m|^\.\./| && $lnk=~m|[^/]*/\.\./|) {$lnk=$`.$'}; + $lnk=~s"(^|/)\./"$1"g; + ($doc)=$lnk=~/([^#]*)/; + ($doctit{$doc})=$tag=~/title\s*=['"]([^'"]*)['"]/i; + $T=0; + $anch=2; + if($loc || grep(/^\Q$doc\E$/,(@docs,@links)) + || $opt_W && !$link && $level<=$maxlev && &follow){ + $refs{$lnk}=$nref++ unless(defined $refs{$lnk}); + $anch="$refs{$lnk} 1"; + $ltype=$rev && $revtoc && $ndoc==1 || $opt_C=~/f/ && $ndoc==1?1:0; + $rest=~s|</a>|)$refs{$lnk} $ltype TN TL()Ec /AF f D(|i; + if(&follow && !$levl{$doc}) { + &dbg("Link: $doc\n") if($opt_d); + $levl{$doc}=$level+1; + push(@links,$doc); + } + } elsif(defined $refs{$lnk}) { + $anch="$refs{$lnk} 1"; + } + $addr=$dum{$lnk}?"R$dum{$lnk}":0; + if(!$dum{$lnk} && $lnk=~m|://|) { + $dum{$lnk}=$nlnk++; + $rfs.="/R$dum{$lnk} ($lnk) D\n"; + $addr="R$dum{$lnk}"; + } + $_=$beg.")$addr $anch A(".$rest; + } + s|</[aA]>|)EA(|g; + if((!$mult || $doc_sep eq $pc && $mult) + && m|<[bB][aA][nN][nN][eE][rR]$R([\w\W]*)</[bB][aA][nN][nN][eE][rR]>|) { + $banner=$2; + $_=$`.$'; + } + while(/<[tT][aA][bB][lL][eE]([^>]*)>/) { + local($beg)=$`; + local($rest)=$'; + $tattr=$1; + $tag=$&; + $rest=~/(<\/[tT][aA][bB][lL][eE]>|$)/; + $table=$`; + $rest=$'; + while($table=~/<[tT][aA][bB][lL][eE]([^>]*)>/) { + $tattr=$1; + $table=$'; + $beg.=$tag.$`; + $tag=$&; + } + ($tla)=$tattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i; + if(!$tla) {($tla)=$beg=~/\004_?([^\004]*)\004[^\004]*$/}; + $ntab++; + $table=~s/^\s*//; + undef %cells; + undef %rd; + undef @cali; + undef @cval; + undef @cgrp; + undef @cwid; + undef @codc; + undef @r0; + undef @c0; + ($capat,$cap)=$table=~m|<caption$R([\w\W]*)</caption>|i; + $capat=~/ALIGN\s*=\s*["']?\s*(\w+)/i; + $capa=0; + $capa=1 if("\L$1" eq "bottom"); + $capa=-1 if($cap!~/\S/); + $bord=0; + if($tattr=~/border/i) { + ($bord)=$'=~/^\s*=\s*["']?(\d+)/; + if(!$bord && $bord ne "0") {$bord=1}; + } + ($talgn)=$tattr=~/ALIGN\s*=\s*["']?\s*(\w+)/i; + $tal=-1; + $tal=0 if($talgn=~/^left$/i); + $tal=1 if($talgn=~/^center$/i); + $tal=2 if($talgn=~/^right$/i); + ($fra)=$tattr=~/FRAME\s*=\s*["']?\s*(\w+)/i; + if($fra && $f{"\L$fra"}) {$fra=$f{"\L$fra"}} else {$fra=$bord?9:1}; + ($rul)=$tattr=~/RULES\s*=\s*["']?\s*(\w+)/i; + if($rul && $r{"\L$rul"}) {$rul=$r{"\L$rul"}} else {$rul=$bord?5:1}; + unless(($twid)=$tattr=~/WIDTH\s*=\s*["']?(\d+\.?\d*%?)/i) {$twid=0}; + $twid=$twid=~/%$/?$`/100:-$twid; + ($cpad)=$tattr=~/CELLPADDING\s*=\s*["']?\s*$V/i; + if($tattr=~/CELLSPACING\s*=\s*["']?\s*$V/i && $1!=0) {$cpad+=$1/2}; + ($tbg)=$tattr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i; + $tbg=&col2rgb($tbg); + ($tcl)=$tattr=~/CLASS\s*=\s*["']?\s*(\w+)/i; + $tcl="\L$tcl" eq "telelista"? 1: 0; + $ic=0; + $span=1; + undef $gal; + undef $gva; + undef $odc; + undef $gwi; + $cgs=0; + while($table=~/<[cC][oO][lL]([^>]*>)/g && $span>0) { + $cola=$1; + $ab=$`; + $aft=$'; + $cola=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i; + $alg=$algn{"\L$2"}; + ($val)=$cola=~/VALIGN\s*=\s*["']?\s*(\w+)/i; + $val=$v{"\L$val"}; + ($odc)=$cola=~/CHAR\s*=\s*["']?(.)/i; + unless(($wid)=$cola=~/WIDTH\s*=\s*["'](\d+%?)/i) {$wid=0}; + if($wid=~/%$/) {$wid=$`/100}; + ($span)=$cola=~/SPAN\s*=\s*["']?\s*(\d+)/i; + if(!$span && $span ne "0") {$span=1}; + $us=1; + if($cola=~/^GROUP/i) { + $gal=$alg; + $gva=$val; + $gdc=$odc; + $gwi=$wid; + $cgs=1; + if($aft=~/<COL\s/i) { + $us=$`=~m|</?COLGROUP|i; + } + } else { + while($ab=~/<COLGROUP/i) {$ab=$'}; + if($ab=~m|</COLGROUP|i) { + undef $gal; + undef $gva; + undef $odc; + undef $gwi; + } + if(!$alg) {$alg=$gal}; + if(!$val) {$val=$gva}; + if(!$odc) {$odc=$gdc}; + if(!$wid) {$wid=$gwi}; + if($span eq "0") { + $ic++; + push(@cali,$alg); + push(@cval,$val); + push(@cwid,$wid); + push(@codc,$odc); + push(@cgrp,1); + } + } + if($us) { + for (1..$span) { + $ic++; + push(@cali,$alg); + push(@cval,$val); + push(@cwid,$wid); + push(@codc,$odc); + push(@cgrp,$cgs); + $cgs=0; + } + } + } + $table=~/<t[hd][\s>]/i; + if($`!~/<tr/i) {$table="<TR>$table"}; + $nrow=-1; + $ncol=-1; + $nhead=0; + $nfoot=0; + $nb=0; + unless($table=~/<tbody$R/i || $table=~s|</tfoot>|$&<tbody>|i) { + $table=~s|</thead>|$&<tbody>|i; + } + while($table=~/<[tT][rR]\s*([^>]*)>/g) { + $nrow++; + $ab=$`; + $row=$'; + $rattr=$1; + for $j (@c0) { + $cells{"$nrow,$j,0"}=1; + } + $rgrp=0; + if($ab=~/<tbody$R/i) { + $ib=0; + while($ab=~/<[tT][bB][oO][dD][yY]$R/g) { + $ib++; + $battr=$1; + if($ib>$nb) { + $rgrp=1; + $nb=$ib; + } + } + } else { + if($ab=~/<tfoot$R/i) { + $nfoot++; + $battr=$1; + } elsif($ab=~/<thead$R/i) { + $nhead++; + $battr=$1; + } + } + $battr=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i; + $balgn=$algn{"\L$2"}; + $battr=~/VALIGN\s*=\s*["']?\s*(\w+)/i; + $bva=$v{"\L$1"}; + ($bdc)=$battr=~/CHAR\s*=\s*["']?(.)/i; + $rd{"$nrow,0"}=0; + $rd{"$nrow,1"}=0; + $rd{"$nrow,2"}=0 unless($rd{"$nrow,2"}); + $rd{"$nrow,3"}=$rgrp; + $rattr=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i; + $ralgn=$algn{"\L$2"}; + $rattr=~/VALIGN\s*=\s*["']?\s*(\w+)/i; + $rva=$v{"\L$1"}; + ($rla[$nrow])=$rattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i; + ($rbg)=$rattr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i; + $rbg[$nrow]=&col2rgb($rbg); + ($rdc)=$rattr=~/CHAR\s*=\s*["']?(.)/i; + if($row=~/<tr/i) {$row=$`}; + $rh[$nrow]=$rattr=~/HEIGHT\s*=\s*["']?(\d+)/i?$1:0; + $icol=0; + $colsp=1; + while($row=~/<[tT]([hH]|[dD])(\s*[^>]*)>/g && $colsp>0) { + $cattr=$2; + $cell=$'; + $ctype=$1=~/h/i?1:0; + if($cell=~/<t[hd]/i) {$cell=$`}; + $cell=~s/\s+$//; + $cell=~s/\)HY\($/\255/; + $cell=~s/[\200-\377]([^\\]|\\20.)/$&)WB(/g if(!$latin1); + ($rowsp)=$cattr=~/ROWSPAN\s*=\s*["']?(\d+)/i; + $rsp=$rowsp; + if(!$rsp) { + if($rsp eq "0") { + push(@c0,$icol); + } else { + $rowsp=1; + } + $rsp=1; + } + ($colsp)=$cattr=~/COLSPAN\s*=\s*["']?(\d+)/i; + $csp=$colsp; + if(!$csp) { + if($csp eq "0") { + push(@r0,$nrow); + $csp=$ncol-$icol<0? 1: $ncol-$icol+1; + } else { + $colsp=1; + $csp=1; + } + } + ($cdc)=$cattr=~/CHAR\s*=\s*["']?(.)/i; + while($cells{"$nrow,$icol,0"}==1) {$icol++}; +# + for $i ($nrow..$nrow+$rsp-2) {$rd{"$i,2"}=1}; + for $j ($icol..$icol+$csp-1) { + for $i ($nrow..$nrow+$rsp-1) { + $cells{"$i,$j,0"}=1; + } + } + if($colsp) { + for $j ($ncol+1..$icol+$csp) { + for $i (@r0) { + $cells{"$i,$j,0"}=1; + } + } + } + if($ic<$icol+$csp) { + for ($ic..$icol+$csp-1) { + push(@cali,$cali[$ic-1]); + push(@cval,$cval[$ic-1]); + push(@cgrp,0); + } + $ic=$icol+$csp; + } + $cal=$ctype; + $cal=$balgn-1 if($balgn); + $cal=$ralgn-1 if($ralgn); + $cal=$cali[$icol]-1 if($cali[$icol]); + if($cattr=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i) { + $cal=$algn{"\L$2"}-1 if($algn{"\L$2"}); + } + $cvl=2; + $cvl=$cval[$icol] if($cval[$icol]); + $cvl=$bva if($bva); + $cvl=$rva if($rva); + if($cattr=~/VALIGN\s*=\s*["']?\s*(\w+)/i) { + $cvl=$v{"\L$1"} if($v{"\L$1"}); + } + ($cbg)=$cattr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i; + $cbg=&col2rgb($cbg); + for($rbg[$nrow],$tbg,$deftbg,$bg) {$cbg=$_ if(!$cbg)}; + $now=0; + $ro=$cattr=~/class\s*=\s*["']?rot(-?90)/i?$1:0; + if($cattr=~/NOWRAP/i || $cal==4 || $ro) {$now=1}; + $dc="."; + $dc=$bdc if($bdc || $bdc eq "0"); + $dc=$rdc if($rdc || $rdc eq "0"); + $dc=$codc[$icol] if($codc[$icol] || $codc[$icol] eq "0"); + $dc=$cdc if($cdc || $cdc eq "0"); + ($wid)=$cattr=~/WIDTH\s*=\s*["'](\d+%)/i; + if($wid=~/%$/) {$wid=$`/100}; + if($wid>$cwid[$icol]) {$cwid[$icol]=$wid}; + if($cpad || $cpad eq "0") { + $clm=$cpad; + $crm=$cpad; + $ctm=$cpad; + $cbm=$cpad; + } else { + $clm=$rul<5?8:4; + $crm=$rul<5?8:4; + $ctm=2; + $cbm=6; + } + if($tcl==1) { + $clm=$icol>0?12:2; + $crm=12; + $ctm=0; + $cbm=0; + } + if($rul==1 && $fra==1 && $icol==0 && $tal==0) {$clm=0}; + ($lang)=$cattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i; + for($rla[$nrow],$tla) {$lang=$_ if(!$lang)}; + $lang=lc $lang; + &inihyph if($opt_H); + $cbg=~/#(\w+).*#(\w+).*#(\w+)/; + &img($cell,$1,$2,$3); + @cll=("{(\004$lang\004)WB($cell)}",0,0,$ctype,0,$colsp,$rowsp,$cal, + "($dc)",$cvl,$now,$clm,$crm,$ctm,$cbm,0,0,0,0,$cbg,$ro); + for $i (0..$#cll) {$cells{"$nrow,$icol,$i"}=$cll[$i]}; + $icol+=$csp; + if($icol-1>$ncol) {$ncol=$icol-1}; + } + } + for $j (0..$ncol) { + for $i (0..$nrow) { + if($cells{"$i,$j,0"} && $cells{"$i,$j,0"}!=1) { + if($cells{"$i,$j,6"}>$nrow-$i+1) {$cells{"$i,$j,6"}=$nrow-$i+1}; + if($cells{"$i,$j,6"}>1) {$rd{"$i,2"}=1}; + } + } + } + $rd{"$nrow,2"}=0; + $rw="["; + for $i (0..$nrow) { + $rw.="[$rh[$i] ".$rd{"$i,1"}." ".$rd{"$i,2"}." ".$rd{"$i,3"}." 0 0 ["; + for $j (0..$ncol) { + $cbg=""; + for($rbg[$i],$tbg,$deftbg,$bg) {$cbg=$_ if(!$cbg)}; + $temp="[{()}0 0 0 0 1 1 0(.)0 0 $clm $crm $ctm $cbm 0 0 0 0 $cbg $ro]"; + if($cells{"$i,$j,0"}==1) { + $temp="0"; + } elsif($cells{"$i,$j,0"}) { + $temp="["; + for $k (0..$#cll) { + $temp.=$cells{"$i,$j,$k"}." "; + } + $temp.="]"; + } + $rw.="$temp\n"; + } + $rw.="]]\n"; + } + if($nrow==$nhead+$nfoot-1) { + $nhead=0; + $nfoot=0; + } + $tdesc="[0 0 $tcl 0 0 $tal 0 $twid $bord $nrow $ncol" + ." $nhead $nfoot $fra $rul {($cap)} $capa]\n"; + $cdesc="["; + for (0..$ncol) { + unless($wid=$cwid[$_]) {$wid=0}; + $cdesc.="[0 0 0 $wid $cgrp[$_] 0 0]"; + } + $cdesc.="]\n"; + $tables.="[$tdesc $cdesc $rw]]\n"; + $_=$beg.")$ntab PT(".$rest; + } + &img($_,$red,$grn,$blu); + &ack($_); + $_[0]=$_; +} +sub getcom{ + $com=$&; + $'=~/--\s*(--|>)/; + $com.=$`.$&; + $rest=$'; + while($1 eq "--") { + $'=~/(>)/ if($'!~/--\s*(--|>)/); + $com.=$`.$&; + $rest=$'; + } +} +sub getl { + ($l)=@_; + if(!$lid{$l}) { + while($l=~s/-[^-]+$// && !$lid{$l}) {}; + } + $lid{$l}; +} +sub ack { + local($_)=@_; + chdir $tempdir; + while (/<[mM][aA][tT][hH]/) { + $beg=$`; + $rest=$&.$'; + $rest=~m|</[mM][aA][tT][hH]>|; + $end=$'; + $math=$`; + if(&math2sym($math)) { + $_=$beg.$sym.$end; + } elsif($package{'TeX'} && $package{'dvips'}) { + $math=~s|\\200|\\|g; + $math=~s|\\201|\(|g; + $math=~s|\\202|\)|g; + &math2tex($math); + open(SCRATCH,">$scr.tex"); + print SCRATCH $tex; + close SCRATCH; + `tex $scr.tex`; + `dvips -E -o $scr.ps $scr.dvi`; + open(LOG,"$scr.log"); + $log=<LOG>; + close LOG; + ($h,$d)=$log=~/[\w\W]*$prog: +([\d.]+)pt: +([\d.]+)/ ? ($1,$2) : (1,0); + $above=$h+$d>0?sprintf("%.4f",$h/($h+$d)):0; + open(PS,"$scr.ps"); + $pic=<PS>; + if($pic=~/^%!/ && $pic=~/%%BoundingBox: +$V +$V +$V +$V/) { + $xs=$3-$1; + $ys=$4-$2; + $llx=$1; + $lly=$2; + $ps=""; + for $i (split(/\n/,$pic)) { + $ps.=$i."\n" if($i && $i!~/^%/); + } + if($ps=~/\nTeXDict begin/) { + if(!$ph) { + $ph="/DH {1 F div dup scale /showpage {} D\n$`$&} D\n%EndDH\n"; + $pv=$ph.$pv; + } + $ps="save -$llx -$lly translate\nDH$' restore"; + } + } + $nimg++; + $nps--; + push(@XS,$xs); + push(@YS,$ys); + push(@IX,$nps); + push(@IT,2); + $pv.="/P$nimg {$ps} D\n"; + $eps{"P$nimg"}=$ps; + $_=$beg.")$above 3 (P$nimg) $nimg IM(".$end; + } else { + $math=~s/<math$R//i; + $_=$beg.$math.$end; + } + } + chdir $cwd; + s|<[sS][uU][bB]$R|)Sb(|g; + s|<[sS][uU][pP]$R|)Sp(|g; + s"</[sS][uU]([bB]|[pP])>")Es("g; + s|<[A-Za-z/!?]\w*$R||g; + &ent($_); + y/\003/>/; + s/\004([^\004]*)\004/")".&getl($1)." Sl($&"/eg; + if($opt_H) { + &dbg("Inserting potential hyphenation points\n") if($opt_d && $ndoc>0); + $temp=""; + while(/\004([^\004]*)\004/) { + $temp.=$`; + $lang=$1; + $end=$'; + if($end=~/\004([^\004]*)\004/) { + $htext=$`; + $end=$&.$'; + } else { + $htext=$end; + $end=""; + } + $apa=""; + while($htext=~/(..?)\(([^)]*)/) { + $slut=$'; + if($1 eq "XX") { + $apa.=$`.$&; + if($'=~/RP\(/) { + $apa.=$`; + $htext=$&.$'; + } else { + $apa.=$slut; + $htext=""; + } + } elsif($1 eq ") ") { + $apa.=$`.$&; + $htext=$'; + } else { + $apa.="$`$1("; + $htext=$'; + ($txt=$2)=~s/[$ltrs]{$hyphenation{'min'},}/&hyph($&)/eg; + $apa.=$txt; + } + } + $_=$apa.$slut.$end; + } + $_=$temp.$_; + } + s/\004([^\004]*)\004//g; + $_[0]=$_; +} +sub ent { + local($_)=@_; + s|&#x($X+);?|"&#".hex($1).";"|egi; + for $char (keys %ent) {s/&($char)(;|$|(?=\W))/chr($ent{$char})/eg}; + for $char (keys %symb) {s/&($char)(;|$|(?=\W))/)SY(\\$symb{$char})ES(/g}; + s/&(euro|#8364)(;|$|(?=\W))/)MY(e)ES(/g; + s|&lt;?|<|g; + s|&gt;?|>|g; + s|&quot;?|"|g; + s/&($space);?/)$space{$1} Se(/g; + s|&#(\d+);?|$1==38?"\005":$1<256?chr($1):$&|eg; + s/(\005|&amp;?)/\&/g; + $_[0]=$_; +} +sub spec { + $_[0]=~s/(\\|&#92(;|$|(?=\W)))/\\200/g; + $_[0]=~s/(\(|&#40(;|$|(?=\W)))/\\201/g; + $_[0]=~s/(\)|&#41(;|$|(?=\W)))/\\202/g; + $_[0]=~s/&(there4|#8756|#[xX]2234)(;|$|(?=\W))/)SY(\\200)ES(/g; +} +sub math2tex { + local($_)=@_; + local($beg,$rest); + %a=("line","overline", + "cub","overbrace", + "hat","widehat", + "tilde","widetilde", + "larr", "overleftarrow", + "rarr", "overrightarrow"); + %b=("line","underline", + "cub","underbrace", + "hat","widehat", + "tilde","widetilde"); + %s=("medium","\\big", + "large","\\Big", + "huge","\\bigg"); + ($mattr)=/<math$R/i; + $st=$mattr=~/class\s*=\s*["']?chem/i?'\rm ':''; + $di=$mattr=~/class\s*=\s*["']?displayed/i?'\displaystyle ':''; + s/<math$R//gi; + s/\\/\\backslash/g; + s/__/_\\>_/gi; + s/\^\^/^\\>^/gi; + s/_([^_]+)_/_{$1}/g; + s/\^([^^]+)\^/^{$1}/g; + s/&thinsp;?/\\,/g; + s/&sp;?/\\>/g; + s/&emsp;?/\\;/g; + s/&nbsp;?/\\>/g; + s/&epsi;?/\\varepsilon /g; + s/&upsi;?/\\upsilon /g; + s/&piv;?/\\varpi /g; + s/&sigmav;?/\\varsigma /g; + s/&thetav;?/\\vartheta /g; + s/&phiv;?/\\varphi /g; + s/&Upsi;?/\\Upsilon /g; + s/&omicron;?/o/g; + s/&plusmn;?/\\pm /g; + s/&or;?/\\vee /g; + s/&and;?/\\wedge /g; + s/&ap;?/\\approx /g; + s/&sube;?/\\subseteq /g; + s/&sub;?/\\subset /g; + s/&supe;?/\\supseteq /g; + s/&sup;?/\\supset /g; + s/&isin;?/\\in /g; + s/&larr;?/\\leftarrow /g; + s/&rarr;?([_^])/\\mathop\\rightarrow\\limits$1 /g; + s/&rarr;?/\\rightarrow /g; + s/&uarr;?/\\uparrow /g; + s/&darr;?/\\downarrow /g; + s/&harr;?/\\leftrightarrow /g; + s/&lArr;?/\\Leftarrow /g; + s/&rArr;?/\\Rightarrow /g; + s/&uArr;?/\\Uparrow /g; + s/&dArr;?/\\Downarrow /g; + s/&exist;?/\\exists /g; + s/&inf;?/\\infty /g; + s/&?int;?/\\int\\limits /g; + s/&?sum;?/\\sum\\limits /g; + s/&?prod;?/\\prod\\limits /g; + s/&pd;?/\\partial /g; + s/&lcub;?/\\{/g; + s/&rcub;?/\\}/g; + s/<t>/\\hbox{/gi; + s/<b>/\\bf /gi; + s/<bt>/{\\bf\\hbox{/gi; + s/<sub$R/_{/gi; + s/<sup$R/\^{/gi; + s/<box\s*size=["']?(\w+)["']?>/{\\def\\lft{$s{$1}}\\def\\rgt{$s{$1}}/gi; + s/<box$R/{/gi; + s/<text\s*>/\\hbox{/gi; + s/([\(\[\|])\s*<left>/\\lft$1/gi; + s/<right>/\\rgt /gi; + s/<(atop|choose|over)>/\\\L$1 /gi; + s/<of>/}\\of{/gi; + s/<bar>/\\overline{/gi; + s/<vec>/\\overrightarrow{/gi; + s/<hat>/\\widehat{/gi; + s/<tilde>/\\widetilde{/gi; + s/<(sqrt|root|vec|dot|ddot|hat|tilde)>/\\\L$1\{/gi; + while(/<above\s+sym\s*=\s*["']?equals["']?\s*>/i) { + $beg=$`."\\overline{\\overline{"; + $rest=$'; + $rest=~s/<\/above>/}}/i; + $_=$beg.$rest; + } + s/<above\s*>/\\overline{/gi; + s/<above\s+sym\s*=\s*["']?(\w+)["']?\s*>/\\$a{$1}\{/gi; + s/<below\s*>/\\underline{/gi; + s/<below\s+sym\s*=\s*["']?(\w+)["']?\s*>/\\$b{$1}\{/gi; + s/<\/(math|row|item|b)>//gi; + s/<\/(box|t|sup|sub|sqrt|root|vec|bar|dot|ddot|hat|tilde|above|below|text|array)>/}/gi; + s/<\/bt>/}}/gi; + s/&lt;?/< /gi; + s/&gt;?/>/gi; + s/&(\w+);?/\\$1 /gi; + s/<array$R/\\matrix{/gi; + s/<row>\s*<item$R//i; + s/<row>\s*<item$R/\\cr /gi; + s/<item>/&/gi; + s/<[^ ]$R//gi; + s/\n*$//; + $tex="\\batchmode\\magnification=$mag\\hsize=40cm\\nopagenumbers\n" + ."\\def\\lft{\\left}\\def\\rgt{\\right}\n\\setbox0=\\hbox{\$$st$di".$_."\$}\n" + ."\\immediate\\write0{$prog: \\the\\ht0: \\the\\dp0}\\box0\n\\end\n"; +} +sub Getopts { + local($optlist)=@_; + local(@args,$_,$opt,$opts,$rest,$olist,$plist,$found,@popts); + local($errs)=0; + local($[)=0; + @args=split( /\|/, $optlist ); + for $opt (@args) { + if(substr($opt,-1,1) ne ':') {$olist.=$opt} + else {$plist.=$opt} + } + @popts=split(/:/,$plist); + while(@ARGV && ($_=$ARGV[0]) =~ /^-(.*)/) { + $opt=$1; + if($opt=~/^-/ && $optalias{"\L$'"}) {$opt=$optalias{"\L$'"}}; + if($opt =~ /^[$olist]+$/) { + while ($char=chop $opt) {eval "\$opt_$char=1"} + shift(@ARGV); + } + else { + $found=0; + for $opts (@popts) { + $rest=substr($opt,length($opts)); + if(index($opt,$opts)==0) { + $found=1; + shift(@ARGV); + if(length($rest)==0) { + ++$errs unless @ARGV; + $rest=shift(@ARGV); + } + eval "\$opt_$opts=\$rest"; + } + } + if(!$found) { + &dbg("Unknown option: $opt\n"); + ++$errs; + shift(@ARGV); + } + } + } + $errs==0; +} +sub openps { + open(STDOUT,">$opt_o") || die "*** Error opening $opt_o for output\n"; +} +sub getalt { + if($imgcmd eq "img") { + $alt=""; + $match=0; + if($img=~/alt\s*=\s*"([^"]*)"/i) {$alt=$1; $match=1}; + if(!$match && $img=~/alt\s*=\s*([\w\.-]+)/i) {$alt=$1; $match=1}; + if(!$match) {$alt=")WB IA WB("}; + $text="$alt )WB("; + return; + } + if($imgcmd eq "hr") { + $text=$img=~/align\s*=\s*["']?(left|center|right)/i?")$algn{lc $1} ":")2 "; + $text.=$img=~/size\s*=\s*["']?$V/i?$1:.6; + $wd=1; + if($img=~/width\s*=\s*["']?$V(%?)/i) {$wd=$2?$1/100:-$1}; + $text.=" $wd HR("; + return; + } + if($imgcmd eq "fig") { + $text=")BN("; + } +} +sub xbmtops { + $fc=1; + $dp=1; + ($xs,$ys)=$pic=~/^#define.* (\d+)[\w\W]*^#define.* (\d+)/; + $nd=2*int(($xs+7)/8)*$ys; + ($pic)=$pic=~/[^#].* char.*[\w\W]*{([\w\W]*)}/; + $pic=~s/[ ,\n\r]*0x[ ,]*//g; + $pic=~y/01246789bdef/f7bd91e62480/; + $bm=unpack("H*", pack("h*",$pic)); +} +sub pmtops { + pmtoraw($pm) if($pm=~/^P([1-3])/); + $pm=~/^P([4-6])/; + $maptype=$1; + return if(!$maptype); + $pm=$'; + $bm=""; + $nint=3; + $dp=8; + if($maptype==4) { + $nint=2; + $dp=1; + } + undef @num; + $found=0; + while($pm && $found<$nint) { + if($pm=~/^\s*(\d+)/) {$num[$found]=$1}; + if($num[$found]) { + $found++; + $pm=$'; + } elsif($pm=~/^\s*#.*\n/) { + $pm=$'; + } else { + return; + } + } + ($b)=$pm=~/\s([\w\W]*)/; + ($xs,$ys,$bits)=@num; + return if($bits>255); + $fc=1; + if($maptype==6) { + $fc=3; + $nd=6*$xs*$ys; + $bm=unpack("H*",$b); + } else { + $bm=unpack("H*",$b); + if($maptype==4) { + $nd=2*int(($xs+7)/8)*$ys; + $bm=~y/0123456789abcdef/fedcba9876543210/; + } else { + $nd=2*$xs*$ys; + } + } +} +sub trans { + $next = 13; + $temp = ord substr($pic,10,1); + if($temp & 0x80) {$next += 3*2**(($temp & 0x07) + 1)} else {return}; + $byte = ord substr($pic,$next,1); + while($byte != 0x3b && $next <= length $pic) { + if($byte == 0x21) { + if(ord substr($pic,$next+1,1) == 0xf9) { + if(ord substr($pic,$next+3,1) & 0x01) { + &dbg("Transparent\n") if($opt_d); + $src{$URL}=$pic; + $idx = 3*(ord substr($pic,$next+6,1))+13; + substr($pic,$idx,3) = pack("H*",$red.$grn.$blu) if($idx<length $pic); + } + return; + $next += 2; + &skip; + } else { + $next += 2; + &skip; + } + } elsif($byte == 0x2c) { + $next += 10; + $temp = ord substr($pic,$next-1,1); + if($temp & 0x80) {$next += 3*2**(($temp & 0x07) + 1)}; + $next++; + &skip; + } else {return} + } +} +sub skip { + $byte = ord substr($pic,$next,1); + while($byte != 0) { + $next += $byte + 1; + $byte = ord substr($pic,$next,1); + } + $next++; + $byte = ord substr($pic,$next,1); +} +sub run { + &dbg("@_\n") if($opt_d); + $pm=`@_`; +} +sub geturl { + local($url)=@_; + &dbg("Retrieving $url"); + if($package{'libwww-perl'} || $package{'jfriedl'}) { + warn "\n"; + &gu(); + if($code==401) { + &prompt("\nDocument requires username and password\n\nUsername: ",$user); + &prompt("Password: ",$pass); + &gu($user,$pass); + } + $_[1]=$cont; + } elsif(defined $geturl) { + &dbg("..."); + $_[1]=`$geturl '$url'`; + if($?) { + &dbg("\n*** Error opening $url\n"); + return 0; + } + &dbg("done\n"); + if($_[1]=~/\r?\n\r?\n/) { + $_[1]=$'; + $dhead=$`; + ($code)=$dhead=~/HTTP\/\S+ +(\d+)/i; + ($contyp)=$dhead=~/Content-type:\s+(.*)/i; + } else { + $code=500; + } + } + $_[0]=$url; + $code<300; +} +sub gu { + if($package{'libwww-perl'}) { + require LWP::UserAgent; + $ua=new LWP::UserAgent; + $ua->env_proxy(); + if ($opt_k) { + require HTTP::Cookies; + $cookie_jar = HTTP::Cookies::Netscape->new(File => $opt_k, AutoSave => 1); + $ua->cookie_jar($cookie_jar); + } + $req = HTTP::Request->new(GET => $url); + $req->authorization_basic(@_) if(@_); + $ua->agent($spoof) if($spoof); + my $res = $ua->request($req); + $code=$res->code; + $contyp=$res->header('content-type'); + $cont=$res->content; + } else { + require "www.pl"; + @opts=@_?("authorization=$_[0]:$_[1]"):(); + push(@opts,"quiet") if(!$opt_d); + $www::useragent=$spoof if($spoof); + ($status,$memo,%info)=&www::open_http_url(*FILE,$url,@opts); + $code=$info{'CODE'}; + ($contyp)=$info{'HEADER'}=~/Content-type:\s+(.*)/i; + $cont=<FILE>; + } +} +sub pictops { + if($opt_g) { + $fc=1; + $pg1="pgm"; + $pg2="|ppmtopgm"; + } else { + $fc=3; + $pg1="ppm"; + $pg2=""; + } + ($type)=$URL=~/([^\?]+)\??/; + ($type)=$type=~/\.(\w+)$/; + $bm=""; + $ps=""; + $pm=""; + if($opt_U && $src{$URL} && !$cmd{$URL.$red.$grn.$blu}) { + $pic=$src{$URL}; + } elsif($URL=~m|://|) { + &geturl($URL,$pic) || return; + } else { + $flag=0; + if($opt_O) { + $orig=$URL; + unless($orig=~s/\.\w*$/.ps/) {$orig.=".ps"}; + if(open(ORIG,"$orig")) { + $pic=<ORIG>; + close ORIG; + if($pic=~/^%!/ && $pic=~/%%BoundingBox:/) { + $flag=1; + &dbg("Using $orig as original for $URL\n") if($opt_d); + } + } + } + if(!$flag) { + if(open(PIC,"$URL")) { + binmode PIC; + $pic=<PIC>; + close PIC; + } else { + &dbg("*** Error opening $URL\n"); + return; + } + } + } + $pic=~s/^[\n\r]*//; + &trans if($pic=~/^GIF/); + if($pic=~/^P[1-6]/) { + $pm=$pic; + } else { + open(SCRATCH,">$scr"); + binmode(SCRATCH); + print SCRATCH "$pic"; + close SCRATCH; + if($pic=~/^%!/ && $pic=~/%%BoundingBox: +$V +$V +$V +$V/) { + $xs=$3-$1; + $ys=$4-$2; + $ps="save\n0 0 M\nIS IS scale\n/showpage {}D\n".(0-$1)." ".(0-$2)." translate\n"; + for $i (split(/\n/,$pic)) { + $ps.=$i."\n" if($i && $i!~/^%/); + } + $ps.="restore"; + } elsif($type=~/.xbm$/i || $pic=~/^#define/) { + &xbmtops; + } elsif($package{'ImageMagick'}) { + if($package{'PerlMagick'}) { + $imobj=Image::Magick->new; + $mess=$imobj->Read($scr); + if($mess) { + &dbg("$mess\n"); + } else { + $mess=$imobj->Write("$scr\.$pg1"); + &dbg("$mess\n") if($mess); + } + undef $imobj; + } else { +# &run("convert $scr $pg1:-"); + &run("convert $scr $scr\.$pg1"); + } + open(PNM,"$scr\.$pg1"); + binmode PNM; + $pm=<PNM>; + close PNM; + if(!$pm && $pic=~/^\377\330/ && $package{'djpeg'}) { + &run("djpeg $scr$pg2"); + } + } elsif($pic=~/^\377\330/ && $package{'djpeg'}) { + &run("djpeg $scr$pg2"); + } elsif($package{'pbmplus'} || $package{'netpbm'}) { + if($pic=~/^GIF/) { + &run("$giftopm $scr"); + } else { + &run("anytopnm $scr"); + } + if($opt_g && $pm=~/^P6/) { + open(SCRATCH,">$scr"); + binmode(SCRATCH); + print SCRATCH $pm; + close SCRATCH; + &run("ppmtopgm $scr"); + } + } + } + &pmtops if(!$bm); + return if(!$bm); + $bm=substr($bm,0,$nd); + $pad=$nd-length($bm); + if($pad) {$bm.="f" x $pad}; + $bm=~s/(.{60})/$1\n/g; +} +sub math2sym { + local($_)=@_; + s/<math$R//gi; + for $char (keys %symb) {s/&($char)(;|$|(?=\W))/\\$symb{$char}/g}; + $stat=!/([&<][a-zA-Z]|[_^{])/; + s/[a-zA-Z\s]*[a-zA-Z][a-zA-Z\s]*/)ES()I($&)ES()SY(/g; + s/(\\200|\\201|\\202)/)RO($&)ES(/g; + $sym=")SY($_)ES("; + $stat; +} +sub varsub { + for (@_) { + s/\\\\/\000/g; + s/\([^)]+\)/()$&join /g; + s/(^|[^\\])\$(T|N|U|H|A)/$1)join $vars{$2} join(/g; + s/(^|[^\\])\$D\{"(.*?)"\}/"$1".POSIX::strftime($+,@now)/eg if($posix); + s/(^|[^\\])\$D/"$1".POSIX::strftime($datefmt,@now)/eg if($posix); +# while(/(?=[^\\])\${([^}]+)}/) { + while(/(?=[^\\])\$\[([^]]+)\]/) { + if(!defined $metarc{lc $1}) { + $metarc{lc $1}=$mn++; + } + $_="$`)join ME $metarc{lc $1} get join($'"; + } + s/\\\$/\$/g; + s/\000/\\\\/g; + s/\(\)join//g; + s/\(\) ?(\([^)]*\)|\w+) ?join/ $1/g; + } +} +sub follow { + return 0 if(!$opt_W); + $H=$lnk=~/\.html?(#|$)/i || $lnk=~m|.+//.+/[^/\.]*$|; + $T=$rev && ($revtoc && $ndoc==1 || $ndoc>1 && $H); + $L=$b1=~m|://| && $lnk=~m"^$b1(/|$)" || $b1!~m|://| && $lnk!~m|://|; + $B=$B2 && $lnk=~/^$B2/ || !$B2 && $lnk!~m"(^\.\.|://)"; + return $rlnk && ($H || $T) if($rel); + return $L && ($H || $T) if($local); + return $B && ($H || $T) if($below); + return $H || $T if($rev); + $H; +} +sub DSC { + &dbg("Generating DSC PostScript\n") if($opt_d); + %op=("moveto",2, "rmoveto",2, "lineto",2, "rlineto",2, "translate",2, + "scale",2, "show",1, "awidthshow",6, "stroke",0, "save",0, "restore",0, + "gsave",0, "grestore",0, "showpage",0, "newpath",0, "setlinewidth",1, + "setlinejoin",1, "setgray",1, "closepath",0, "fill",0, "arc",5, + "setrgbcolor",3, "rotate",1, "image",5, "colorimage",7); + %sho=("moveto","M", "rmoveto","RM", "lineto","L", "rlineto","RL", "show","S", + "showpage","N", "awidthshow","A"); + $i=0; + $po="/OU true D\n"; + for (keys %op) { + $cmd=$sho{$_}?$sho{$_}:$_; + push(@val,$cmd); + $in{$_}=$i++; + $j=$op{$_}+1; + $extra=""; + if(/showpage/) {$extra="Bb{Xl Yl Xh Yh}if Pn "}; + if(/image/) {$extra="K ";$j++}; + $t=$op{$_}?"$op{$_} copy $extra$in{$_} $j array astore":"[$extra$in{$_}]"; + $po.="/$_ {OU {$t ==} if $_}d\n"; + } + $po.="/pdfmark {$i] ==} D\n"; + $in{"pdfmark"}=$i++; + push(@val,"pdfmark"); + $po.="/NF {OU{2 copy E $i 3 array astore ==}if ONF}d\n" + ."/EX {[IS EC] ==} D\n/Cd {} D\n/DU {TU PM 1 eq and TP and{Pn ==}if}d\n" + ."/BB {US Bb{dup Yl lt{dup /Yl E D}if dup Yh gt{/Yh E D}{pop}ie\n" + ." dup Xl lt{dup /Xl E D}if dup Xh gt{/Xh E D}{pop}ie}\n" + ." {/Yl E D /Yh Yl D /Xl E D /Xh Xl D /Bb t D}ie}D\n"; + $in{"Nf"}=$i++; + s|/(NF.*)|/O$1|; + s|/BB .*|$po|; + push(@val,"Nf"); + if($psin) { + ($ti)=/%%Title: (.*)/; + if(m|/BM (\d+)|) { + $nbit=$1; + for $vec ("IT","WS") { + /\/$vec \[(.*)\]/; + @$vec=split(' ',$1); + } + /\nSB/; + for (0..$nbit-1) { + $'=~/\n\n/; + push(@BM,$`); + } + } + ($epsf)=/(\n\/P\d+_?\d* [\w\W]*)%Endpv/; + while($epsf=~/\n\/(P\d+_?\d*) \{/g) { + $pid=$1; + $rest=$'; + $temp=$'=~/\/P\d+_?\d* \{/?$`:$rest; + ($eps{$pid})=$temp=~/([\w\W]*)} D/; + } + if(/\/DH {/) { + $'=~/%EndDH/; + $ph="/DH {$`"; + } + } + $j=-1; + for $i (0..$#IT) { + $j++ if($IT[$i] == 0); + push(@ix,$j); + } + $dfn="/F $opt_s D\n$ph"; + for (keys %sho) { + $dfn.="/$sho{$_} {$_} d\n"; + } + + open(SCR,">$scr.ps"); + print SCR "$_ quit\n"; + close SCR; + $cd{')]'}="Cd "; + $io="($in{'image'}|$in{'colorimage'})"; + $_=""; + $temp=""; + $pn=""; + $start=1; + $EPS="%%EndPageSetup"; + $pp=0; + $n=0; + + for $line (split(/\r?\n/,`$gs -q -dNODISPLAY $scr.ps -c quit`)) { + if(!$pp) { + $mv=""; + $cx=""; + $cy=""; + } + if($start && $line!~/ $in{"pdfmark"}\]$/) { + $pdf=$temp; + $temp=""; + $start=0; + } + $pp=$line=~/^\[(\S+) (\S+) ($in{'moveto'}|$in{'rmoveto'}|$in{'Nf'})\]$/; + S:{ + if($pp && $3==$in{"Nf"}) { + $fn="$1 $2 $val[$3]\n"; + last S; + } + if($pp && $3==$in{"moveto"}) { + $cx=$1; + $cy=$2; + $mv=sprintf("%.1f %.1f %s\n",$1,$2,$val[$3]); + last S; + } + if($pp && $3==$in{"rmoveto"}) { + if($mv) { + $cx+=$1; + $cy+=$2; + $mv=sprintf("%.1f %.1f %s\n",$cx,$cy,$val[$in{"moveto"}]); + } else { + $temp.=sprintf("%.1f %.1f %s\n",$1,$2,$val[$3]) if($1||$2); + } + last S; + } + if($line=~s/^\[(.*)\((\S*)\) ($in{"showpage"})\]$/pgsave restore $val[$3]/) { + $pbb=""; + if($1) { + ($llx,$lly,$urx,$ury)=split(/ /,$1); + $llx=int($llx); + $lly=int($lly); + $urx=int($urx+1); + $ury=int($ury+1); + $pbb="%%PageBoundingBox: $llx $lly $urx $ury\n"; + if(!defined($Llx) || $llx<$Llx) {$Llx=$llx}; + if(!defined($Lly) || $lly<$Lly) {$Lly=$lly}; + if(!defined($Urx) || $urx>$Urx) {$Urx=$urx}; + if(!defined($Ury) || $ury>$Ury) {$Ury=$ury}; + } + $pn.="," if($pn && $2); + $n++; + @df=(); + for(0..$#docfonts) { + push(@df,$docfonts[$_]) if($uf{$_}==$n); + } + push(@df,"Symbol") if($uf{"-1"}==$n); + $fu=""; + $tmp=@df?"%%PageResources: font":""; + &splitline(@df); + $_.="%%Page: $pn$2 $n\n$fu$pbb%%BeginPageSetup\n/pgsave save D\n$temp$line\n"; + $EPS="%%EndPageSetup"; + $temp=""; + $line=""; + $fn=""; + $mv=""; + $pn=""; + last S; + } + if($line=~/^\[([^(]*)(\(.*\)) ($in{"show"}|$in{"awidthshow"})\]$/) { + if(length $2>2) { + $line="$fn$1$2 $val[$3]"; + if($fn=~/(\S+) Nf/ && $uf{$1}!=$n+1) { + $uf{$1}=$n+1; + $fnt=$1<0?"Symbol":$docfonts[$1]; + $line="%%IncludeResource: font $fnt\n$line"; + } + $fn=""; + $pp=0; + } else { + $pp=1; + } + last S; + } + if($line=~/^\[(\S+) (\S+) ($in{"scale"})\]$/) { + $line=$1!=1||$2!=1?"$1 $2 $val[$3]\n$EPS":"$EPS"; + $EPS=""; + last S; + } + if($line=~/^\[(.*) (\d+) $io\]$/) { + $li=$BM[$2]=~y/\n/\n/+2; + $line="\/picstr $WS[$ix[$2]] string D\n$1\n" + ."%%BeginData: $li Hex Lines\n$val[$3]\n$BM[$2]\n%%EndData"; + last S; + } + if($line=~/^\((.*)\)$/) { + $pn=$1; + $line=""; + last S; + } + last S if($line=~s/^\[([^\/].* )?(\d+)\]$/$1$val[$2]/); + last S if($line=~s/(\)\])? (\/\w+) $in{"pdfmark"}\]$/$1 $cd{$1}$2 pdfmark/); + last S if($line=~s/^\[(\S+) \((P\d+.*)\)\]$/\/IS $1 D\n$eps{$2}/); + &dbg("$line\n"); + } + if(!$pp && $mv.$line) { + $mv=~s/\.0//g; + $temp.="$mv$line\n"; + } + } + @nf=(); + @sf=(); + $fontdef=""; + for(0..$#docfonts) { + $ff=$ff{$docfonts[$_]}; + if($ff && $uf{$_}>0) { + push(@sf,$docfonts[$_]); + $fontdef.="%%BeginResource: font $docfonts[$_]\n$cont{$ff}\n%%EndResource\n"; + $cont{$ff}=""; + } + push(@nf,$docfonts[$_]) if(!$ff && $uf{$_}>0); + } + push(@nf,"Symbol") if($uf{"-1"}>0); + $ti="@ARGV" unless($psin); + $or=$opt_L?"Landscape":"Portrait"; + $setup="%%BeginSetup\n"; + $setup.="$dupl\n" if($dupl); + $setup.="$fontdef" if($fontdef); + $fu=""; + $tmp=@nf?"%%DocumentNeededResources: font":""; + &splitline(@nf); + $tmp=@sf?"%%DocumentSuppliedResources: font":""; + &splitline(@sf); + s/\\(200|201|202)/\\$ssy{$1}/g; + $dd="Clean7Bit"; + $dd="Clean8Bit" if(($fontdef.$_)=~/[\200-\377]/); + $dd="Binary" if(($fontdef.$_)=~/[\000-\010\013-\014\016-\036]/); + $time=localtime; + print <<EOT; +%!PS-Adobe-3.0 +%%Title: $title +%%Creator: $version +%%CreationDate: $time +$fu%%DocumentData: $dd +%%Orientation: $or +%%BoundingBox: $Llx $Lly $Urx $Ury +%%Pages: $n +%%EndComments +%%BeginProlog +/d {bind def} bind def +/D {def} d +/ie {ifelse} d +/E {exch} d +/t true D +/f false D +$fl +$cd +$defs +$mysymb/Nf {dup 0 ge{FL E get}{-1 eq{/Symbol}{/MySymbol}ie}ie findfont + E scalefont setfont} D +/IP {currentfile picstr readhexstring pop} D +/WF $wf D +$dfn%%EndProlog +$setup$reenc$pdf%%EndSetup +$_%%EOF +EOT +} +sub splitline { + for (@_) { + if(length($tmp.$_)>78) { + $fu.="$tmp\n"; + $tmp="%%+ font"; + } + $tmp.=" $_"; + } + $fu.="$tmp\n" if($tmp); +} +sub ref { + @pnum=(); + /.*\s*$/; + open(SCR,">$scr.ps"); + print SCR "$`HN{==}forall $& quit\n"; + close SCR; + $pnum=`$gs -q -dNODISPLAY $scr.ps -c quit`; + while($pnum=~/\([^)]*\)/g) {push(@pnum,$&)}; + $pnum="@pnum"; + &cut($pnum); + s|/HN [^D]*D|/HN [$pnum] D|; +} +sub cut { + $_[0]=~s/(.{70}[^ \n]*) ([^ ])/$1\n$2/g; +} +sub fin { + if($opt_D) { + &DSC; + } else { + print; + } + if($opt_d) { + print DBG "\n"; + close DBG; + } + unlink "$scr","$scr.ps","$scr.ppm","$scr.tex","$scr.dvi","$scr.log" if($scr); + exit; +} +sub col2rgb { + $rgb=$colour{"\L$_[0]"}?($colour{"\L$_[0]"}):$_[0]; + @cvec=$rgb=~/($X$X)($X$X)($X$X)/?($1,$2,$3):(); + @cvec?"[16#$1 16#$2 16#$3]":""; +} +sub inihyph { + if($hyphenation_file{$lang}) { + $hyfile=$hyphenation_file{$lang}; + } else { + &dbg("No hyphenation file for language '$lang'\n"); + $lng=$lang; + while($lng=~s/-?[^-]+$// && !$hyphenation_file{$lng}) {}; + $hyfile=$hyphenation_file{$lng}; + &dbg(" ..using $hyfile\n"); + } + if($init{$hyfile}) { + $rep{$lang}=$refl{$hyfile}; + return; + } + if(open(HYPH,$hyfile)) { + &dbg("Reading hyphenation patterns from $hyfile\n") if($opt_d); + <HYPH>=~/\\patterns{.*/; + close HYPH; + $def=$`; + ($patterns=$')=~s/\^\^($X$X)/chr hex $1/eg; + $upp{$lang}=''; + $low{$lang}=''; + while ($def=~/\\lccode(`\\?\^\^|")($X$X)=(`\\?\^\^|")($X$X)/g) { + if($2 ne $4) { + $uc=$2; + $lc=$4; + if($`=~/\n$/ || $`!~/%.*$/) { + $upp{$lang}.=chr hex $uc; + $low{$lang}.=chr hex $lc; + } + } + } + while ($def=~/\\let\\(\w+)=(\^\^|")($X$X)/g) { + $key=$1; + $value=chr hex $3; + $tex{$key}=$value if($`=~/\n$/ || $`!~/%.*$/); + } + for $key (keys %tex) { + $patterns=~s/\\$key */$tex{$key}/g; + } + if($lang=~/^de/) { + %de=('"a',228, '"o',246, '"u',252, '\3', 223); + $patterns=~s/\\c\{[^}]*\}//g; + $patterns=~s/\\n\{([^}]*)\}/$1/g; + $patterns=~s/("a|"o|"u|\\3)/chr $de{$1}/eg; + $upp{"de"}=~s/\337//; + $low{"de"}=~s/\377//; + } + if($lang=~/^is/ && !$upp{"is"}) { + %is=("'a","\341", "'e","\351", "'i","\355", "'o","\363", "'u","\372", + "'y","\375", '"x',"\346", '"o',"\366", "'d","\360", "`t","\376"); + $isch=join("|",keys %is); + $patterns=~s/($isch)/$is{$1}/g; + $upp{"is"}="\301\311\315\323\332\335\306\326\336\320"; + $low{"is"}="\341\351\355\363\372\375\346\366\376\360"; + } + if($lang=~/^fi/ && !$upp{"fi"}) { + $upp{"fi"}="\304\326"; + $low{"fi"}="\344\366"; + } + if($lang=~/^fr/ && !$upp{"fr"}) { + $upp{"fr"}="\300\302\307\311\310\312\313\316\317\324\326\333\226"; + $low{"fr"}="\340\342\347\351\350\352\353\356\357\364\366\373\225"; + } + if($lang=~/^es/ && !$upp{"es"}) { + $upp{"es"}="\301\311\315\323\321\332\334"; + $low{"es"}="\341\351\355\363\361\372\374"; + } + $patterns=~s/\{([\w\W]*?)\}/[$1]/g; + $patterns=~/}/; + $end=$`; + if($def.$'=~/\\hyphenation\[.*/) { + $'=~/]/; + $hyext=$`; + } + ($patterns=$end)=~s/%.*//g; + for $key (split('\s+',$patterns)) { + $value=$key; + $key=~s/\d//g; + $value=~s/^([$ltrs.])/0$1/; + $value=~s/[$ltrs](\d)/$1/g; + $value=~s/[$ltrs.]/0/g; + $patt{"$key,$lang"}=$value if($value=~/^\d+$/); + } + } else { + &dbg("Cannot open hyphenation file: $hyfile\n"); + } + $hext=$hyphenation_extfile{$lang}; + for(split('\s*:\s*',$hext)) { + if(open(HEXT,$_)) { + &dbg("Reading hyphenation extensions from $_\n") if($opt_d); + $hyext.=<HEXT>; + close HEXT; + } else { + &dbg("Cannot open hyphenation extension file: $_\n"); + } + } + if($hyext) { + for $key (keys %tex) { + $hyext=~s/$key */$tex{$key}/g; + } + for $key (split('\s+',$hyext)) { + $key=~s/\s+//g; + $value="00$key\0"; + $key=~s/-//g; + $value=~s/[$ltrs]/0/g; + $value=~s/0-/1/g; + $hext{"$key,$lang"}=$value; + } + } + $refl{$hyfile}=$lang; + $rep{$lang}=$lang; + $init{$hyfile}=1; +} +sub hyph { + $word="\L$_[0]"; + eval "\$word=~y/$upp{$rep{$lang}}/$low{$rep{$lang}}/" if($upp{$rep{$lang}}); + $len=length($word); + $h=$hext{"$word,$rep{$lang}"}; + if($h) { + @br=split(//,$h); + } else { + @br=(0) x ($len+3); + for $i (0..$len) { + for $j (0..$len-$i) { + $str=substr(".$word.",$j,$i+2); + $pstr=$patt{"$str,$rep{$lang}"}; + if($pstr) { + @patt=split(//,$pstr); + for $k (0..$#patt) { + $br[$k+$j]=$patt[$k] if($br[$k+$j]<$patt[$k]); + } + } + } + } + } + $hword=""; + for $i (0..$len-1) { + $hword.=substr($_[0],$i,1); + if(($h || $i>$hyphenation{'start'}-2 && $i<$len-$hyphenation{'end'}) + && $br[$i+2]%2==1) {$hword.=")HY("}; + } + $hword.=")YH(" if(length $word < length $hword); + $hword; +} +sub setel { + $el=$_[0]; + eval "\%arr=\%$el"; + &fs($el); + push(@font,$fontid{"\L$font"}); + push(@styl,$styl); + push(@size,$arr{'font-size'}); + push(@alig,$algn{$arr{'text-align'}}-1); + push(@topm,$arr{'margin-top'}); + push(@botm,$arr{'margin-bottom'}); + push(@lftm,$arr{'margin-left'}); + push(@rgtm,$arr{'margin-right'}); + push(@colr,$col eq "[16#00 16#00 16#00]"?0:$col); + $temp=$arr{'margin-top'}*$arr{'font-size'}; + $mi=$temp if($temp>$mi); + $temp=$arr{'margin-bottom'}*$arr{'font-size'}; + $mi=$temp if($temp>$mi); +} +sub fs { + $arr{'font-family'}='times' if($el ne 'p' && !$latin1 && !defined $arr{$_}); + for ("font-family","font-size") { + $arr{$_}=$body{$_} if(!defined $arr{$_}); + } + ($font=$arr{'font-family'})=~s/\W/-/g; + if(!$font_names{"\L$font"}) {$font=$fal{$font}}; + if(!$font_names{"\L$font"}) { + &dbg("Unknown font: $arr{'font-family'}, using $deffnt{$_[0]}\n"); + $font=$deffnt{$_[0]}; + } + if(!defined $fontid{"\L$font"}) { + $fontid{"\L$font"}=$nfont++; + @names=split(/\s+/,$font_names{"\L$font"}); + for($#names+1..3) {push(@names,$names[0])}; + @docfonts=(@docfonts,@names); + } + &getval($arr{"font-size"},2); + for ('left','right','top','bottom') { + $arr{"margin-$_"}=0 if(!defined $arr{"margin-$_"}); + } + for ($arr{"text-indent"},$arr{"margin-top"},$arr{"margin-bottom"}, + $arr{"margin-left"},$arr{"margin-right"}) { + &getval($_,0); + } + $styl=$arr{'font-style'}=~/^(i|o)/+2*($arr{'font-weight'}=~/^b/); + $col=$arr{'color'}?&col2rgb($arr{'color'}):-1; +} +sub img { + local($_,$red,$grn,$blu)=@_; + local($beg,$end); + ($red,$grn,$blu)=("FF","FF","FF") if(!$opt_U); + while (/<(img|fig|hr|overlay|object)\s/i) { + $imgcmd="\L$1"; + $beg=$`; + $'=~/>/; + $img=" $`"; + $end=$'; + $img=~s/\n/ /g; + if($imgcmd ne "object" || $img=~/data\s*=\s*['"]?([\w\/\.:~%-]+\.$IM)/i + || $img=~/type\s*=\s*['"]?(image\/|application\/postscript)/i){ + if($opt_T) { + &getalt; + } else { + $al=0; + $off=""; + ($align)=$img=~/align\s*=\s*['"]?(\w*)/i; + if($align=~/^middle$/i) {$al=1}; + if($align=~/^top$/i) {$al=2}; + if($imgcmd eq "overlay") { + $al=4; + $xoff=0; + $yoff=0; + if($img=~/\s*x\s*=\s*['"]?(\d+)/i) {$xoff=$1}; + if($img=~/\s*y\s*=\s*['"]?(\d+)/i) {$yoff=$1}; + $off="$xoff $yoff "; + } + $url=""; + if($img=~/\s(src|data)\s*=\s*($S)/i) {($url)=$+=~/([^ \n]*)/}; + &dbg("Image: $url\n") if($opt_d && $url); + $URL=$url; + unless($url=~m|://|) { + $url=~s/^file://; + if($url=~m|^/|) {$URL=$b1.$url} else {$URL=$b2.$url} + } + while($URL!~m|^\.\./| && $URL=~m|[^/]*/\.\./|) {$URL=$`.$'}; + $URL=~s|/\./|/|g; + $text=$src{$URL}?$cmd{$URL.$red.$grn.$blu}:$cmd{$URL}; + if(!$text || $opt_U && $src{$URL} && !$cmd{$URL.$red.$grn.$blu}) { + if(!$url || $failed{$url}) { + &getalt; + } else { + &pictops; + if($bm || $ps) { + &dbg("Size: $xs*$ys\n") if($opt_d); + $nimg++; + push(@XS,$xs); + push(@YS,$ys); + if($bm) { + $nm++; + push(@DP,$dp); + push(@BM,$bm); + push(@WS,int(($xs-1)*$dp/8)+1); + push(@FC,$fc); + push(@IX,$nm); + push(@IT,0); + } + if($ps) { + $nps--; + push(@IX,$nps); + push(@IT,1); + $nli=30000; + $n=1; + $npr=$ps=~s|(.*\n){$nli}|sprintf("$&} D\n/P$nimg\_%d {",$n++)|eg; + if($npr) { + $proc=" ("; + for $i (0..$npr) { + $proc.="P$nimg\_$i "; + } + $proc.=")"; + $pv.="/P$nimg\_0 {$ps} D\n"; + $eps{"P$nimg\_0"}=$ps; + } else { + $proc=" (P$nimg)"; + $pv.="/P$nimg {$ps} D\n"; + $eps{"P$nimg"}=$ps; + } + } + $text="$proc $nimg IM("; + $cmd{$URL}=$text if(!$cmd{$URL}); + $cmd{$URL.$red.$grn.$blu}=$text if($src{$URL}); + $proc=""; + $end=$' if($imgcmd eq "object" && $end=~m|</object>|i); + } else { + &getalt; + $failed{"$url"}=1; + } + } + } elsif($imgcmd eq "object" && $end=~m|</object>|i) { + $end=$'; + } + } + if($cmd{$URL}) { + $text=")".$off.$al.$text; + if($imgcmd eq "fig") { + $end=~m|</fig>|i; + $fig=$`; + $end=$'; + $over=""; + while($fig=~/(<overlay$R)/ig) {$over.=$1}; + ($dum,$cap)=$fig=~m|<caption$R([\w\W]*)</caption>|i; + ($dum,$cred)=$fig=~m|<credit$R([\w\W]*)</credit>|i; + $text=")BN($text$over)BN($cap)BN($cred)BN("; + } + } + } + $_=$beg.$text.$end; + } + s|<[hH][rR]$R|)2 1 1 HR(|g; + $_[0]=$_; +} +sub getval{ + local($val,$unit)=$_[0]=~/$V\s*(\w*)/g; + $val*=$cm{$unit} if($_[1]==1 && defined $cm{$unit}); + $val*=$pt{$unit} if($_[1]==2 && defined $pt{$unit}); + $_[0]=$val; +} +sub getconf { + local($_)=@_; + while(/\@import\s+(([\w.\/-]+)|"([^"]*)"|'([^']*)')\s*;/) { + if(open(SS,$+) && !$read{$+}) { + $conf=<SS>; + $_=$`.$conf.$'; + print DBG "***** $+:\n$conf" if($opt_d); + close SS; + $read{$+}=1; + } else { + &dbg($read{$+}?"Infinite \@import loop: $+\n":"Error opening: $+\n"); + $_=$`.$'; + } + } + @block=(); + while(&getblk($_)){}; +} +sub getblk { + local($_)=@_; + local ($beg,$match,$end,$blk,$key,$val,$id,$temp); + while(/^\s*\/\*/) { + /\*\/|$/; + $_=$'; + } + return 0 if !/\S/; + /[\w,:.@\s-]+\{/; + $_=$'; + ($id=$&)=~s/^\s*|\s*\{//g; + $id=lc $id; + push(@block,"\L$id"); + if($#block==1) { + $valid{$id}=1 if(!$user); + if($id eq "color") {$id="colour"}; + if(!$valid{$id}) { + &dbg("Error in configuration file: unknown block name '$id'\n"); + } + } + $blk=""; + W:while(/\s*(\/\*|[\w][\w-]*\s*:|[\w,:.\s-]+\{|\})\s*/) { + $blk.=$1 if($1 ne "/*"); + $beg=$`; + $match=$1; + $end=$'; + S:{ + if($match=~/\{$/) { + $temp=$match.$end; + $blk.=&getblk($temp); + $_=$temp; + last S; + } + if($match=~/:$/) { + ($key=$`)=~s/\s*$//; +# $end=~/([\w.\$-]+|"[^"]*"|'[^']*')\s*;?/; + $end=~/("[^"]*"|'[^']*'|.*?(?= *(\/\*|;|}|$)))/m; + $blk.=$`.$&; + $_=$'; + ($val=$1)=~s/^["']|["']$//g; + $val=~s/'|\\/\\$&/g; + $typ=1; + $typ=2 if($val=~/^$V(cm|mm|in|pt|pc|em)$/); + $typ=3 if($val=~/^$V$/); + $typ=4 if($val=~/^-?\d+$/); + $typ=5 if($val eq "0" || $val eq "1"); + if($block[0] eq '@html2ps') { + if($#block==0) { + if(!$user) { + $valid{$key}=1; + $type{$key}=$typ if(!defined $type{$key}); + } + if($valid{$key}) { + if($typ>=$type{$key}) { + $key=~s/-/_/g; + eval "\$$key='$val'" if($user || $val ne ''); +# print DBG "\$$key='$val'\n" if($opt_d && $user); + } elsif($user) { + &dbg("Error in configuration file: bad value for $key: $val\n"); + } + } else { + &dbg("Error in configuration file: unknown key '$key'\n"); + } + } + if($#block==1) { + if($id eq "option" && $optalias{$key}) {$key=$optalias{$key}}; + if(!$user) { + $valid{"$id,$key"}=1; + $type{"$id,$key"}=$typ if(!defined $type{"$id,$key"}); + } + if($valid{"$id,$key"} || $extend{$id}) { + if($typ>=$type{"$id,$key"} || $id eq "colour") { + eval "\$$id\{'$key'}='$val'" if($user || $val ne ''); +# print DBG "\$$id\{'$key'}='$val'\n" if($opt_d && $user); + } elsif($user) { + &dbg("Error in configuration file: bad value for $key: $val\n"); + } + } else { + &dbg("Error in block '$id' in configuration file:" + ." unknown key '$key'\n"); + } + } + if($#block>1) { + $temp="$block[$#block-1]_$key"; + $valid{$temp}=1 if(!$user); + $parblk=$block[$#block-1]; + if($valid{$temp}) { + eval "\$$parblk\_$key\{'$id'}='$val'"; +# print DBG "\$$parblk\_$key\{'$id'}='$val'\n" if($opt_d && $user); + } elsif($valid{$parblk}) { + &dbg("Error in block '$parblk' in configuration file:" + ." unknown key '$key'\n"); + } + } + } else { + for $i (split(',\s*',$id)) { + $i=~s/@/AT_/; + $i=~s/\./_/; + $i=~s/ *:/__/; + eval "\$$i\{'\L$key'}='\L$val'"; +# print DBG "\$$i\{'\L$key'}='\L$val'\n" if($opt_d && $user); + } + } + last S; + } + if($match eq "/*") { + /\*\/|$/; + $_=$'; + last S; + } + last W; + } + } + pop(@block); + $_[0]=$end; + $blk; +} +sub prompt { + local($/)="\n"; + &dbg($_[0]); + chop($_[1]=<STDIN>); +} +sub dbg { + print STDERR $_[0]; + print DBG $_[0]; +} +sub hb { + local($_)=@_; + local($head,$body,$beg,$end,$match,$tag); +#If neither </HEAD> nor <BODY> can be found, find the separation point (messy). + if(!/<(body|\/head)/i || $`=~/<plaintext|<xmp|<listing|<!--/i) { + $head=""; + $int=""; + S1: while(/<(\/?\w+|!--|!|\?)/) { + S2:{ + $beg=$`; + $end=$'; + $match=$&; + $tag=$1; + if($tag eq "!--") { + $int.=$`; + &getcom; + $int.=$com; + $_=$rest; + last S2; + } + if($tag=~/[!?]/) { + $end=~/>/; + $int.="$beg$match$`>"; + $_=$'; + last S2; + } + $tag=~s|/||; + last S1 if(!$head{"\L$tag"}); + $end=~/$R/; + $head.=$int.$beg.$match.$&; + $int=""; + $_=$'; + } + } + $body=$int.$_; + } else { + $head=$`; + $body=$&.$'; + } + $_[0]=$body; + $_[1]=$head; +} +sub open { + if($_[0]=~m|://|) { + &geturl($_[0],$_[1]); + } elsif(open(FILE,$_[0])) { + $_[1]=<FILE>; + close FILE; + } else { + 0; + } +} +sub pagedef { + for $margin ('left','right','top','bottom') { + ($m)=$margin=~/(.)/; + if(defined $margin{$margin}) { + &dbg("'margin { margin-$margin:... }' is obsolete, use '\@page'\n"); + $AT_page{"margin-$margin"}=$margin{$margin} if(!defined $AT_page{"margin-$margin"}); + } + for $page ('left','right') { + ($p)=$page=~/(.)/; + eval "\$m$m$p=\$AT_page\{'margin'} if(defined \$AT_page\{'margin'})"; + eval "\$m$m$p=\$AT_page\{'margin-$margin'} if(defined \$AT_page\{'margin-$margin'})"; + eval "\$m$m$p=\$AT_page__$page\{'margin'} if(defined \$AT_page__$page\{'margin'})"; + eval "\$m$m$p=\$AT_page__$page\{'margin-$margin'} if(defined \$AT_page__$page\{'margin-$margin'})"; + } + } +} +sub pmtoraw { + @pars=(); + ($temp)=@_; + for $i (0..3) { + 1 while ($temp=~s/^\s*#.*//); + next if($pars[0] eq 'P1' && $i == 3); + $temp=~s/\s*(\S+)\s*//; + $pars[$i]=$1; + } + $temp=~s/#.*//g; + $pars[0]=~s/\d/$&+3/e; + $_[0]="$pars[0]\n$pars[1] $pars[2]\n"; + if($pars[0] eq 'P4') { + $temp=~s/\s//g; + $_[0].=pack("B*",$temp); + } else { + $_[0].="255\n"; + while ($temp=~/\d+/g) { + $_[0].=pack("C",int(255*$&/$pars[3]+.5)); + } + } +} diff --git a/scripts/html2psrc b/scripts/html2psrc new file mode 100755 index 00000000..e02c2d03 --- /dev/null +++ b/scripts/html2psrc @@ -0,0 +1,62 @@ +/* This is a sample configuration file for html2ps. You may try using this + to convert the documentation file that comes with html2ps (html2ps.html). + Issue the command: + + html2ps -f sample -o html2ps.ps html2ps.html + + This should create a PostScript file html2ps.ps formatted based on the + information below. +*/ + +@html2ps { + header { /* Running page header */ + odd-left: $T; /* Document title */ + odd-right: $H; /* Current main heading */ + even-left: $H; /* Ditto */ + even-right: "$[author]"; /* Document author (from <META NAME="Author"...>) */ + } + footer { /* Running page footer */ + center: "- $N -"; /* Page number */ + } + option { + toc: bh; /* Generate a table of contents, based on headings */ + titlepage: 1; /* Generate a title page */ + } + titlepage { /* The title page content: document title, author and + creation date */ + content: "<DIV align=center><H1><BIG>$T</BIG></H1> + <H2>$[author]</H2>$[created]"; + } + package { + djpeg: 1; + } + toc { + heading: "TABLE OF CONTENTS"; + } + showurl: 1; /* Show URL:s for external links */ + seq-number: 1; /* Automatic numbering of headings */ +} + +/* Standard style sheet definitions */ +P { text-align: justify } +H1, H2, H3, H4, H5, H6 { font-family: Helvetica; font-weight: bold } +/* H1 { font-size: 19pt; text-align: center } */ +H1 { font-size: 19pt; } +H3, H5 { font-style: oblique } +H2, H3 { font-size: 16pt } +H4, H5 { font-size: 13pt } +H6 { font-size: 11pt } +ADDRESS { text-align: right } +@page:left { + margin-left: 2cm; + margin-right: 3cm; + type: a4; +} +@page:right { + margin-left: 3cm; + margin-right: 2cm; +} +BODY { + font-family: Helvetica; + text-align: justify +} \ No newline at end of file diff --git a/doc/makerfc b/scripts/makerfc similarity index 79% rename from doc/makerfc rename to scripts/makerfc index 7da14455..cdc0bdb1 100755 --- a/doc/makerfc +++ b/scripts/makerfc @@ -6,4 +6,4 @@ # # Usage: makerfc <input_file> <output_file> # -nroff -ms $1 | perl fix.pl > $2 +nroff -ms $1 | perl ./fix.pl > $2 -- 2.24.0