commit 7d3e6d8cdb8aafcaf84a890b9363adfc827b0cd9
Author: Eric Christensen <sparks(a)fedoraproject.org>
Date: Wed Aug 21 16:20:48 2013 -0400
Publishing ARG
fedoradocs.db | Bin 982016 -> 983040 bytes
public_html/Sitemap | 24 +
public_html/as-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/as-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/as-IN/opds-Fedora_Core.xml | 2 +-
.../as-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/as-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/as-IN/opds.xml | 14 +-
public_html/as-IN/toc.html | 13 +-
public_html/bg-BG/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/bg-BG/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/bg-BG/opds-Fedora_Core.xml | 2 +-
.../bg-BG/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/bg-BG/opds-Fedora_Security_Team.xml | 2 +-
public_html/bg-BG/opds.xml | 14 +-
public_html/bg-BG/toc.html | 13 +-
public_html/bn-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/bn-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/bn-IN/opds-Fedora_Core.xml | 2 +-
.../bn-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/bn-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/bn-IN/opds.xml | 14 +-
public_html/bn-IN/toc.html | 13 +-
public_html/bs-BA/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/bs-BA/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/bs-BA/opds-Fedora_Core.xml | 2 +-
.../bs-BA/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/bs-BA/opds-Fedora_Security_Team.xml | 2 +-
public_html/bs-BA/opds.xml | 14 +-
public_html/bs-BA/toc.html | 13 +-
public_html/ca-ES/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ca-ES/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ca-ES/opds-Fedora_Core.xml | 2 +-
.../ca-ES/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ca-ES/opds-Fedora_Security_Team.xml | 2 +-
public_html/ca-ES/opds.xml | 14 +-
public_html/ca-ES/toc.html | 13 +-
public_html/cs-CZ/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/cs-CZ/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/cs-CZ/opds-Fedora_Core.xml | 2 +-
.../cs-CZ/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/cs-CZ/opds-Fedora_Security_Team.xml | 2 +-
public_html/cs-CZ/opds.xml | 14 +-
public_html/cs-CZ/toc.html | 13 +-
public_html/da-DK/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/da-DK/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/da-DK/opds-Fedora_Core.xml | 2 +-
.../da-DK/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/da-DK/opds-Fedora_Security_Team.xml | 2 +-
public_html/da-DK/opds.xml | 14 +-
public_html/da-DK/toc.html | 13 +-
public_html/de-DE/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/de-DE/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/de-DE/opds-Fedora_Core.xml | 2 +-
.../de-DE/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/de-DE/opds-Fedora_Security_Team.xml | 2 +-
public_html/de-DE/opds.xml | 14 +-
public_html/de-DE/toc.html | 13 +-
public_html/el-GR/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/el-GR/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/el-GR/opds-Fedora_Core.xml | 2 +-
.../el-GR/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/el-GR/opds-Fedora_Security_Team.xml | 2 +-
public_html/el-GR/opds.xml | 14 +-
public_html/el-GR/toc.html | 13 +-
.../Fedora-19-Amateur_Radio_Guide-en-US.epub | Bin 0 -> 14401556 bytes
.../Common_Content/css/common.css | 1528 ++++++++
.../Common_Content/css/default.css | 3 +
.../Common_Content/css/lang.css | 2 +
.../Common_Content/css/overrides.css | 51 +
.../Common_Content/css/print.css | 16 +
.../Common_Content/images/1.png | Bin 0 -> 710 bytes
.../Common_Content/images/1.svg | 27 +
.../Common_Content/images/10.png | Bin 0 -> 985 bytes
.../Common_Content/images/10.svg | 31 +
.../Common_Content/images/11.png | Bin 0 -> 810 bytes
.../Common_Content/images/11.svg | 31 +
.../Common_Content/images/12.png | Bin 0 -> 1012 bytes
.../Common_Content/images/12.svg | 31 +
.../Common_Content/images/13.png | Bin 0 -> 1048 bytes
.../Common_Content/images/13.svg | 31 +
.../Common_Content/images/14.png | Bin 0 -> 914 bytes
.../Common_Content/images/14.svg | 31 +
.../Common_Content/images/15.png | Bin 0 -> 989 bytes
.../Common_Content/images/15.svg | 31 +
.../Common_Content/images/16.png | Bin 0 -> 1047 bytes
.../Common_Content/images/16.svg | 31 +
.../Common_Content/images/17.png | Bin 0 -> 888 bytes
.../Common_Content/images/17.svg | 31 +
.../Common_Content/images/18.png | Bin 0 -> 1075 bytes
.../Common_Content/images/18.svg | 31 +
.../Common_Content/images/19.png | Bin 0 -> 1049 bytes
.../Common_Content/images/19.svg | 31 +
.../Common_Content/images/2.png | Bin 0 -> 896 bytes
.../Common_Content/images/2.svg | 27 +
.../Common_Content/images/20.png | Bin 0 -> 1151 bytes
.../Common_Content/images/20.svg | 31 +
.../Common_Content/images/21.png | Bin 0 -> 994 bytes
.../Common_Content/images/21.svg | 31 +
.../Common_Content/images/22.png | Bin 0 -> 1162 bytes
.../Common_Content/images/22.svg | 31 +
.../Common_Content/images/23.png | Bin 0 -> 1207 bytes
.../Common_Content/images/23.svg | 31 +
.../Common_Content/images/24.png | Bin 0 -> 1081 bytes
.../Common_Content/images/24.svg | 31 +
.../Common_Content/images/25.png | Bin 0 -> 1173 bytes
.../Common_Content/images/25.svg | 31 +
.../Common_Content/images/26.png | Bin 0 -> 1208 bytes
.../Common_Content/images/26.svg | 31 +
.../Common_Content/images/27.png | Bin 0 -> 1080 bytes
.../Common_Content/images/27.svg | 31 +
.../Common_Content/images/28.png | Bin 0 -> 1225 bytes
.../Common_Content/images/28.svg | 31 +
.../Common_Content/images/29.png | Bin 0 -> 1196 bytes
.../Common_Content/images/29.svg | 31 +
.../Common_Content/images/3.png | Bin 0 -> 958 bytes
.../Common_Content/images/3.svg | 27 +
.../Common_Content/images/30.png | Bin 0 -> 1250 bytes
.../Common_Content/images/30.svg | 31 +
.../Common_Content/images/31.png | Bin 0 -> 1078 bytes
.../Common_Content/images/31.svg | 31 +
.../Common_Content/images/32.png | Bin 0 -> 1241 bytes
.../Common_Content/images/32.svg | 31 +
.../Common_Content/images/33.png | Bin 0 -> 1268 bytes
.../Common_Content/images/33.svg | 31 +
.../Common_Content/images/34.png | Bin 0 -> 1175 bytes
.../Common_Content/images/34.svg | 31 +
.../Common_Content/images/35.png | Bin 0 -> 1224 bytes
.../Common_Content/images/35.svg | 31 +
.../Common_Content/images/36.png | Bin 0 -> 1281 bytes
.../Common_Content/images/36.svg | 31 +
.../Common_Content/images/37.png | Bin 0 -> 1140 bytes
.../Common_Content/images/37.svg | 31 +
.../Common_Content/images/38.png | Bin 0 -> 1300 bytes
.../Common_Content/images/38.svg | 31 +
.../Common_Content/images/39.png | Bin 0 -> 1294 bytes
.../Common_Content/images/39.svg | 31 +
.../Common_Content/images/4.png | Bin 0 -> 849 bytes
.../Common_Content/images/4.svg | 27 +
.../Common_Content/images/40.png | Bin 0 -> 1130 bytes
.../Common_Content/images/40.svg | 31 +
.../Common_Content/images/5.png | Bin 0 -> 900 bytes
.../Common_Content/images/5.svg | 27 +
.../Common_Content/images/6.png | Bin 0 -> 929 bytes
.../Common_Content/images/6.svg | 27 +
.../Common_Content/images/7.png | Bin 0 -> 807 bytes
.../Common_Content/images/7.svg | 27 +
.../Common_Content/images/8.png | Bin 0 -> 962 bytes
.../Common_Content/images/8.svg | 27 +
.../Common_Content/images/9.png | Bin 0 -> 936 bytes
.../Common_Content/images/9.svg | 27 +
.../Common_Content/images/bkgrnd_greydots.png | Bin 0 -> 157 bytes
.../Common_Content/images/bullet_arrowblue.png | Bin 0 -> 177 bytes
.../Common_Content/images/documentation.png | Bin 0 -> 623 bytes
.../Common_Content/images/dot.png | Bin 0 -> 98 bytes
.../Common_Content/images/dot2.png | Bin 0 -> 98 bytes
.../Common_Content/images/green.png | Bin 0 -> 176 bytes
.../Common_Content/images/h1-bg.png | Bin 0 -> 565 bytes
.../Common_Content/images/image_left.png | Bin 0 -> 1114 bytes
.../Common_Content/images/image_right.png | Bin 0 -> 2260 bytes
.../Common_Content/images/important.png | Bin 0 -> 2080 bytes
.../Common_Content/images/important.svg | 106 +
.../Common_Content/images/logo.png | Bin 0 -> 1114 bytes
.../Common_Content/images/note.png | Bin 0 -> 1241 bytes
.../Common_Content/images/note.svg | 111 +
.../Common_Content/images/red.png | Bin 0 -> 163 bytes
.../Common_Content/images/shade.png | Bin 0 -> 101 bytes
.../Common_Content/images/shine.png | Bin 0 -> 146 bytes
.../Common_Content/images/stock-go-back.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-forward.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-up.png | Bin 0 -> 760 bytes
.../Common_Content/images/stock-home.png | Bin 0 -> 808 bytes
.../Common_Content/images/title_logo.png | Bin 0 -> 13399 bytes
.../Common_Content/images/title_logo.svg | 61 +
.../Common_Content/images/warning.png | Bin 0 -> 1340 bytes
.../Common_Content/images/warning.svg | 89 +
.../Common_Content/images/watermark-draft.png | Bin 0 -> 25365 bytes
.../Common_Content/images/yellow.png | Bin 0 -> 175 bytes
.../images/Installing_Software/Install-1.png | Bin 0 -> 291328 bytes
.../images/Installing_Software/Install-2.png | Bin 0 -> 69882 bytes
.../images/Installing_Software/Install-3.png | Bin 0 -> 71076 bytes
.../images/Installing_Software/Install-4.png | Bin 0 -> 75265 bytes
.../images/Installing_Software/Install-5.png | Bin 0 -> 6324 bytes
.../images/Installing_Software/Install-7.png | Bin 0 -> 103301 bytes
.../images/Installing_Software/Install-8.png | Bin 0 -> 8764 bytes
.../images/Installing_Software/Install-9.png | Bin 0 -> 9366 bytes
.../images/Installing_Software/PKicon.png | Bin 0 -> 13121 bytes
.../images/antenna-splat/AR-SPLAT1-large.png | Bin 0 -> 4290869 bytes
.../images/antenna-splat/AR-SPLAT1-legend.png | Bin 0 -> 24959 bytes
.../images/antenna-splat/AR-SPLAT1-small.png | Bin 0 -> 272374 bytes
.../images/antenna-splat/AR-SPLAT2-small.png | Bin 0 -> 803536 bytes
.../images/antenna-splat/AR-SPLAT3-small.png | Bin 0 -> 868410 bytes
.../images/antenna-xnec2c/Yagi.png | Bin 0 -> 524214 bytes
.../images/antenna-xnec2c/xnec2c-plots.png | Bin 0 -> 59045 bytes
.../images/antenna-xnec2c/xnec2c-radiation.png | Bin 0 -> 37666 bytes
.../images/antenna-xnec2c/xnec2c-structure.png | Bin 0 -> 32567 bytes
.../images/antenna-xnec2c/xnec2c.png | Bin 0 -> 66813 bytes
.../images/circuit-geda/gEDA.png | Bin 0 -> 62012 bytes
.../images/circuit-gerbv/gerbv.png | Bin 0 -> 93666 bytes
.../images/circuit-gspiceui/gspiceui.png | Bin 0 -> 70334 bytes
.../Amateur_Radio_Guide/images/circuit-pcb/PCB.png | Bin 0 -> 73934 bytes
.../Amateur_Radio_Guide/images/icon.svg | 3936 ++++++++++++++++++++
.../images/logging-qle/Awful.png | Bin 0 -> 609688 bytes
.../images/logging-qle/DupeCheck1.png | Bin 0 -> 64937 bytes
.../images/logging-qle/DupeCheck2.png | Bin 0 -> 62950 bytes
.../images/logging-qle/DupeCheck3.png | Bin 0 -> 54774 bytes
.../images/logging-qle/EditingQSO.png | Bin 0 -> 333495 bytes
.../images/logging-qle/ExitProgram.png | Bin 0 -> 5063 bytes
.../images/logging-qle/FieldAttrib.png | Bin 0 -> 10483 bytes
.../images/logging-qle/SCPwindow.png | Bin 0 -> 7085 bytes
.../images/logging-qle/qle-InfoBar.png | Bin 0 -> 4230 bytes
.../images/logging-qle/qle-dupewindow.png | Bin 0 -> 7943 bytes
.../images/logging-qle/qle-full.png | Bin 0 -> 240801 bytes
.../images/logging-qle/qle-icon.png | Bin 0 -> 7526 bytes
.../images/logging-qle/qle-mainwindow.png | Bin 0 -> 56968 bytes
.../images/logging-qle/qle-menu.png | Bin 0 -> 117143 bytes
.../images/logging-qle/qle-subwindow.png | Bin 0 -> 49867 bytes
.../images/others-callgit/CallGit.png | Bin 0 -> 24936 bytes
.../images/others-cutecw/CuteCW.png | Bin 0 -> 76964 bytes
.../images/others-dxcc/dxcc.png | Bin 0 -> 204050 bytes
.../images/others-gpredict/gpredict-config.png | Bin 0 -> 2950 bytes
.../others-gpredict/gpredict-groundstations.png | Bin 0 -> 48201 bytes
.../images/others-gpredict/gpredict-hover.png | Bin 0 -> 60912 bytes
.../others-gpredict/gpredict-skyataglance.png | Bin 0 -> 11522 bytes
.../others-gpredict/gpredict-stationlocation.png | Bin 0 -> 30737 bytes
.../images/others-gpredict/gpredict-update.png | Bin 0 -> 11528 bytes
.../images/others-gpredict/gpredict.png | Bin 0 -> 371034 bytes
.../images/others-gresistor/gResistor.png | Bin 0 -> 24708 bytes
.../images/others-ibp/ibp-map.png | Bin 0 -> 19211 bytes
.../images/others-ibp/ibp-text2.png | Bin 0 -> 59189 bytes
.../images/others-rcrpanel/Controls.png | Bin 0 -> 3293 bytes
.../images/others-rcrpanel/Dial1.png | Bin 0 -> 26213 bytes
.../images/others-rcrpanel/Dial2.png | Bin 0 -> 7192 bytes
.../images/others-rcrpanel/Dial3.png | Bin 0 -> 19351 bytes
.../images/others-rcrpanel/ExamplePanel.png | Bin 0 -> 41663 bytes
.../images/others-rcrpanel/WhiteFill.png | Bin 0 -> 2427 bytes
.../images/others-xgridloc/Xgridloc.png | Bin 0 -> 37327 bytes
.../images/others-xwota/xwota-Query.png | Bin 0 -> 9614 bytes
.../images/others-xwota/xwota-Station_Info.png | Bin 0 -> 20662 bytes
.../images/others-xwota/xwota.png | Bin 0 -> 107122 bytes
.../images/packet-colrdx/colrdx.png | Bin 0 -> 86557 bytes
.../images/packet-xastir/Screenshot-xastir.png | Bin 0 -> 825968 bytes
.../images/packet-xastir/XASTIR-Bookmarks.png | Bin 0 -> 3064 bytes
.../images/packet-xastir/XASTIR-Config-Station.png | Bin 0 -> 10478 bytes
.../images/packet-xastir/XASTIR-Defaults.png | Bin 0 -> 11459 bytes
.../packet-xastir/XASTIR-InterfaceStatus3.png | Bin 0 -> 27643 bytes
.../images/packet-xastir/XASTIR-KISS-TNC.png | Bin 0 -> 12967 bytes
.../images/packet-xastir/XASTIR-Map-Chooser.png | Bin 0 -> 7271 bytes
.../images/packet-xastir/XASTIR-Map-Properties.png | Bin 0 -> 12928 bytes
.../images/packet-xastir/XASTIR-Track-Station.png | Bin 0 -> 23928 bytes
.../images/packet-xastir/XASTIR-findu-trail.png | Bin 0 -> 4991 bytes
.../images/packet-xastir/XASTIR-gray.png | Bin 0 -> 55449 bytes
.../images/packet-xastir/XASTIR-navy.png | Bin 0 -> 46059 bytes
.../images/packet-xastir/XASTIR-palegreen.png | Bin 0 -> 55127 bytes
.../images/packet-xastir/XASTIR-shadow.png | Bin 0 -> 10450 bytes
.../images/packet-xastir/XASTIR-textonblack.png | Bin 0 -> 51757 bytes
.../images/packet-xastir/XASTIR-w-config.png | Bin 0 -> 545998 bytes
.../images/packet-xastir/xastir.png | Bin 0 -> 90678 bytes
.../images/packet-xconvers/xconvers-host.png | Bin 0 -> 6890 bytes
.../images/packet-xconvers/xconvers.png | Bin 0 -> 21077 bytes
.../Amateur_Radio_Guide/images/packet-xdx/xdx.png | Bin 0 -> 159997 bytes
.../images/rig-chirp/chirp001.png | Bin 0 -> 16620 bytes
.../images/rig-chirp/chirp002.png | Bin 0 -> 10831 bytes
.../images/rig-chirp/chirp003.png | Bin 0 -> 54900 bytes
.../images/rig-chirp/chirp004.png | Bin 0 -> 10596 bytes
.../images/rig-chirp/chirp005.png | Bin 0 -> 13633 bytes
.../images/rig-chirp/chirp006.png | Bin 0 -> 181033 bytes
.../images/rig-chirp/chirp007.png | Bin 0 -> 18287 bytes
.../images/rig-chirp/chirp009.png | Bin 0 -> 4474 bytes
.../images/rig-chirp/chirp010.png | Bin 0 -> 24257 bytes
.../images/rig-chirp/chirp011.png | Bin 0 -> 4240 bytes
.../images/rig-chirp/chirpnoused1.png | Bin 0 -> 152104 bytes
.../images/rig-grig/grig-icon.png | Bin 0 -> 16663 bytes
.../images/rig-grig/grig-mainwindow.png | Bin 0 -> 62040 bytes
.../Amateur_Radio_Guide/images/rig-grig/grig.png | Bin 0 -> 53822 bytes
.../images/soundcard-fldigi/FullPSK1.png | Bin 0 -> 797912 bytes
.../images/soundcard-fldigi/fldigi-screenshot2.png | Bin 0 -> 179835 bytes
.../19/html-single/Amateur_Radio_Guide/index.html | 1253 +++++++
.../Common_Content/css/common.css | 1528 ++++++++
.../Common_Content/css/default.css | 3 +
.../Common_Content/css/lang.css | 2 +
.../Common_Content/css/overrides.css | 51 +
.../Common_Content/css/print.css | 16 +
.../Common_Content/images/1.png | Bin 0 -> 710 bytes
.../Common_Content/images/1.svg | 27 +
.../Common_Content/images/10.png | Bin 0 -> 985 bytes
.../Common_Content/images/10.svg | 31 +
.../Common_Content/images/11.png | Bin 0 -> 810 bytes
.../Common_Content/images/11.svg | 31 +
.../Common_Content/images/12.png | Bin 0 -> 1012 bytes
.../Common_Content/images/12.svg | 31 +
.../Common_Content/images/13.png | Bin 0 -> 1048 bytes
.../Common_Content/images/13.svg | 31 +
.../Common_Content/images/14.png | Bin 0 -> 914 bytes
.../Common_Content/images/14.svg | 31 +
.../Common_Content/images/15.png | Bin 0 -> 989 bytes
.../Common_Content/images/15.svg | 31 +
.../Common_Content/images/16.png | Bin 0 -> 1047 bytes
.../Common_Content/images/16.svg | 31 +
.../Common_Content/images/17.png | Bin 0 -> 888 bytes
.../Common_Content/images/17.svg | 31 +
.../Common_Content/images/18.png | Bin 0 -> 1075 bytes
.../Common_Content/images/18.svg | 31 +
.../Common_Content/images/19.png | Bin 0 -> 1049 bytes
.../Common_Content/images/19.svg | 31 +
.../Common_Content/images/2.png | Bin 0 -> 896 bytes
.../Common_Content/images/2.svg | 27 +
.../Common_Content/images/20.png | Bin 0 -> 1151 bytes
.../Common_Content/images/20.svg | 31 +
.../Common_Content/images/21.png | Bin 0 -> 994 bytes
.../Common_Content/images/21.svg | 31 +
.../Common_Content/images/22.png | Bin 0 -> 1162 bytes
.../Common_Content/images/22.svg | 31 +
.../Common_Content/images/23.png | Bin 0 -> 1207 bytes
.../Common_Content/images/23.svg | 31 +
.../Common_Content/images/24.png | Bin 0 -> 1081 bytes
.../Common_Content/images/24.svg | 31 +
.../Common_Content/images/25.png | Bin 0 -> 1173 bytes
.../Common_Content/images/25.svg | 31 +
.../Common_Content/images/26.png | Bin 0 -> 1208 bytes
.../Common_Content/images/26.svg | 31 +
.../Common_Content/images/27.png | Bin 0 -> 1080 bytes
.../Common_Content/images/27.svg | 31 +
.../Common_Content/images/28.png | Bin 0 -> 1225 bytes
.../Common_Content/images/28.svg | 31 +
.../Common_Content/images/29.png | Bin 0 -> 1196 bytes
.../Common_Content/images/29.svg | 31 +
.../Common_Content/images/3.png | Bin 0 -> 958 bytes
.../Common_Content/images/3.svg | 27 +
.../Common_Content/images/30.png | Bin 0 -> 1250 bytes
.../Common_Content/images/30.svg | 31 +
.../Common_Content/images/31.png | Bin 0 -> 1078 bytes
.../Common_Content/images/31.svg | 31 +
.../Common_Content/images/32.png | Bin 0 -> 1241 bytes
.../Common_Content/images/32.svg | 31 +
.../Common_Content/images/33.png | Bin 0 -> 1268 bytes
.../Common_Content/images/33.svg | 31 +
.../Common_Content/images/34.png | Bin 0 -> 1175 bytes
.../Common_Content/images/34.svg | 31 +
.../Common_Content/images/35.png | Bin 0 -> 1224 bytes
.../Common_Content/images/35.svg | 31 +
.../Common_Content/images/36.png | Bin 0 -> 1281 bytes
.../Common_Content/images/36.svg | 31 +
.../Common_Content/images/37.png | Bin 0 -> 1140 bytes
.../Common_Content/images/37.svg | 31 +
.../Common_Content/images/38.png | Bin 0 -> 1300 bytes
.../Common_Content/images/38.svg | 31 +
.../Common_Content/images/39.png | Bin 0 -> 1294 bytes
.../Common_Content/images/39.svg | 31 +
.../Common_Content/images/4.png | Bin 0 -> 849 bytes
.../Common_Content/images/4.svg | 27 +
.../Common_Content/images/40.png | Bin 0 -> 1130 bytes
.../Common_Content/images/40.svg | 31 +
.../Common_Content/images/5.png | Bin 0 -> 900 bytes
.../Common_Content/images/5.svg | 27 +
.../Common_Content/images/6.png | Bin 0 -> 929 bytes
.../Common_Content/images/6.svg | 27 +
.../Common_Content/images/7.png | Bin 0 -> 807 bytes
.../Common_Content/images/7.svg | 27 +
.../Common_Content/images/8.png | Bin 0 -> 962 bytes
.../Common_Content/images/8.svg | 27 +
.../Common_Content/images/9.png | Bin 0 -> 936 bytes
.../Common_Content/images/9.svg | 27 +
.../Common_Content/images/bkgrnd_greydots.png | Bin 0 -> 157 bytes
.../Common_Content/images/bullet_arrowblue.png | Bin 0 -> 177 bytes
.../Common_Content/images/documentation.png | Bin 0 -> 623 bytes
.../Common_Content/images/dot.png | Bin 0 -> 98 bytes
.../Common_Content/images/dot2.png | Bin 0 -> 98 bytes
.../Common_Content/images/green.png | Bin 0 -> 176 bytes
.../Common_Content/images/h1-bg.png | Bin 0 -> 565 bytes
.../Common_Content/images/image_left.png | Bin 0 -> 1114 bytes
.../Common_Content/images/image_right.png | Bin 0 -> 2260 bytes
.../Common_Content/images/important.png | Bin 0 -> 2080 bytes
.../Common_Content/images/important.svg | 106 +
.../Common_Content/images/logo.png | Bin 0 -> 1114 bytes
.../Common_Content/images/note.png | Bin 0 -> 1241 bytes
.../Common_Content/images/note.svg | 111 +
.../Common_Content/images/red.png | Bin 0 -> 163 bytes
.../Common_Content/images/shade.png | Bin 0 -> 101 bytes
.../Common_Content/images/shine.png | Bin 0 -> 146 bytes
.../Common_Content/images/stock-go-back.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-forward.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-up.png | Bin 0 -> 760 bytes
.../Common_Content/images/stock-home.png | Bin 0 -> 808 bytes
.../Common_Content/images/title_logo.png | Bin 0 -> 13399 bytes
.../Common_Content/images/title_logo.svg | 61 +
.../Common_Content/images/warning.png | Bin 0 -> 1340 bytes
.../Common_Content/images/warning.svg | 89 +
.../Common_Content/images/watermark-draft.png | Bin 0 -> 25365 bytes
.../Common_Content/images/yellow.png | Bin 0 -> 175 bytes
.../html/Amateur_Radio_Guide/antenna-xnec2c.html | 42 +
.../19/html/Amateur_Radio_Guide/antenna.html | 119 +
.../Fedora/19/html/Amateur_Radio_Guide/apas02.html | 120 +
.../appe-Installing_Software.html | 69 +
.../appe-Publican-Revision_History.html | 54 +
.../19/html/Amateur_Radio_Guide/circuit-gerbv.html | 18 +
.../html/Amateur_Radio_Guide/circuit-gspiceui.html | 17 +
.../19/html/Amateur_Radio_Guide/circuit-pcb.html | 20 +
.../19/html/Amateur_Radio_Guide/circuit.html | 24 +
.../images/Installing_Software/Install-1.png | Bin 0 -> 291328 bytes
.../images/Installing_Software/Install-2.png | Bin 0 -> 69882 bytes
.../images/Installing_Software/Install-3.png | Bin 0 -> 71076 bytes
.../images/Installing_Software/Install-4.png | Bin 0 -> 75265 bytes
.../images/Installing_Software/Install-5.png | Bin 0 -> 6324 bytes
.../images/Installing_Software/Install-7.png | Bin 0 -> 103301 bytes
.../images/Installing_Software/Install-8.png | Bin 0 -> 8764 bytes
.../images/Installing_Software/Install-9.png | Bin 0 -> 9366 bytes
.../images/Installing_Software/PKicon.png | Bin 0 -> 13121 bytes
.../images/antenna-splat/AR-SPLAT1-large.png | Bin 0 -> 4290869 bytes
.../images/antenna-splat/AR-SPLAT1-legend.png | Bin 0 -> 24959 bytes
.../images/antenna-splat/AR-SPLAT1-small.png | Bin 0 -> 272374 bytes
.../images/antenna-splat/AR-SPLAT2-small.png | Bin 0 -> 803536 bytes
.../images/antenna-splat/AR-SPLAT3-small.png | Bin 0 -> 868410 bytes
.../images/antenna-xnec2c/Yagi.png | Bin 0 -> 524214 bytes
.../images/antenna-xnec2c/xnec2c-plots.png | Bin 0 -> 59045 bytes
.../images/antenna-xnec2c/xnec2c-radiation.png | Bin 0 -> 37666 bytes
.../images/antenna-xnec2c/xnec2c-structure.png | Bin 0 -> 32567 bytes
.../images/antenna-xnec2c/xnec2c.png | Bin 0 -> 66813 bytes
.../images/circuit-geda/gEDA.png | Bin 0 -> 62012 bytes
.../images/circuit-gerbv/gerbv.png | Bin 0 -> 93666 bytes
.../images/circuit-gspiceui/gspiceui.png | Bin 0 -> 70334 bytes
.../Amateur_Radio_Guide/images/circuit-pcb/PCB.png | Bin 0 -> 73934 bytes
.../19/html/Amateur_Radio_Guide/images/icon.svg | 3936 ++++++++++++++++++++
.../images/logging-qle/Awful.png | Bin 0 -> 609688 bytes
.../images/logging-qle/DupeCheck1.png | Bin 0 -> 64937 bytes
.../images/logging-qle/DupeCheck2.png | Bin 0 -> 62950 bytes
.../images/logging-qle/DupeCheck3.png | Bin 0 -> 54774 bytes
.../images/logging-qle/EditingQSO.png | Bin 0 -> 333495 bytes
.../images/logging-qle/ExitProgram.png | Bin 0 -> 5063 bytes
.../images/logging-qle/FieldAttrib.png | Bin 0 -> 10483 bytes
.../images/logging-qle/SCPwindow.png | Bin 0 -> 7085 bytes
.../images/logging-qle/qle-InfoBar.png | Bin 0 -> 4230 bytes
.../images/logging-qle/qle-dupewindow.png | Bin 0 -> 7943 bytes
.../images/logging-qle/qle-full.png | Bin 0 -> 240801 bytes
.../images/logging-qle/qle-icon.png | Bin 0 -> 7526 bytes
.../images/logging-qle/qle-mainwindow.png | Bin 0 -> 56968 bytes
.../images/logging-qle/qle-menu.png | Bin 0 -> 117143 bytes
.../images/logging-qle/qle-subwindow.png | Bin 0 -> 49867 bytes
.../images/others-callgit/CallGit.png | Bin 0 -> 24936 bytes
.../images/others-cutecw/CuteCW.png | Bin 0 -> 76964 bytes
.../images/others-dxcc/dxcc.png | Bin 0 -> 204050 bytes
.../images/others-gpredict/gpredict-config.png | Bin 0 -> 2950 bytes
.../others-gpredict/gpredict-groundstations.png | Bin 0 -> 48201 bytes
.../images/others-gpredict/gpredict-hover.png | Bin 0 -> 60912 bytes
.../others-gpredict/gpredict-skyataglance.png | Bin 0 -> 11522 bytes
.../others-gpredict/gpredict-stationlocation.png | Bin 0 -> 30737 bytes
.../images/others-gpredict/gpredict-update.png | Bin 0 -> 11528 bytes
.../images/others-gpredict/gpredict.png | Bin 0 -> 371034 bytes
.../images/others-gresistor/gResistor.png | Bin 0 -> 24708 bytes
.../images/others-ibp/ibp-map.png | Bin 0 -> 19211 bytes
.../images/others-ibp/ibp-text2.png | Bin 0 -> 59189 bytes
.../images/others-rcrpanel/Controls.png | Bin 0 -> 3293 bytes
.../images/others-rcrpanel/Dial1.png | Bin 0 -> 26213 bytes
.../images/others-rcrpanel/Dial2.png | Bin 0 -> 7192 bytes
.../images/others-rcrpanel/Dial3.png | Bin 0 -> 19351 bytes
.../images/others-rcrpanel/ExamplePanel.png | Bin 0 -> 41663 bytes
.../images/others-rcrpanel/WhiteFill.png | Bin 0 -> 2427 bytes
.../images/others-xgridloc/Xgridloc.png | Bin 0 -> 37327 bytes
.../images/others-xwota/xwota-Query.png | Bin 0 -> 9614 bytes
.../images/others-xwota/xwota-Station_Info.png | Bin 0 -> 20662 bytes
.../images/others-xwota/xwota.png | Bin 0 -> 107122 bytes
.../images/packet-colrdx/colrdx.png | Bin 0 -> 86557 bytes
.../images/packet-xastir/Screenshot-xastir.png | Bin 0 -> 825968 bytes
.../images/packet-xastir/XASTIR-Bookmarks.png | Bin 0 -> 3064 bytes
.../images/packet-xastir/XASTIR-Config-Station.png | Bin 0 -> 10478 bytes
.../images/packet-xastir/XASTIR-Defaults.png | Bin 0 -> 11459 bytes
.../packet-xastir/XASTIR-InterfaceStatus3.png | Bin 0 -> 27643 bytes
.../images/packet-xastir/XASTIR-KISS-TNC.png | Bin 0 -> 12967 bytes
.../images/packet-xastir/XASTIR-Map-Chooser.png | Bin 0 -> 7271 bytes
.../images/packet-xastir/XASTIR-Map-Properties.png | Bin 0 -> 12928 bytes
.../images/packet-xastir/XASTIR-Track-Station.png | Bin 0 -> 23928 bytes
.../images/packet-xastir/XASTIR-findu-trail.png | Bin 0 -> 4991 bytes
.../images/packet-xastir/XASTIR-gray.png | Bin 0 -> 55449 bytes
.../images/packet-xastir/XASTIR-navy.png | Bin 0 -> 46059 bytes
.../images/packet-xastir/XASTIR-palegreen.png | Bin 0 -> 55127 bytes
.../images/packet-xastir/XASTIR-shadow.png | Bin 0 -> 10450 bytes
.../images/packet-xastir/XASTIR-textonblack.png | Bin 0 -> 51757 bytes
.../images/packet-xastir/XASTIR-w-config.png | Bin 0 -> 545998 bytes
.../images/packet-xastir/xastir.png | Bin 0 -> 90678 bytes
.../images/packet-xconvers/xconvers-host.png | Bin 0 -> 6890 bytes
.../images/packet-xconvers/xconvers.png | Bin 0 -> 21077 bytes
.../Amateur_Radio_Guide/images/packet-xdx/xdx.png | Bin 0 -> 159997 bytes
.../images/rig-chirp/chirp001.png | Bin 0 -> 16620 bytes
.../images/rig-chirp/chirp002.png | Bin 0 -> 10831 bytes
.../images/rig-chirp/chirp003.png | Bin 0 -> 54900 bytes
.../images/rig-chirp/chirp004.png | Bin 0 -> 10596 bytes
.../images/rig-chirp/chirp005.png | Bin 0 -> 13633 bytes
.../images/rig-chirp/chirp006.png | Bin 0 -> 181033 bytes
.../images/rig-chirp/chirp007.png | Bin 0 -> 18287 bytes
.../images/rig-chirp/chirp009.png | Bin 0 -> 4474 bytes
.../images/rig-chirp/chirp010.png | Bin 0 -> 24257 bytes
.../images/rig-chirp/chirp011.png | Bin 0 -> 4240 bytes
.../images/rig-chirp/chirpnoused1.png | Bin 0 -> 152104 bytes
.../images/rig-grig/grig-icon.png | Bin 0 -> 16663 bytes
.../images/rig-grig/grig-mainwindow.png | Bin 0 -> 62040 bytes
.../Amateur_Radio_Guide/images/rig-grig/grig.png | Bin 0 -> 53822 bytes
.../images/soundcard-fldigi/FullPSK1.png | Bin 0 -> 797912 bytes
.../images/soundcard-fldigi/fldigi-screenshot2.png | Bin 0 -> 179835 bytes
.../Fedora/19/html/Amateur_Radio_Guide/index.html | 38 +
.../19/html/Amateur_Radio_Guide/logging-xlog.html | 27 +
.../19/html/Amateur_Radio_Guide/logging.html | 192 +
.../19/html/Amateur_Radio_Guide/others-dxcc.html | 16 +
.../html/Amateur_Radio_Guide/others-gpredict.html | 49 +
.../html/Amateur_Radio_Guide/others-gresistor.html | 16 +
.../19/html/Amateur_Radio_Guide/others-ibp.html | 53 +
.../html/Amateur_Radio_Guide/others-rcrpanel.html | 217 ++
.../html/Amateur_Radio_Guide/others-xgridloc.html | 46 +
.../19/html/Amateur_Radio_Guide/others-xwota.html | 34 +
.../Fedora/19/html/Amateur_Radio_Guide/others.html | 28 +
.../19/html/Amateur_Radio_Guide/packet-xastir.html | 117 +
.../html/Amateur_Radio_Guide/packet-xconvers.html | 25 +
.../Fedora/19/html/Amateur_Radio_Guide/packet.html | 26 +
.../19/html/Amateur_Radio_Guide/rig-grig.html | 25 +
.../Fedora/19/html/Amateur_Radio_Guide/rig.html | 69 +
.../19/html/Amateur_Radio_Guide/soundcard.html | 17 +
.../Fedora-19-Amateur_Radio_Guide-en-US.pdf | Bin 0 -> 6467296 bytes
...ora_Security_Team-1-Defensive_Coding-en-US.epub | Bin 0 -> 323704 bytes
.../Defensive_Coding/Common_Content/css/common.css | 1528 ++++++++
.../Common_Content/css/default.css | 3 +
.../Defensive_Coding/Common_Content/css/lang.css | 2 +
.../Common_Content/css/overrides.css | 51 +
.../Defensive_Coding/Common_Content/css/print.css | 16 +
.../Defensive_Coding/Common_Content/images/1.png | Bin 0 -> 710 bytes
.../Defensive_Coding/Common_Content/images/1.svg | 27 +
.../Defensive_Coding/Common_Content/images/10.png | Bin 0 -> 985 bytes
.../Defensive_Coding/Common_Content/images/10.svg | 31 +
.../Defensive_Coding/Common_Content/images/11.png | Bin 0 -> 810 bytes
.../Defensive_Coding/Common_Content/images/11.svg | 31 +
.../Defensive_Coding/Common_Content/images/12.png | Bin 0 -> 1012 bytes
.../Defensive_Coding/Common_Content/images/12.svg | 31 +
.../Defensive_Coding/Common_Content/images/13.png | Bin 0 -> 1048 bytes
.../Defensive_Coding/Common_Content/images/13.svg | 31 +
.../Defensive_Coding/Common_Content/images/14.png | Bin 0 -> 914 bytes
.../Defensive_Coding/Common_Content/images/14.svg | 31 +
.../Defensive_Coding/Common_Content/images/15.png | Bin 0 -> 989 bytes
.../Defensive_Coding/Common_Content/images/15.svg | 31 +
.../Defensive_Coding/Common_Content/images/16.png | Bin 0 -> 1047 bytes
.../Defensive_Coding/Common_Content/images/16.svg | 31 +
.../Defensive_Coding/Common_Content/images/17.png | Bin 0 -> 888 bytes
.../Defensive_Coding/Common_Content/images/17.svg | 31 +
.../Defensive_Coding/Common_Content/images/18.png | Bin 0 -> 1075 bytes
.../Defensive_Coding/Common_Content/images/18.svg | 31 +
.../Defensive_Coding/Common_Content/images/19.png | Bin 0 -> 1049 bytes
.../Defensive_Coding/Common_Content/images/19.svg | 31 +
.../Defensive_Coding/Common_Content/images/2.png | Bin 0 -> 896 bytes
.../Defensive_Coding/Common_Content/images/2.svg | 27 +
.../Defensive_Coding/Common_Content/images/20.png | Bin 0 -> 1151 bytes
.../Defensive_Coding/Common_Content/images/20.svg | 31 +
.../Defensive_Coding/Common_Content/images/21.png | Bin 0 -> 994 bytes
.../Defensive_Coding/Common_Content/images/21.svg | 31 +
.../Defensive_Coding/Common_Content/images/22.png | Bin 0 -> 1162 bytes
.../Defensive_Coding/Common_Content/images/22.svg | 31 +
.../Defensive_Coding/Common_Content/images/23.png | Bin 0 -> 1207 bytes
.../Defensive_Coding/Common_Content/images/23.svg | 31 +
.../Defensive_Coding/Common_Content/images/24.png | Bin 0 -> 1081 bytes
.../Defensive_Coding/Common_Content/images/24.svg | 31 +
.../Defensive_Coding/Common_Content/images/25.png | Bin 0 -> 1173 bytes
.../Defensive_Coding/Common_Content/images/25.svg | 31 +
.../Defensive_Coding/Common_Content/images/26.png | Bin 0 -> 1208 bytes
.../Defensive_Coding/Common_Content/images/26.svg | 31 +
.../Defensive_Coding/Common_Content/images/27.png | Bin 0 -> 1080 bytes
.../Defensive_Coding/Common_Content/images/27.svg | 31 +
.../Defensive_Coding/Common_Content/images/28.png | Bin 0 -> 1225 bytes
.../Defensive_Coding/Common_Content/images/28.svg | 31 +
.../Defensive_Coding/Common_Content/images/29.png | Bin 0 -> 1196 bytes
.../Defensive_Coding/Common_Content/images/29.svg | 31 +
.../Defensive_Coding/Common_Content/images/3.png | Bin 0 -> 958 bytes
.../Defensive_Coding/Common_Content/images/3.svg | 27 +
.../Defensive_Coding/Common_Content/images/30.png | Bin 0 -> 1250 bytes
.../Defensive_Coding/Common_Content/images/30.svg | 31 +
.../Defensive_Coding/Common_Content/images/31.png | Bin 0 -> 1078 bytes
.../Defensive_Coding/Common_Content/images/31.svg | 31 +
.../Defensive_Coding/Common_Content/images/32.png | Bin 0 -> 1241 bytes
.../Defensive_Coding/Common_Content/images/32.svg | 31 +
.../Defensive_Coding/Common_Content/images/33.png | Bin 0 -> 1268 bytes
.../Defensive_Coding/Common_Content/images/33.svg | 31 +
.../Defensive_Coding/Common_Content/images/34.png | Bin 0 -> 1175 bytes
.../Defensive_Coding/Common_Content/images/34.svg | 31 +
.../Defensive_Coding/Common_Content/images/35.png | Bin 0 -> 1224 bytes
.../Defensive_Coding/Common_Content/images/35.svg | 31 +
.../Defensive_Coding/Common_Content/images/36.png | Bin 0 -> 1281 bytes
.../Defensive_Coding/Common_Content/images/36.svg | 31 +
.../Defensive_Coding/Common_Content/images/37.png | Bin 0 -> 1140 bytes
.../Defensive_Coding/Common_Content/images/37.svg | 31 +
.../Defensive_Coding/Common_Content/images/38.png | Bin 0 -> 1300 bytes
.../Defensive_Coding/Common_Content/images/38.svg | 31 +
.../Defensive_Coding/Common_Content/images/39.png | Bin 0 -> 1294 bytes
.../Defensive_Coding/Common_Content/images/39.svg | 31 +
.../Defensive_Coding/Common_Content/images/4.png | Bin 0 -> 849 bytes
.../Defensive_Coding/Common_Content/images/4.svg | 27 +
.../Defensive_Coding/Common_Content/images/40.png | Bin 0 -> 1130 bytes
.../Defensive_Coding/Common_Content/images/40.svg | 31 +
.../Defensive_Coding/Common_Content/images/5.png | Bin 0 -> 900 bytes
.../Defensive_Coding/Common_Content/images/5.svg | 27 +
.../Defensive_Coding/Common_Content/images/6.png | Bin 0 -> 929 bytes
.../Defensive_Coding/Common_Content/images/6.svg | 27 +
.../Defensive_Coding/Common_Content/images/7.png | Bin 0 -> 807 bytes
.../Defensive_Coding/Common_Content/images/7.svg | 27 +
.../Defensive_Coding/Common_Content/images/8.png | Bin 0 -> 962 bytes
.../Defensive_Coding/Common_Content/images/8.svg | 27 +
.../Defensive_Coding/Common_Content/images/9.png | Bin 0 -> 936 bytes
.../Defensive_Coding/Common_Content/images/9.svg | 27 +
.../Common_Content/images/bkgrnd_greydots.png | Bin 0 -> 157 bytes
.../Common_Content/images/bullet_arrowblue.png | Bin 0 -> 177 bytes
.../Common_Content/images/documentation.png | Bin 0 -> 623 bytes
.../Defensive_Coding/Common_Content/images/dot.png | Bin 0 -> 98 bytes
.../Common_Content/images/dot2.png | Bin 0 -> 98 bytes
.../Common_Content/images/green.png | Bin 0 -> 176 bytes
.../Common_Content/images/h1-bg.png | Bin 0 -> 565 bytes
.../Common_Content/images/image_left.png | Bin 0 -> 1114 bytes
.../Common_Content/images/image_right.png | Bin 0 -> 2260 bytes
.../Common_Content/images/important.png | Bin 0 -> 2080 bytes
.../Common_Content/images/important.svg | 106 +
.../Common_Content/images/logo.png | Bin 0 -> 1114 bytes
.../Common_Content/images/note.png | Bin 0 -> 1241 bytes
.../Common_Content/images/note.svg | 111 +
.../Defensive_Coding/Common_Content/images/red.png | Bin 0 -> 163 bytes
.../Common_Content/images/shade.png | Bin 0 -> 101 bytes
.../Common_Content/images/shine.png | Bin 0 -> 146 bytes
.../Common_Content/images/stock-go-back.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-forward.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-up.png | Bin 0 -> 760 bytes
.../Common_Content/images/stock-home.png | Bin 0 -> 808 bytes
.../Common_Content/images/title_logo.png | Bin 0 -> 13399 bytes
.../Common_Content/images/title_logo.svg | 61 +
.../Common_Content/images/warning.png | Bin 0 -> 1340 bytes
.../Common_Content/images/warning.svg | 89 +
.../Common_Content/images/watermark-draft.png | Bin 0 -> 25365 bytes
.../Common_Content/images/yellow.png | Bin 0 -> 175 bytes
.../1/html-single/Defensive_Coding/images/icon.svg | 3936 ++++++++++++++++++++
.../1/html-single/Defensive_Coding/index.html | 2383 ++++++++++++
.../Defensive_Coding/Common_Content/css/common.css | 1528 ++++++++
.../Common_Content/css/default.css | 3 +
.../Defensive_Coding/Common_Content/css/lang.css | 2 +
.../Common_Content/css/overrides.css | 51 +
.../Defensive_Coding/Common_Content/css/print.css | 16 +
.../Defensive_Coding/Common_Content/images/1.png | Bin 0 -> 710 bytes
.../Defensive_Coding/Common_Content/images/1.svg | 27 +
.../Defensive_Coding/Common_Content/images/10.png | Bin 0 -> 985 bytes
.../Defensive_Coding/Common_Content/images/10.svg | 31 +
.../Defensive_Coding/Common_Content/images/11.png | Bin 0 -> 810 bytes
.../Defensive_Coding/Common_Content/images/11.svg | 31 +
.../Defensive_Coding/Common_Content/images/12.png | Bin 0 -> 1012 bytes
.../Defensive_Coding/Common_Content/images/12.svg | 31 +
.../Defensive_Coding/Common_Content/images/13.png | Bin 0 -> 1048 bytes
.../Defensive_Coding/Common_Content/images/13.svg | 31 +
.../Defensive_Coding/Common_Content/images/14.png | Bin 0 -> 914 bytes
.../Defensive_Coding/Common_Content/images/14.svg | 31 +
.../Defensive_Coding/Common_Content/images/15.png | Bin 0 -> 989 bytes
.../Defensive_Coding/Common_Content/images/15.svg | 31 +
.../Defensive_Coding/Common_Content/images/16.png | Bin 0 -> 1047 bytes
.../Defensive_Coding/Common_Content/images/16.svg | 31 +
.../Defensive_Coding/Common_Content/images/17.png | Bin 0 -> 888 bytes
.../Defensive_Coding/Common_Content/images/17.svg | 31 +
.../Defensive_Coding/Common_Content/images/18.png | Bin 0 -> 1075 bytes
.../Defensive_Coding/Common_Content/images/18.svg | 31 +
.../Defensive_Coding/Common_Content/images/19.png | Bin 0 -> 1049 bytes
.../Defensive_Coding/Common_Content/images/19.svg | 31 +
.../Defensive_Coding/Common_Content/images/2.png | Bin 0 -> 896 bytes
.../Defensive_Coding/Common_Content/images/2.svg | 27 +
.../Defensive_Coding/Common_Content/images/20.png | Bin 0 -> 1151 bytes
.../Defensive_Coding/Common_Content/images/20.svg | 31 +
.../Defensive_Coding/Common_Content/images/21.png | Bin 0 -> 994 bytes
.../Defensive_Coding/Common_Content/images/21.svg | 31 +
.../Defensive_Coding/Common_Content/images/22.png | Bin 0 -> 1162 bytes
.../Defensive_Coding/Common_Content/images/22.svg | 31 +
.../Defensive_Coding/Common_Content/images/23.png | Bin 0 -> 1207 bytes
.../Defensive_Coding/Common_Content/images/23.svg | 31 +
.../Defensive_Coding/Common_Content/images/24.png | Bin 0 -> 1081 bytes
.../Defensive_Coding/Common_Content/images/24.svg | 31 +
.../Defensive_Coding/Common_Content/images/25.png | Bin 0 -> 1173 bytes
.../Defensive_Coding/Common_Content/images/25.svg | 31 +
.../Defensive_Coding/Common_Content/images/26.png | Bin 0 -> 1208 bytes
.../Defensive_Coding/Common_Content/images/26.svg | 31 +
.../Defensive_Coding/Common_Content/images/27.png | Bin 0 -> 1080 bytes
.../Defensive_Coding/Common_Content/images/27.svg | 31 +
.../Defensive_Coding/Common_Content/images/28.png | Bin 0 -> 1225 bytes
.../Defensive_Coding/Common_Content/images/28.svg | 31 +
.../Defensive_Coding/Common_Content/images/29.png | Bin 0 -> 1196 bytes
.../Defensive_Coding/Common_Content/images/29.svg | 31 +
.../Defensive_Coding/Common_Content/images/3.png | Bin 0 -> 958 bytes
.../Defensive_Coding/Common_Content/images/3.svg | 27 +
.../Defensive_Coding/Common_Content/images/30.png | Bin 0 -> 1250 bytes
.../Defensive_Coding/Common_Content/images/30.svg | 31 +
.../Defensive_Coding/Common_Content/images/31.png | Bin 0 -> 1078 bytes
.../Defensive_Coding/Common_Content/images/31.svg | 31 +
.../Defensive_Coding/Common_Content/images/32.png | Bin 0 -> 1241 bytes
.../Defensive_Coding/Common_Content/images/32.svg | 31 +
.../Defensive_Coding/Common_Content/images/33.png | Bin 0 -> 1268 bytes
.../Defensive_Coding/Common_Content/images/33.svg | 31 +
.../Defensive_Coding/Common_Content/images/34.png | Bin 0 -> 1175 bytes
.../Defensive_Coding/Common_Content/images/34.svg | 31 +
.../Defensive_Coding/Common_Content/images/35.png | Bin 0 -> 1224 bytes
.../Defensive_Coding/Common_Content/images/35.svg | 31 +
.../Defensive_Coding/Common_Content/images/36.png | Bin 0 -> 1281 bytes
.../Defensive_Coding/Common_Content/images/36.svg | 31 +
.../Defensive_Coding/Common_Content/images/37.png | Bin 0 -> 1140 bytes
.../Defensive_Coding/Common_Content/images/37.svg | 31 +
.../Defensive_Coding/Common_Content/images/38.png | Bin 0 -> 1300 bytes
.../Defensive_Coding/Common_Content/images/38.svg | 31 +
.../Defensive_Coding/Common_Content/images/39.png | Bin 0 -> 1294 bytes
.../Defensive_Coding/Common_Content/images/39.svg | 31 +
.../Defensive_Coding/Common_Content/images/4.png | Bin 0 -> 849 bytes
.../Defensive_Coding/Common_Content/images/4.svg | 27 +
.../Defensive_Coding/Common_Content/images/40.png | Bin 0 -> 1130 bytes
.../Defensive_Coding/Common_Content/images/40.svg | 31 +
.../Defensive_Coding/Common_Content/images/5.png | Bin 0 -> 900 bytes
.../Defensive_Coding/Common_Content/images/5.svg | 27 +
.../Defensive_Coding/Common_Content/images/6.png | Bin 0 -> 929 bytes
.../Defensive_Coding/Common_Content/images/6.svg | 27 +
.../Defensive_Coding/Common_Content/images/7.png | Bin 0 -> 807 bytes
.../Defensive_Coding/Common_Content/images/7.svg | 27 +
.../Defensive_Coding/Common_Content/images/8.png | Bin 0 -> 962 bytes
.../Defensive_Coding/Common_Content/images/8.svg | 27 +
.../Defensive_Coding/Common_Content/images/9.png | Bin 0 -> 936 bytes
.../Defensive_Coding/Common_Content/images/9.svg | 27 +
.../Common_Content/images/bkgrnd_greydots.png | Bin 0 -> 157 bytes
.../Common_Content/images/bullet_arrowblue.png | Bin 0 -> 177 bytes
.../Common_Content/images/documentation.png | Bin 0 -> 623 bytes
.../Defensive_Coding/Common_Content/images/dot.png | Bin 0 -> 98 bytes
.../Common_Content/images/dot2.png | Bin 0 -> 98 bytes
.../Common_Content/images/green.png | Bin 0 -> 176 bytes
.../Common_Content/images/h1-bg.png | Bin 0 -> 565 bytes
.../Common_Content/images/image_left.png | Bin 0 -> 1114 bytes
.../Common_Content/images/image_right.png | Bin 0 -> 2260 bytes
.../Common_Content/images/important.png | Bin 0 -> 2080 bytes
.../Common_Content/images/important.svg | 106 +
.../Common_Content/images/logo.png | Bin 0 -> 1114 bytes
.../Common_Content/images/note.png | Bin 0 -> 1241 bytes
.../Common_Content/images/note.svg | 111 +
.../Defensive_Coding/Common_Content/images/red.png | Bin 0 -> 163 bytes
.../Common_Content/images/shade.png | Bin 0 -> 101 bytes
.../Common_Content/images/shine.png | Bin 0 -> 146 bytes
.../Common_Content/images/stock-go-back.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-forward.png | Bin 0 -> 828 bytes
.../Common_Content/images/stock-go-up.png | Bin 0 -> 760 bytes
.../Common_Content/images/stock-home.png | Bin 0 -> 808 bytes
.../Common_Content/images/title_logo.png | Bin 0 -> 13399 bytes
.../Common_Content/images/title_logo.svg | 61 +
.../Common_Content/images/warning.png | Bin 0 -> 1340 bytes
.../Common_Content/images/warning.svg | 89 +
.../Common_Content/images/watermark-draft.png | Bin 0 -> 25365 bytes
.../Common_Content/images/yellow.png | Bin 0 -> 175 bytes
...pe-UEFI_Secure_Boot_Guide-Revision_History.html | 18 +
.../1/html/Defensive_Coding/ch01s02s03s05.html | 13 +
.../1/html/Defensive_Coding/ch01s02s03s06.html | 11 +
.../1/html/Defensive_Coding/ch01s02s03s07.html | 11 +
.../1/html/Defensive_Coding/ch01s03s04.html | 19 +
.../1/html/Defensive_Coding/ch01s03s05.html | 13 +
.../1/html/Defensive_Coding/ch04s02.html | 21 +
.../1/html/Defensive_Coding/ch04s03.html | 11 +
.../1/html/Defensive_Coding/ch05s02.html | 13 +
.../1/html/Defensive_Coding/ch05s04.html | 27 +
.../1/html/Defensive_Coding/ch08s02.html | 17 +
.../1/html/Defensive_Coding/ch08s03.html | 17 +
.../1/html/Defensive_Coding/ch08s05.html | 23 +
.../1/html/Defensive_Coding/ch09s02.html | 21 +
.../1/html/Defensive_Coding/ch09s03.html | 41 +
.../1/html/Defensive_Coding/ch09s05.html | 15 +
.../1/html/Defensive_Coding/ch10s02.html | 11 +
.../1/html/Defensive_Coding/ch10s03.html | 27 +
.../1/html/Defensive_Coding/ch10s05.html | 15 +
.../1/html/Defensive_Coding/ch11s02.html | 31 +
.../chap-Defensive_Coding-Authentication.html | 23 +
.../Defensive_Coding/chap-Defensive_Coding-C.html | 112 +
.../chap-Defensive_Coding-CXX.html | 55 +
.../chap-Defensive_Coding-Java.html | 116 +
.../chap-Defensive_Coding-Python.html | 23 +
.../chap-Defensive_Coding-TLS.html | 106 +
.../chap-Defensive_Coding-Tasks-Cryptography.html | 39 +
.../chap-Defensive_Coding-Tasks-File_System.html | 41 +
...chap-Defensive_Coding-Tasks-Library_Design.html | 29 +
.../chap-Defensive_Coding-Tasks-Serialization.html | 15 +
...Defensive_Coding-Tasks-Temporary_Directory.html | 15 +
...hap-Defensive_Coding-Tasks-Temporary_Files.html | 35 +
.../1/html/Defensive_Coding/images/icon.svg | 3936 ++++++++++++++++++++
.../1/html/Defensive_Coding/index.html | 34 +
.../1/html/Defensive_Coding/pt01.html | 9 +
.../1/html/Defensive_Coding/pt02.html | 9 +
.../1/html/Defensive_Coding/pt03.html | 9 +
...Defensive_Coding-Authentication-Host_based.html | 21 +
...ct-Defensive_Coding-Authentication-Netlink.html | 15 +
...efensive_Coding-Authentication-UNIX_Domain.html | 17 +
.../sect-Defensive_Coding-C-Allocators-Arrays.html | 13 +
.../sect-Defensive_Coding-C-Allocators-alloca.html | 21 +
.../sect-Defensive_Coding-C-Allocators.html | 23 +
.../sect-Defensive_Coding-C-Avoid.html | 35 +
.../sect-Defensive_Coding-C-Libc-strncat.html | 25 +
.../sect-Defensive_Coding-C-Libc-strncpy.html | 20 +
.../sect-Defensive_Coding-C-Libc-vsnprintf.html | 24 +
.../sect-Defensive_Coding-C-Libc.html | 37 +
.../sect-Defensive_Coding-C-Other.html | 23 +
...Defensive_Coding-C-String-Functions-Length.html | 33 +
.../sect-Defensive_Coding-CXX-Std.html | 15 +
.../sect-Defensive_Coding-Java-JNI.html | 66 +
.../sect-Defensive_Coding-Java-LowLevel.html | 13 +
.../sect-Defensive_Coding-Java-MiscUnsafe.html | 11 +
...nsive_Coding-Java-SecurityManager-Activate.html | 19 +
...ive_Coding-Java-SecurityManager-Privileged.html | 86 +
...e_Coding-Java-SecurityManager-Unprivileged.html | 47 +
...sect-Defensive_Coding-Java-SecurityManager.html | 27 +
.../sect-Defensive_Coding-TLS-Client-GNUTLS.html | 190 +
.../sect-Defensive_Coding-TLS-Client-NSS.html | 209 ++
.../sect-Defensive_Coding-TLS-Client-OpenJDK.html | 172 +
.../sect-Defensive_Coding-TLS-Client-Python.html | 69 +
.../sect-Defensive_Coding-TLS-Client.html | 206 +
...e_Coding-Tasks-Descriptors-Child_Processes.html | 25 +
...t-Defensive_Coding-Tasks-Descriptors-Limit.html | 29 +
.../sect-Defensive_Coding-Tasks-Descriptors.html | 33 +
...efensive_Coding-Tasks-File_System-Features.html | 35 +
...Defensive_Coding-Tasks-File_System-Foreign.html | 17 +
...ensive_Coding-Tasks-File_System-Free_Space.html | 11 +
...-Defensive_Coding-Tasks-File_System-Limits.html | 13 +
...sive_Coding-Tasks-Library_Design-Callbacks.html | 21 +
...t-Defensive_Coding-Tasks-Processes-Daemons.html | 25 +
...nsive_Coding-Tasks-Processes-Fork-Parallel.html | 11 +
.../sect-Defensive_Coding-Tasks-Processes.html | 63 +
...ct-Defensive_Coding-Tasks-Serialization-Qt.html | 85 +
...ve_Coding-Tasks-Serialization-XML-Entities.html | 13 +
...nsive_Coding-Tasks-Serialization-XML-Expat.html | 38 +
...asks-Serialization-XML-OpenJDK_Parse-Other.html | 13 +
...-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html | 54 +
...ding-Tasks-Serialization-XML-OpenJDK_Parse.html | 81 +
..._Coding-Tasks-Serialization-XML-Validation.html | 13 +
...ve_Coding-Tasks-Serialization-XML-XInclude.html | 13 +
...t-Defensive_Coding-Tasks-Serialization-XML.html | 37 +
...dora_Security_Team-1-Defensive_Coding-en-US.pdf | Bin 0 -> 584627 bytes
public_html/en-US/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/en-US/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/en-US/opds-Fedora_Core.xml | 2 +-
.../en-US/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/en-US/opds-Fedora_Security_Team.xml | 2 +-
public_html/en-US/opds.xml | 14 +-
public_html/en-US/toc.html | 13 +-
public_html/es-ES/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/es-ES/opds-Fedora.xml | 22 +-
public_html/es-ES/opds-Fedora_15.xml | 2 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/es-ES/opds-Fedora_Core.xml | 2 +-
.../es-ES/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/es-ES/opds-Fedora_Security_Team.xml | 2 +-
public_html/es-ES/opds.xml | 16 +-
public_html/es-ES/toc.html | 13 +-
public_html/fa-IR/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/fa-IR/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/fa-IR/opds-Fedora_Core.xml | 2 +-
.../fa-IR/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/fa-IR/opds-Fedora_Security_Team.xml | 2 +-
public_html/fa-IR/opds.xml | 14 +-
public_html/fa-IR/toc.html | 13 +-
public_html/fi-FI/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/fi-FI/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/fi-FI/opds-Fedora_Core.xml | 2 +-
.../fi-FI/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/fi-FI/opds-Fedora_Security_Team.xml | 2 +-
public_html/fi-FI/opds.xml | 14 +-
public_html/fi-FI/toc.html | 13 +-
public_html/fr-FR/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/fr-FR/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/fr-FR/opds-Fedora_Core.xml | 2 +-
.../fr-FR/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/fr-FR/opds-Fedora_Security_Team.xml | 2 +-
public_html/fr-FR/opds.xml | 14 +-
public_html/fr-FR/toc.html | 13 +-
public_html/gu-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/gu-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/gu-IN/opds-Fedora_Core.xml | 2 +-
.../gu-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/gu-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/gu-IN/opds.xml | 14 +-
public_html/gu-IN/toc.html | 13 +-
public_html/he-IL/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/he-IL/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/he-IL/opds-Fedora_Core.xml | 2 +-
.../he-IL/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/he-IL/opds-Fedora_Security_Team.xml | 2 +-
public_html/he-IL/opds.xml | 14 +-
public_html/he-IL/toc.html | 13 +-
public_html/hi-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/hi-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/hi-IN/opds-Fedora_Core.xml | 2 +-
.../hi-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/hi-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/hi-IN/opds.xml | 14 +-
public_html/hi-IN/toc.html | 13 +-
public_html/hu-HU/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/hu-HU/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/hu-HU/opds-Fedora_Core.xml | 2 +-
.../hu-HU/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/hu-HU/opds-Fedora_Security_Team.xml | 2 +-
public_html/hu-HU/opds.xml | 14 +-
public_html/hu-HU/toc.html | 13 +-
public_html/ia/Site_Statistics.html | 4 +-
.../ia/opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ia/opds-Fedora.xml | 22 +-
.../ia/opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ia/opds-Fedora_Core.xml | 2 +-
public_html/ia/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ia/opds-Fedora_Security_Team.xml | 2 +-
public_html/ia/opds.xml | 14 +-
public_html/ia/toc.html | 13 +-
public_html/id-ID/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/id-ID/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/id-ID/opds-Fedora_Core.xml | 2 +-
.../id-ID/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/id-ID/opds-Fedora_Security_Team.xml | 2 +-
public_html/id-ID/opds.xml | 14 +-
public_html/id-ID/toc.html | 13 +-
public_html/it-IT/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/it-IT/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/it-IT/opds-Fedora_Core.xml | 2 +-
.../it-IT/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/it-IT/opds-Fedora_Security_Team.xml | 2 +-
public_html/it-IT/opds.xml | 14 +-
public_html/it-IT/toc.html | 13 +-
public_html/ja-JP/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ja-JP/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ja-JP/opds-Fedora_Core.xml | 2 +-
.../ja-JP/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ja-JP/opds-Fedora_Security_Team.xml | 2 +-
public_html/ja-JP/opds.xml | 14 +-
public_html/ja-JP/toc.html | 13 +-
public_html/kn-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/kn-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/kn-IN/opds-Fedora_Core.xml | 2 +-
.../kn-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/kn-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/kn-IN/opds.xml | 14 +-
public_html/kn-IN/toc.html | 13 +-
public_html/ko-KR/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ko-KR/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ko-KR/opds-Fedora_Core.xml | 2 +-
.../ko-KR/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ko-KR/opds-Fedora_Security_Team.xml | 2 +-
public_html/ko-KR/opds.xml | 14 +-
public_html/ko-KR/toc.html | 13 +-
public_html/ml-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ml-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ml-IN/opds-Fedora_Core.xml | 2 +-
.../ml-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ml-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/ml-IN/opds.xml | 14 +-
public_html/ml-IN/toc.html | 13 +-
public_html/mr-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/mr-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/mr-IN/opds-Fedora_Core.xml | 2 +-
.../mr-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/mr-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/mr-IN/opds.xml | 14 +-
public_html/mr-IN/toc.html | 13 +-
public_html/nb-NO/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/nb-NO/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/nb-NO/opds-Fedora_Core.xml | 2 +-
.../nb-NO/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/nb-NO/opds-Fedora_Security_Team.xml | 2 +-
public_html/nb-NO/opds.xml | 14 +-
public_html/nb-NO/toc.html | 13 +-
public_html/nl-NL/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/nl-NL/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/nl-NL/opds-Fedora_Core.xml | 2 +-
.../nl-NL/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/nl-NL/opds-Fedora_Security_Team.xml | 2 +-
public_html/nl-NL/opds.xml | 14 +-
public_html/nl-NL/toc.html | 13 +-
public_html/opds.xml | 90 +-
public_html/or-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/or-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/or-IN/opds-Fedora_Core.xml | 2 +-
.../or-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/or-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/or-IN/opds.xml | 14 +-
public_html/or-IN/toc.html | 13 +-
public_html/pa-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/pa-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/pa-IN/opds-Fedora_Core.xml | 2 +-
.../pa-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/pa-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/pa-IN/opds.xml | 14 +-
public_html/pa-IN/toc.html | 13 +-
public_html/pl-PL/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/pl-PL/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/pl-PL/opds-Fedora_Core.xml | 2 +-
.../pl-PL/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/pl-PL/opds-Fedora_Security_Team.xml | 2 +-
public_html/pl-PL/opds.xml | 14 +-
public_html/pl-PL/toc.html | 13 +-
public_html/pt-BR/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/pt-BR/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/pt-BR/opds-Fedora_Core.xml | 2 +-
.../pt-BR/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/pt-BR/opds-Fedora_Security_Team.xml | 2 +-
public_html/pt-BR/opds.xml | 14 +-
public_html/pt-BR/toc.html | 13 +-
public_html/pt-PT/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/pt-PT/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/pt-PT/opds-Fedora_Core.xml | 2 +-
.../pt-PT/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/pt-PT/opds-Fedora_Security_Team.xml | 2 +-
public_html/pt-PT/opds.xml | 14 +-
public_html/pt-PT/toc.html | 13 +-
public_html/ro/Site_Statistics.html | 4 +-
.../ro/opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ro/opds-Fedora.xml | 22 +-
.../ro/opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ro/opds-Fedora_Core.xml | 2 +-
public_html/ro/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ro/opds-Fedora_Security_Team.xml | 2 +-
public_html/ro/opds.xml | 14 +-
public_html/ro/toc.html | 13 +-
public_html/ru-RU/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ru-RU/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ru-RU/opds-Fedora_Core.xml | 2 +-
.../ru-RU/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ru-RU/opds-Fedora_Security_Team.xml | 2 +-
public_html/ru-RU/opds.xml | 14 +-
public_html/ru-RU/toc.html | 13 +-
public_html/sk-SK/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/sk-SK/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/sk-SK/opds-Fedora_Core.xml | 2 +-
.../sk-SK/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/sk-SK/opds-Fedora_Security_Team.xml | 2 +-
public_html/sk-SK/opds.xml | 14 +-
public_html/sk-SK/toc.html | 13 +-
public_html/sr-Latn-RS/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/sr-Latn-RS/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/sr-Latn-RS/opds-Fedora_Core.xml | 2 +-
.../sr-Latn-RS/opds-Fedora_Draft_Documentation.xml | 2 +-
.../sr-Latn-RS/opds-Fedora_Security_Team.xml | 2 +-
public_html/sr-Latn-RS/opds.xml | 14 +-
public_html/sr-Latn-RS/toc.html | 13 +-
public_html/sr-RS/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/sr-RS/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/sr-RS/opds-Fedora_Core.xml | 2 +-
.../sr-RS/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/sr-RS/opds-Fedora_Security_Team.xml | 2 +-
public_html/sr-RS/opds.xml | 14 +-
public_html/sr-RS/toc.html | 13 +-
public_html/sv-SE/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/sv-SE/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/sv-SE/opds-Fedora_Core.xml | 2 +-
.../sv-SE/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/sv-SE/opds-Fedora_Security_Team.xml | 2 +-
public_html/sv-SE/opds.xml | 14 +-
public_html/sv-SE/toc.html | 13 +-
public_html/ta-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/ta-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/ta-IN/opds-Fedora_Core.xml | 2 +-
.../ta-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/ta-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/ta-IN/opds.xml | 14 +-
public_html/ta-IN/toc.html | 13 +-
public_html/te-IN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/te-IN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/te-IN/opds-Fedora_Core.xml | 2 +-
.../te-IN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/te-IN/opds-Fedora_Security_Team.xml | 2 +-
public_html/te-IN/opds.xml | 14 +-
public_html/te-IN/toc.html | 13 +-
public_html/toc.html | 45 +-
public_html/uk-UA/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/uk-UA/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/uk-UA/opds-Fedora_Core.xml | 2 +-
.../uk-UA/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/uk-UA/opds-Fedora_Security_Team.xml | 2 +-
public_html/uk-UA/opds.xml | 14 +-
public_html/uk-UA/toc.html | 13 +-
public_html/zh-CN/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/zh-CN/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/zh-CN/opds-Fedora_Core.xml | 2 +-
.../zh-CN/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/zh-CN/opds-Fedora_Security_Team.xml | 2 +-
public_html/zh-CN/opds.xml | 14 +-
public_html/zh-CN/toc.html | 13 +-
public_html/zh-TW/Site_Statistics.html | 4 +-
.../opds-Community_Services_Infrastructure.xml | 2 +-
public_html/zh-TW/opds-Fedora.xml | 22 +-
.../opds-Fedora_Contributor_Documentation.xml | 2 +-
public_html/zh-TW/opds-Fedora_Core.xml | 2 +-
.../zh-TW/opds-Fedora_Draft_Documentation.xml | 2 +-
public_html/zh-TW/opds-Fedora_Security_Team.xml | 2 +-
public_html/zh-TW/opds.xml | 14 +-
public_html/zh-TW/toc.html | 13 +-
1163 files changed, 38688 insertions(+), 901 deletions(-)
---
diff --git a/fedoradocs.db b/fedoradocs.db
index 8955320..7f2ef0a 100644
Binary files a/fedoradocs.db and b/fedoradocs.db differ
diff --git a/public_html/Sitemap b/public_html/Sitemap
index aa9efcd..06a8a88 100644
--- a/public_html/Sitemap
+++ b/public_html/Sitemap
@@ -1855,6 +1855,30 @@
<priority>0.8</priority>
</url>
<url>
+ <
loc>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_G...
+ <lastmod>2013-08-21</lastmod>
+ <changefreq>monthly</changefreq>
+ <priority>0.8</priority>
+</url>
+<url>
+ <
loc>http://docs.fedoraproject.org/en-US/Fedora/19/html/Amateur_Radio_G...
+ <lastmod>2013-08-21</lastmod>
+ <changefreq>monthly</changefreq>
+ <priority>0.8</priority>
+</url>
+<url>
+ <
loc>http://docs.fedoraproject.org/en-US/Fedora/19/html-single/Amateur_...
+ <lastmod>2013-08-21</lastmod>
+ <changefreq>monthly</changefreq>
+ <priority>0.8</priority>
+</url>
+<url>
+ <
loc>http://docs.fedoraproject.org/en-US/Fedora/19/pdf/Amateur_Radio_Gu...
+ <lastmod>2013-08-21</lastmod>
+ <changefreq>monthly</changefreq>
+ <priority>0.8</priority>
+</url>
+<url>
<
loc>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_ima...
<lastmod>2013-07-07</lastmod>
<changefreq>monthly</changefreq>
diff --git a/public_html/as-IN/Site_Statistics.html
b/public_html/as-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/as-IN/Site_Statistics.html
+++ b/public_html/as-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/as-IN/opds-Community_Services_Infrastructure.xml
b/public_html/as-IN/opds-Community_Services_Infrastructure.xml
index 7f9a1b1..dce3865 100644
--- a/public_html/as-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/as-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/as-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/as-IN/opds-Fedora.xml b/public_html/as-IN/opds-Fedora.xml
index c6d51c6..89d9398 100644
--- a/public_html/as-IN/opds-Fedora.xml
+++ b/public_html/as-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/as-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>as-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>as-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
index da26e59..51f77fd 100644
--- a/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/as-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Core.xml
b/public_html/as-IN/opds-Fedora_Core.xml
index 2d4328f..3caf099 100644
--- a/public_html/as-IN/opds-Fedora_Core.xml
+++ b/public_html/as-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
index 2cd7d2a..67e6d91 100644
--- a/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/as-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/as-IN/opds-Fedora_Security_Team.xml
b/public_html/as-IN/opds-Fedora_Security_Team.xml
index 0e2ab05..1922388 100644
--- a/public_html/as-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/as-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/as-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/as-IN/opds.xml b/public_html/as-IN/opds.xml
index 78c10fc..8244ed1 100644
--- a/public_html/as-IN/opds.xml
+++ b/public_html/as-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/as-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/as-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/as-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/as-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/as-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/as-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/as-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/as-IN/toc.html b/public_html/as-IN/toc.html
index 48adb9a..8587d98 100644
--- a/public_html/as-IN/toc.html
+++ b/public_html/as-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/bg-BG/Site_Statistics.html
b/public_html/bg-BG/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/bg-BG/Site_Statistics.html
+++ b/public_html/bg-BG/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
b/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
index 03b92f8..ad933b3 100644
--- a/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
+++ b/public_html/bg-BG/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bg-BG/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora.xml b/public_html/bg-BG/opds-Fedora.xml
index d15dce9..818178c 100644
--- a/public_html/bg-BG/opds-Fedora.xml
+++ b/public_html/bg-BG/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/bg-BG/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>bg-BG</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>bg-BG</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
b/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
index 4e67e45..d90e638 100644
--- a/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/bg-BG/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Core.xml
b/public_html/bg-BG/opds-Fedora_Core.xml
index 75f8e33..6f798ab 100644
--- a/public_html/bg-BG/opds-Fedora_Core.xml
+++ b/public_html/bg-BG/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
b/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
index c6d6a3d..10c5b80 100644
--- a/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/bg-BG/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bg-BG/opds-Fedora_Security_Team.xml
b/public_html/bg-BG/opds-Fedora_Security_Team.xml
index e549ad1..d237cc9 100644
--- a/public_html/bg-BG/opds-Fedora_Security_Team.xml
+++ b/public_html/bg-BG/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bg-BG/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bg-BG/opds.xml b/public_html/bg-BG/opds.xml
index 931c207..7feeec0 100644
--- a/public_html/bg-BG/opds.xml
+++ b/public_html/bg-BG/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/bg-BG/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/bg-BG/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/bg-BG/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/bg-BG/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/bg-BG/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/bg-BG/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/bg-BG/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/bg-BG/toc.html b/public_html/bg-BG/toc.html
index 4e24c2e..3e3746b 100644
--- a/public_html/bg-BG/toc.html
+++ b/public_html/bg-BG/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/bn-IN/Site_Statistics.html
b/public_html/bn-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/bn-IN/Site_Statistics.html
+++ b/public_html/bn-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
b/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
index ef1ca3a..79f58dc 100644
--- a/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/bn-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bn-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora.xml b/public_html/bn-IN/opds-Fedora.xml
index d33444d..29a675b 100644
--- a/public_html/bn-IN/opds-Fedora.xml
+++ b/public_html/bn-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/bn-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>bn-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>bn-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
index 708c131..145769e 100644
--- a/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/bn-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Core.xml
b/public_html/bn-IN/opds-Fedora_Core.xml
index 819771c..e3e1d4b 100644
--- a/public_html/bn-IN/opds-Fedora_Core.xml
+++ b/public_html/bn-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
index 24c200b..80590a8 100644
--- a/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/bn-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bn-IN/opds-Fedora_Security_Team.xml
b/public_html/bn-IN/opds-Fedora_Security_Team.xml
index 03afb9e..b53ca1e 100644
--- a/public_html/bn-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/bn-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bn-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bn-IN/opds.xml b/public_html/bn-IN/opds.xml
index 7113467..440fbfe 100644
--- a/public_html/bn-IN/opds.xml
+++ b/public_html/bn-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/bn-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/bn-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/bn-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/bn-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/bn-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/bn-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/bn-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/bn-IN/toc.html b/public_html/bn-IN/toc.html
index 1261091..fb2721e 100644
--- a/public_html/bn-IN/toc.html
+++ b/public_html/bn-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/bs-BA/Site_Statistics.html
b/public_html/bs-BA/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/bs-BA/Site_Statistics.html
+++ b/public_html/bs-BA/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
b/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
index 2d712eb..ad47aae 100644
--- a/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
+++ b/public_html/bs-BA/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bs-BA/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora.xml b/public_html/bs-BA/opds-Fedora.xml
index 2278f71..cc770c2 100644
--- a/public_html/bs-BA/opds-Fedora.xml
+++ b/public_html/bs-BA/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/bs-BA/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>bs-BA</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>bs-BA</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
b/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
index cd23bd4..0cd99f8 100644
--- a/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/bs-BA/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Core.xml
b/public_html/bs-BA/opds-Fedora_Core.xml
index e2e29f1..d3e3478 100644
--- a/public_html/bs-BA/opds-Fedora_Core.xml
+++ b/public_html/bs-BA/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
b/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
index 203c77e..1eaee4d 100644
--- a/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/bs-BA/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bs-BA/opds-Fedora_Security_Team.xml
b/public_html/bs-BA/opds-Fedora_Security_Team.xml
index 3093cda..e85e883 100644
--- a/public_html/bs-BA/opds-Fedora_Security_Team.xml
+++ b/public_html/bs-BA/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/bs-BA/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/bs-BA/opds.xml b/public_html/bs-BA/opds.xml
index a79f719..a9628b7 100644
--- a/public_html/bs-BA/opds.xml
+++ b/public_html/bs-BA/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/bs-BA/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/bs-BA/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/bs-BA/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/bs-BA/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/bs-BA/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/bs-BA/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/bs-BA/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/bs-BA/toc.html b/public_html/bs-BA/toc.html
index da551a7..a4f663f 100644
--- a/public_html/bs-BA/toc.html
+++ b/public_html/bs-BA/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ca-ES/Site_Statistics.html
b/public_html/ca-ES/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/ca-ES/Site_Statistics.html
+++ b/public_html/ca-ES/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
b/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
index 2598779..e53842b 100644
--- a/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ca-ES/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ca-ES/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora.xml b/public_html/ca-ES/opds-Fedora.xml
index 356d6c0..b11acce 100644
--- a/public_html/ca-ES/opds-Fedora.xml
+++ b/public_html/ca-ES/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ca-ES/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ca-ES</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ca-ES</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
b/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
index e77e9a5..0d3c97d 100644
--- a/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ca-ES/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Core.xml
b/public_html/ca-ES/opds-Fedora_Core.xml
index 075b407..72606ed 100644
--- a/public_html/ca-ES/opds-Fedora_Core.xml
+++ b/public_html/ca-ES/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
b/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
index aea33bb..db19f10 100644
--- a/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ca-ES/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ca-ES/opds-Fedora_Security_Team.xml
b/public_html/ca-ES/opds-Fedora_Security_Team.xml
index 333f545..9e00943 100644
--- a/public_html/ca-ES/opds-Fedora_Security_Team.xml
+++ b/public_html/ca-ES/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ca-ES/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ca-ES/opds.xml b/public_html/ca-ES/opds.xml
index 286a689..9b91742 100644
--- a/public_html/ca-ES/opds.xml
+++ b/public_html/ca-ES/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ca-ES/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ca-ES/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ca-ES/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/ca-ES/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ca-ES/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/ca-ES/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ca-ES/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ca-ES/toc.html b/public_html/ca-ES/toc.html
index 9714f5f..39aa4c3 100644
--- a/public_html/ca-ES/toc.html
+++ b/public_html/ca-ES/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/cs-CZ/Site_Statistics.html
b/public_html/cs-CZ/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/cs-CZ/Site_Statistics.html
+++ b/public_html/cs-CZ/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
b/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
index 99d2ad8..18f7462 100644
--- a/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
+++ b/public_html/cs-CZ/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/cs-CZ/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora.xml b/public_html/cs-CZ/opds-Fedora.xml
index 7fd3191..d9cb15e 100644
--- a/public_html/cs-CZ/opds-Fedora.xml
+++ b/public_html/cs-CZ/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>cs-CZ</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>cs-CZ</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
b/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
index 082e53d..b2db158 100644
--- a/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/cs-CZ/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Core.xml
b/public_html/cs-CZ/opds-Fedora_Core.xml
index b268e27..2d0ecc1 100644
--- a/public_html/cs-CZ/opds-Fedora_Core.xml
+++ b/public_html/cs-CZ/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
b/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
index 13220e0..fc08455 100644
--- a/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/cs-CZ/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/cs-CZ/opds-Fedora_Security_Team.xml
b/public_html/cs-CZ/opds-Fedora_Security_Team.xml
index 235a66c..08a6efd 100644
--- a/public_html/cs-CZ/opds-Fedora_Security_Team.xml
+++ b/public_html/cs-CZ/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/cs-CZ/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/cs-CZ/opds.xml b/public_html/cs-CZ/opds.xml
index 9a7d83f..eaee3ae 100644
--- a/public_html/cs-CZ/opds.xml
+++ b/public_html/cs-CZ/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/cs-CZ/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/cs-CZ/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/cs-CZ/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/cs-CZ/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/cs-CZ/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/cs-CZ/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/cs-CZ/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/cs-CZ/toc.html b/public_html/cs-CZ/toc.html
index 84b6e5b..fa26f9a 100644
--- a/public_html/cs-CZ/toc.html
+++ b/public_html/cs-CZ/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/da-DK/Site_Statistics.html
b/public_html/da-DK/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/da-DK/Site_Statistics.html
+++ b/public_html/da-DK/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/da-DK/opds-Community_Services_Infrastructure.xml
b/public_html/da-DK/opds-Community_Services_Infrastructure.xml
index 1a5a6b1..ab61fbb 100644
--- a/public_html/da-DK/opds-Community_Services_Infrastructure.xml
+++ b/public_html/da-DK/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/da-DK/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/da-DK/opds-Fedora.xml b/public_html/da-DK/opds-Fedora.xml
index 9a677b6..0751c6a 100644
--- a/public_html/da-DK/opds-Fedora.xml
+++ b/public_html/da-DK/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/da-DK/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>da-DK</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>da-DK</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
b/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
index 09c5362..46bba8e 100644
--- a/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/da-DK/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Core.xml
b/public_html/da-DK/opds-Fedora_Core.xml
index 48c2ff9..aca15db 100644
--- a/public_html/da-DK/opds-Fedora_Core.xml
+++ b/public_html/da-DK/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
b/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
index b0bd2aa..2398d69 100644
--- a/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/da-DK/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/da-DK/opds-Fedora_Security_Team.xml
b/public_html/da-DK/opds-Fedora_Security_Team.xml
index e440f87..0a23442 100644
--- a/public_html/da-DK/opds-Fedora_Security_Team.xml
+++ b/public_html/da-DK/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/da-DK/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/da-DK/opds.xml b/public_html/da-DK/opds.xml
index 02d7b34..ba2e801 100644
--- a/public_html/da-DK/opds.xml
+++ b/public_html/da-DK/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/da-DK/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/da-DK/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/da-DK/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/da-DK/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/da-DK/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/da-DK/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/da-DK/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/da-DK/toc.html b/public_html/da-DK/toc.html
index e16ba5f..bca652e 100644
--- a/public_html/da-DK/toc.html
+++ b/public_html/da-DK/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/de-DE/Site_Statistics.html
b/public_html/de-DE/Site_Statistics.html
index 7dbe610..27807a2 100644
--- a/public_html/de-DE/Site_Statistics.html
+++ b/public_html/de-DE/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Sprachen gesamt: </b>44<br />
- <b>Pakete gesamt: </b>879
+ <b>Pakete gesamt: </b>880
</div>
</body>
</html>
diff --git a/public_html/de-DE/opds-Community_Services_Infrastructure.xml
b/public_html/de-DE/opds-Community_Services_Infrastructure.xml
index 2139819..0e10a49 100644
--- a/public_html/de-DE/opds-Community_Services_Infrastructure.xml
+++ b/public_html/de-DE/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/de-DE/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/de-DE/opds-Fedora.xml b/public_html/de-DE/opds-Fedora.xml
index a665e90..de2d492 100644
--- a/public_html/de-DE/opds-Fedora.xml
+++ b/public_html/de-DE/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/de-DE/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>de-DE</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>de-DE</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
b/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
index b6de96f..d0323d0 100644
--- a/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/de-DE/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Core.xml
b/public_html/de-DE/opds-Fedora_Core.xml
index d19557d..da5a310 100644
--- a/public_html/de-DE/opds-Fedora_Core.xml
+++ b/public_html/de-DE/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
b/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
index 3c34969..e1f0176 100644
--- a/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/de-DE/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/de-DE/opds-Fedora_Security_Team.xml
b/public_html/de-DE/opds-Fedora_Security_Team.xml
index b3468b1..e672d36 100644
--- a/public_html/de-DE/opds-Fedora_Security_Team.xml
+++ b/public_html/de-DE/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/de-DE/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/de-DE/opds.xml b/public_html/de-DE/opds.xml
index 6a13344..ee91634 100644
--- a/public_html/de-DE/opds.xml
+++ b/public_html/de-DE/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/de-DE/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/de-DE/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/de-DE/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/de-DE/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/de-DE/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/de-DE/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/de-DE/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/de-DE/toc.html b/public_html/de-DE/toc.html
index 188bc94..71f07a2 100644
--- a/public_html/de-DE/toc.html
+++ b/public_html/de-DE/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Nicht übersetzt</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/el-GR/Site_Statistics.html
b/public_html/el-GR/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/el-GR/Site_Statistics.html
+++ b/public_html/el-GR/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/el-GR/opds-Community_Services_Infrastructure.xml
b/public_html/el-GR/opds-Community_Services_Infrastructure.xml
index e9fe22d..2dc387b 100644
--- a/public_html/el-GR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/el-GR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/el-GR/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/el-GR/opds-Fedora.xml b/public_html/el-GR/opds-Fedora.xml
index e2cecc6..44d490a 100644
--- a/public_html/el-GR/opds-Fedora.xml
+++ b/public_html/el-GR/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/el-GR/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>el-GR</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>el-GR</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
b/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
index edc093f..b92ceea 100644
--- a/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/el-GR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Core.xml
b/public_html/el-GR/opds-Fedora_Core.xml
index d8cdc2b..d585071 100644
--- a/public_html/el-GR/opds-Fedora_Core.xml
+++ b/public_html/el-GR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
b/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
index 8b24137..a29bbff 100644
--- a/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/el-GR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/el-GR/opds-Fedora_Security_Team.xml
b/public_html/el-GR/opds-Fedora_Security_Team.xml
index 58b6fee..dd61deb 100644
--- a/public_html/el-GR/opds-Fedora_Security_Team.xml
+++ b/public_html/el-GR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/el-GR/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/el-GR/opds.xml b/public_html/el-GR/opds.xml
index d0a59db..9220412 100644
--- a/public_html/el-GR/opds.xml
+++ b/public_html/el-GR/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/el-GR/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/el-GR/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/el-GR/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/el-GR/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/el-GR/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/el-GR/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/el-GR/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/el-GR/toc.html b/public_html/el-GR/toc.html
index e2b1c27..f5cefeb 100644
--- a/public_html/el-GR/toc.html
+++ b/public_html/el-GR/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git
a/public_html/en-US/Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub
b/public_html/en-US/Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub
new file mode 100644
index 0000000..8edfb3f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/common.css
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/common.css
new file mode 100644
index 0000000..d7dc3f2
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/common.css
@@ -0,0 +1,1528 @@
+* {
+ widows: 2 !important;
+ orphans: 2 !important;
+}
+
+body, h1, h2, h3, h4, h5, h6, pre, li, div {
+ line-height: 1.29em;
+}
+
+body {
+ background-color: white;
+ margin:0 auto;
+ font-family: "liberation sans", "Myriad ", "Bitstream Vera
Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS",
helvetica, verdana, arial, sans-serif;
+ font-size:12px;
+ max-width:55em;
+ color:black;
+}
+
+body.toc_embeded {
+ /*for web hosting system only*/
+ margin-left: 300px;
+}
+
+object.toc, iframe.toc {
+ /*for web hosting system only*/
+ border-style:none;
+ position:fixed;
+ width:290px;
+ height:99.99%;
+ top:0;
+ left:0;
+ z-index: 100;
+ border-style:none;
+ border-right:1px solid #999;
+}
+
+/* Hide web menu */
+
+body.notoc {
+ margin-left: 3em;
+}
+
+iframe.notoc {
+ border-style:none;
+ border: none;
+ padding: 0em;
+ position:fixed;
+ width: 21px;
+ height: 29px;
+ top: 0px;
+ left:0;
+ overflow: hidden;
+ margin: 0em;
+ margin-left: -3px;
+}
+/* End hide web menu */
+
+/* desktop styles */
+body.desktop {
+ margin-left: 26em;
+}
+
+body.desktop .book > .toc {
+ display:block;
+ width:24em;
+ height:99%;
+ position:fixed;
+ overflow:auto;
+ top:0px;
+ left:0px;
+ padding-left:1em;
+ background-color:#EEEEEE;
+}
+
+.toc {
+ line-height:1.35em;
+}
+
+.toc .glossary,
+.toc .chapter, .toc .appendix {
+ margin-top:1em;
+}
+
+.toc .part {
+ margin-top:1em;
+ display:block;
+}
+
+span.glossary,
+span.appendix {
+ display:block;
+ margin-top:0.5em;
+}
+
+div {
+ padding-top:0px;
+}
+
+div.section {
+ padding-top:1em;
+}
+
+p, div.para, div.formalpara {
+ padding-top:0px;
+ margin-top:0.3em;
+ padding-bottom:0px;
+ margin-bottom:1em;
+}
+
+/*Links*/
+a {
+ outline: none;
+}
+
+a:link {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#3366cc;
+}
+
+a:visited {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#003366;
+}
+
+div.longdesc-link {
+ float:right;
+ color:#999;
+}
+
+.toc a, .qandaset a {
+ font-weight:normal;
+ border:none;
+}
+
+.toc a:hover, .qandaset a:hover
+{
+ border-bottom: 1px dotted;
+}
+
+/*headings*/
+h1, h2, h3, h4, h5, h6 {
+ color: #336699;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ background-color: transparent;
+ page-break-inside: avoid;
+ page-break-after: avoid;
+}
+
+h1 {
+ font-size:2.0em;
+}
+
+.titlepage h1.title {
+ font-size: 3.0em;
+ padding-top: 1em;
+ text-align:left;
+}
+
+.book > .titlepage h1.title {
+ text-align:center;
+}
+
+.article > .titlepage h1.title {
+ text-align:center;
+}
+
+.set .titlepage > div > div > h1.title {
+ text-align:center;
+}
+
+.producttitle {
+ margin-top: 0em;
+ margin-bottom: 0em;
+ font-size: 3.0em;
+ font-weight: bold;
+ background: #003d6e url(../images/h1-bg.png) top left repeat-x;
+ color: white;
+ text-align: center;
+ padding: 0.7em;
+}
+
+.titlepage .corpauthor {
+ margin-top: 1em;
+ text-align: center;
+}
+
+.section h1.title {
+ font-size: 1.6em;
+ padding: 0em;
+ color: #336699;
+ text-align: left;
+ background: white;
+}
+
+h2 {
+ font-size:1.6em;
+}
+
+
+h2.subtitle, h3.subtitle {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ text-align: center;
+}
+
+.preface > div > div > div > h2.title {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+.appendix h2 {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+
+
+h3 {
+ font-size:1.3em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+h4 {
+ font-size:1.1em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+
+h5 {
+ font-size:1em;
+}
+
+h6 {
+ font-size:1em;
+}
+
+h5.formalpara {
+ font-size:1em;
+ margin-top:2em;
+ margin-bottom:.8em;
+}
+
+.abstract h6 {
+ margin-top:1em;
+ margin-bottom:.5em;
+ font-size:2em;
+}
+
+/*element rules*/
+hr {
+ border-collapse: collapse;
+ border-style:none;
+ border-top: 1px dotted #ccc;
+ width:100%;
+ margin-top: 3em;
+}
+
+/* web site rules */
+ul.languages, .languages li {
+ display:inline;
+ padding:0em;
+}
+
+.languages li a {
+ padding:0em .5em;
+ text-decoration: none;
+}
+
+.languages li p, .languages li div.para {
+ display:inline;
+}
+
+.languages li a:link, .languages li a:visited {
+ color:#444;
+}
+
+.languages li a:hover, .languages li a:focus, .languages li a:active {
+ color:black;
+}
+
+ul.languages {
+ display:block;
+ background-color:#eee;
+ padding:.5em;
+}
+
+/*supporting stylesheets*/
+
+/*unique to the webpage only*/
+.books {
+ position:relative;
+}
+
+.versions li {
+ width:100%;
+ clear:both;
+ display:block;
+}
+
+a.version {
+ font-size:2em;
+ text-decoration:none;
+ width:100%;
+ display:block;
+ padding:1em 0em .2em 0em;
+ clear:both;
+}
+
+a.version:before {
+ content:"Version";
+ font-size:smaller;
+}
+
+a.version:visited, a.version:link {
+ color:#666;
+}
+
+a.version:focus, a.version:hover {
+ color:black;
+}
+
+.books {
+ display:block;
+ position:relative;
+ clear:both;
+ width:100%;
+}
+
+.books li {
+ display:block;
+ width:200px;
+ float:left;
+ position:relative;
+ clear: none ;
+}
+
+.books .html {
+ width:170px;
+ display:block;
+}
+
+.books .pdf {
+ position:absolute;
+ left:170px;
+ top:0px;
+ font-size:smaller;
+}
+
+.books .pdf:link, .books .pdf:visited {
+ color:#555;
+}
+
+.books .pdf:hover, .books .pdf:focus {
+ color:#000;
+}
+
+.books li a {
+ text-decoration:none;
+}
+
+.books li a:hover {
+ color:black;
+}
+
+/*products*/
+.products li {
+ display: block;
+ width:300px;
+ float:left;
+}
+
+.products li a {
+ width:300px;
+ padding:.5em 0em;
+}
+
+.products ul {
+ clear:both;
+}
+
+/*revision history*/
+.revhistory {
+ display:block;
+}
+
+.revhistory table {
+ background-color:transparent;
+ border-color:#fff;
+ padding:0em;
+ margin: 0;
+ border-collapse:collapse;
+ border-style:none;
+}
+
+.revhistory td {
+ text-align :left;
+ padding:0em;
+ border: none;
+ border-top: 1px solid #fff;
+ font-weight: bold;
+}
+
+.revhistory .simplelist td {
+ font-weight: normal;
+}
+
+.revhistory .simplelist {
+ margin-bottom: 1.5em;
+ margin-left: 1em;
+}
+
+.revhistory table th {
+ display: none;
+}
+
+
+/*credits*/
+.authorgroup div {
+ clear:both;
+ text-align: center;
+}
+
+h3.author {
+ margin: 0em;
+ padding: 0em;
+ padding-top: 1em;
+}
+
+.authorgroup h4 {
+ padding: 0em;
+ margin: 0em;
+ padding-top: 1em;
+ margin-top: 1em;
+}
+
+.author,
+.editor,
+.translator,
+.othercredit,
+.contrib {
+ display: block;
+}
+
+.revhistory .author {
+ display: inline;
+}
+
+.othercredit h3 {
+ padding-top: 1em;
+}
+
+
+.othercredit {
+ margin:0em;
+ padding:0em;
+}
+
+.releaseinfo {
+ clear: both;
+}
+
+.copyright {
+ margin-top: 1em;
+}
+
+/* qanda sets */
+.answer {
+ margin-bottom:1em;
+ border-bottom:1px dotted #ccc;
+}
+
+.qandaset .toc {
+ border-bottom:1px dotted #ccc;
+}
+
+.question {
+ font-weight:bold;
+}
+
+.answer .data, .question .data {
+ padding-left: 2.6em;
+}
+
+.answer label, .question label {
+ float:left;
+ font-weight:bold;
+}
+
+/* inline syntax highlighting */
+.perl_Alert {
+ color: #0000ff;
+}
+
+.perl_BaseN {
+ color: #007f00;
+}
+
+.perl_BString {
+ color: #5C3566;
+}
+
+.perl_Char {
+ color: #ff00ff;
+}
+
+.perl_Comment {
+ color: #FF00FF;
+}
+
+
+.perl_DataType {
+ color: #0000ff;
+}
+
+
+.perl_DecVal {
+ color: #00007f;
+}
+
+
+.perl_Error {
+ color: #ff0000;
+}
+
+
+.perl_Float {
+ color: #00007f;
+}
+
+
+.perl_Function {
+ color: #007f00;
+}
+
+
+.perl_IString {
+ color: #5C3566;
+}
+
+
+.perl_Keyword {
+ color: #002F5D;
+}
+
+
+.perl_Operator {
+ color: #ffa500;
+}
+
+
+.perl_Others {
+ color: #b03060;
+}
+
+
+.perl_RegionMarker {
+ color: #96b9ff;
+}
+
+
+.perl_Reserved {
+ color: #9b30ff;
+}
+
+
+.perl_String {
+ color: #5C3566;
+}
+
+
+.perl_Variable {
+ color: #0000ff;
+}
+
+
+.perl_Warning {
+ color: #0000ff;
+}
+
+/*Lists*/
+ul {
+ padding-left:1.6em;
+ list-style-image:url(../images/dot.png);
+ list-style-type: circle;
+}
+
+ul ul {
+ list-style-image:url(../images/dot2.png);
+ list-style-type: circle;
+}
+
+ol {
+ list-style-image:none;
+ list-style-type: decimal;
+}
+
+ol ol {
+ list-style-type: lower-alpha;
+}
+
+ol.arabic {
+ list-style-type: decimal;
+}
+
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+dt {
+ font-weight:bold;
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+dd {
+ margin:0em;
+ margin-left:2em;
+ padding-top:0em;
+ padding-bottom: 1em;
+}
+
+li {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.4em;
+}
+
+li p, li div.para {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.3em;
+}
+
+/*images*/
+img {
+ display:block;
+ margin: 2em 0;
+}
+
+.inlinemediaobject, .inlinemediaobject img {
+ display:inline;
+ margin:0em;
+}
+
+.figure img {
+ display:block;
+ margin:0;
+ page-break-inside: avoid;
+}
+
+.figure .title {
+ margin:0em;
+ margin-bottom:2em;
+ padding:0px;
+}
+
+/*document modes*/
+.confidential {
+ background-color:#900;
+ color:White;
+ padding:.5em .5em;
+ text-transform:uppercase;
+ text-align:center;
+}
+
+.longdesc-link {
+ display:none;
+}
+
+.longdesc {
+ display:none;
+}
+
+.prompt {
+ padding:0em .3em;
+}
+
+/*user interface styles*/
+.screen .replaceable {
+}
+
+.guibutton, .guilabel {
+ font-family: "liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight: bold;
+ white-space: nowrap;
+}
+
+.example {
+ background-color: #ffffff;
+ border-left: 3px solid #aaaaaa;
+ padding-top: 1em;
+ padding-bottom: 0.1em;
+}
+
+.example h6 {
+ padding-left: 10px;
+}
+
+.example-contents {
+ padding-left: 10px;
+ background-color: #ffffff;
+}
+
+.example-contents .para {
+/* padding: 10px;*/
+}
+
+/*terminal/console text*/
+.computeroutput,
+.option {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+.replaceable {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-style: italic;
+}
+
+.command, .filename, .keycap, .classname, .literal {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+/* no bold in toc */
+.toc * {
+ font-weight: inherit;
+}
+
+pre {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ display:block;
+ background-color: #f5f5f5;
+ color: #000000;
+ border: 1px solid #aaaaaa;
+ margin-bottom: 0.3em;
+ padding:.5em 1em;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+ font-size: 0.9em;
+}
+
+pre .replaceable,
+pre .keycap {
+}
+
+code {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+/* white-space: nowrap;*/
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ font-weight:bold;
+}
+
+.parameter code {
+ display: inline;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+
+/*Notifications*/
+div.warning:before {
+ content:url(../images/warning.png);
+ padding-left: 5px;
+}
+
+div.note:before {
+ content:url(../images/note.png);
+ padding-left: 5px;
+}
+
+div.important:before {
+ content:url(../images/important.png);
+ padding-left: 5px;
+}
+
+div.warning, div.note, div.important {
+ color: black;
+ margin: 0em;
+ padding: 0em;
+ background: none;
+ background-color: white;
+ margin-bottom: 1em;
+ border-bottom: 1px solid #aaaaaa;
+ page-break-inside: avoid;
+}
+
+div.warning h2, div.note h2,div.important h2 {
+ margin: 0em;
+ padding: 0em;
+ color: #eeeeec;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: 1.4em;
+ line-height: 1.4em;
+ font-size: 1.4em;
+ display:inline;
+}
+
+div.admonition_header {
+ clear: both;
+ margin: 0em;
+ padding: 0em;
+ margin-top: -3.3em;
+ padding-left: 58px;
+ line-height: 1.0em;
+ font-size: 1.0em;
+}
+
+div.warning div.admonition_header {
+ background: url(../images/red.png) top left repeat-x;
+ background-color: #590000;
+}
+
+div.note div.admonition_header {
+ background: url(../images/green.png) top right repeat-x;
+ background-color: #597800;
+}
+
+div.important div.admonition_header {
+ background: url(../images/yellow.png) top right repeat-x;
+ background-color: #a6710f;
+}
+
+div.warning p, div.warning div.para,
+div.note p, div.note div.para,
+div.important p, div.important div.para {
+ padding: 0em;
+ margin: 0em;
+}
+
+div.admonition {
+ border: none;
+ border-left: 1px solid #aaaaaa;
+ border-right: 1px solid #aaaaaa;
+ padding:0em;
+ margin:0em;
+ padding-top: 1.5em;
+ padding-bottom: 1em;
+ padding-left: 2em;
+ padding-right: 1em;
+ background-color: #eeeeec;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+
+/*Page Title*/
+#title {
+ display:block;
+ height:45px;
+ padding-bottom:1em;
+ margin:0em;
+}
+
+#title a.left{
+ display:inline;
+ border:none;
+}
+
+#title a.left img{
+ border:none;
+ float:left;
+ margin:0em;
+ margin-top:.7em;
+}
+
+#title a.right {
+ padding-bottom:1em;
+}
+
+#title a.right img {
+ border:none;
+ float:right;
+ margin:0em;
+ margin-top:.7em;
+}
+
+/*Table*/
+div.table {
+ page-break-inside: avoid;
+}
+
+table {
+ border:1px solid #6c614b;
+ width:100%;
+ border-collapse:collapse;
+}
+
+table.simplelist, .calloutlist table {
+ border-style: none;
+}
+
+table th {
+ text-align:left;
+ background-color:#6699cc;
+ padding:.3em .5em;
+ color:white;
+}
+
+table td {
+ padding:.15em .5em;
+}
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+table th p:first-child, table td p:first-child, table li p:first-child,
+table th div.para:first-child, table td div.para:first-child, table li
div.para:first-child {
+ margin-top:0em;
+ padding-top:0em;
+ display:inline;
+}
+
+th, td {
+ border-style:none;
+ vertical-align: top;
+ border: 1px solid #000;
+}
+
+.simplelist th, .simplelist td {
+ border: none;
+}
+
+table table td {
+ border-bottom:1px dotted #aaa;
+ background-color:white;
+ padding:.6em 0em;
+}
+
+table table {
+ border:1px solid white;
+}
+
+td.remarkval {
+ color:#444;
+}
+
+td.fieldval {
+ font-weight:bold;
+}
+
+.lbname, .lbtype, .lbdescr, .lbdriver, .lbhost {
+ color:white;
+ font-weight:bold;
+ background-color:#999;
+ width:120px;
+}
+
+td.remarkval {
+ width:230px;
+}
+
+td.tname {
+ font-weight:bold;
+}
+
+th.dbfield {
+ width:120px;
+}
+
+th.dbtype {
+ width:70px;
+}
+
+th.dbdefault {
+ width:70px;
+}
+
+th.dbnul {
+ width:70px;
+}
+
+th.dbkey {
+ width:70px;
+}
+
+span.book {
+ margin-top:4em;
+ display:block;
+ font-size:11pt;
+}
+
+span.book a{
+ font-weight:bold;
+}
+span.chapter {
+ display:block;
+ margin-top:0.5em;
+}
+
+table.simplelist td, .calloutlist table td {
+ border-style: none;
+}
+
+/*Breadcrumbs*/
+#breadcrumbs ul li.first:before {
+ content:" ";
+}
+
+#breadcrumbs {
+ color:#900;
+ padding:3px;
+ margin-bottom:25px;
+}
+
+#breadcrumbs ul {
+ margin-left:0;
+ padding-left:0;
+ display:inline;
+ border:none;
+}
+
+#breadcrumbs ul li {
+ margin-left:0;
+ padding-left:2px;
+ border:none;
+ list-style:none;
+ display:inline;
+}
+
+#breadcrumbs ul li:before {
+ content:"\0020 \0020 \0020 \00BB \0020";
+ color:#333;
+}
+
+/*index*/
+.glossary h3,
+.index h3 {
+ font-size: 2em;
+ color:#aaa;
+ margin:0em;
+}
+
+.indexdiv {
+ margin-bottom:1em;
+}
+
+.glossary dt,
+.index dt {
+ color:#444;
+ padding-top:.5em;
+}
+
+.glossary dl dl dt,
+.index dl dl dt {
+ color:#777;
+ font-weight:normal;
+ padding-top:0em;
+}
+
+.index dl dl dt:before {
+ content:"- ";
+ color:#ccc;
+}
+
+/*changes*/
+.footnote {
+ font-size: .7em;
+ margin:0em;
+ color:#222;
+}
+
+table .footnote {
+}
+
+sup {
+ color:#999;
+ margin:0em;
+ padding:0em;
+ line-height: .4em;
+ font-size: 1em;
+ padding-left:0em;
+}
+
+.footnote {
+ position:relative;
+}
+
+.footnote sup {
+ color:#e3dcc0;
+ position:absolute;
+ left: .4em;
+}
+
+.footnote sup a:link,
+.footnote sup a:visited {
+ color:#92917d;
+ text-decoration:none;
+}
+
+.footnote:hover sup a {
+ text-decoration:none;
+}
+
+.footnote p,.footnote div.para {
+ padding-left:2em;
+}
+
+.footnote a:link,
+.footnote a:visited {
+ color:#00537c;
+}
+
+.footnote a:hover {
+}
+
+/**/
+div.chapter {
+ margin-top:3em;
+ page-break-inside: avoid;
+}
+
+div.preface {
+ page-break-inside: avoid;
+}
+
+div.section {
+ margin-top:1em;
+ page-break-inside: auto;
+}
+
+div.note .replaceable,
+div.important .replaceable,
+div.warning .replaceable,
+div.note .keycap,
+div.important .keycap,
+div.warning .keycap
+{
+}
+
+ul li p:last-child, ul li div.para:last-child {
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+/*document navigation*/
+.docnav a, .docnav strong {
+ border:none;
+ text-decoration:none;
+ font-weight:normal;
+}
+
+.docnav {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ position:relative;
+ width:100%;
+ padding-bottom:2em;
+ padding-top:1em;
+ border-top:1px dotted #ccc;
+}
+
+.docnav li {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ display:inline;
+ font-size:.8em;
+}
+
+.docnav li:before {
+ content:" ";
+}
+
+.docnav li.previous, .docnav li.next {
+ position:absolute;
+ top:1em;
+}
+
+.docnav li.up, .docnav li.home {
+ margin:0em 1.5em;
+}
+
+.docnav li.previous {
+ left:0px;
+ text-align:left;
+}
+
+.docnav li.next {
+ right:0px;
+ text-align:right;
+}
+
+.docnav li.previous strong, .docnav li.next strong {
+ height:22px;
+ display:block;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+.docnav li.next a strong {
+ background: url(../images/stock-go-forward.png) top right no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-right:28px;
+ font-size:1.2em;
+}
+
+.docnav li.previous a strong {
+ background: url(../images/stock-go-back.png) top left no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-left:28px;
+ padding-right:0.5em;
+ font-size:1.2em;
+}
+
+.docnav li.home a strong {
+ background: url(../images/stock-home.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav li.up a strong {
+ background: url(../images/stock-go-up.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav a:link, .docnav a:visited {
+ color:#666;
+}
+
+.docnav a:hover, .docnav a:focus, .docnav a:active {
+ color:black;
+}
+
+.docnav a {
+ max-width: 10em;
+ overflow:hidden;
+}
+
+.docnav a:link strong {
+ text-decoration:none;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+ul.docnav {
+ margin-bottom: 1em;
+}
+/* Reports */
+.reports ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.reports li{
+ margin:0em;
+ padding:0em;
+}
+
+.reports li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.reports dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.reports h2, .reports h3{
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.reports div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/*uniform*/
+body.results, body.reports {
+ max-width:57em ;
+ padding:0em;
+}
+
+/*Progress Bar*/
+div.progress {
+ display:block;
+ float:left;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ height:1em;
+}
+
+div.progress span {
+ height:1em;
+ float:left;
+}
+
+div.progress span.translated {
+ background:#6c3 url(../images/shine.png) top left repeat-x;
+}
+
+div.progress span.fuzzy {
+ background:#ff9f00 url(../images/shine.png) top left repeat-x;
+}
+
+
+/*Results*/
+
+.results ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.results li{
+ margin:0em;
+ padding:0em;
+}
+
+.results li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.results dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.results dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.results dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.results h2, .results h3 {
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.results div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/* Dirty EVIL Mozilla hack for round corners */
+pre {
+ -moz-border-radius:11px;
+ -webkit-border-radius:11px;
+ border-radius: 11px;
+ page-break-inside: avoid;
+}
+
+.example {
+ -moz-border-radius:0px;
+ -webkit-border-radius:0px;
+ border-radius: 0px;
+ page-break-inside: avoid;
+}
+
+.package, .citetitle {
+ font-style: italic;
+}
+
+.titlepage .edition {
+ color: #336699;
+ background-color: transparent;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ font-weight: bold;
+ text-align: center;
+}
+
+span.remark {
+ background-color: #ff00ff;
+}
+
+.draft {
+ background-image: url(../images/watermark-draft.png);
+ background-repeat: repeat-y;
+ background-position: center;
+}
+
+.foreignphrase {
+ font-style: inherit;
+}
+
+dt {
+ clear:both;
+}
+
+dt img {
+ border-style: none;
+ max-width: 112px;
+}
+
+dt object {
+ max-width: 112px;
+}
+
+dt .inlinemediaobject, dt object {
+ display: inline;
+ float: left;
+ margin-bottom: 1em;
+ padding-right: 1em;
+ width: 112px;
+}
+
+dl:after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.toc dd {
+ padding-bottom: 0em;
+ margin-bottom: 1em;
+ padding-left: 1.3em;
+ margin-left: 0em;
+}
+
+div.toc > dl > dt {
+ padding-bottom: 0em;
+ margin-bottom: 0em;
+ margin-top: 1em;
+}
+
+
+.strikethrough {
+ text-decoration: line-through;
+}
+
+.underline {
+ text-decoration: underline;
+}
+
+.calloutlist img, .callout {
+ padding: 0em;
+ margin: 0em;
+ width: 12pt;
+ display: inline;
+ vertical-align: middle;
+}
+
+.stepalternatives {
+ list-style-image: none;
+ list-style-type: none;
+}
+
+
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/default.css
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/default.css
new file mode 100644
index 0000000..bf38ebb
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/default.css
@@ -0,0 +1,3 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/lang.css
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/lang.css
new file mode 100644
index 0000000..81c3115
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/lang.css
@@ -0,0 +1,2 @@
+/* place holder */
+
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/overrides.css
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/overrides.css
new file mode 100644
index 0000000..057be29
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/overrides.css
@@ -0,0 +1,51 @@
+a:link {
+ color:#0066cc;
+}
+
+a:hover, a:active {
+ color:#003366;
+}
+
+a:visited {
+ color:#6699cc;
+}
+
+
+h1 {
+ color:#3c6eb4
+}
+
+.producttitle {
+ background: #3c6eb4 url(../images/h1-bg.png) top left repeat;
+}
+
+.section h1.title {
+ color:#3c6eb4;
+}
+
+
+h2,h3,h4,h5,h6 {
+ color:#3c6eb4;
+}
+
+table {
+ border:1px solid #3c6eb4;
+}
+
+table th {
+ background-color:#3c6eb4;
+}
+
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+.revhistory table th {
+ color:#3c6eb4;
+}
+
+.titlepage .edition {
+ color: #3c6eb4;
+}
+
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/print.css
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/print.css
new file mode 100644
index 0000000..773d8ae
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/css/print.css
@@ -0,0 +1,16 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
+
+#tocframe {
+ display: none;
+}
+
+body.toc_embeded {
+ margin-left: 30px;
+}
+
+.producttitle {
+ color: #336699;
+}
+
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/1.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/1.png
new file mode 100644
index 0000000..c21d7a3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/1.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/1.svg
new file mode 100644
index 0000000..a2b3903
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/1.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 17.853468,22.008438 -2.564941,0 0,-7.022461 c -5e-6,-0.143873
-5e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224122,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08854,0.08302 -0.17432,0.157723 -0.257324,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/10.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/10.png
new file mode 100644
index 0000000..15b81da
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/10.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/10.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/10.svg
new file mode 100644
index 0000000..af015ab
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/10.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/11.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/11.png
new file mode 100644
index 0000000..2fcc2dd
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/11.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/11.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/11.svg
new file mode 100644
index 0000000..cb82b70
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/11.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/12.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/12.png
new file mode 100644
index 0000000..edebe20
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/12.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/12.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/12.svg
new file mode 100644
index 0000000..3b6d822
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/12.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/13.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/13.png
new file mode 100644
index 0000000..ec48cef
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/13.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/13.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/13.svg
new file mode 100644
index 0000000..226e461
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/13.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/14.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/14.png
new file mode 100644
index 0000000..33d5637
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/14.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/14.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/14.svg
new file mode 100644
index 0000000..5aaa3a3
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/15.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/15.png
new file mode 100644
index 0000000..f1a4eb2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/15.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/15.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/15.svg
new file mode 100644
index 0000000..f51dd96
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/15.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2839"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2841"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/16.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/16.png
new file mode 100644
index 0000000..d38a155
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/16.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/16.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/16.svg
new file mode 100644
index 0000000..cb7e2f5
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/16.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/17.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/17.png
new file mode 100644
index 0000000..d83e898
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/17.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/17.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/17.svg
new file mode 100644
index 0000000..5d6f0ad
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/17.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/18.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/18.png
new file mode 100644
index 0000000..9e39de4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/18.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/18.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/18.svg
new file mode 100644
index 0000000..9ea672c
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/18.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/19.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/19.png
new file mode 100644
index 0000000..9eeedfb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/19.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/19.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/19.svg
new file mode 100644
index 0000000..80d1d09
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/19.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/2.png
new file mode 100644
index 0000000..ff9cc57
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/2.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/2.svg
new file mode 100644
index 0000000..8e94260
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/2.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.89546,22.008438 -8.143066,0 0,-1.784668 2.855468,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979493,-1.0708 0.293289,-0.326492
0.545079,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.373529,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.17431,-0.666821 0.174316,-1.037598 -6e-6,-0.409496
-0.124517,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827313,0.522958 -1.270019,0.921386 l -1.394531,-1.651855 c
0.249022,-0.226877 0.509113,-0.442698 0.780273,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079102,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319824,-0.1494141
0.58105,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860507,0.3901488
1.187012,0.6889648 0.326489,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583
0.265617,0.893727 0.265625,1.41
9433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648
-0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083
-1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l
-1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/20.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/20.png
new file mode 100644
index 0000000..b28b4aa
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/20.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/20.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/20.svg
new file mode 100644
index 0000000..409ac6e
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/20.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/21.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/21.png
new file mode 100644
index 0000000..eda952c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/21.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/21.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/21.svg
new file mode 100644
index 0000000..7bc03af
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/21.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/22.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/22.png
new file mode 100644
index 0000000..90b14b0
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/22.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/22.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/22.svg
new file mode 100644
index 0000000..fe086f6
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/22.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/23.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/23.png
new file mode 100644
index 0000000..8b35a74
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/23.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/23.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/23.svg
new file mode 100644
index 0000000..f17ec29
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/23.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/24.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/24.png
new file mode 100644
index 0000000..6041b02
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/24.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/24.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/24.svg
new file mode 100644
index 0000000..42a5333
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/24.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/25.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/25.png
new file mode 100644
index 0000000..ecb15e6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/25.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/25.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/25.svg
new file mode 100644
index 0000000..a8d4672
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/25.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/26.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/26.png
new file mode 100644
index 0000000..4b2f560
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/26.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/26.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/26.svg
new file mode 100644
index 0000000..3cf00ec
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/26.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/27.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/27.png
new file mode 100644
index 0000000..ecf058e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/27.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/27.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/27.svg
new file mode 100644
index 0000000..c8d6440
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/27.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/28.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/28.png
new file mode 100644
index 0000000..e64efb2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/28.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/28.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/28.svg
new file mode 100644
index 0000000..5acce93
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/28.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/29.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/29.png
new file mode 100644
index 0000000..dbbca1b
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/29.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/29.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/29.svg
new file mode 100644
index 0000000..507dd44
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/29.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/3.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/3.png
new file mode 100644
index 0000000..4febe43
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/3.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/3.svg
new file mode 100644
index 0000000..5e87e1f
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/3.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.422316,12.587051 c -9e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.23243,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315437,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.392911,0.332031 -0.890957,0.592122 -1.494141,0.780273 -0.597661,0.182617
-1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267255,-0.05534 -1.842773,-0.166016
-0.575523,-0.105143 -1.112306,-0.268392 -1.610352,-0.489746 l 0,-2.183105 c
0.249023,0.132815 0.511881,0.249025 0.788574,0.348632 0.276692,0.09961 0.553384,0.185387
0.830079,0.257325 0.27669,0.06641 0.547848,0.116212 0.813476,0.149414 0.271156,0.0332
0.525713,0.04981 0.763672,0.0498 0.475907,2e-6 0.871577,-0.04427 1.187012,-0.132812
0.315424,-
0.08854 0.567214,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320957,-0.351397
0.398437,-0.572754 0.083,-0.226885 0.124506,-0.473141 0.124512,-0.73877 -6e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.265631,-0.376297
-0.498047,-0.514648 -0.226893,-0.143876 -0.525721,-0.254553 -0.896484,-0.332032
-0.370773,-0.07747 -0.827315,-0.116205 -1.369629,-0.116211 l -0.863281,0 0,-1.801269
0.846679,0 c 0.509111,7e-6 0.932451,-0.04426 1.27002,-0.132813 0.33756,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.43164,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.68897,-0.365224
-1.27002,-0.365234 -0.265629,10e-6 -0.514652,0.02768 -0.74707,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193688,0.07748 -0.373538,0.166026
-0.539551,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439941,0.282227 l
-1.294922,-1.70
9961 c 0.232421,-0.171538 0.484211,-0.329253 0.755371,-0.473145 0.276691,-0.143868
0.575519,-0.26838 0.896484,-0.373535 0.320961,-0.1106647 0.666827,-0.1964393
1.037598,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492506,0.1272911
0.913079,0.3154421 1.261718,0.5644531 0.348626,0.243501 0.617017,0.545096
0.805176,0.904786 0.193677,0.354177 0.290519,0.760914 0.290528,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/30.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/30.png
new file mode 100644
index 0000000..f4ffb14
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/30.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/30.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/30.svg
new file mode 100644
index 0000000..434e663
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/30.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/31.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/31.png
new file mode 100644
index 0000000..0b29e87
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/31.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/31.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/31.svg
new file mode 100644
index 0000000..08c3f2d
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/31.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/32.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/32.png
new file mode 100644
index 0000000..a4740a3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/32.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/32.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/32.svg
new file mode 100644
index 0000000..aa099c3
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/32.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/33.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/33.png
new file mode 100644
index 0000000..f23ccea
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/33.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/33.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/33.svg
new file mode 100644
index 0000000..fce979c
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/33.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/34.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/34.png
new file mode 100644
index 0000000..7e2ab31
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/34.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/34.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/34.svg
new file mode 100644
index 0000000..c67f8ec
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/34.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/35.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/35.png
new file mode 100644
index 0000000..02118e3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/35.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/35.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/35.svg
new file mode 100644
index 0000000..da7780a
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/35.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/36.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/36.png
new file mode 100644
index 0000000..30f4fdf
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/36.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/36.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/36.svg
new file mode 100644
index 0000000..348549a
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/36.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/37.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/37.png
new file mode 100644
index 0000000..6174706
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/37.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/37.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/37.svg
new file mode 100644
index 0000000..7bc04d9
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/37.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/38.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/38.png
new file mode 100644
index 0000000..161661d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/38.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/38.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/38.svg
new file mode 100644
index 0000000..ec2ad98
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/38.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/39.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/39.png
new file mode 100644
index 0000000..2d46b24
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/39.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/39.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/39.svg
new file mode 100644
index 0000000..664ffdd
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/39.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/4.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/4.png
new file mode 100644
index 0000000..9b9dd88
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/4.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/4.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/4.svg
new file mode 100644
index 0000000..bc06c73
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/4.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 20.078077,19.493301 -1.460937,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460937,0 0,1.992187 m
-3.959472,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09962,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.12175,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.025391,3.071289 2.75586,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/40.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/40.png
new file mode 100644
index 0000000..fe2a68f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/40.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/40.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/40.svg
new file mode 100644
index 0000000..5a94d1b
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/40.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.440535,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.0136719,0 0,-1.784668 5.1547849,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187
m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.0253904,3.071289 2.7558594,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/5.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/5.png
new file mode 100644
index 0000000..f239fb6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/5.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/5.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/5.svg
new file mode 100644
index 0000000..82fb03d
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/5.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 16.035597,14.255508 c 0.520177,8e-6 1.004388,0.08025 1.452637,0.240723
0.448235,0.160489 0.838371,0.395678 1.17041,0.705566 0.332023,0.309903 0.592114,0.697272
0.780273,1.16211 0.188143,0.459315 0.282218,0.987797 0.282227,1.585449 -9e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.204761,0.520184 -0.506356,0.962892
-0.904785,1.328125 -0.398445,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261724,0.290528 -2.025391,0.290528 -0.304365,0 -0.60596,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863281,-0.124512
-0.271161,-0.04981 -0.531252,-0.116211 -0.780274,-0.199219 -0.24349,-0.08301
-0.464844,-0.17985 -0.664062,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672363,0.31543 0.254556,0.09408 0.517414,0.177086 0.788574,0.249024 0.276691,0.06641
0.553383,0.121746 0.830078,0.166015 0.27669,0.03874 0.539548,0.05811 0.788575,0.05811
0.741532,2e-6 1.305984,-0.152179 1.693359,-0.456543 0.387364,-0.309893 0.5810
49,-0.799639 0.581055,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751465,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320966,0.03874 -0.481445,0.06641
-0.154951,0.02768 -0.304365,0.05811 -0.448242,0.09131 -0.143883,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456542,-6.1840821 6.408204,0 0,2.1748051
-4.183594,0 -0.199219,2.382324 c 0.17708,-0.03873 0.381832,-0.07747 0.614258,-0.116211
0.237951,-0.03873 0.542313,-0.0581 0.913086,-0.05811"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/6.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/6.png
new file mode 100644
index 0000000..18866e6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/6.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/6.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/6.svg
new file mode 100644
index 0000000..e2f62af
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/6.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 11.702589,16.853653 c -10e-7,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.0664,-0.575514 0.179849,-1.126132 0.340332,-1.651856
0.166014,-0.531241 0.387368,-1.023753 0.664062,-1.477539 0.282225,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431638,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603186,-0.1936727 1.305984,-0.2905151 2.108399,-0.2905274
0.116204,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.138339,0.00555 0.276685,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251782,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210295,-0.04979 -0.434416,-0.08853
-0.672364,-0.116211 -0.232429,-0.03319 -0.467617,-0.04979 -0.705566,-0.0498 -0.747076,1e-5
-1.361334,0.09408 -1.842774,0.282226 -0.481449,0.182627 -0.863285,0.439951
-1.145507,0.771973 -0.28223,0.33204 -0.484216,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.215821,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243486,-0.384596 0.39843
7,-0.556153 0.160478,-0.177076 0.345862,-0.32649 0.556153,-0.448242 0.210282,-0.127271
0.44547,-0.22688 0.705566,-0.298828 0.26562,-0.07193 0.561681,-0.107902 0.888184,-0.10791
0.52571,8e-6 0.998854,0.08578 1.419433,0.257324 0.420566,0.171557 0.774732,0.42058
1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614 0.15494,0.475916
0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887 -0.282226,1.768066
-0.182626,0.520184 -0.445484,0.962892 -0.788575,1.328125 -0.343106,0.359701
-0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151 -1.034836,0.282227
-1.643554,0.282227 -0.597661,0 -1.15658,-0.105144 -1.676758,-0.31543 -0.520185,-0.21582
-0.973961,-0.542317 -1.361328,-0.979492 -0.381838,-0.437173 -0.683433,-0.987791
-0.904785,-1.651856 -0.215822,-0.669593 -0.323732,-1.460933 -0.323731,-2.374023 m
4.216797,3.270508 c 0.226883,2e-6 0.431635,-0.0415 0.614258,-0.124512 0.188145,-0.08854
0.348627,-0.218585 0.481445,-0.390137 0.13834,-0.17708 0.243483,-0.3
98434 0.31543,-0.664062 0.07747,-0.265622 0.116204,-0.581051 0.116211,-0.946289
-7e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243496,-0.343094
-0.617031,-0.514643 -1.120606,-0.514649 -0.254562,6e-6 -0.486984,0.04981
-0.697266,0.149414 -0.21029,0.09962 -0.39014,0.229661 -0.53955,0.390137 -0.149418,0.160487
-0.265629,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.31543,0.755371 0.143876,0.221357 0.318193,0.401207 0.522949,0.539551
0.210282,0.138349 0.453772,0.207522 0.730469,0.20752"
+ id="path2846"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/7.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/7.png
new file mode 100644
index 0000000..52c3a18
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/7.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/7.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/7.svg
new file mode 100644
index 0000000..a43460f
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/7.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 12.789991,22.008438 4.316407,-9.960937 -5.578125,0 0,-2.1582035
8.367187,0 0,1.6103515 -4.424316,10.508789 -2.681153,0"
+ id="path2832"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/8.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/8.png
new file mode 100644
index 0000000..8a8cb21
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/8.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/8.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/8.svg
new file mode 100644
index 0000000..2c82d3f
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/8.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.761671,9.7149811 c 0.503576,1.23e-5 0.979487,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337558,0.243501 0.60595,0.547862 0.805176,0.913086 0.199211,0.365244 0.29882,0.794118
0.298828,1.286621 -8e-6,0.365243 -0.05535,0.697274 -0.166015,0.996094 -0.110686,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193693,0.237963 -0.423348,0.451017
-0.688965,0.639161 -0.265632,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.633619,0.362473 0.937988,0.572754 0.309888,0.210292 0.583814,0.448247
0.821777,0.713867 0.237948,0.260096 0.428866,0.55339 0.572754,0.879883 0.143872,0.326501
0.215812,0.691735 0.21582,1.095703 -8e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478686,0.758139 -0.838379,1.045898 -0.359707,0.287761
-0.791348,0.509115 -1.294921,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651856,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.9379
9,-0.362467 -1.286621,-0.639161 -0.348634,-0.276691 -0.614259,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265626,-0.857744 -0.265625,-1.361328
-10e-7,-0.415035 0.06087,-0.78857 0.182617,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498047,-0.896485 0.210285,-0.265619 0.456541,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271162,-0.171543
-0.525719,-0.356927 -0.763672,-0.556152 -0.237958,-0.204746 -0.445477,-0.428866
-0.622559,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -10e-7,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478677,-0.669585
0.821778,-0.913086 0.343096,-0.249012 0.738766,-0.434396 1.187011,-0.5561527
0.448239,-0.1217326 0.918616,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.107911,0.614258 0.07194,0.18262 0.17708,0.340334
0.315429,0.473145 0.143877,0.132814 0.32
096,0.237957 0.53125,0.315429 0.210283,0.07194 0.453772,0.107912 0.730469,0.10791
0.581049,2e-6 1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.43164,-1.087402 -6e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218593,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.320969,-0.307125 -0.514648,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 15.662062,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664063,0.398438 -0.199222,0.138351 -0.370772,0.293299 -0.514648,0.464844
-0.13835,0.16602 -0.24626,0.348637 -0.323731,0.547851 -0.07748,0.199223 -0.116214,0.415043
-0.116211,0.647461 m 1.701661,-7.188476 c -0.182622,10e-6 -0.354171,0.02768
-0.514649,0.08301 -0.154952,0.05535 -0.290531,0.13559 -0.406738,0.240723
-0.110681,0.105153 -0.199223,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.31543
8 0.282226,0.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633
0.160478,0.09962 0.32926,0.199226 0.506348,0.298828 0.171545,-0.08853 0.334793,-0.185376
0.489746,-0.290527 0.154943,-0.105135 0.290522,-0.224113 0.406738,-0.356934
0.12174,-0.138338 0.218582,-0.293286 0.290528,-0.464843 0.07193,-0.171541
0.107904,-0.367993 0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949
-0.06641,-0.154938 -0.157721,-0.284984 -0.273926,-0.390137 -0.116217,-0.105133
-0.254563,-0.185374 -0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083
-0.522949,-0.08301"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/9.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/9.png
new file mode 100644
index 0000000..0ae412f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/9.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/9.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/9.svg
new file mode 100644
index 0000000..b0f04c4
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/9.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.829054,15.052383 c -9e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340333,1.651856 -0.160489,0.525719
-0.381843,1.018232 -0.664062,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426113,0.332032 -0.940761,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.30046,0.282227 -2.108399,0.282227 -0.116214,0 -0.243492,-0.0028 -0.381836,-0.0083
-0.138348,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273927,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237954,0.02767 0.478676,0.04151
0.722168,0.0415 0.747067,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.481441,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.282221,-0.337562 0.481439,-0.738766
0.597657,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.107911,0 c
-0.110683,0.199225 -0.243495,0.384609 -0.398437,0.556153 -0.
154954,0.171554 -0.337571,0.320968 -0.547852,0.448242 -0.210291,0.127283
-0.448247,0.226892 -0.713867,0.298828 -0.265629,0.07194 -0.56169,0.107914
-0.888183,0.10791 -0.52572,4e-6 -0.998864,-0.08577 -1.419434,-0.257324 -0.420575,-0.171545
-0.777508,-0.420568 -1.070801,-0.74707 -0.287761,-0.326492 -0.509115,-0.727696
-0.664062,-1.203614 -0.154949,-0.475904 -0.232423,-1.020988 -0.232422,-1.635253
-10e-7,-0.65852 0.09131,-1.247875 0.273926,-1.768067 0.18815,-0.520172 0.453774,-0.960113
0.796875,-1.319824 0.343097,-0.365223 0.758135,-0.644682 1.245117,-0.838379
0.49251,-0.1936727 1.043127,-0.2905151 1.651855,-0.2905274 0.597651,1.23e-5
1.15657,0.1079224 1.676758,0.3237304 0.520176,0.210298 0.971184,0.534028 1.353027,0.971192
0.381829,0.437185 0.683423,0.990569 0.904786,1.660156 0.221345,0.669605 0.332022,1.458178
0.332031,2.365722 m -4.216797,-3.262207 c -0.226892,1.1e-5 -0.434412,0.04151
-0.622559,0.124512 -0.188154,0.08302 -0.351403,0.213063 -0.489746,0.390137
-0.132815,0.17155
9 -0.237959,0.392913 -0.315429,0.664062 -0.07194,0.265634 -0.107914,0.581063
-0.107911,0.946289 -3e-6,0.586596 0.124509,1.05144 0.373536,1.394532 0.249019,0.343105
0.625321,0.514654 1.128906,0.514648 0.254552,6e-6 0.486974,-0.0498 0.697266,-0.149414
0.210281,-0.0996 0.390131,-0.229648 0.53955,-0.390137 0.149408,-0.160475
0.262852,-0.340325 0.340332,-0.53955 0.083,-0.199212 0.124506,-0.401197 0.124512,-0.605958
-6e-6,-0.282218 -0.03598,-0.561677 -0.10791,-0.838378 -0.06641,-0.282218
-0.171556,-0.534008 -0.31543,-0.755372 -0.138352,-0.226878 -0.312668,-0.409495
-0.522949,-0.547851 -0.204758,-0.138336 -0.44548,-0.207509 -0.722168,-0.20752"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/bkgrnd_greydots.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/bkgrnd_greydots.png
new file mode 100644
index 0000000..2333a6d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/bkgrnd_greydots.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/bullet_arrowblue.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/bullet_arrowblue.png
new file mode 100644
index 0000000..c235534
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/bullet_arrowblue.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/documentation.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/documentation.png
new file mode 100644
index 0000000..79d0a80
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/documentation.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/dot.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/dot.png
new file mode 100644
index 0000000..36a6859
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/dot.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/dot2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/dot2.png
new file mode 100644
index 0000000..40aff92
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/dot2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/green.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/green.png
new file mode 100644
index 0000000..ebb3c24
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/green.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/h1-bg.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/h1-bg.png
new file mode 100644
index 0000000..a2aad24
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/h1-bg.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/image_left.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/image_left.png
new file mode 100644
index 0000000..e8fe7a4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/image_left.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/image_right.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/image_right.png
new file mode 100644
index 0000000..5b67443
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/image_right.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/important.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/important.png
new file mode 100644
index 0000000..f7594a3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/important.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/important.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/important.svg
new file mode 100644
index 0000000..2d33045
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/important.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="important.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/important.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2611">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="681"
+ inkscape:window-width="738"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2613" />
+ </defs>
+ <g
+ transform="matrix(0.4626799,0,0,0.4626799,-5.2934127,-3.3160376)"
+ id="g5485">
+ <path
+ d="M 29.97756,91.885882 L 55.586992,80.409826 L 81.231619,91.807015 L
78.230933,63.90468 L 96.995009,43.037218 L 69.531053,37.26873 L 55.483259,12.974592 L
41.510292,37.311767 L 14.064204,43.164717 L 32.892392,63.97442 L 29.97756,91.885882
z"
+ id="path6799"
+ style="fill:#f3de82;fill-opacity:1;enable-background:new" />
+ <path
+ d="M 55.536215,56.538729 L 55.48324,12.974601 L 41.51028,37.311813 L
55.536215,56.538729 z"
+ id="path6824"
+
style="opacity:0.91005291;fill:#f9f2cb;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 78.241135,63.937979 L 96.976198,43.044318 L
55.57947,56.614318 z"
+ id="use6833"
+ style="opacity:1;fill:#d0bc64;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 55.667994,80.684281 L 81.379011,91.931065 L
55.523838,56.869126 z"
+ id="use6835"
+ style="opacity:1;fill:#e0c656;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 13.877363,43.200977 L 32.640089,64.069652 L
55.283346,56.742618 z"
+ id="use6831"
+ style="opacity:1;fill:#d1ba59;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 55.32792,80.684281 L 29.616903,91.931065 L
55.472076,56.869126 z"
+ id="use6837"
+ style="opacity:1;fill:#d2b951;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 96.976198,43.044318 L 69.504294,37.314027 L
55.57947,56.614318 z"
+ id="path7073"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 81.379011,91.931065 L 78.214821,64.046881 L
55.523838,56.869126 z"
+ id="path7075"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 41.341708,37.434209 L 13.877363,43.200977 L
55.283346,56.742618 z"
+ id="path7077"
+ style="opacity:1;fill:#f6e59d;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 29.616903,91.931065 L 32.781093,64.046881 L
55.472076,56.869126 z"
+ id="path7079"
+ style="opacity:1;fill:#f3df8b;fill-opacity:1;enable-background:new"
/>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/logo.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/logo.png
new file mode 100644
index 0000000..66a3104
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/logo.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/note.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/note.png
new file mode 100644
index 0000000..d6c4518
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/note.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/note.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/note.svg
new file mode 100644
index 0000000..70e43b6
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/note.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="note.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/note.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata16">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="1024"
+ inkscape:window-width="1205"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="22.217181"
+ inkscape:cy="20"
+ inkscape:window-x="334"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective18" />
+ </defs>
+ <g
+ transform="matrix(0.468275,0,0,0.468275,-5.7626904,-7.4142703)"
+ id="layer1">
+ <g
+ transform="matrix(0.115136,0,0,0.115136,9.7283,21.77356)"
+ id="g8014"
+ style="enable-background:new">
+ <g
+ id="g8518"
+ style="opacity:1">
+ <path
+ d="M -2512.4524,56.33197 L 3090.4719,56.33197 L 3090.4719,4607.3813 L
-2512.4524,4607.3813 L -2512.4524,56.33197 z"
+
transform="matrix(0.1104659,-2.3734892e-2,2.2163258e-2,0.1031513,308.46782,74.820675)"
+ id="rect8018"
+
style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ <g
+
transform="matrix(0.5141653,-7.1944682e-2,7.1944682e-2,0.5141653,146.04015,-82.639785)"
+ id="g8020">
+ <path
+ d="M 511.14114,441.25315 C 527.3248,533.52772 464.31248,622.82928
370.39916,640.71378 C 276.48584,658.59828 187.23462,598.29322 171.05095,506.01865 C
154.86728,413.74408 217.8796,324.44253 311.79292,306.55803 C 405.70624,288.67353
494.95747,348.97858 511.14114,441.25315 z"
+ id="path8022"
+
style="opacity:1;fill:#e0c96f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(1.2585415,-0.2300055,0.2168789,1.1867072,-248.76141,68.254424)"
+ id="path8024"
+
style="opacity:1;fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 358.5625,281.15625 C 348.09597,281.05155 337.43773,281.94729
326.71875,283.90625 C 240.96686,299.57789 183.37901,377.92385 198.15625,458.78125 C
209.70749,521.98673 262.12957,567.92122 325.40625,577.5625 L 357.25,433.6875 L
509.34375,405.875 C 509.14405,404.58166 509.0804,403.29487 508.84375,402 C
495.91366,331.24978 431.82821,281.88918 358.5625,281.15625 z"
+ id="path8026"
+
style="opacity:1;fill:#b60000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 294.2107,361.9442 L 282.79367,370.38482 L 261.73414,386.13346 C
253.13706,404.40842 254.3359,423.7989 259.7176,444.39774 C 273.6797,497.83861
313.42636,523.96124 369.50989,517.58957 C 398.21848,514.32797 424.51832,504.67345
440.64696,484.15958 L 469.89512,447.48298 L 294.2107,361.9442 z"
+ id="path8028"
+
style="fill:#750000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.09999999;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-78.013985,79.234385)"
+ id="path8030"
+
style="opacity:1;fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-69.306684,71.273294)"
+ id="path8032"
+
style="opacity:1;fill:#e11212;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/red.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/red.png
new file mode 100644
index 0000000..d32d5e2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/red.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/shade.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/shade.png
new file mode 100644
index 0000000..a73afdf
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/shade.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/shine.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/shine.png
new file mode 100644
index 0000000..a18f7c4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/shine.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-back.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-back.png
new file mode 100644
index 0000000..d320f26
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-back.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-forward.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-forward.png
new file mode 100644
index 0000000..1ee5a29
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-forward.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-up.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-up.png
new file mode 100644
index 0000000..1cd7332
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-go-up.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-home.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-home.png
new file mode 100644
index 0000000..122536d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/stock-home.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/title_logo.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/title_logo.png
new file mode 100644
index 0000000..d5182b4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/title_logo.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/title_logo.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/title_logo.svg
new file mode 100644
index 0000000..e8fd52b
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/title_logo.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="220"
+ height="70"
+ id="svg6180">
+ <defs
+ id="defs6182" />
+ <g
+ transform="translate(-266.55899,-345.34488)"
+ id="layer1">
+ <path
+ d="m 316.7736,397.581 c 0,0 0,0 -20.53889,0 0.3327,4.45245 3.92157,7.77609
8.70715,7.77609 3.38983,0 6.31456,-1.39616 8.64094,-3.65507 0.46553,-0.46679
0.99726,-0.59962 1.59519,-0.59962 0.79781,0 1.59561,0.39932 2.12692,1.06388 0.3327,0.46553
0.53216,0.99726 0.53216,1.52857 0,0.73118 -0.3327,1.52857 -0.93106,2.12734 -2.7919,2.99052
-7.51086,4.98503 -12.16403,4.98503 -8.44149,0 -15.22074,-6.77967 -15.22074,-15.22158
0,-8.44149 6.58022,-15.22074 15.02171,-15.22074 8.37529,0 14.62323,6.51317
14.62323,15.08749 0,1.26418 -1.12924,2.12861 -2.39258,2.12861 z m -12.23065,-11.76512 c
-4.45329,0 -7.51085,2.92473 -8.17499,7.17731 10.03626,0 16.35083,0 16.35083,0
-0.59836,-4.05355 -3.78874,-7.17731 -8.17584,-7.17731 z"
+ id="path11"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 375.46344,410.80807 c -8.44106,0 -15.22074,-6.77968 -15.22074,-15.22159
0,-8.44149 6.77968,-15.22074 15.22074,-15.22074 8.44234,0 15.22159,6.77925
15.22159,15.22074 -4.2e-4,8.44149 -6.77968,15.22159 -15.22159,15.22159 z m 0,-24.65992 c
-5.31688,0 -8.77377,4.25427 -8.77377,9.43833 0,5.18364 3.45689,9.43833 8.77377,9.43833
5.31731,0 8.77504,-4.25469 8.77504,-9.43833 -4.2e-4,-5.18406 -3.45773,-9.43833
-8.77504,-9.43833 z"
+ id="path13"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 412.66183,380.36574 c -4.45963,0 -7.40966,1.319 -10.01391,4.62956 l
-0.24036,-1.53995 0,0 c -0.20198,-1.60743 -1.57326,-2.84926 -3.23382,-2.84926 -1.80139,0
-3.26206,1.459 -3.26206,3.26081 0,0.003 0,0.005 0,0.008 l 0,0 0,0.003 0,0 0,23.40712 c
0,1.79464 1.46194,3.25743 3.257,3.25743 1.79465,0 3.25744,-1.46279 3.25744,-3.25743 l
0,-12.56209 c 0,-5.71621 4.98502,-8.57432 10.23613,-8.57432 1.59519,0 2.85726,-1.32953
2.85726,-2.92515 0,-1.59561 -1.26207,-2.85726 -2.85768,-2.85726 z"
+ id="path15"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 447.02614,395.58648 c 0.0666,-8.17541 -5.78326,-15.22074
-15.222,-15.22074 -8.44192,0 -15.28779,6.77925 -15.28779,15.22074 0,8.44191
6.64684,15.22159 14.68985,15.22159 4.01434,0 7.62682,-2.06621 9.23846,-4.22518 l
0.79359,2.01434 0,0 c 0.42589,1.13177 1.5176,1.93717 2.7978,1.93717 1.65001,0
2.98756,-1.33671 2.99009,-2.98545 l 0,0 0,-7.80687 0,0 0,-4.1556 z m -15.222,9.43833 c
-5.31773,0 -8.77419,-4.25469 -8.77419,-9.43833 0,-5.18406 3.45604,-9.43833
8.77419,-9.43833 5.3173,0 8.77419,4.25427 8.77419,9.43833 0,5.18364 -3.45689,9.43833
-8.77419,9.43833 z"
+ id="path17"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 355.01479,368.3337 c 0,-1.7938 -1.46194,-3.18997 -3.25659,-3.18997
-1.79422,0 -3.25743,1.39659 -3.25743,3.18997 l 0,17.1499 c -1.66097,-3.05756
-5.25026,-5.11786 -9.50495,-5.11786 -8.64052,0 -14.42336,6.51318 -14.42336,15.22074
0,8.70757 5.98229,15.22159 14.42336,15.22159 3.76555,0 7.03057,-1.55429 8.98587,-4.25554 l
0.72317,1.83428 c 0.44782,1.25912 1.64917,2.16024 3.06051,2.16024 1.78621,0
3.24984,-1.45435 3.24984,-3.24815 0,-0.005 0,-0.009 0,-0.0139 l 0,0 0,-38.95128 -4.2e-4,0
z m -15.22116,36.69111 c -5.31731,0 -8.70715,-4.25469 -8.70715,-9.43833 0,-5.18406
3.38984,-9.43833 8.70715,-9.43833 5.31773,0 8.70714,4.0544 8.70714,9.43833 0,5.38309
-3.38941,9.43833 -8.70714,9.43833 z"
+ id="path19"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 287.21553,365.34023 c -0.59414,-0.0877 -1.19966,-0.13198
-1.80097,-0.13198 -6.73118,0 -12.20746,5.4767 -12.20746,12.20788 l 0,3.8132 -3.98903,0 c
-1.46237,0 -2.65908,1.19671 -2.65908,2.65781 0,1.46321 1.19671,2.93738 2.65908,2.93738 l
3.98819,0 0,20.46004 c 0,1.79464 1.46236,3.25743 3.25658,3.25743 1.79507,0
3.25744,-1.46279 3.25744,-3.25743 l 0,-20.46004 4.40986,0 c 1.46194,0 2.65823,-1.47417
2.65823,-2.93738 0,-1.46152 -1.19629,-2.65823 -2.65823,-2.65823 l -4.40733,0 0,-3.8132 c
0,-3.13852 2.55323,-6.11469 5.69175,-6.11469 0.28294,0 0.56757,0.0211 0.84672,0.062
1.78031,0.26355 3.4358,-0.54269 3.70019,-2.32342 0.2627,-1.77904 -0.96606,-3.43538
-2.74594,-3.69935 z"
+ id="path21"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 482.01243,363.57426 c 0,-10.06788 -8.16108,-18.22938 -18.22897,-18.22938
-10.06282,0 -18.22179,8.15475 -18.22854,18.21631 l -4.2e-4,-4.2e-4 0,14.1071 4.2e-4,4.2e-4
c 0.005,2.28463 1.85832,4.13409 4.14463,4.13409 0.007,0 0.0127,-8.4e-4 0.0194,-8.4e-4 l
0.001,8.4e-4 14.07083,0 0,0 c 10.06409,-0.004 18.22138,-8.16276 18.22138,-18.22812
z"
+ id="path25"
+ style="fill:#294172" />
+ <path
+ d="m 469.13577,349.66577 c -4.72528,0 -8.55576,3.83049 -8.55576,8.55577
0,0.002 0,0.004 0,0.006 l 0,4.52836 -4.51444,0 c -8.5e-4,0 -8.5e-4,0 -0.001,0 -4.72528,0
-8.55576,3.81193 -8.55576,8.53678 0,4.72528 3.83048,8.55577 8.55576,8.55577 4.72486,0
8.55534,-3.83049 8.55534,-8.55577 0,-0.002 0,-0.004 0,-0.006 l 0,-4.54733 4.51444,0 c
8.5e-4,0 0.001,0 0.002,0 4.72486,0 8.55534,-3.79296 8.55534,-8.51781 0,-4.72528
-3.83048,-8.55577 -8.55534,-8.55577 z m -8.55576,21.63483 c -0.004,2.48998
-2.02446,4.50811 -4.51571,4.50811 -2.49378,0 -4.53426,-2.02193 -4.53426,-4.5157 0,-2.49421
2.04048,-4.55366 4.53426,-4.55366 0.002,0 0.004,4.2e-4 0.006,4.2e-4 l 3.86971,0 c 0.001,0
0.002,-4.2e-4 0.003,-4.2e-4 0.35209,0 0.63799,0.28505 0.63799,0.63715 0,4.2e-4
-4.2e-4,8.4e-4 -4.2e-4,0.001 l 0,3.92284 -4.2e-4,0 z m 8.55534,-8.5448 c -0.001,0 -0.003,0
-0.004,0 l -3.87223,0 c -8.4e-4,0 -0.002,0 -0.002,0 -0.35252,0 -0.63757,-0.28506
-0.63757,-0.63758 l 0,-4.2e-4 0,-3.90343 c 0.004,-2.49083 2.02
446,-4.50854 4.51571,-4.50854 2.49378,0 4.53468,2.02193 4.53468,4.51613 4.2e-4,2.49336
-2.04048,4.53384 -4.53426,4.53384 z"
+ id="path29"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 460.58001,362.7558 0,-4.52836 c 0,-0.002 0,-0.004 0,-0.006 0,-4.72528
3.83048,-8.55577 8.55576,-8.55577 0.71685,0 1.22623,0.0805 1.88952,0.25469 0.96774,0.25385
1.75796,1.04618 1.75838,1.96922 4.2e-4,1.11575 -0.80919,1.92621 -2.0194,1.92621 -0.57642,0
-0.78473,-0.11048 -1.62892,-0.11048 -2.49125,0 -4.51149,2.01771 -4.51571,4.50854 l
0,3.90385 0,4.2e-4 c 0,0.35252 0.28505,0.63758 0.63757,0.63758 4.3e-4,0 0.001,0 0.002,0 l
2.96521,0 c 1.10521,0 1.99747,0.88467 1.99832,1.99283 0,1.10816 -0.89353,1.99114
-1.99832,1.99114 l -3.60489,0 0,4.54733 c 0,0.002 0,0.004 0,0.006 0,4.72485
-3.83048,8.55534 -8.55534,8.55534 -0.71684,0 -1.22623,-0.0805 -1.88952,-0.25469
-0.96774,-0.25343 -1.75838,-1.04618 -1.7588,-1.9688 0,-1.11575 0.80919,-1.92663
2.01982,-1.92663 0.576,0 0.78473,0.11048 1.6285,0.11048 2.49125,0 4.51191,-2.01771
4.51613,-4.50811 0,0 0,-3.92368 0,-3.9241 0,-0.35168 -0.2859,-0.63673 -0.63799,-0.63673
-4.3e-4,0 -8.5e-4,0 -0.002,0 l -2.96521,-4.2e-4 c -1.10521,0 -1.
99831,-0.88214 -1.99831,-1.9903 -4.3e-4,-1.11533 0.90238,-1.99367 2.01939,-1.99367 l
3.58339,0 0,0 z"
+ id="path31"
+ style="fill:#ffffff" />
+ <path
+ d="m 477.41661,378.55292 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="text6223"
+ style="fill:#294172;enable-background:new" />
+ </g>
+ <path
+ d="m 181.98344,61.675273 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="path2391"
+ style="fill:#294172;enable-background:new" />
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/warning.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/warning.png
new file mode 100644
index 0000000..ce09951
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/warning.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/warning.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/warning.svg
new file mode 100644
index 0000000..5f2612c
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/warning.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="warning.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/warning.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2482">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="910"
+ inkscape:window-width="1284"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2484" />
+ </defs>
+ <g
+ transform="matrix(0.4536635,0,0,0.4536635,-5.1836431,-4.6889387)"
+ id="layer1">
+ <g
+ transform="translate(2745.6887,-1555.5977)"
+ id="g8304"
+ style="enable-background:new">
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.8233528,8.9983906e-3,-8.9983906e-3,0.8233528,-1398.5561,740.7914)"
+ id="path8034"
+
style="opacity:1;fill:#efd259;fill-opacity:1;stroke:#efd259;stroke-opacity:1"
/>
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.6467652,7.0684723e-3,-7.0684723e-3,0.6467652,-1675.7492,927.16391)"
+ id="path8036"
+
style="opacity:1;fill:#a42324;fill-opacity:1;stroke:#a42324;stroke-opacity:1"
/>
+ <path
+ d="M -2686.7886,1597.753 C -2686.627,1596.5292 -2686.5462,1595.6987
-2686.5462,1595.218 C -2686.5462,1593.1637 -2688.0814,1592.0711 -2690.9899,1592.0711 C
-2693.8985,1592.0711 -2695.4336,1593.12 -2695.4336,1595.218 C -2695.4336,1595.961
-2695.3528,1596.7914 -2695.1912,1597.753 L -2692.929,1614.4491 L -2689.0508,1614.4491 L
-2686.7886,1597.753"
+ id="path8038"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ <path
+ d="M -2690.9899,1617.8197 C -2693.6124,1617.8197 -2695.8118,1619.9346
-2695.8118,1622.6416 C -2695.8118,1625.3486 -2693.6124,1627.4635 -2690.9899,1627.4635 C
-2688.2829,1627.4635 -2686.168,1625.264 -2686.168,1622.6416 C -2686.168,1619.9346
-2688.2829,1617.8197 -2690.9899,1617.8197"
+ id="path8040"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/watermark-draft.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/watermark-draft.png
new file mode 100644
index 0000000..0ead5af
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/watermark-draft.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/yellow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/yellow.png
new file mode 100644
index 0000000..223865d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/Common_Content/images/yellow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-1.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-1.png
new file mode 100755
index 0000000..1ca0f55
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-2.png
new file mode 100755
index 0000000..8e7b6a9
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-3.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-3.png
new file mode 100755
index 0000000..714c133
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-4.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-4.png
new file mode 100755
index 0000000..f00d112
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-4.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-5.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-5.png
new file mode 100755
index 0000000..bb6db08
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-5.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-7.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-7.png
new file mode 100755
index 0000000..c81994e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-7.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-8.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-8.png
new file mode 100755
index 0000000..c42c239
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-8.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-9.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-9.png
new file mode 100755
index 0000000..542678c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/Install-9.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/PKicon.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/PKicon.png
new file mode 100644
index 0000000..61a8305
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/Installing_Software/PKicon.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-large.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-large.png
new file mode 100644
index 0000000..093f5ff
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-large.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-legend.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-legend.png
new file mode 100755
index 0000000..983f985
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-legend.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-small.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-small.png
new file mode 100755
index 0000000..e4c427c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-small.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT2-small.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT2-small.png
new file mode 100644
index 0000000..0968146
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT2-small.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT3-small.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT3-small.png
new file mode 100644
index 0000000..337befc
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT3-small.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/Yagi.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/Yagi.png
new file mode 100755
index 0000000..f024cf3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/Yagi.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-plots.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-plots.png
new file mode 100644
index 0000000..195b6a7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-plots.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-radiation.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-radiation.png
new file mode 100644
index 0000000..9043eab
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-radiation.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-structure.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-structure.png
new file mode 100644
index 0000000..a855a97
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-structure.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c.png
new file mode 100644
index 0000000..6558eeb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-geda/gEDA.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-geda/gEDA.png
new file mode 100755
index 0000000..0ef21b5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-geda/gEDA.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-gerbv/gerbv.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-gerbv/gerbv.png
new file mode 100755
index 0000000..5a1b941
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-gerbv/gerbv.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-gspiceui/gspiceui.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-gspiceui/gspiceui.png
new file mode 100755
index 0000000..6c85b33
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-gspiceui/gspiceui.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-pcb/PCB.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-pcb/PCB.png
new file mode 100755
index 0000000..e7afe44
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/circuit-pcb/PCB.png
differ
diff --git a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/icon.svg
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/icon.svg
new file mode 100644
index 0000000..c471a60
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/icon.svg
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://web.resource.org/cc/"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+
style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)"
/>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)"
/>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504
381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C
372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504
390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504
424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C
415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504
433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504
500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C
491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504
509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504
464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C
455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504
473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93
471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49
473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49
475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05
471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04
469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+
transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875
L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C
31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L
32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375
C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+
style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L
287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091
301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C
307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432
309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C
581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C
574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363
314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124
292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363
293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/Awful.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/Awful.png
new file mode 100644
index 0000000..56c3c0f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/Awful.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck1.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck1.png
new file mode 100644
index 0000000..4057b00
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck2.png
new file mode 100644
index 0000000..bdfcec0
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck3.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck3.png
new file mode 100644
index 0000000..ad4e0c2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/DupeCheck3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/EditingQSO.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/EditingQSO.png
new file mode 100644
index 0000000..2c0f39f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/EditingQSO.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/ExitProgram.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/ExitProgram.png
new file mode 100644
index 0000000..a283ede
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/ExitProgram.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/FieldAttrib.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/FieldAttrib.png
new file mode 100644
index 0000000..dd08d71
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/FieldAttrib.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/SCPwindow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/SCPwindow.png
new file mode 100644
index 0000000..33b9c4a
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/SCPwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-InfoBar.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-InfoBar.png
new file mode 100644
index 0000000..9f6833e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-InfoBar.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-dupewindow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-dupewindow.png
new file mode 100644
index 0000000..1247241
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-dupewindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-full.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-full.png
new file mode 100644
index 0000000..6de68d7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-full.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-icon.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-icon.png
new file mode 100644
index 0000000..e0111a6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-icon.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-mainwindow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-mainwindow.png
new file mode 100644
index 0000000..f24acb6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-mainwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-menu.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-menu.png
new file mode 100644
index 0000000..f8724a4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-menu.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-subwindow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-subwindow.png
new file mode 100644
index 0000000..5038f3c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/logging-qle/qle-subwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-callgit/CallGit.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-callgit/CallGit.png
new file mode 100644
index 0000000..a424f1c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-callgit/CallGit.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-cutecw/CuteCW.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-cutecw/CuteCW.png
new file mode 100644
index 0000000..a9551de
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-cutecw/CuteCW.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-dxcc/dxcc.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-dxcc/dxcc.png
new file mode 100755
index 0000000..256d5d5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-dxcc/dxcc.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-config.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-config.png
new file mode 100644
index 0000000..3a49347
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-config.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-groundstations.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-groundstations.png
new file mode 100644
index 0000000..99bff96
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-groundstations.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-hover.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-hover.png
new file mode 100644
index 0000000..2b5dc71
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-hover.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-skyataglance.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-skyataglance.png
new file mode 100644
index 0000000..837730a
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-skyataglance.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-stationlocation.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-stationlocation.png
new file mode 100644
index 0000000..d361012
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-stationlocation.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-update.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-update.png
new file mode 100644
index 0000000..174b8f1
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict-update.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict.png
new file mode 100755
index 0000000..4762342
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gpredict/gpredict.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gresistor/gResistor.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gresistor/gResistor.png
new file mode 100644
index 0000000..845e40d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-gresistor/gResistor.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-ibp/ibp-map.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-ibp/ibp-map.png
new file mode 100644
index 0000000..85292a1
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-ibp/ibp-map.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-ibp/ibp-text2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-ibp/ibp-text2.png
new file mode 100755
index 0000000..83f58ed
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-ibp/ibp-text2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Controls.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Controls.png
new file mode 100644
index 0000000..a728cf4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Controls.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial1.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial1.png
new file mode 100644
index 0000000..8716194
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial2.png
new file mode 100644
index 0000000..9653df7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial3.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial3.png
new file mode 100644
index 0000000..ac50fff
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/Dial3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/ExamplePanel.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/ExamplePanel.png
new file mode 100644
index 0000000..94bfb3f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/ExamplePanel.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/WhiteFill.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/WhiteFill.png
new file mode 100644
index 0000000..294b19c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-rcrpanel/WhiteFill.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xgridloc/Xgridloc.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xgridloc/Xgridloc.png
new file mode 100644
index 0000000..56694c1
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xgridloc/Xgridloc.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota-Query.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota-Query.png
new file mode 100644
index 0000000..ad707f3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota-Query.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota-Station_Info.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota-Station_Info.png
new file mode 100644
index 0000000..f94f950
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota-Station_Info.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota.png
new file mode 100644
index 0000000..fff5a73
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/others-xwota/xwota.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-colrdx/colrdx.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-colrdx/colrdx.png
new file mode 100644
index 0000000..c335437
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-colrdx/colrdx.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/Screenshot-xastir.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/Screenshot-xastir.png
new file mode 100644
index 0000000..4189a84
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/Screenshot-xastir.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Bookmarks.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Bookmarks.png
new file mode 100644
index 0000000..f341e85
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Bookmarks.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Config-Station.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Config-Station.png
new file mode 100644
index 0000000..c2433eb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Config-Station.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Defaults.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Defaults.png
new file mode 100644
index 0000000..bc3942d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Defaults.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-InterfaceStatus3.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-InterfaceStatus3.png
new file mode 100644
index 0000000..9d7a10c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-InterfaceStatus3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-KISS-TNC.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-KISS-TNC.png
new file mode 100644
index 0000000..36f2b23
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-KISS-TNC.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Chooser.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Chooser.png
new file mode 100644
index 0000000..323a7c7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Chooser.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Properties.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Properties.png
new file mode 100644
index 0000000..3bf9dba
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Properties.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Track-Station.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Track-Station.png
new file mode 100644
index 0000000..0f1e0e2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Track-Station.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-findu-trail.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-findu-trail.png
new file mode 100644
index 0000000..1c13c55
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-findu-trail.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-gray.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-gray.png
new file mode 100644
index 0000000..6394ff2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-gray.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-navy.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-navy.png
new file mode 100644
index 0000000..8f6e416
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-navy.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-palegreen.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-palegreen.png
new file mode 100644
index 0000000..21781c4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-palegreen.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-shadow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-shadow.png
new file mode 100644
index 0000000..3c4a8d3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-shadow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-textonblack.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-textonblack.png
new file mode 100644
index 0000000..5b2f350
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-textonblack.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-w-config.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-w-config.png
new file mode 100644
index 0000000..f1fd12e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/XASTIR-w-config.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/xastir.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/xastir.png
new file mode 100755
index 0000000..dd17428
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xastir/xastir.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xconvers/xconvers-host.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xconvers/xconvers-host.png
new file mode 100644
index 0000000..5c9251e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xconvers/xconvers-host.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xconvers/xconvers.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xconvers/xconvers.png
new file mode 100755
index 0000000..999fb71
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xconvers/xconvers.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xdx/xdx.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xdx/xdx.png
new file mode 100644
index 0000000..e532a7a
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/packet-xdx/xdx.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp001.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp001.png
new file mode 100644
index 0000000..c3a4a62
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp001.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp002.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp002.png
new file mode 100644
index 0000000..ecac1da
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp002.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp003.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp003.png
new file mode 100644
index 0000000..7fbcacb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp003.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp004.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp004.png
new file mode 100644
index 0000000..9799b72
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp004.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp005.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp005.png
new file mode 100644
index 0000000..5f89073
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp005.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp006.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp006.png
new file mode 100644
index 0000000..68930d5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp006.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp007.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp007.png
new file mode 100644
index 0000000..a2a28e5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp007.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp009.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp009.png
new file mode 100644
index 0000000..c7dc12b
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp009.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp010.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp010.png
new file mode 100644
index 0000000..eebd9c0
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp010.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp011.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp011.png
new file mode 100644
index 0000000..4694174
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirp011.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirpnoused1.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirpnoused1.png
new file mode 100644
index 0000000..ef4b54f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-chirp/chirpnoused1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig-icon.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig-icon.png
new file mode 100644
index 0000000..dabfefa
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig-icon.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig-mainwindow.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig-mainwindow.png
new file mode 100644
index 0000000..92e96cb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig-mainwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig.png
new file mode 100644
index 0000000..6a1afa5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/rig-grig/grig.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/soundcard-fldigi/FullPSK1.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/soundcard-fldigi/FullPSK1.png
new file mode 100644
index 0000000..beb6b2f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/soundcard-fldigi/FullPSK1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/soundcard-fldigi/fldigi-screenshot2.png
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/soundcard-fldigi/fldigi-screenshot2.png
new file mode 100644
index 0000000..1dff46d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/images/soundcard-fldigi/fldigi-screenshot2.png
differ
diff --git a/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/index.html
b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/index.html
new file mode 100644
index 0000000..13f2bf9
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html-single/Amateur_Radio_Guide/index.html
@@ -0,0 +1,1253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Amateur Radio Guide</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><meta name="description" content="Fedora includes a wide range of
applications relevant to amateur radio operators. This guide describes the use of some of
those applications." /><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><div xml:lang="en-US" class="article"
id="idm217671030544" lang="en-US"><div
class="titlepage"><div><div class="producttitle"
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><span
class="productname">Fedora</span> <span
class="productnumber">19</span></div><div><h1
id="idm217671030544" class="title">Amateur Radio
Guide</h1></div><div><h2 class="subtitle">A guide for
users of Fedora amateur radio software</h2></div><di
v><h3 class="corpauthor">
+ <span class="inlinemediaobject"><object
data="Common_Content/images/title_logo.svg" type="image/svg+xml">
Logo</object></span>
+
+ </h3></div><div><div xml:lang="en-US"
class="authorgroup" lang="en-US"><div
class="author"><h3 class="author"><span
class="surname">The Fedora Documentation
Project</span></h3></div></div></div><div><div
id="idm217638117904" class="legalnotice"><h1
class="legalnotice">Legal Notice</h1><div
class="para">
+ Copyright <span class="trademark"></span>© 2010-2013 Fedora
Project Contributors.
+ </div><div class="para">
+ The text of and illustrations in this document are licensed by Red Hat under a Creative
Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An
explanation of CC-BY-SA is available at <a
href="http://creativecommons.org/licenses/by-sa/3.0/">http:/...;.
The original authors of this document, and Red Hat, designate the Fedora Project as the
"Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if
you distribute this document or an adaptation of it, you must provide the URL for the
original version.
+ </div><div class="para">
+ Red Hat, as the licensor of this document, waives the right to enforce, and agrees not
to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
+ </div><div class="para">
+ Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the
Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
+ </div><div class="para">
+ For guidelines on the permitted uses of the Fedora trademarks, refer to <a
href="https://fedoraproject.org/wiki/Legal:Trademark_guidelines"...;.
+ </div><div class="para">
+ <span class="trademark">Linux</span>® is the registered trademark
of Linus Torvalds in the United States and other countries.
+ </div><div class="para">
+ <span class="trademark">Java</span>® is a registered trademark of
Oracle and/or its affiliates.
+ </div><div class="para">
+ <span class="trademark">XFS</span>® is a trademark of Silicon
Graphics International Corp. or its subsidiaries in the United States and/or other
countries.
+ </div><div class="para">
+ <span class="trademark">MySQL</span>® is a registered trademark
of MySQL AB in the United States, the European Union and other countries.
+ </div><div class="para">
+ All other trademarks are the property of their respective owners.
+ </div></div></div><div><div
class="abstract"><h6>Abstract</h6><div
class="para">
+ Fedora includes a wide range of applications relevant to amateur radio operators. This
guide describes the use of some of those applications.
+ </div></div></div></div><hr /></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a href="#intro">1.
Introduction</a></span></dt><dt><span
class="section"><a href="#soundcard">2. Sound Card
Modes</a></span></dt><dd><dl><dt><span
class="section"><a href="#soundcard-fldigi">2.1.
fldigi</a></span></dt></dl></dd><dt><span
class="section"><a href="#rig">3. Rig
Control</a></span></dt><dd><dl><dt><span
class="section"><a href="#rig-chirp">3.1.
Chirp</a></span></dt><dt><span
class="section"><a href="#rig-grig">3.2.
grig</a></span></dt></dl></dd><dt><span
class="section"><a href="#logging">4. Logging and related
applications</a></span></dt><dd><dl><dt><span
class="section"><a href="#logging-qle">4.1.
qle</a></span></dt><dt><span class="section"><a
href="#logging-xlog">4.2.
xlog</a></span></dt></dl></dd><dt><span
class="section"><a href="#antenna">5. Antenna and Propagation
Modeling</a></span></dt><dd><dl><dt><span
class="section"><a href="#antenna-splat">5.1. splat</a
</span></dt><dt><span
class="section"><a href="#antenna-xnec2c">5.2.
xnec2c</a></span></dt></dl></dd><dt><span
class="section"><a href="#packet">6. Packet and
APRS</a></span></dt><dd><dl><dt><span
class="section"><a href="#packet-colrdx">6.1.
colrdx</a></span></dt><dt><span
class="section"><a href="#packet-xconvers">6.2.
xconvers</a></span></dt><dt><span
class="section"><a href="#packet-xastir">6.3.
xastir</a></span></dt></dl></dd><dt><span
class="section"><a href="#circuit">7. Circuit Design and
Simulation</a></span></dt><dd><dl><dt><span
class="section"><a href="#circuit-geda">7.1.
gEDA</a></span></dt><dt><span
class="section"><a href="#circuit-gerbv">7.2.
gerbv</a></span></dt><dt><span
class="section"><a href="#circuit-pcb">7.3.
pcb</a></span></dt><dt><span class="section"><a
href="#circuit-gspiceui">7.4.
gspiceui</a></span></dt></dl></dd><dt><span
class="section"><a href="#others">8. Miscellaneous
Applications</a></span></dt><dd><dl><dt><span
class="section"><a href="#o
thers-cutecw">8.1.
CuteCW</a></span></dt><dt><span
class="section"><a href="#others-dxcc">8.2.
dxcc</a></span></dt><dt><span
class="section"><a href="#others-gpredict">8.3.
gpredict</a></span></dt><dt><span
class="section"><a href="#others-gresistor">8.4.
gresistor</a></span></dt><dt><span
class="section"><a href="#others-ibp">8.5.
ibp</a></span></dt><dt><span class="section"><a
href="#others-rcrpanel">8.6.
rcrpanel</a></span></dt><dt><span
class="section"><a href="#others-xgridloc">8.7.
xgridloc</a></span></dt><dt><span
class="section"><a href="#others-xwota">8.8.
xwota</a></span></dt></dl></dd><dt><span
class="appendix"><a href="#appe-Installing_Software">A.
Installing Software on
Fedora</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217646036144">A.1. Installing
Software with the GUI</a></span></dt><dt><span
class="section"><a href="#idm217636868320">A.2. Installing
Software with yum</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217635761568
">A.2.1. Searching for
Software</a></span></dt></dl></dd></dl></dd><dt><span
class="appendix"><a href="#appe-Publican-Revision_History">B.
Revision History</a></span></dt></dl></div><div
class="section" id="intro"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1. Introduction</h2></div></div></div><div
class="para">
+ Amateur radio and Linux go hand-in-hand. Both allow users to experiment to the extent
of their knowledge and to learn more along the way. With new digital technologies being
used everyday open source software is the best way to stay cutting e dge in this
ever-changing hobby.
+ </div><div class="para">
+ Fedora has packaged dozens of software to make it easy for Fedora users to obtain and
setup. Within seconds any user w ill be able to have the tools they to enhance their
amateur radio experience.
+ </div></div><div xml:lang="en-US" class="section"
id="soundcard" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">2. Sound Card
Modes</h2></div></div></div><div class="para">
+ This section describes the sound card modes.
+ </div><div xml:lang="en-US" class="section"
id="soundcard-fldigi" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">2.1. fldigi</h3></div></div></div><div
class="para">
+ fldigi is one of the most robust soundcard modem software around. It supports CW,
DominioEX, Feld-Hell, MFSK, MT-63 PSK, OLIVIA, RTTY, Thor, and Throb. fldigi also
includes, as part of the software, a logger which is smart enough to almost complete
itself.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/soundcard-fldigi/fldigi-screenshot2.png" width="534.6"
alt="fldigi" /><div class="longdesc"><div
class="para">
+ fldigi receiving PSK-31
+ </div></div></div></div><h6>Figure 1. fldigi</h6></div><br
class="figure-break" />
+
+ </div></div></div><div xml:lang="en-US"
class="section" id="rig" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title">3. Rig
Control</h2></div></div></div><div class="para">
+ This section describes rig control applications.
+ </div><div xml:lang="en-US" class="section"
id="rig-chirp" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1. Chirp</h3></div></div></div><div
class="para">
+ <span class="package">chirp</span> is an application that allows
programming of radios from a number of vendors. Chirp assumes that the appropriate cable
is available and connected. Data may be saved to a <code
class="filename">.csv</code> file for manipulation by other
applications, as well as transferred between radios, even radios from different
manufacturers.
+ </div><div class="para">
+ <span
class="application"><strong>chirp</strong></span> is
started by clicking the chirp icon.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp001.png" width="216" alt="Chirp
icon" /><div class="longdesc"><div class="para">
+ Chirp Icon
+ </div></div></div></div><h6>Figure 2. Chirp
icon</h6></div><br class="figure-break" />
+ This will present a rather uninteresting blank screen.
+ </div><div class="para">
+ In most cases, the user will wish to begin by selecting <span
class="guilabel"><strong>Download from
Radio</strong></span> from the <span
class="guimenu"><strong>Radio</strong></span> menu. This
will launch a dialog requesting some basic information such as the desired serial port,
radio vendor and model. Note that the selected serial port must permit read/write access.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp002.png" width="534.6" alt="Chirp
Radio Dialog" /><div class="longdesc"><div
class="para">
+ Chirp Radio Dialog
+ </div></div></div></div><h6>Figure 3. Chirp Radio
Dialog</h6></div><br class="figure-break" />
+ Clicking the <span
class="guilabel"><strong>OK</strong></span> button will
begin reading the radio's memory.
+ </div><div class="para">
+ What happens next depends on the radio. For radios that operate in "live"
mode, the values will appear in the window, and values at the bottom of the window will
show how many memories remain to be read and how many have been read. For radios with
multiple bands, the first value will alternate between bands.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp003.png" width="534.6" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 4. Chirp Main
Screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ For radios that do not operate in "live" mode, a small window containing a
progress bar will show the progress of the download. The data will appear after the data
has been downloaded.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp009.png" width="216" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 5. Chirp Main
Screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ To change a value, simply click on the field and begin typing.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp004.png" width="534.6" alt="Changing a
memory location" /><div class="longdesc"><div
class="para">
+ Changing a memory location
+ </div></div></div></div><h6>Figure 6. Changing a
memory location</h6></div><br class="figure-break" />
+ On some radios, data is changed in the radio as soon as it is changed onscreen. For
others, it will be necessary to select the <span
class="guilabel"><strong>Upload to Radio</strong></span>
from the <span
class="guimenu"><strong>Radio</strong></span> menu.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp010.png" width="378" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 7. Chirp Main
Screen</h6></div><br class="figure-break" />
+ A progress bar will be displayed similar to that displayed during data download.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp011.png" width="216" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 8. Chirp Main
Screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ By default, only the first 25 memories are displayed. Near the top of the screen the
<span class="guilabel"><strong>Memory
range</strong></span> controls allow for selecting those memories to be
displayed. If a large number of memories are selected, it may take some time to display.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp005.png" alt="Selecting Memory Range to
Display" /><div class="longdesc"><div
class="para">
+ Chirp
+ </div></div></div></div><h6>Figure 9. Selecting Memory
Range to Display</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Depending on the radio, there may be quite a few columns to display, so maximizing the
window could be helpful.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp006.png" width="534.6" alt="Large
Display" /><div class="longdesc"><div
class="para">
+ Chirp
+ </div></div></div></div><h6>Figure 10. Large
Display</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Individual columns may be removed from the display, making the display more manageable.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp007.png" width="534.6" alt="Selecting
Columns" /><div class="longdesc"><div
class="para">
+ Chirp
+ </div></div></div></div><h6>Figure 11. Selecting
Columns</h6></div><br class="figure-break" />
+
+ </div></div><div xml:lang="en-US" class="section"
id="rig-grig" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2. grig</h3></div></div></div><a
id="idm217610970320" class="indexterm"></a><a
id="idm217610969360" class="indexterm"></a><a
id="idm217646875984" class="indexterm"></a><a
id="idm217646875024" class="indexterm"></a><div
class="para">
+ <span class="package">grig</span> is a simple front panel for a
radio controlled by <span class="package">hamlib</span>. Before
using <span class="package">grig</span> the user should first
configure <span class="package">hamlib</span>.
+ </div><div class="para">
+ To start <span class="package">grig</span>, click the <span
class="package">grig</span> icon:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-grig/grig-icon.png" width="162" alt="grig
icon" /><div class="longdesc"><div class="para">
+ grig
+ </div></div></div></div><h6>Figure 12. grig
icon</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The main window allows for control over most of the actions accessible from a typical
radio front panel. Frequency may be increased or decreased by left or right clicking the
appropriate digit in the frequency display. Other controls are more or less
self-explanatory.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-grig/grig-mainwindow.png" width="534.6" alt="grig
main window" /><div class="longdesc"><div
class="para">
+ grig
+ </div></div></div></div><h6>Figure 13. grig main
window</h6></div><br class="figure-break" />
+
+ </div></div></div><div xml:lang="en-US"
class="section" id="logging" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">4. Logging and related
applications</h2></div></div></div><div
class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="logging-qle" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">4.1. qle</h3></div></div></div><div
class="para">
+ <span class="package">qle</span> stands for QSO Logger and
Editor. It is a simple yet flexible logging program. <span
class="package">qle</span> uses a lightweight <span
class="package">sqlite</span> database that can be manipulated using
standard tools. The application is easily customized, so you can have the logging program
behave the way you want. It also interfaces with <span
class="package">hamlib</span>, so information may be automatically
retrieved from your rig with the appropriate hardware.
+ </div><div class="section" id="idm217649320480"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217649320480">4.1.1. Installing
qle</h4></div></div></div><div class="para">
+ <span class="package">qle</span> can be installed with yum like
any other package:
+<pre class="screen">
+sudo yum install qle
+</pre>
+ However, <span class="package">qle</span> requires some initial
setup before it may be used.
+ </div></div><div class="section"
id="idm217649322848"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217649322848">4.1.2. Configuring
qle</h4></div></div></div><div class="para">
+ The install process creates a configuration file <code
class="filename">/etc/qle/qle.conf</code> which must be edited. This
can be done with your favorite text editor, however, the file is protected against writing
by a non-admin user. The file might be edited with something like:
+<pre class="screen">
+sudo gedit /etc/qle/qle.conf &
+</pre>
+
+ </div><div class="para">
+ There are two lines that must be changed. At line 63 of the file, you will find the
lines:
+<pre class="screen">
+#
+debug = 0
+#
+myCall = N0CAL
+#
+</pre>
+ Be sure that the <code class="code">debug</code> line is set to
zero and change the <code class="code">myCall</code> line to reflect
your callsign.
+ </div><div class="para">
+ The second line that must be changed is at line 75 where you will find:
+<pre class="screen">
+# Filename of SQLite DB with full path.
+# This file requires sufficient RW access for the DB to work...
+#
+db = foo3.db
+#
+# Name of the table that you want to log into.
+# Is probably case-sensitive:
+#
+tableName = mycall
+#
+</pre>
+ You must change the name of the database to your desired name and location.
+ </div><div class="para">
+ <span class="package">qle</span> is set up for a single user
system, so all users share the same database. You must place the database in a location
where it can be accessed by any users requiring it. If you always log on with the same
usercode, you might choose to put it in a hidden subdirectory off your logon directory,
for example, <code class="filename">~/.qle</code>. This is the
simplest approach, but in some circumstances, you may prefer a more "global"
location, for example, <code class="filename">/etc/qle</code>. In
this case, you need to take care to give the file appropriate protections.
+ </div><div class="para">
+ For simplicity, we will assume that <span
class="package">qle</span> will only ever be run from a single usercode
and we will put the database there. Reflect that location and name in <code
class="filename">qle.conf</code>, for example:
+<pre class="screen">
+db = /home/usercode/.qle/qle.sqlite
+</pre>
+ Note that you cannot use the tilde (<code
class="command">~</code>) within the config file, you must enter the
entire path.
+ </div><div class="para">
+ There are many things you may wish to change. For example, at line 101:
+<pre class="screen">
+#
+useRig = 1
+#
+</pre>
+ determines whether you want to use the rig control library, <span
class="package">hamlib</span>, which can be a great convenience if you
have the appropriate hardware.
+ </div><div class="para">
+ At line 225:
+<pre class="screen">
+#
+noCwDaemon = 0
+#
+</pre>
+ determines whether you wish <span class="package">qle</span> to
have the capability of keying the transmitter.
+ </div><div class="para">
+ To avoid describing <span class="package">hamlib</span> settings
and hardware setup, we will assume these are both disabled for now, that is, <code
class="code">useRig=0</code> and <code
class="code">noCwDaemon=1</code>.
+ </div><div class="para">
+ After editing <code class="filename">qle.conf</code>, you need
to create the database. There is a sample database in <code
class="filename">/usr/share/qle</code> so we can copy that to the
location we have specified for our database:
+<pre class="screen">
+cp /usr/share/qle/foo3.db ~/.qle/qle.sqlite
+</pre>
+ This file has some test data which we will delete after some initial testing.
+ </div></div><div class="section"
id="idm217646162720"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217646162720">4.1.3. Running qle for the first
time</h4></div></div></div><div class="para">
+ The first time you run <span class="package">qle</span>, it
should be done from the command line in debug mode to be sure you made no errors in the
config file:
+<pre class="screen">
+qle --debug=1
+</pre>
+ If there were errors editing the configuration file, they will appear in the window
from which you started <span class="package">qle</span>. If all went
well, this should result in seeing the logging windows with the test data displayed:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-full.png" width="534.6" alt="Running
qle the first time" /><div class="longdesc"><div
class="para">
+ qle - Initial run
+ </div></div></div></div><h6>Figure 14. Running qle
the first time</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The <span class="package">qle</span> "Main Window"
shows the QSOs that have been logged so far. It will contain QSOs from the sample
database. We will delete those QSOs later.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-mainwindow.png" width="534.6"
alt="qle Main Window" /><div class="longdesc"><div
class="para">
+ qle - Main Window
+ </div></div></div></div><h6>Figure 15. qle Main
Window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The "Sub-Window" is actually where the data will be entered for each QSO.
Some fields are provided automatically, such as the date and time. These will be a lighter
color than the other fields. Each field has a button to the right indicating how that
field is to be treated. Fields that have the label <span
class="guilabel"><strong>CAR</strong></span> will be
carried over from QSO to QSO. These can be overwritten, but will initially be filled in
with data from the previous QSO. These are things like Mode, Power, etc that tend not to
change.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-subwindow.png" width="534.6" alt="qle
Data Entry Window" /><div class="longdesc"><div
class="para">
+ qle - Data Entry Window
+ </div></div></div></div><h6>Figure 16. qle Data Entry
Window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ If you wish to change the data in a field that has the label <span
class="guilabel"><strong>LCK</strong></span>, you may
simply click on <span
class="guilabel"><strong>LCK</strong></span> and select
another choice from the dropdown. Normally, you might choose <span
class="guilabel"><strong>--</strong></span>, but if you are
contesting, the <span class="guilabel"><strong>NR
SENT</strong></span> field includes a <span
class="guilabel"><strong>+1</strong></span> choice.`
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/FieldAttrib.png" width="270"
alt="Changing Field Attributes" /><div
class="longdesc"><div class="para">
+ Field Attributes
+ </div></div></div></div><h6>Figure 17. Changing Field
Attributes</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ If you double-click an existing QSO in the Main Window, an Editing Window will appear,
allowing you to make changes to the existing QSO.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/EditingQSO.png" width="534.6"
alt="Editing an existing QSO" /><div class="longdesc"><div
class="para">
+ qle - Editing QSO
+ </div></div></div></div><h6>Figure 18. Editing an
existing QSO</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ To exit the program, click the <span
class="guilabel"><strong>Exit Program</strong></span>
button at the lower left of the subwindow.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/ExitProgram.png" width="216" alt="Exit
Program Button" /><div class="longdesc"><div
class="para">
+ qle - Exit Program
+ </div></div></div></div><h6>Figure 19. Exit Program
Button</h6></div><br class="figure-break" />
+ <span class="package">qle</span> will ask for confirmation when
exiting.
+ </div></div><div class="section"
id="idm217646082512"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217646082512">4.1.4. Deleting Sample
Data</h4></div></div></div><div class="para">
+ Now that you are familiar with the basic operation of <span
class="package">qle</span>, you will want to delete the original sample
data so the database only contains your QSOs. Since the data is in a <span
class="package">sqlite</span> database, we merely need to use some
simple commands to do that:
+<pre class="screen">
+[jjmcd@Aidan .qle]$ sqlite3 ~/.qle/qle.sqlite
+SQLite version 3.6.20
+Enter ".help" for instructions
+Enter SQL statements terminated with a ";"
+sqlite> DELETE FROM mycall;
+sqlite> .quit
+[jjmcd@Aidan .qle]$
+</pre>
+ If you are familiar with SQL, you can also use <span
class="package">sqlite</span> to make other changes and queries.
+ </div><div class="para">
+ You are now ready to begin using <span
class="package">qle</span>. Click on the <span
class="guilabel"><strong>qle</strong></span> icon,
typically found in the "Internet" group.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-icon.png" width="162" alt="qle
icon" /><div class="longdesc"><div class="para">
+ qle icon
+ </div></div></div></div><h6>Figure 20. qle
icon</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217613931488"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217613931488">4.1.5. Duplicate
Checking</h4></div></div></div><div class="para">
+ <span class="package">qle</span> provides duplicate checking as
the call is entered. When the first character is entered, any calls in the log that match
are shown in the duplicate window:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/DupeCheck1.png" width="216" alt="Dupe
Sheet - first character" /><div class="longdesc"><div
class="para">
+ Dupe checking first letter
+ </div></div></div></div><h6>Figure 21. Dupe Sheet -
first character</h6></div><br class="figure-break" />
+ As additional characters are entered, the list gets shorter:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/DupeCheck2.png" width="216" alt="Dupe
Sheet - second character" /><div class="longdesc"><div
class="para">
+ Dupe checking second letter
+ </div></div></div></div><h6>Figure 22. Dupe Sheet -
second character</h6></div><br class="figure-break" />
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/DupeCheck3.png" width="216" alt="Dupe
Sheet - third character" /><div class="longdesc"><div
class="para">
+ Dupe checking third letter
+ </div></div></div></div><h6>Figure 23. Dupe Sheet -
third character</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ In addition to the current log, the file <code
class="filename">/usr/share/qle/master.scp</code> contains a list of
calls to check. These are shown in a separate SCP window:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-dupewindow.png" width="108" alt="SCP
Window" /><div class="longdesc"><div
class="para">
+ SCP Window
+ </div></div></div></div><h6>Figure 24. SCP
Window</h6></div><br class="figure-break" />
+ Like the dupes window, this list gets shorter as you type. Edit <code
class="filename">master.scp</code> to include the calls you want.
+ </div></div><div class="section"
id="idm217614018512"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217614018512">4.1.6. Some customizations you probably
want</h4></div></div></div><div class="para">
+ <span class="package">qle</span> is highly customizable. In the
previous sections, we described a few things that definitely need to be changed. There are
quite a few more you probably want to change.
+ </div><div class="para">
+ At the bottom of the secondary screen you will notice a bar with some information:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-InfoBar.png" width="534.6"
alt="Subwindow Info Bar" /><div class="longdesc"><div
class="para">
+ qle Subwindow Info Bar
+ </div></div></div></div><h6>Figure 25. Subwindow Info
Bar</h6></div><br class="figure-break" />
+ This bar is simply a reminder for some random data you may want to keep handy. You
can change the information by editing the lines starting at line 1051 in the configuration
file:
+<pre class="screen">
+infoString = "ARCI: 10114"
+infoString = "LOC: EN73vp"
+infoString = "ITU: 8 "
+infoString = "CQZ: 4 "
+</pre>
+
+ </div><div class="para">
+ You may find that you want the default field types to be different. For example,
suppose you constantly change power and you don't want the previous power to be shown
by default. At line 384 of the configuration file is a line for each field with the
default type. You can simply change this to make <span
class="package">qle</span> start with the type you desire:
+<pre class="screen">
+fieldTypes = "---" # mypwr
+</pre>
+
+ </div><div class="para">
+ You can even adjust individual colors to make them as appealing (or as horrible) as
you prefer:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/Awful.png" width="534.6" alt="Colors only
a mother could love" /><div class="longdesc"><div
class="para">
+ qle Colors Example
+ </div></div></div></div><h6>Figure 26. Colors only a
mother could love</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ There are literally hundreds of adjustments you can make to tailor your logger to
behave exactly the way you want. Just be sure to carefully review the comments in <code
class="filename">qle.conf</code> so you don't get unexpected
results.
+ </div></div></div><div xml:lang="en-US"
class="section" id="logging-xlog" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">4.2. xlog</h3></div></div></div><div
class="para">
+ <span class="package">xlog</span> is a wonderful logging program
that allows the user to create multiple logs, import and export in various formats, and
maintain a count on the various awards such as WAS, WAC, DXCC, WAZ, and IOTA. Future
versions will contain code to hook into the ARRL's LoTW.
+ </div><div class="section" id="idm217631900512"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217631900512">4.2.1. Installing
xlog</h4></div></div></div><div class="para">
+ <span class="package">xlog</span> is simply installed like most
applications:
+<pre class="screen">sudo yum install xlog</pre>
+
+ </div></div><div class="section"
id="idm217631898144"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217631898144">4.2.2. Starting
xlog</h4></div></div></div><div class="para">
+ <span class="package">xlog</span> may be started from the menu
by selecting <span
class="guimenu"><strong>Applications->Other->xlog</strong></span>
or from the command line by typing <code
class="command">xlog</code>.
+ </div></div><div class="section"
id="idm217637067824"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217637067824">4.2.3. Setting up
xlog</h4></div></div></div><div class="para">
+ <span class="package">xlog</span> is extremely easy to get
setup. After starting xlog, select <span
class="guimenu"><strong>Settings->Preferences</strong></span>.
This will bring up a preferences box where you can configure most options for <span
class="package">xlog</span>.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>General</strong></span> tab
contains basic information on how the log will be setup including the modes and bands you
operate. You can change these at anytime but it is good to go ahead and add or remove the
modes and bands you don't operate to simplify the operation of the logging later. You
can also enable the clock on the status bar and recording of azimuth and distance when you
enter in the location of the station. You can also control out data from external
programs, such as gmfsk and ktrack, are handled.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>Info</strong></span> tab contains
information on your station and preference to miles or kilometers and where you want the
software to look up a callsign. It is recommended that you enter your callsign and your
coordinates into the fields located on this tab so the log can appropriately annotate your
callsign where necessary and can provide azimuth and distance to a station upon entry of
the state or grid. If you don't know your latitude and longitude you can just enter
your grid locator and the software will populate a rough location for your station.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>Hamlib</strong></span> tab allows
you to setup <span class="package">xlog</span> to read your radio so
your log will automatically record the frequency and mode. <span
class="package">xlog</span> will also display the S-meter on the status
bar for your convinence.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>Logs</strong></span> tab allow you
to setup the logs themselves. This includes where to store the logs, which logs to start
automatically upon starting <span class="package">xlog</span>, when
to save the log, and the font. By default, <span
class="package">xlog</span> stores your logs in ~/.xlog. This can be
changed by providing the appropriate path. If you have multiple logs you can type in the
names of each log separated by a comma in the next field and <span
class="package">xlog</span> will load those logs each time using tabs
at the top of the main screen. The next field asks if you want <span
class="package">xlog</span> to save the log whenever you write a log
entry or every x minutes. You can also establish a backup of your logs in a separate
directory which you can provide in the backup entry. The last field is used to select the
font you would like to use for your logs.
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="antenna" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">5. Antenna and Propagation
Modeling</h2></div></div></div><div class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="antenna-splat" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">5.1. splat</h3></div></div></div><div
class="para">
+ <code class="command">splat</code> is a Surface Path Length And
Terrain analysis application which can perform path loss calculations as well as generate
coverage maps. Primarily intended for VHF/UHF, it can help plan repeater coverage or plan
emergency communications strategies.
+ </div><div class="section"
id="antenna-splat-setup"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">5.1.1. Installation and
setup</h4></div></div></div><div class="para">
+ Installing <code class="command">splat</code> is
straightforward:
+<pre class="screen">
+ su -c 'yum install splat'
+</pre>
+
+ </div><div class="section" id="idm217645272128"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217645272128">5.1.1.1. Obtaining Terrain
Files</h5></div></div></div><div class="para">
+ Before it can be useful, <code class="command">splat</code>
requires files that describe the terrain around the station to be modelled. First,
determine the latitude and longitude of the station. Then download the nine terrain files
centered on that latitude and longitude from <a
href="http://e0srp01u.ecs.nasa.gov/srtm/version2/SRTM3/">htt...;.
+ </div><div class="para">
+ Unzip the nine files and convert them from <code
class="filename">hgt</code> files to <code
class="filename">sdf</code> with the <code
class="command">srtm2sdf</code> utility. For example:
+<pre class="screen">
+ srtm2sdf N41W082.hgt
+</pre>
+
+ </div><div class="para">
+ Do this for each of the nine files. Those files can now be placed in a directory
where you wish to store terrain files, or they can be placed in the directory where you
wish to work with <code class="command">splat</code>
+ </div><div class="para">
+ If you will be modelling stations over a wide geographic area, you may wish to
download and convert additional files. <code
class="command">splat</code> will select those files it requires for a
particular calculation.
+ </div></div><div class="section"
id="idm217638668240"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217638668240">5.1.1.2. Obtaining cartographic boundary
files</h5></div></div></div><div class="para">
+ <code class="command">splat</code> will work with just the
terrain files. However, for path loss maps, the resulting maps can be more useful if they
are marked with political boundaries and names of towns and cities. For the United States,
county outlines can be downloaded from <a
href="http://www.census.gov/geo/www/cob/co2000.html#ascii">h...
and 'census designated areas' from <a
href="http://www.census.gov/geo/www/cob/pl2000.html#ascii">h...;.
+ </div><div class="para">
+ For each of these, there are two files, an <code
class="filename">xxyy_d00.dat</code> and <code
class="filename">xxyy_d00a.dat</code>, where xx is 'co' for
county and 'pl' for place, and yy is a state number. A file of place names can be
generated from the 'a' file with the <code
class="command">citydecoder</code> utility. For example:
+<pre class="screen">
+ citydecoder pl37 >cities.dat
+</pre>
+ The <code class="filename">cities.dat</code> file is simply a
list of names followed by latitude and longitude. You may edit the file with a text editor
to insert additional places which will be marked on the map with a red dot.
+ </div></div></div><div class="section"
id="antenna-splat-using"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">5.1.2. Using
SPLAT!</h4></div></div></div><div class="para">
+ <code class="command">splat</code> can perform calculations for
a particular path, or generate a map showing path loss or signal strength over a region.
In any case <code class="command">splat</code> needs at least one
file identifying the transmitter location. For a specific path, it needs an identical file
for the receiver. If you would like signal strength calculations, you will need another
file with more details about the transmitter.
+ </div><div class="section" id="idm217644698768"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217644698768">5.1.2.1. The QTH
file</h5></div></div></div><div class="para">
+ You tell <code class="command">splat</code> about a particular
station (transmitter or receiver) with a <code
class="filename">qth</code> file. This file has four lines:
+ <div class="orderedlist"><ol><li
class="listitem"><div class="para">
+ The name of the station
+ </div></li><li class="listitem"><div
class="para">
+ The latitude of the station
+ </div></li><li class="listitem"><div
class="para">
+ The longitude of the station
+ </div></li><li class="listitem"><div
class="para">
+ The antenna height above ground
+ </div></li></ol></div>
+
+ </div><div class="para">
+ Here is an example <code class="filename">qth</code> file:
+<pre class="screen">
+ W8KEA-4
+ 43 38 05
+ 84 15 41
+ 124.0
+</pre>
+ The <code class="filename">qth</code> file should be named for
the station. The name of the file in the above example would be <code
class="filename">W8KEA-4.qth</code>.
+ </div><div class="para">
+ By default, <code class="command">splat</code> uses British
units; heights are in feet, distances are in miles. However, invoking <code
class="command">splat</code> with the <code
class="command">-metric</code> switch will cause it to use metric
units.
+ </div></div><div class="section"
id="idm217631326624"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217631326624">5.1.2.2. The LRP
file</h5></div></div></div><div class="para">
+ If you would like <code class="command">splat</code> to
calculate signal strengths, it needs to know a little more about the transmitter. You
provide this information in a file whose name matches that of the <code
class="filename">qth</code> file but has an extension of <code
class="filename">lrp</code>.
+ </div><div class="para">
+ The <code class="filename">lrp</code> file has 9 lines:
+ <div class="orderedlist"><ol><li
class="listitem"><div class="para">
+ Earth Dielectric Constant. If you do not have measured data available, the
<code class="command">splat</code> man page has a table that can
help you estimate a value.
+ </div></li><li class="listitem"><div
class="para">
+ Earth Conductivity
+ </div></li><li class="listitem"><div
class="para">
+ Atmospheric Bending Constant
+ </div></li><li class="listitem"><div
class="para">
+ Frequency
+ </div></li><li class="listitem"><div
class="para">
+ Radio Climate. This is a code describing the terrain. See the table in the man
page
+ </div></li><li class="listitem"><div
class="para">
+ Polarization
+ </div></li><li class="listitem"><div
class="para">
+ Fraction of situations. This and the following line reflect how the Longley-Rice
calculations are to be carried out. In the example below, <code
class="command">splat</code> will calculate the maximum path loss
experienced 50% of the time in 50% of the situations.
+ </div></li><li class="listitem"><div
class="para">
+ Fraction of time
+ </div></li><li class="listitem"><div
class="para">
+ Effective radiated power - power out less feedline loss times antenna gain
+ </div></li></ol></div>
+
+<pre class="screen">
+ 15.000 ; Earth Dielectric Constant (Relative permittivity)
+ 0.005 ; Earth Conductivity (Siemens per meter)
+ 301.000 ; Atmospheric Bending Constant (N-Units)
+ 145.090 ; Frequency in MHz (20 MHz to 20 GHz)
+ 5 ; Radio Climate
+ 1 ; Polarization (0 = Horizontal, 1 = Vertical)
+ 0.50 ; Fraction of situations
+ 0.50 ; Fraction of time
+ 126.00 ; ERP
+</pre>
+ You may leave out the last line in which case <code
class="command">splat</code> will calculate only path loss.
+ </div></div><div class="section"
id="idm217613423632"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217613423632">5.1.2.3. Making a map of
coverage</h5></div></div></div><div class="para">
+ .
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-splat/AR-SPLAT1-small.png" width="534.6"
alt="Coverage map with constrained distance" /><div
class="longdesc"><div class="para">
+ Coverage Map with constrained distance
+ </div></div></div></div><h6>Figure 27. Coverage map
with constrained distance</h6></div><br class="figure-break"
/>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-splat/AR-SPLAT2-small.png" width="534.6"
alt="Coverage map with unconstrained distance" /><div
class="longdesc"><div class="para">
+ Coverage Map with unconstrained distance
+ </div></div></div></div><h6>Figure 28. Coverage map
with unconstrained distance</h6></div><br class="figure-break"
/>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-splat/AR-SPLAT1-legend.png" width="534.6"
alt="Signal Strength Legend" /><div class="longdesc"><div
class="para">
+ Signal strength legend at bottom of map
+ </div></div></div></div><h6>Figure 29. Signal
Strength Legend</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217644655200"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217644655200">5.1.2.4. Calculating a point-to-point
path</h5></div></div></div><div class="para">
+ .
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="antenna-xnec2c" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">5.2. xnec2c</h3></div></div></div><div
class="para">
+ <span
class="application"><strong>xnec2c</strong></span> is a GUI
wrapper on the popular NEC2 antenna modeling program. The application allows the design of
an arbitrary antenna, and displays gain, impedance and other useful results.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/Yagi.png" width="534.6" alt="xnec2c -
yagi" /><div class="longdesc"><div class="para">
+ xnec2c display of 6 element 20 meter yagi
+ </div></div></div></div><h6>Figure 30. xnec2c -
yagi</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ <span
class="application"><strong>xnec2c</strong></span> displays
its output in up to three windows. The first window shows the model the user has provided:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/xnec2c-structure.png" width="270"
alt="Structure display of a collinear" /><div
class="longdesc"><div class="para">
+ structure
+ </div></div></div></div><h6>Figure 31. Structure
display of a collinear</h6></div><br class="figure-break" />
+ The user may rotate the view with the two numeric controls. The <span
class="guilabel"><strong>X</strong></span>, <span
class="guilabel"><strong>Y</strong></span> and <span
class="guilabel"><strong>Z</strong></span> buttons permit
views along the three axes, and the curved arrow button returns to the default isometric
view.
+ </div><div class="para">
+ Selecting <span class="guimenuitem"><strong>Radiation
Pattern</strong></span> from the <span
class="guimenu"><strong>View</strong></span> menu opens the
radiation pattern window (<a class="xref"
href="#xnec2c-radiation">Figure 32, “Radiation Pattern Display”</a>).
The view may be rotated in the same manner as the structure window. Buttons at the top
allow for selection of the radiation pattern or the field pattern display.
+ <div class="figure" id="xnec2c-radiation"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/xnec2c-radiation.png" width="270"
alt="Radiation Pattern Display" /><div
class="longdesc"><div class="para">
+ Radiation Pattern
+ </div></div></div></div><h6>Figure 32. Radiation
Pattern Display</h6></div><br class="figure-break" />
+ The <span
class="guilabel"><strong>dB</strong></span> / <span
class="guilabel"><strong>MHz</strong></span> controls allow
for specifying the precise frequency at which the gain is to be displayed.
+ </div><div class="para">
+ Selecting <span class="guimenuitem"><strong>Frequency
Plots</strong></span> from the <span
class="guimenu"><strong>View</strong></span> menu opens the
frequency data plots window (<a class="xref"
href="#xnec2c-dataplots">Figure 33, “Frequency Data Plots
Display”</a>). Buttons along the top permit display of SWR, impedance, phase, etc.
+ <div class="figure" id="xnec2c-dataplots"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/xnec2c-plots.png" width="270"
alt="Frequency Data Plots Display" /><div
class="longdesc"><div class="para">
+ Data plots
+ </div></div></div></div><h6>Figure 33. Frequency Data
Plots Display</h6></div><br class="figure-break" />
+ Clicking on the graph causes the gain, SWR and impedance to be displayed immediately
above the graphs for the selected frequency.
+ </div><div class="para">
+ More complete documentation is installed with the application and may be found at <a
href="file:///usr/share/doc/xnec2c-1.5/xnec2c.html">file:///usr/share/doc/xnec2c-1.5/xnec2c.html</a>
after the application has been installed.
+ </div><div class="section" id="idm217633962624"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217633962624">5.2.1. Improving calculation
performance</h4></div></div></div><div
class="para">
+ When a complex antenna with many segments and many frequency steps is required, the
calculation can take some time. <span
class="application"><strong>xnec2c</strong></span> is able
to take advantage of modern, multicore processors by specifying <code
class="command">-j <n></code>, where <n> is
the number of subprocesses to spawn. Many multicore processors can create two threads per
core, so a command line entry of
+<pre class="screen">
+xnec2c -j 8 &
+</pre>
+ can improve performance by almost a factor of eight on a quad core processor.
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="packet" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">6. Packet and
APRS</h2></div></div></div><div class="para">
+
+ </div><div xml:lang="en-US" class="section"
id="packet-colrdx" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">6.1. colrdx</h3></div></div></div><div
class="para">
+ Colrdx is a simple client for amateur radio dx-clusters. In a split-screen display you
can type commands for the cluster in the bottom part. Messages from the dx-cluster will
appear in the main window. There is also a status line at the top with some basic
information.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-colrdx/colrdx.png" width="534.6" alt="DX
Cluster Client" /><div class="longdesc"><div
class="para">
+ dx cluster client
+ </div></div></div></div><h6>Figure 34. DX Cluster
Client</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ To start <span class="package">colrdx</span>, open a terminal
window and type the command. You must provide your callsign and the name of the packet
cluster. Optionally, you may also wish to provide the port:
+<pre class="screen">
+colrdx -c <call> <nodename> [<port>]
+</pre>
+ You will see some introductory information from the cluster and spots will begin to
appear. You may type commands to the cluster (dependent on the particular cluster). To
exit type <code class="command">quit</code>.
+ </div><div class="para">
+ There is a manpage with additional details.
+ </div></div><div xml:lang="en-US" class="section"
id="packet-xconvers" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">6.2. xconvers</h3></div></div></div><div
class="para">
+ <span class="package">xconvers</span> is a client for packet
based CONVerse bridges. When selected, <span
class="package">xconvers</span> will present a blank screen. Choosing
<span
class="guimenuitem"><strong>Open...</strong></span> from
the <span class="guimenu"><strong>Host</strong></span>
will open a dialog allowing the user to enter the name and port of the host.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xconvers/xconvers-host.png" width="378"
alt="Host open dialog" /><div class="longdesc"><div
class="para">
+ Screenshot of converse bridge
+ </div></div></div></div><h6>Figure 35. Host open
dialog</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Once connected, the user will see conversation on the channel. User input is seen in
the lower part of the window and entered into the CONVerse bridge when Return is pressed.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xconvers/xconvers.png" width="534.6"
alt="xconvers" /><div class="longdesc"><div
class="para">
+ Screenshot of converse bridge
+ </div></div></div></div><h6>Figure 36. xconvers</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ Input from different users is seen in different colors. The colors and fonts may be
adjusted by selecting <span
class="guimenuitem"><strong>Preferences...</strong></span>
from the <span
class="guimenu"><strong>Settings</strong></span> menu.
+ </div></div><div xml:lang="en-US" class="section"
id="packet-xastir" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">6.3. xastir</h3></div></div></div><div
class="para">
+ <span class="package">xastir</span> is an APRS application that
allows users to send and receive position reports, messages, weather data, and other
information over packet radio. Data received is displayed on a map allowing the user to
get real-time information about a certain area. The user may also fetch trails from
findu.com and display them on the map when connected to the Internet.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/xastir.png" width="534.6"
alt="xastir" /><div class="longdesc"><div
class="para">
+ APRS tracking
+ </div></div></div></div><h6>Figure 37. xastir</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ The map may be selected from a large number of sources. Facilities are also provided
for drawing fixed items on the map as well as making measurements. The user may make
specific queries to weather stations and Igates.
+ </div><div class="section" id="idm217635718720"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217635718720">6.3.1. Initial
Setup</h4></div></div></div><div class="para">
+ Select <span
class="guimenuitem"><strong>Station</strong></span> from
the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>File</strong></span> menu. This
will bring up a dialog allowing the user to enter basic station information such as call,
location, and symbol to be used.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Config-Station.png" width="534.6"
alt="Station Setup" /><div class="longdesc"><div
class="para">
+ Station Setup
+ </div></div></div></div><h6>Figure 38. Station
Setup</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Selecting <span
class="guimenuitem"><strong>Defaults</strong></span> from
the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>File</strong></span> menu will
elicit a dialog allowing configuration of some common default information, such as whether
the station is mobile or fixed and whether to allow IGate traffic.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Defaults.png" width="534.6"
alt="Defaults" /><div class="longdesc"><div
class="para">
+ Defaults
+ </div></div></div></div><h6>Figure 39. Defaults</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ Select <span class="guimenuitem"><strong>Interface
Control</strong></span> from the <span
class="guimenu"><strong>Interface</strong></span> menu.
Click <span class="guilabel"><strong>Add</strong></span>
and select an interface type. then click <span
class="guilabel"><strong>Add</strong></span>. A dialog
specific to the interface type will appear. The image below shows a KISS TNC as an
example, but the operator may select Internet servers, GPS devices and other interfaces as
well.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-KISS-TNC.png" width="534.6"
alt="Setting up a TNC" /><div class="longdesc"><div
class="para">
+ TNC Setup
+ </div></div></div></div><h6>Figure 40. Setting up a
TNC</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Once interfaces are configured, some small symbols will appear in the status bar
toward the lower right of the window. The upper semi-circles represent the various
interfaces; different types are shown as different colors. The bottom symbol represents
the interface status; green for active, empty for inactive, and red for an error. Between
these two symbols an arrow will appear briefly whenever data is being transferred.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-InterfaceStatus3.png" width="135"
alt="Interface Status" /><div class="longdesc"><div
class="para">
+ Interface Status
+ </div></div></div></div><h6>Figure 41. Interface
Status</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217633994704"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217633994704">6.3.2. Setting up
maps</h4></div></div></div><div class="para">
+ <span
class="application"><strong>xastir</strong></span> comes
configured for a number of online map sources, and the documentation includes pointers to
many online map sources. Maps may be vector maps or raster maps, and they may be provided
in a number of different formats. In general, maps downloaded and stored locally will be
retrieved faster than those retrieved online.
+ </div><div class="para">
+ Although raster maps often look better, vector maps typically offer better flexibility
and performance. You may select a number of maps and raster maps may be overlaid on other
maps. You could, for example, select a satellite image background, overlay it with a
vector map of roads, and overlay that with weather radar.
+ </div><div class="para">
+ Select <span class="guimenuitem"><strong>Map
Chooser</strong></span> from the <span
class="guimenu"><strong>Map</strong></span> menu. Highlight
those maps desired and click <span
class="guilabel"><strong>Apply</strong></span> to activate
the maps.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Map-Chooser.png" width="405"
alt="Map Chooser" /><div class="longdesc"><div
class="para">
+ Map Chooser
+ </div></div></div></div><h6>Figure 42. Map
Chooser</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Click <span
class="guilabel"><strong>Properties</strong></span> on the
Map Chooser to activate the Map Properties dialog. This dialog allows you to select the
order in which maps will be layered, and whether areas will be filled (when appropriate).
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Map-Properties.png" width="534.6"
alt="Setting map layers" /><div class="longdesc"><div
class="para">
+ Setting map layers
+ </div></div></div></div><h6>Figure 43. Setting map
layers</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Often one would like to return to a particular view. Select <span
class="guimenuitem"><strong>Map Display
Bookmarks</strong></span> from the <span
class="guimenu"><strong>Map</strong></span> menu to bring
up the Map Bookmark display. The user may then type a name for the current view in the
<span class="guilabel"><strong>New Name</strong></span>
box and click <span
class="guilabel"><strong>Add</strong></span> on that dialog
to save that view. In the future, clicking <span
class="guilabel"><strong>Activate!</strong></span> from
this same dialog will return to the selected view.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Bookmarks.png" width="270"
alt="Bookmarks" /><div class="longdesc"><div
class="para">
+ Bookmarks
+ </div></div></div></div><h6>Figure 44. Bookmarks</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ The user may select a background color from the <span
class="guisubmenu"><strong>Background Color</strong></span>
submenu of the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>Map</strong></span> menu. Note that
raster maps or filled areas will cover the background color.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-palegreen.png" width="534.6"
alt="Light Background" /><div class="longdesc"><div
class="para">
+ Light Background
+ </div></div></div></div><h6>Figure 45. Light
Background</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Notice that if a light color is selected as a background on a vector map, the stations
can sometimes be difficult to see.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-navy.png" width="534.6"
alt="Dark Background" /><div class="longdesc"><div
class="para">
+ Dark Background
+ </div></div></div></div><h6>Figure 46. Dark
Background</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ But selecting a background too dark makes the map features difficult to identify,
while allowing the stations to stand out. A medium color selection will allow the best of
both, although certain uses will lend themselves to an emphasis on one or the other.
+ </div><div class="para">
+ Select a text style from the <span
class="guisubmenu"><strong>Station Text
Style</strong></span> submenu of the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>Map</strong></span> menu. By
selecting Text On Black stations will stand out better when a light background has been
selected.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-textonblack.png" width="534.6"
alt="Text Properties" /><div class="longdesc"><div
class="para">
+ Text Properties
+ </div></div></div></div><h6>Figure 47. Text
Properties</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217650098096"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217650098096">6.3.3. Tracking
Stations</h4></div></div></div><div class="para">
+ Select <span class="guimenuitem"><strong>Track
Station</strong></span> from the <span
class="guimenu"><strong>Station</strong></span> menu. A
dialog will appear allowing the call of a station to be entered. When this station is seen
to move, a track will be drawn on the map showing the station's past positions.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Track-Station.png" width="432"
alt="Tracking a station" /><div class="longdesc"><div
class="para">
+ Tracking a station
+ </div></div></div></div><h6>Figure 48. Tracking a
station</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ If a station which is moving has not been heard from in a while, <span
class="application"><strong>xastir</strong></span> will use
"dead reckoning" to predict where it might be, if dead reckoning has been
enabled. Dead reckoning is enabled in the <span
class="guisubmenu"><strong>Filter Display</strong></span>
submenu of the <span
class="guimenu"><strong>Station</strong></span> menu.
"A while" is configured in the <span
class="guimenuitem"><strong>Timing</strong></span> menu
item of the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>File</strong></span> menu.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-shadow.png" width="356.4"
alt="Dead Reckoning" /><div class="longdesc"><div
class="para">
+ Dead Reckoning
+ </div></div></div></div><h6>Figure 49. Dead
Reckoning</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Historical tracks may also be downloaded from the findu website. Select <span
class="guimenuitem"><strong>Fetch Findu
Trail</strong></span> from the <span
class="guimenu"><strong>Station</strong></span> menu.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-findu-trail.png" width="270"
alt="Downloading a findu trail" /><div
class="longdesc"><div class="para">
+ Downloading a findu trail
+ </div></div></div></div><h6>Figure 50. Downloading a
findu trail</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ A dialog will appear which allows for the entry of the desired call, as well as two
sliders which allow for adjustment of the period for which the trail is desired. It may
take some time to download a long trail. The trail will be displayed on the map just as
with RF trails.
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="circuit" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7. Circuit Design and
Simulation</h2></div></div></div><div
class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="circuit-geda" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.1. gEDA</h3></div></div></div><div
class="para">
+ gEDA is a collection of packages for schematic capture, netlist generation, circuit
simulation and PCB layout. Included in the geda suite are:
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td> <span
class="package">geda-docs</span> - Documentation and example files
</td></tr><tr><td> <span
class="package">geda-gattrib</span> - gEDA attribute editor
</td></tr><tr><td> <span
class="package">geda-gnetlist</span> - Generates a netlist from a gEDA
schematic </td></tr><tr><td> <span
class="package">geda-symbols</span> - A library of symbols for gEDA
</td></tr><tr><td> <span
class="package">geda-gschem</span> - The gEDA schematic capture
application </td></tr><tr><td> <span
class="package">geda-gsymcheck</span> - A symbol checker for schematics
</td></tr><tr><td> In addition to the <span
class="package">geda-utils</span> utilities package, <span
class="package">geda-gaf</span> design automation package, and <span
class="package">libgeda</span> the gEDA library.
</td></tr></table>
+ Closely tied into gEDA and mentioned elsewhere in this guide are:
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td> <span
class="package">pcb</span> - The printed circuit board layout
application </td></tr><tr><td> <span
class="package">gerbv</span> - Gerber viewer
</td></tr><tr><td> <span
class="package">gwave</span> - The waveform viewer
</td></tr><tr><td> <span
class="package">ngspice</span> - The circuit simulator
</td></tr><tr><td> <span
class="package">gspiceui</span> - A GUI interface for <span
class="package">ngspice</span> </td></tr></table>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-geda/gEDA.png" width="534.6" alt="geda -
gschem" /><div class="longdesc"><div
class="para">
+ Drawing a schematic with gEDA
+ </div></div></div></div><h6>Figure 51. geda -
gschem</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Users wishing to take full advantage of gEDA should consider installing the <span
class="package">Electronic Lab</span> group which includes all the
above components as well as the <span
class="package">electronics-menu</span> package and a number of other
useful applications.
+ </div></div><div xml:lang="en-US" class="section"
id="circuit-gerbv" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.2. gerbv</h3></div></div></div><div
class="para">
+ <span class="package">grebv</span> is a viewer for Gerber files.
+ </div><div class="para">
+ In addition to selectively viewing and coloring Gerber layers, <span
class="package">gerbv</span> allows the user to export the image in a
number of image formats for publication, as well as RS-274X compliant Gerbers and Excellon
drill files.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-gerbv/gerbv.png" width="534.6"
alt="gerbv" /><div class="longdesc"><div
class="para">
+ Viewing a PCB with gerbv
+ </div></div></div></div><h6>Figure 52. gerbv</h6></div><br
class="figure-break" />
+
+ </div></div><div xml:lang="en-US" class="section"
id="circuit-pcb" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.3. pcb</h3></div></div></div><div
class="para">
+ <span class="package">pcb</span> allows for the capture of
printed circuit board layouts.
+ </div><div class="para">
+ In addition to purely manual layout, <span
class="package">pcb</span> can import netlists from gschem. A large
number of footprints are available or the user may develop his own.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-pcb/PCB.png" width="534.6" alt="pcb"
/><div class="longdesc"><div class="para">
+ Drawing a PCB with pcb
+ </div></div></div></div><h6>Figure 53. pcb</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ The application can generate a bill of material and drill file, and in addition to
printing various layers can export in a number of popular formats.
+ </div></div><div xml:lang="en-US" class="section"
id="circuit-gspiceui" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.4. gspiceui</h3></div></div></div><div
class="para">
+ <span
class="application"><strong>gspiceui</strong></span> is a
frontend to a SPICE simulation. The user may choose between the <span
class="application"><strong>gnucap</strong></span> or
<span
class="application"><strong>ng-spice</strong></span>
backends.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-gspiceui/gspiceui.png" width="534.6"
alt="gspiceui" /><div class="longdesc"><div
class="para">
+ A simple simulation with gspiceui
+ </div></div></div></div><h6>Figure 54. gspiceui</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ <span
class="application"><strong>gspiceui</strong></span> can
open a netlist produced by <span
class="application"><strong>gnetlist</strong></span> and
run the SPICE simulation without having to know the various SPICE commands.
+ </div></div></div><div xml:lang="en-US"
class="section" id="others" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">8. Miscellaneous
Applications</h2></div></div></div><div
class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="others-cutecw" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.1. CuteCW</h3></div></div></div><div
class="para">
+ <span class="package">CuteCW</span> is a Morse code training
program that not only trains the user in decyphering morse code but also provides methods
for increasing their comprehension speed. <span
class="package">CuteCW</span> will also sound Morse code out of the
computer speakers and will read text out as Morse code.
+ </div><div class="section" id="idm217614955552"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217614955552">8.1.1. Installing
CuteCW</h4></div></div></div><div class="para">
+ <span class="package">CuteCW</span> is simply installed like
most applications:
+<pre class="screen">sudo yum install cutecw</pre>
+
+ </div></div><div class="section"
id="idm217592730416"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217592730416">8.1.2. Starting
CuteCW</h4></div></div></div><div class="para">
+ <span class="package">CuteCW</span> may be started from the menu
by selecting <span
class="guimenu"><strong>Applications->Education->CuteCW</strong></span>
or from the command line by typing <code
class="command">cutecw</code>.
+ </div></div><div class="section"
id="idm217592730576"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217592730576">8.1.3. Using
CuteCW</h4></div></div></div><div class="para">
+ <span class="package">CuteCW</span> is quite easy to use. Eight
choices are given to help with your learning experience.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-cutecw/CuteCW.png" width="534.6"
alt="CuteCW" /><div class="longdesc"><div
class="para">
+ CuteCW welcome screen
+ </div></div></div></div><h6>Figure 55. CuteCW</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ In the training mode, <span class="package">CuteCW</span> will
help with your recognition of characters, words, and groups. It will also help you
increase your speed. In the play mode, <span
class="package">CuteCW</span> will read text to you in Morse code,
allow you to type out Morse code messages, and even play games.
+ </div></div></div><div xml:lang="en-US"
class="section" id="others-dxcc" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.2. dxcc</h3></div></div></div><div
class="para">
+ <span class="package">dxcc</span> is a simple application to give
quick information about a DXCC entity. Simply enter the callsign and see the country, WAZ
and ITU zones, and other useful information.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-dxcc/dxcc.png" width="534.6" alt="dxcc"
/><div class="longdesc"><div class="para">
+ dxcc callsign lookup
+ </div></div></div></div><h6>Figure 56. dxcc</h6></div><br
class="figure-break" />
+
+ </div></div><div xml:lang="en-US" class="section"
id="others-gpredict" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.3. gpredict</h3></div></div></div><div
class="para">
+ <span
class="application"><strong>gpredict</strong></span> is an
application to show the locations of various satellites. Satellite locations and ground
footprints are shown on a map, a polar display showing the user's sky view of the
spacecraft is available, and another window shows various details of the orbit. The
displays are updated in real time.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict.png" width="534.6"
alt="gpredict" /><div class="longdesc"><div
class="para">
+ gpredict satellite tracking
+ </div></div></div></div><h6>Figure 57. gpredict</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ Before using <span
class="application"><strong>gpredict</strong></span>, the
user should select <span
class="guimenuitem"><strong>Preferences</strong></span>
from the <span
class="guimenu"><strong>Edit</strong></span> menu and set
up station location and display name. (Refer to <a class="xref"
href="#gpredict-selectground">Figure 58, “Select Ground Station”</a>.)
+ <div class="figure" id="gpredict-selectground"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-groundstations.png" width="534.6"
alt="Select Ground Station" /><div class="longdesc"><div
class="para">
+ gpredict satellite tracking
+ </div></div></div></div><h6>Figure 58. Select Ground
Station</h6></div><br class="figure-break" />
+ First, select the <span class="guilabel"><strong>Ground
Stations</strong></span> tab and click <span
class="guilabel"><strong>Add New</strong></span>.
+ </div><div class="para">
+ A dialog will pop up (<a class="xref"
href="#gpredict-stationdetails">Figure 59, “Ground Station
Settings”</a>) which will permit entering the station details. Note that by clicking
the <span
class="guilabel"><strong>Select</strong></span> button, the
location may be chosen from a list.
+ <div class="figure" id="gpredict-stationdetails"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-stationlocation.png" alt="Ground
Station Settings" /><div class="longdesc"><div
class="para">
+ ground stations
+ </div></div></div></div><h6>Figure 59. Ground Station
Settings</h6></div><br class="figure-break" />
+ When complete, be sure to check that the desired station is selected as the <span
class="guilabel"><strong>Default</strong></span> so it will
be displayed on the map (the right column in <a class="xref"
href="#gpredict-selectground">Figure 58, “Select Ground Station”</a>).
+ </div><div class="para">
+ Next, the user should update orbital parameters by selecting <span
class="guimenuitem"><strong>Update TLE</strong></span> from
the <span class="guimenu"><strong>Edit</strong></span>
menu. Downloading these values may take a few moments.
+ </div><div class="para">
+ By default, a few amateur satellites are shown. The lower portion of the display will
show details for the spacecraft currently in view. Orbital parameters for another
satellite may be selected from the dropdown to the left of the satellite name.
+ </div><div class="para">
+ There are a number of other displays available, and additional groups of satellites may
be configured which may be shown in tabs (<span
class="guimenu"><strong>File</strong></span> ->
<span class="guimenuitem"><strong>New
module</strong></span>). Clicking on the small downward triangle to the right
of the window (<a class="xref"
href="#gpredict-modulemenu">Figure 60, “Module Menu”</a>) brings up a
menu which permits editing an existing module.
+ <div class="figure" id="gpredict-modulemenu"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-config.png" width="216"
alt="Module Menu" /><div class="longdesc"><div
class="para">
+ Module Menu
+ </div></div></div></div><h6>Figure 60. Module
Menu</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Also available from that module menu is a <span
class="guilabel"><strong>Sky at a glance</strong></span>
selection which brings up <a class="xref"
href="#gpredict-skyataglance">Figure 61, “Sky at a glance”</a>, showing
which spacecraft in the module will come into view within the next eight hours.
+ <div class="figure" id="gpredict-skyataglance"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-skyataglance.png" width="534.6"
alt="Sky at a glance" /><div class="longdesc"><div
class="para">
+ Sky at a glance window
+ </div></div></div></div><h6>Figure 61. Sky at a
glance</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ In the map view, hovering over a spacecraft will display the current position
information:
+ <div class="figure" id="gpredict-hover"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-hover.png" alt="Position Display"
/><div class="longdesc"><div class="para">
+ Hovering causes display of current position
+ </div></div></div></div><h6>Figure 62. Position
Display</h6></div><br class="figure-break" />
+
+ </div></div><div xml:lang="en-US" class="section"
id="others-gresistor" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.4. gresistor</h3></div></div></div><div
class="para">
+ <span class="package">gresistor</span> is a simple application
for decoding resistor color codes. Select the number of bands on the resistor and each of
the colors of the bands, and the resistor value and tolerance are displayed.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gresistor/gResistor.png" width="378"
alt="gresistor" /><div class="longdesc"><div
class="para">
+ Decode resistor color bands
+ </div></div></div></div><h6>Figure 63. gresistor</h6></div><br
class="figure-break" />
+
+ </div></div><div xml:lang="en-US" class="section"
id="others-ibp" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.5. ibp</h3></div></div></div><div
class="para">
+ <span class="package">ibp</span> is a simple application that
shows beacons which are part of the International Beacon Project. A number of beacons
around the world transmit at predetermined times. The <span
class="package">ibp</span> application shows you which beacons are
currently transmitting.
+ </div><div class="section" id="idm217642540304"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642540304">8.5.1. Installing
ibp</h4></div></div></div><div class="para">
+ <span class="package">ibp</span> is simply installed like most
applications:
+<pre class="screen">
+sudo yum install ibp
+</pre>
+ No additional configuration is required, however, <span
class="package">ibp</span> expects that the time on the system is
correct. Synchronizing your system with one of the many timeservers is recommended.
+ </div></div><div class="section"
id="idm217649162064"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217649162064">8.5.2. Starting
ibp</h4></div></div></div><div class="para">
+ <span class="package">ibp</span> may be started from the menu by
selecting <span
class="guimenu"><strong>Applications->Other->ibp</strong></span>
or from the command line by typing <code
class="command">ibp</code>.
+ </div><div class="para">
+ When <span class="package">ibp</span> is started, by default,
two windows will open. The first is a simple text screen showing a list of beacons with
the currently transmitting beacons highlighted:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-ibp/ibp-text2.png" width="534.6" alt="ibp -
text screen" /><div class="longdesc"><div
class="para">
+ International Beacon Project
+ </div></div></div></div><h6>Figure 64. ibp - text
screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The second window shows a map of the world with a colored dot for each transmitting
beacon:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-ibp/ibp-map.png" width="534.6" alt="ibp -
map" /><div class="longdesc"><div class="para">
+ International Beacon Project - map
+ </div></div></div></div><h6>Figure 65. ibp -
map</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ There are a number of arguments you may specify to affect how ibp behaves when it is
started from the command line:
+ <div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <em class="parameter"><code>-c</code></em>,
<em class="parameter"><code>--nocolor</code></em> -
causes the text window to be displayed only in monochrome. The graph window is still in
color.
+ </div></li><li class="listitem"><div
class="para">
+ <em class="parameter"><code>-m</code></em>,
<em class="parameter"><code>--morse</code></em> - In
single beacon mode, causes the callsign of the transmitting beacon to be displayed at the
bottom of the text window in Morse.
+ </div></li><li class="listitem"><div
class="para">
+ <em class="parameter"><code>-x</code></em>,
<em class="parameter"><code>--nograph</code></em> -
Don't display the map window.
+ </div></li></ul></div>
+
+ </div></div><div class="section"
id="idm217644837024"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217644837024">8.5.3. Running
ibp</h4></div></div></div><div class="para">
+ While <span class="package">ibp</span> is running, the
highlighted lines on the text display and the dots on the map will periodically change as
different beacons take on the transmitting task.
+ </div><div class="para">
+ There are several commands you can enter into the text screen to affect the behavior
of <span class="package">ibp</span>:
+ <div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ digits <code class="command">1</code> through <code
class="command">5</code> - causes only one band to be displayed. Since
one is normally only monitoring a single band at a time this can lead to faster
identification of the beacon of interest. This is also useful for visually challenged
operators.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="command">M</code> - toggles between single band
and multi band mode. If a single band was displayed, typing <code
class="command">M</code> will cause all five bands to be displayed. If
five bands were displayed, the previously selected single band will be displayed.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="command">Q</code> - causes <span
class="package">ibp</span> to exit.
+ </div></li></ul></div>
+
+ </div></div></div><div xml:lang="en-US"
class="section" id="others-rcrpanel" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.6. rcrpanel</h3></div></div></div><div
class="para">
+ <span class="package">rcrpanel</span> is a command line
application wich allows layout of panels for electronic equipment. <span
class="package">rcrpanel</span> accepts as input a text file describing
the panel. It produces as output a Postscript stream of an image of the panel. The
Postscript stream may be redirected to a file, a Postscript printer, or piped to another
application such as Ghostscript.
+ </div><div class="para">
+ By taking a text description of the panel, <span
class="package">rcrpanel</span> allows precise placement of controls
and annotation, which can be difficult to achieve with a GUI interface. <span
class="package">rcrpanel</span> provides scripting elements for text,
controls of various sizes, and even calibrated dials.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/ExamplePanel.png" width="534.6"
alt="Example Panel" /><div class="longdesc"><div
class="para">
+ Example Panel
+ </div></div></div></div><h6>Figure 66. Example
Panel</h6></div><br class="figure-break" />
+
+ </div><div class="section" id="idm217642555760"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642555760">8.6.1. Running
rcrpanel</h4></div></div></div><div class="para">
+ <span class="package">rcrpanel</span> accepts a single command
line parameter, the input file containing the description of the panel. It produces its
output on <code class="filename">stdout</code>, which means that in
most cases, the user will redirect the output to a file. For example:
+<pre class="screen">
+rcrpanel mypanel.txt >mypanel.ps
+</pre>
+
+ </div><div class="para">
+ There are no command line switches available.
+ </div><div class="para">
+ The output image will be centered on a standard size page. The smallest page on which
the panel will fit is selected from the following list, in order:
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>216x179 mm - U.S.
Letter</td></tr><tr><td>210x297 mm -
A4</td></tr><tr><td>216x279 mm - U.S.
Legal</td></tr><tr><td>297x420 mm -
A3</td></tr><tr><td>279x432 mm -
Tabloid</td></tr><tr><td>594x841 mm -
A1</td></tr><tr><td>559x894 mm -
D</td></tr><tr><td>841x1189 mm -
A0</td></tr><tr><td>1000X1414 mm -
B0</td></tr></table>
+
+ </div></div><div class="section"
id="idm217613411680"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217613411680">8.6.2. The Input
File</h4></div></div></div><div class="para">
+ The input file contains lines describing the various controls. Most lines are of the
form
+<pre class="screen">
+Command = something
+</pre>
+ where the spaces around the equal sign are significant, and the command itself is
case-sensitive.
+ </div><div class="para">
+ Measurements are in units of millimeters. Angles are in degrees. Colors are given as
24 bit C style integers where each byte represents the amount of red, green, or blue.
+ </div><div class="para">
+ In general, the order of commands makes no difference. However, the <code
class="command">Text</code> command must be immediately followed by a
line containing the text to be displayed, and those commands affecting the appearance of a
<code class="command">Dial</code> affect the preceding <code
class="command">Dial</code> command.
+ </div><div class="section" id="idm217637925088"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217637925088">8.6.2.1. Background</h5></div></div></div><div
class="para">
+ This command takes a single color following the equal sign. The entire panel will be
filled with this color.
+<pre class="screen">
+Background = 0xfff5e8
+</pre>
+ Note, however, that the interior of controls will not be filled with this color,
allowing the alignment marks to be viewed for drilling, even if the panel were filled with
a dark color.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/WhiteFill.png" width="270"
alt="ControlPhone on a dark background" /><div
class="longdesc"><div class="para">
+ ControlPhone on a dark background
+ </div></div></div></div><h6>Figure 67. ControlPhone
on a dark background</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217635630240"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217635630240">8.6.2.2. ControlLarge</h5></div></div></div><div
class="para">
+ This is used for large diameter controls such as large pots and the like. It takes 2
values after the equal sign representing the position of the control on the panel.
+<pre class="screen">
+ControlLarge = 23.0 30.0
+</pre>
+
+ </div></div><div class="section"
id="idm217650553152"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217650553152">8.6.2.3. ControlLED</h5></div></div></div><div
class="para">
+ This command generates an outline for a 5 mm LED. Like the other control commands, it
takes 2 values, the X and Y positions on the panel of the center of the LED.
+ </div></div><div class="section"
id="idm217555038240"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217555038240">8.6.2.4. ControlPhone</h5></div></div></div><div
class="para">
+ This is used for 1/4" phone jacks and similar controls. The 2 values after the
equal sign represent the position on the panel.
+ </div></div><div class="section"
id="idm217634215776"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634215776">8.6.2.5. ControlSmall</h5></div></div></div><div
class="para">
+ This command generates an outline for a 3.5 mm phone jack. The two values are the X
and Y positions of the jack on the panel.
+ </div></div><div class="section"
id="idm217648233152"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217648233152">8.6.2.6. ControlTiny</h5></div></div></div><div
class="para">
+ This command generates an outline for a 2.5 mm phone jack. The two values are the X
and Y positions of the jack on the panel.
+<pre class="screen">
+ControlTiny = 75.0 30.0
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Controls.png" width="270" alt="Large,
Phone, LED, Small and Tiny controls" /><div
class="longdesc"><div class="para">
+ Large, Phone, LED, Small and Tiny controls
+ </div></div></div></div><h6>Figure 68. Large, Phone,
LED, Small and Tiny controls</h6></div><br class="figure-break"
/>
+
+ </div></div><div class="section"
id="idm217566677200"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217566677200">8.6.2.7. Panel</h5></div></div></div><div
class="para">
+ This command defines the size of the panel. The 2 dimensions are the width and height
of the panel.
+<pre class="screen">
+Panel = 193.675 53.975
+</pre>
+
+ </div></div><div class="section"
id="idm217638688176"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217638688176">8.6.2.8. Reverse</h5></div></div></div><div
class="para">
+ This command takes no arguments. If this command appears anywhere in the input file,
the resulting PostScript will be flipped left to right (for printing on the reverse side
of transfer media or transparency material).
+ </div></div><div class="section"
id="idm217638992352"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217638992352">8.6.2.9. Text</h5></div></div></div><div
class="para">
+ This command is somewhat different from the others. After the equal sign, it takes 3
floating point numbers, a color, and a text string. The first 2 floating point numbers are
the X, Y position of the text on the panel. The third number is the height of the text.
The color represents the color of the text, and the text string represents the font to be
used. No checking is done before preparing the PostScript; you are responsible for
ensuring that the font is available on your printer.
+ </div><div class="para">
+ This command is then followed by another line containing the text to be displayed.
+<pre class="screen">
+Text = 100.0 10.0 5.0 0x7f4f00 Times-Roman-Bold
+Filter
+</pre>
+
+ </div></div><div class="section"
id="idm217639174256"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217639174256">8.6.2.10. Dial</h5></div></div></div><div
class="para">
+ This command introduces a new dial. The <code
class="command">Dial</code> command describes the X,Y center of the
dial. The following commands then further refine the details of this particular dial. This
relationship between the <code class="command">Dial</code> command
and it's successors is the only place where the order of the commands within the file
matters.
+<pre class="screen">
+Dial = 170.0 30.0
+</pre>
+
+ </div></div><div class="section"
id="idm217641304016"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217641304016">8.6.2.11. Radius</h5></div></div></div><div
class="para">
+ This command takes a single value which is the radius of the circle which forms the
inside of the tick marks. This command refers to the current <code
class="command">Dial</code> command.
+<pre class="screen">
+Radius = 7.0
+</pre>
+
+ </div></div><div class="section"
id="idm217642385824"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217642385824">8.6.2.12. Span</h5></div></div></div><div
class="para">
+ This command describes the angle over which the control may operate. Typically, this
would be 270 for a potentiometer and 180 for a variable capacitor. This command refers to
the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217633550480"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217633550480">8.6.2.13. NumTicks</h5></div></div></div><div
class="para">
+ This command describes the total number of tick marks, large and small, to be drawn.
This is usually an odd number since the starting and ending values are counted. Typically
this will be 11, 101, or a similar number. This command refers to the current <code
class="command">Dial</code> command.
+<pre class="screen">
+NumTicks = 101
+</pre>
+
+ </div></div><div class="section"
id="idm217566663728"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217566663728">8.6.2.14. BigPer</h5></div></div></div><div
class="para">
+ This command tells the program how many small tick marks there are per large tick
mark. This command refers to the current <code
class="command">Dial</code> command.
+<pre class="screen">
+BigPer = 10
+</pre>
+
+ </div></div><div class="section"
id="idm217645359728"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217645359728">8.6.2.15. SizeTicks</h5></div></div></div><div
class="para">
+ This command describes the length of the small tick marks. This command refers to the
current <code class="command">Dial</code> command.
+<pre class="screen">
+SizeTicks = 6.5
+</pre>
+
+ </div></div><div class="section"
id="idm217614561952"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217614561952">8.6.2.16. SizeBig</h5></div></div></div><div
class="para">
+ This command describes the length of the large tick marks. This command refers to the
current <code class="command">Dial</code> command.
+<pre class="screen">
+SizeBig = 7.5
+</pre>
+
+ </div></div><div class="section"
id="idm217645800304"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217645800304">8.6.2.17. StartingIndicator</h5></div></div></div><div
class="para">
+ This command describes the value to be placed on the furthest counterclockwise large
tick mark. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217634413296"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634413296">8.6.2.18. IncrementPerBigTick</h5></div></div></div><div
class="para">
+ This command tells rcrpanel how much to increment the value in <code
class="command">StartingIndicator</code> for each succeeding large tick
mark. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217638104144"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217638104144">8.6.2.19. SizeFont</h5></div></div></div><div
class="para">
+ This command describes how large to make the annotation on the ticks. This command
refers to the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217645995248"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217645995248">8.6.2.20. ColorCircle</h5></div></div></div><div
class="para">
+ This command takes a single color as an argument, which is used to draw the inner
circle. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217631315008"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217631315008">8.6.2.21. ColorTickMarks</h5></div></div></div><div
class="para">
+ This command permits setting the color to draw the small tick marks. This command
refers to the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217634836224"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634836224">8.6.2.22. ColorBigTickMarks</h5></div></div></div><div
class="para">
+ This command permits setting the color to draw the large tick marks. This command
refers to the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217639085696"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217639085696">8.6.2.23. ColorText</h5></div></div></div><div
class="para">
+ This command accepts a single color which will be used for the annotation. This
command refers to the current <code class="command">Dial</code>
command.
+ </div></div><div class="section"
id="idm217650148432"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217650148432">8.6.2.24. StartAngle</h5></div></div></div><div
class="para">
+ By default, <span class="package">rcrpanel</span> arranges
dials so the dead spot on the control is straight down. This is the desired behavior in
almost all cases. However, sometimes you may want to rotate a control to some other
orientation. The single argument to <code
class="command">StartAngle</code> is the number of degrees clockwise to
rotate the control. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div></div><div class="section"
id="idm217632781824"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217632781824">8.6.3. Example
Dials</h4></div></div></div><div class="section"
id="idm217632781024"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217632781024">8.6.3.1. Frequency Markings for a
VCO</h5></div></div></div><div class="para">
+
+<pre class="screen">
+Dial = 25.0 25.0
+Radius = 7.0
+SizeTicks = 4.5
+ColorTickMarks = 0xff7777
+SizeBig = 7.5
+ColorBigTickMarks = 0x000000
+StartingIndicator = 7.0
+IncrementPerBigTick = 0.01
+NumTicks = 51
+BigPer = 5
+ColorCircle = 0xff7777
+SizeFont = 3.0
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Dial1.png" width="270" alt="40 meter
dial, 270 degrees" /><div class="longdesc"><div
class="para">
+ 40 meter dial, 270 degrees
+ </div></div></div></div><h6>Figure 69. 40 meter
dial, 270 degrees</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217648048736"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217648048736">8.6.3.2. Markings for a volume
control</h5></div></div></div><div class="para">
+
+<pre class="screen">
+ControlLarge = 25.0 25.0
+Dial = 25.0 25.0
+Radius = 7.0
+SizeTicks = 1.0
+ColorTickMarks = 0xaaddaa
+SizeBig = 2.0
+ColorBigTickMarks = 0x007f00
+StartingIndicator = 0
+IncrementPerBigTick = 2
+NumTicks = 11
+BigPer = 2
+ColorCircle = 0xccffcc
+SizeFont = 3.0
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Dial2.png" width="270" alt="Volume
Control" /><div class="longdesc"><div
class="para">
+ Volume Control
+ </div></div></div></div><h6>Figure 70. Volume
Control</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217551713872"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217551713872">8.6.3.3. Markings for a VFO (capacitor
based)</h5></div></div></div><div class="para">
+
+<pre class="screen">
+ControlLarge = 25.0 25.0
+Dial = 25.0 25.0
+Radius = 7.0
+SizeTicks = 3.5
+ColorTickMarks = 0x777777
+SizeBig = 5.5
+ColorBigTickMarks = 0xffffff
+StartingIndicator = 3.5
+IncrementPerBigTick = 0.01
+NumTicks = 41
+BigPer = 4
+ColorCircle = 0x777777
+SizeFont = 2.0
+ColorText = 0xffffff
+Span = 180.0
+Text = 25.0 15.0 2.0 0xff0000 Century-Schoolbook
+Frequency
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Dial3.png" width="270" alt="80 meter
VFO" /><div class="longdesc"><div class="para">
+ 80 meter VFO
+ </div></div></div></div><h6>Figure 71. 80 meter
VFO</h6></div><br class="figure-break" />
+
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="others-xgridloc" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.7. xgridloc</h3></div></div></div><div
class="para">
+ <span class="package">xgridloc</span> is an application which
will translate a latitude/longitude into a Maidenhead grid square. It will also calculate
the Great Circle distance and bearing between two locations.
+ </div><div class="section" id="idm217635747392"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217635747392">8.7.1. Installing
xgridloc</h4></div></div></div><div class="para">
+ <span class="package">xgridloc</span> is installed like most
applications in Fedora:
+<pre class="screen">
+ sudo yum install xgridloc
+</pre>
+
+ </div></div><div class="section"
id="idm217642531440"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642531440">8.7.2. Setting up
xgridloc</h4></div></div></div><div class="para">
+ <span class="package">xgridloc</span> uses a small configuration
file, <code class="filename">~/.xgridlocrc</code>. Before using
<span class="package">xgridloc</span> you should replace the default
location in the file with your station location using your favorite text editor:
+<pre class="screen">
+ ######### Runtime config file for 'xgridloc' #########
+ #
+ ### Blank lines and those starting with a # are ignored ###
+ #
+ # The 'Home' location's position.
+ # (East Longitude and North Latitude)
+ # Format is "East/ddd:mm:ss North/dd:mm:ss"
+ West/084:11:59 North/43:38:06
+ #
+ # The name of the 'Home' location
+ Midland
+ #
+</pre>
+
+ </div></div><div class="section"
id="idm217639131952"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217639131952">8.7.3. Using
xgridloc</h4></div></div></div><div class="para">
+ <span class="package">xgridloc</span> may be started by
selecting item <span
class="guilabel"><strong>xgridloc</strong></span> icon
(usually found in the <span
class="guilabel"><strong>Internet</strong></span> group) or
by issuing the <code class="command">xgridloc</code> command from
the command line.
+ </div><div class="para">
+ Clicking the <span class="guilabel"><strong>Default Home
Position</strong></span> button will cause the top location to be filled in
with the location you specified in the configuration file.
+ </div><div class="para">
+ If you enter a latitude and longitude in either the "Home" or
"Remote" location and press <code
class="command">Enter</code>, the corresponding <span
class="guilabel"><strong>Locator</strong></span> box will
be filled in with the Maidenhead grid square for that location.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xgridloc/Xgridloc.png" width="534.6"
alt="xgridloc" /><div class="longdesc"><div
class="para">
+ Maidenhead grid square
+ </div></div></div></div><h6>Figure 72. xgridloc</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ If both locations are filled, the Great Circle bearing and distance will appear at the
bottom of the window.
+ </div></div></div><div xml:lang="en-US"
class="section" id="others-xwota" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.8. xwota</h3></div></div></div><div
class="para">
+ <span class="package">xwota</span> allows for monitoring and
querying the WOTA database. It operates much like a DX Cluster client, except it uses the
database rather than a cluster. Refer to <a
href="http://www.wotadb.org">http://www.wotadb.org</a> for information
about the WOTA database.
+ </div><div class="para">
+ Selecting <span
class="guimenuitem"><strong>Connect</strong></span> from
the <span class="guimenu"><strong>Xwota</strong></span>
menu will connect to the database. New reports will appear on the screen as they arrive.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xwota/xwota.png" width="534.6" alt="Who is on
the air" /><div class="longdesc"><div
class="para">
+ Who is on the air
+ </div></div></div></div><h6>Figure 73. Who is on the
air</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The user may also query the database by selecting <span
class="guimenuitem"><strong>Query</strong></span> from the
<span class="guimenu"><strong>Show</strong></span> menu.
A dialog will appear allowing the user to enter specific location, frequency, and/or call
to be searched for. Clicking <span
class="guilabel"><strong>Send</strong></span> will then
cause the results to be returned at the bottom of the main window.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xwota/xwota-Query.png" width="534.6"
alt="Xwota query window" /><div class="longdesc"><div
class="para">
+ Xwota query window
+ </div></div></div></div><h6>Figure 74. Xwota query
window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The user may also enter his own report. Before doing this, station information should
be entered by selecting <span class="guimenuitem"><strong>Station
Info</strong></span> from the <span
class="guimenu"><strong>Settings</strong></span> menu and
filling in the dialog:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xwota/xwota-Station_Info.png" width="270"
alt="Station Info window" /><div class="longdesc"><div
class="para">
+ Station Info window
+ </div></div></div></div><h6>Figure 75. Station Info
window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The user may then enter the frequency and optionally a comment in the main window, and
click the <span
class="guilabel"><strong>Update</strong></span> button to
cause the report to be sent to the database.
+ </div></div></div><div xml:lang="en-US"
class="appendix" id="appe-Installing_Software"
lang="en-US"><h2 class="title">A. Installing Software on
Fedora</h2><div class="para">
+ There are basically two ways to install software from the Fedora repositories; from the
GUI using <span class="package">PackageKit</span> and from the
command line using <span class="package">yum</span>. Because the
<span class="package">yum</span> approach is simpler, throughout
this document we describe that method. However, there are a number of details with respect
to <span class="package">yum</span> that are useful to know, and
some users feel more comfortable with a graphical user interface. Hence, this appendix.
+ </div><div class="section" id="idm217646036144"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217646036144">A.1. Installing Software with the
GUI</h3></div></div></div><div class="para">
+ Launch the <span class="package">PackageKit</span> application
by selecting the <span class="guilabel"><strong>Add/Remove
Software</strong></span> icon from the <span
class="guilabel"><strong>System Tools</strong></span>
group.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/PKicon.png" width="216"
alt="Add/Remove Software" /><div class="longdesc"><div
class="para">
+ Launching PackageKit
+ </div></div></div></div><h6>Figure A.1. Add/Remove
Software</h6></div><br class="figure-break" />
+ There may be a delay before the controls on the window that appears may be used. This
delay may be brief or lengthy, depending on what you have done earlier. The data used by
PackageKit is cached, and if it is stale, new data will be downloaded, which may take
several minutes.
+ </div><div class="para">
+ Type in the name of the package you wish to install in the text box at the upper left,
and select the <span
class="guilabel"><strong>Find</strong></span> button. There
may be a delay, and you may need to click the <span
class="guilabel"><strong>Find</strong></span> button a
second time.
+ </div><div class="para">
+ The package (perhaps with several others) will appear to the right. The closed box
indicates that the package is not installed on your system.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-2.png" width="534.6"
alt="Searching for Software" /><div class="longdesc"><div
class="para">
+ Searching for Software
+ </div></div></div></div><h6>Figure A.2. Searching for
Software</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Click on the check box next to the package you wish to install. A blue plus sign will
appear over the box indicating that is has been selected to install.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-3.png" width="534.6"
alt="Selecting a package to install" /><div
class="longdesc"><div class="para">
+ Selecting a package to install
+ </div></div></div></div><h6>Figure A.3. Selecting a
package to install</h6></div><br class="figure-break" />
+ You may repeat the process if you wish to install additional packages. When you have
selected the packages you wish, click the <span
class="guilabel"><strong>Apply</strong></span> button at
the lower right to install the packages.
+ </div><div class="para">
+ Depending on how your system has been configured, you may be prompted to enter the
password for the administrative user. If the package is unsigned, or is from a repository
you have not used before, you may be prompted for this password again. As a general rule,
only administrators may install software.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-4.png" width="444"
alt="Authorizing the installation" /><div
class="longdesc"><div class="para">
+ Authorizing the Installation
+ </div></div></div></div><h6>Figure A.4. Authorizing
the installation</h6></div><br class="figure-break" />
+ Enter the root password and click <span
class="guilabel"><strong>Authenticate</strong></span>.
+ </div><div class="para">
+ The package will then be installed. When the installation is complete, the package
will be shown as an open box, indicating that the package is installed. For some
applications, the application's icon may be displayed instead of the open box. The
<span class="guilabel"><strong>Apply</strong></span>
button will be disabled, indicating that there are no pending actions to apply.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-5.png" width="534.6"
alt="Package is installed" /><div class="longdesc"><div
class="para">
+ Package is installed
+ </div></div></div></div><h6>Figure A.5. Package is
installed</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The <span
class="guilabel"><strong>Find</strong></span> button
searches not only the name of the package, but also the package description. Some common
words may reveal several packages, some perhaps not those intended. For example, if you
typed in "circuit" with the intent of finding circuit design applications, you
may also find applications referring to wired communications circuits as well as racing
circuits!
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-7.png" width="534.6"
alt="Searching the description" /><div
class="longdesc"><div class="para">
+ Searching the description
+ </div></div></div></div><h6>Figure A.6. Searching the
description</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Sometimes you may want to try several variations of a word or phrase. If, for example,
you are looking for an SSTV application, trying "slowscan" or "slow
scan" will fail:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-8.png" width="534.6"
alt="Searching the description - failure" /><div
class="longdesc"><div class="para">
+ Searching the description
+ </div></div></div></div><h6>Figure A.7. Searching the
description - failure</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The developer of the slow scan application used the word "slow-scan" in his
description. <span class="package">PackageKit</span> is not smart
enough to guess what you meant or what the original developer was thinking.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-9.png" width="534.6"
alt="Searching the description - success" /><div
class="longdesc"><div class="para">
+ Searching the description
+ </div></div></div></div><h6>Figure A.8. Searching the
description - success</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217636868320"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217636868320">A.2. Installing Software with
yum</h3></div></div></div><div class="para">
+ Unlike PackageKit, where the system administrator may choose to allow
non-administrative users to install software, yum requires administrator authentication.
There are three ways this can be done:
+ <div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ You may switch to the root user with the <code
class="command">su</code> command:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ su -
+Password:
+[root@Cimbaoth ~]# yum install xastir
+Loaded plugins: presto, refresh-packagekit
+ ...
+</pre>
+
+ </div><div class="para">
+ This is the least desirable method. You must enter the root password, and you can
easily forget that you are operating as root. As the root user you can do unlimited
damage.
+ </div></li><li class="listitem"><div
class="para">
+ You may use the <code class="command">su</code> command with
the <code class="command">-c</code> switch. This allows you to enter
the single <code class="command">yum</code> command as root, but
immediately switches back to your normal user:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ su - 'yum install fldigi'
+Password:
+Loaded plugins: presto, refresh-packagekit
+ ...
+</pre>
+
+ </div><div class="para">
+ Notice that you must surround the command with quotation marks or apostrophes. This
still requires you to type the password, and is somewhat more annoying to type, but does
not leave you as root ready to do damage.
+ </div></li><li class="listitem"><div
class="para">
+ If the administrator has set you up in the <code
class="filename">sudoers</code> file, you may use the <code
class="command">sudo</code> command:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ sudo yum install wxapt
+Loaded plugins: presto, refresh-packagekit
+ ...
+</pre>
+
+ </div><div class="para">
+ This has several advantages; you don't need to type the password, you are not
left in a dangerous position, and if desired, the administrator can limit you to a select
set of commands so you do not inadvertently cause damage.
+ </div><div class="para">
+ Because this is the preferred approach, the examples in this guide use this method.
However, it does require setup ahead of time.
+ </div></li></ul></div>
+
+ </div><div class="para">
+ <code class="command">yum</code> may determine that additional
packages must be installed. <code class="command">yum</code> will
list these packages and calculate the total size of the download. It will then ask you
whether you want to actually download and install this package or group of packages:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ sudo yum install trustedqsl
+Loaded plugins: presto, refresh-packagekit
+Setting up and reading Presto delta metadata
+Setting up Install Process
+Resolving Dependencies
+--> Running transaction check
+---> Package trustedqsl.i386 0:1.11-3.fc10 set to be updated
+--> Processing Dependency: tqsllib >= 1.2 for package:
trustedqsl-1.11-3.fc10.i386
+--> Processing Dependency: libtqsllib.so.1 for package:
trustedqsl-1.11-3.fc10.i386
+--> Running transaction check
+---> Package tqsllib.i386 0:2.0-5.fc10 set to be updated
+--> Finished Dependency Resolution
+
+Dependencies Resolved
+
+================================================================================
+ Package Arch Version Repository Size
+================================================================================
+Installing:
+ trustedqsl i386 1.11-3.fc10 updates 557 k
+Installing for dependencies:
+ tqsllib i386 2.0-5.fc10 updates 167 k
+
+Transaction Summary
+================================================================================
+Install 2 Package(s)
+Update 0 Package(s)
+Remove 0 Package(s)
+
+Total download size: 723 k
+Is this ok [y/N]:
+</pre>
+ Answer <code class="command">y</code> or <code
class="command">N</code> depending on whether you want to download and
install the group of packages.
+ </div><div class="section" id="idm217635761568"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217635761568">A.2.1. Searching for
Software</h4></div></div></div><div class="para">
+ <code class="command">yum</code> gives you a number of choices
for locating software you desire. To find information about a package you do not need to
provide credentials. Any user may look up information about a package. You may search for
specific words in the description using <code class="command">yum
search</code>:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ yum search APRS
+Loaded plugins: presto, refresh-packagekit
+Setting up and reading Presto delta metadata
+================================ Matched: APRS =================================
+aprsd.i386 : Internet gateway and client access to amateur radio APRS packet
+ : data
+xastir.i386 : Amateur Station Tracking and Reporting system for amateur radio
+[jjmcd@Cimbaoth ~]$
+</pre>
+ <code class="command">yum</code> will return the names of any
package with the specified phrase in its description, and a short description. You may get
a more detailed description of the package with the <code
class="command">yum info</code> command:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ yum info xastir
+Loaded plugins: presto, refresh-packagekit
+Setting up and reading Presto delta metadata
+Installed Packages
+Name : xastir
+Arch : i386
+Version : 1.9.4
+Release : 5.fc10
+Size : 4.0 M
+Repo : installed
+Summary : Amateur Station Tracking and Reporting system for amateur radio
+URL :
http://www.xastir.org
+License : GPLv2+
+Description: Xastir is a graphical application that interfaces HAM radio
+ : and internet access to realtime mapping software.
+ :
+ : Install XASTIR if you are interested in APRS(tm) and HAM radio
+ : software.
+
+[jjmcd@Cimbaoth ~]$
+</pre>
+ Notice that <code class="command">yum</code> also tells you
whether the package is installed. Yum also gives you the address of the upstream website
so you may learn more about the package before installing it.
+ </div></div></div></div><div xml:lang="en-US"
class="appendix" id="appe-Publican-Revision_History"
lang="en-US"><h2 class="title">B. Revision
History</h2><div class="para">
+ <div class="revhistory"><table summary="Revision
History"><tr><th align="left" valign="top"
colspan="3"><strong>Revision
History</strong></th></tr><tr><td
align="left">Revision 19.1</td><td align="left">August
21, 2013</td><td align="left"><span
class="author"><span class="firstname">Eric</span>
<span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Branched for Fedora
19</td></tr><tr><td>Added
CHIRP.</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
16.1</td><td align="left">January 3, 2012</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Added fldigi back in now that it is
working</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
16.0</td><td align="left">December 10, 2011</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Changes for Fedora
16:</td></tr><tr><td>- New screenshots for
F16</td></tr><tr><td>- Remove fldigi (not working on 16
yet)</td></tr><tr><td>- Updates to installation
procedures</td></tr><tr><td>- Remove references to old GNOME
menu</td></tr><tr><td>- Add documentation for
xnec2c</td></tr><tr><td>- Add documentation fr
gspiceui</td></tr><tr><td>- Add documentation for
gpredict</td></tr><tr><td>- Correct error in xgridloc
documentation</td></tr><tr><td>- Add documentation for
gerbv</td></tr><tr><td>- Add documentation for
pcb</td></tr><tr><td>- Other mostly minor
touch-ups</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
15.90</td><td align="left">November 23, 2011</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Remove xdx, obsoleted in Fedora
16</td></tr><tr><td>Documentation for
Chirp</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.9</td><td align="left">November 9, 2010</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Documentation for
dxcc</td></tr><tr><td>Documentation for
gresistor</td></tr><tr><td>Documentation for
callgit</td></tr><tr><td>Correct typo in
colrdx</td></tr><tr><td>Correct typos in
xwota</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.8</td><td align="left">November 7, 2010</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Documentation for
rcrpanel</td></tr><tr><td>Documentation for
colrdx</td></tr><tr><td>Documentation for
xconvers</td></tr><tr><td>Documentation for
xdx</td></tr><tr><td>Documentation for
xastir</td></tr><tr><td>Documentation for
gEDA</td></tr><tr><td>Documentation for
gerbv</td></tr><tr><td>Documentation for
pcb</td></tr><tr><td>Documentation for
xwota</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.7</td><td align="left">November 20, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Installing Software
appendix</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.7</td><td align="left">October 31, 2009</td><td
align="left"><span class="author"><span
class="firstname">Eric</span> <span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Added xlog installation and setup
procedures.</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.6</td><td align="left">October 29, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>ibp</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.5</td><td align="left">October 29, 2009</td><td
align="left"><span class="author"><span
class="firstname">Randy</span> <span
class="surname">Berry</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>cwirc</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.4</td><td align="left">October 28, 2009</td><td
align="left"><span class="author"><span
class="firstname">Eric</span> <span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>xlog
screenshot</td></tr><tr><td>Additional info on
fldigi</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.3</td><td align="left">October 6, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>xgridloc</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.2</td><td align="left">October 4, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Beginning of SPLAT!
instructions</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.1</td><td align="left">October 1, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Document
skeleton</td></tr></table>
+
+ </td></tr></table></div>
+
+ </div></div></div></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/common.css
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/common.css
new file mode 100644
index 0000000..d7dc3f2
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/common.css
@@ -0,0 +1,1528 @@
+* {
+ widows: 2 !important;
+ orphans: 2 !important;
+}
+
+body, h1, h2, h3, h4, h5, h6, pre, li, div {
+ line-height: 1.29em;
+}
+
+body {
+ background-color: white;
+ margin:0 auto;
+ font-family: "liberation sans", "Myriad ", "Bitstream Vera
Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS",
helvetica, verdana, arial, sans-serif;
+ font-size:12px;
+ max-width:55em;
+ color:black;
+}
+
+body.toc_embeded {
+ /*for web hosting system only*/
+ margin-left: 300px;
+}
+
+object.toc, iframe.toc {
+ /*for web hosting system only*/
+ border-style:none;
+ position:fixed;
+ width:290px;
+ height:99.99%;
+ top:0;
+ left:0;
+ z-index: 100;
+ border-style:none;
+ border-right:1px solid #999;
+}
+
+/* Hide web menu */
+
+body.notoc {
+ margin-left: 3em;
+}
+
+iframe.notoc {
+ border-style:none;
+ border: none;
+ padding: 0em;
+ position:fixed;
+ width: 21px;
+ height: 29px;
+ top: 0px;
+ left:0;
+ overflow: hidden;
+ margin: 0em;
+ margin-left: -3px;
+}
+/* End hide web menu */
+
+/* desktop styles */
+body.desktop {
+ margin-left: 26em;
+}
+
+body.desktop .book > .toc {
+ display:block;
+ width:24em;
+ height:99%;
+ position:fixed;
+ overflow:auto;
+ top:0px;
+ left:0px;
+ padding-left:1em;
+ background-color:#EEEEEE;
+}
+
+.toc {
+ line-height:1.35em;
+}
+
+.toc .glossary,
+.toc .chapter, .toc .appendix {
+ margin-top:1em;
+}
+
+.toc .part {
+ margin-top:1em;
+ display:block;
+}
+
+span.glossary,
+span.appendix {
+ display:block;
+ margin-top:0.5em;
+}
+
+div {
+ padding-top:0px;
+}
+
+div.section {
+ padding-top:1em;
+}
+
+p, div.para, div.formalpara {
+ padding-top:0px;
+ margin-top:0.3em;
+ padding-bottom:0px;
+ margin-bottom:1em;
+}
+
+/*Links*/
+a {
+ outline: none;
+}
+
+a:link {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#3366cc;
+}
+
+a:visited {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#003366;
+}
+
+div.longdesc-link {
+ float:right;
+ color:#999;
+}
+
+.toc a, .qandaset a {
+ font-weight:normal;
+ border:none;
+}
+
+.toc a:hover, .qandaset a:hover
+{
+ border-bottom: 1px dotted;
+}
+
+/*headings*/
+h1, h2, h3, h4, h5, h6 {
+ color: #336699;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ background-color: transparent;
+ page-break-inside: avoid;
+ page-break-after: avoid;
+}
+
+h1 {
+ font-size:2.0em;
+}
+
+.titlepage h1.title {
+ font-size: 3.0em;
+ padding-top: 1em;
+ text-align:left;
+}
+
+.book > .titlepage h1.title {
+ text-align:center;
+}
+
+.article > .titlepage h1.title {
+ text-align:center;
+}
+
+.set .titlepage > div > div > h1.title {
+ text-align:center;
+}
+
+.producttitle {
+ margin-top: 0em;
+ margin-bottom: 0em;
+ font-size: 3.0em;
+ font-weight: bold;
+ background: #003d6e url(../images/h1-bg.png) top left repeat-x;
+ color: white;
+ text-align: center;
+ padding: 0.7em;
+}
+
+.titlepage .corpauthor {
+ margin-top: 1em;
+ text-align: center;
+}
+
+.section h1.title {
+ font-size: 1.6em;
+ padding: 0em;
+ color: #336699;
+ text-align: left;
+ background: white;
+}
+
+h2 {
+ font-size:1.6em;
+}
+
+
+h2.subtitle, h3.subtitle {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ text-align: center;
+}
+
+.preface > div > div > div > h2.title {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+.appendix h2 {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+
+
+h3 {
+ font-size:1.3em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+h4 {
+ font-size:1.1em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+
+h5 {
+ font-size:1em;
+}
+
+h6 {
+ font-size:1em;
+}
+
+h5.formalpara {
+ font-size:1em;
+ margin-top:2em;
+ margin-bottom:.8em;
+}
+
+.abstract h6 {
+ margin-top:1em;
+ margin-bottom:.5em;
+ font-size:2em;
+}
+
+/*element rules*/
+hr {
+ border-collapse: collapse;
+ border-style:none;
+ border-top: 1px dotted #ccc;
+ width:100%;
+ margin-top: 3em;
+}
+
+/* web site rules */
+ul.languages, .languages li {
+ display:inline;
+ padding:0em;
+}
+
+.languages li a {
+ padding:0em .5em;
+ text-decoration: none;
+}
+
+.languages li p, .languages li div.para {
+ display:inline;
+}
+
+.languages li a:link, .languages li a:visited {
+ color:#444;
+}
+
+.languages li a:hover, .languages li a:focus, .languages li a:active {
+ color:black;
+}
+
+ul.languages {
+ display:block;
+ background-color:#eee;
+ padding:.5em;
+}
+
+/*supporting stylesheets*/
+
+/*unique to the webpage only*/
+.books {
+ position:relative;
+}
+
+.versions li {
+ width:100%;
+ clear:both;
+ display:block;
+}
+
+a.version {
+ font-size:2em;
+ text-decoration:none;
+ width:100%;
+ display:block;
+ padding:1em 0em .2em 0em;
+ clear:both;
+}
+
+a.version:before {
+ content:"Version";
+ font-size:smaller;
+}
+
+a.version:visited, a.version:link {
+ color:#666;
+}
+
+a.version:focus, a.version:hover {
+ color:black;
+}
+
+.books {
+ display:block;
+ position:relative;
+ clear:both;
+ width:100%;
+}
+
+.books li {
+ display:block;
+ width:200px;
+ float:left;
+ position:relative;
+ clear: none ;
+}
+
+.books .html {
+ width:170px;
+ display:block;
+}
+
+.books .pdf {
+ position:absolute;
+ left:170px;
+ top:0px;
+ font-size:smaller;
+}
+
+.books .pdf:link, .books .pdf:visited {
+ color:#555;
+}
+
+.books .pdf:hover, .books .pdf:focus {
+ color:#000;
+}
+
+.books li a {
+ text-decoration:none;
+}
+
+.books li a:hover {
+ color:black;
+}
+
+/*products*/
+.products li {
+ display: block;
+ width:300px;
+ float:left;
+}
+
+.products li a {
+ width:300px;
+ padding:.5em 0em;
+}
+
+.products ul {
+ clear:both;
+}
+
+/*revision history*/
+.revhistory {
+ display:block;
+}
+
+.revhistory table {
+ background-color:transparent;
+ border-color:#fff;
+ padding:0em;
+ margin: 0;
+ border-collapse:collapse;
+ border-style:none;
+}
+
+.revhistory td {
+ text-align :left;
+ padding:0em;
+ border: none;
+ border-top: 1px solid #fff;
+ font-weight: bold;
+}
+
+.revhistory .simplelist td {
+ font-weight: normal;
+}
+
+.revhistory .simplelist {
+ margin-bottom: 1.5em;
+ margin-left: 1em;
+}
+
+.revhistory table th {
+ display: none;
+}
+
+
+/*credits*/
+.authorgroup div {
+ clear:both;
+ text-align: center;
+}
+
+h3.author {
+ margin: 0em;
+ padding: 0em;
+ padding-top: 1em;
+}
+
+.authorgroup h4 {
+ padding: 0em;
+ margin: 0em;
+ padding-top: 1em;
+ margin-top: 1em;
+}
+
+.author,
+.editor,
+.translator,
+.othercredit,
+.contrib {
+ display: block;
+}
+
+.revhistory .author {
+ display: inline;
+}
+
+.othercredit h3 {
+ padding-top: 1em;
+}
+
+
+.othercredit {
+ margin:0em;
+ padding:0em;
+}
+
+.releaseinfo {
+ clear: both;
+}
+
+.copyright {
+ margin-top: 1em;
+}
+
+/* qanda sets */
+.answer {
+ margin-bottom:1em;
+ border-bottom:1px dotted #ccc;
+}
+
+.qandaset .toc {
+ border-bottom:1px dotted #ccc;
+}
+
+.question {
+ font-weight:bold;
+}
+
+.answer .data, .question .data {
+ padding-left: 2.6em;
+}
+
+.answer label, .question label {
+ float:left;
+ font-weight:bold;
+}
+
+/* inline syntax highlighting */
+.perl_Alert {
+ color: #0000ff;
+}
+
+.perl_BaseN {
+ color: #007f00;
+}
+
+.perl_BString {
+ color: #5C3566;
+}
+
+.perl_Char {
+ color: #ff00ff;
+}
+
+.perl_Comment {
+ color: #FF00FF;
+}
+
+
+.perl_DataType {
+ color: #0000ff;
+}
+
+
+.perl_DecVal {
+ color: #00007f;
+}
+
+
+.perl_Error {
+ color: #ff0000;
+}
+
+
+.perl_Float {
+ color: #00007f;
+}
+
+
+.perl_Function {
+ color: #007f00;
+}
+
+
+.perl_IString {
+ color: #5C3566;
+}
+
+
+.perl_Keyword {
+ color: #002F5D;
+}
+
+
+.perl_Operator {
+ color: #ffa500;
+}
+
+
+.perl_Others {
+ color: #b03060;
+}
+
+
+.perl_RegionMarker {
+ color: #96b9ff;
+}
+
+
+.perl_Reserved {
+ color: #9b30ff;
+}
+
+
+.perl_String {
+ color: #5C3566;
+}
+
+
+.perl_Variable {
+ color: #0000ff;
+}
+
+
+.perl_Warning {
+ color: #0000ff;
+}
+
+/*Lists*/
+ul {
+ padding-left:1.6em;
+ list-style-image:url(../images/dot.png);
+ list-style-type: circle;
+}
+
+ul ul {
+ list-style-image:url(../images/dot2.png);
+ list-style-type: circle;
+}
+
+ol {
+ list-style-image:none;
+ list-style-type: decimal;
+}
+
+ol ol {
+ list-style-type: lower-alpha;
+}
+
+ol.arabic {
+ list-style-type: decimal;
+}
+
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+dt {
+ font-weight:bold;
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+dd {
+ margin:0em;
+ margin-left:2em;
+ padding-top:0em;
+ padding-bottom: 1em;
+}
+
+li {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.4em;
+}
+
+li p, li div.para {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.3em;
+}
+
+/*images*/
+img {
+ display:block;
+ margin: 2em 0;
+}
+
+.inlinemediaobject, .inlinemediaobject img {
+ display:inline;
+ margin:0em;
+}
+
+.figure img {
+ display:block;
+ margin:0;
+ page-break-inside: avoid;
+}
+
+.figure .title {
+ margin:0em;
+ margin-bottom:2em;
+ padding:0px;
+}
+
+/*document modes*/
+.confidential {
+ background-color:#900;
+ color:White;
+ padding:.5em .5em;
+ text-transform:uppercase;
+ text-align:center;
+}
+
+.longdesc-link {
+ display:none;
+}
+
+.longdesc {
+ display:none;
+}
+
+.prompt {
+ padding:0em .3em;
+}
+
+/*user interface styles*/
+.screen .replaceable {
+}
+
+.guibutton, .guilabel {
+ font-family: "liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight: bold;
+ white-space: nowrap;
+}
+
+.example {
+ background-color: #ffffff;
+ border-left: 3px solid #aaaaaa;
+ padding-top: 1em;
+ padding-bottom: 0.1em;
+}
+
+.example h6 {
+ padding-left: 10px;
+}
+
+.example-contents {
+ padding-left: 10px;
+ background-color: #ffffff;
+}
+
+.example-contents .para {
+/* padding: 10px;*/
+}
+
+/*terminal/console text*/
+.computeroutput,
+.option {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+.replaceable {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-style: italic;
+}
+
+.command, .filename, .keycap, .classname, .literal {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+/* no bold in toc */
+.toc * {
+ font-weight: inherit;
+}
+
+pre {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ display:block;
+ background-color: #f5f5f5;
+ color: #000000;
+ border: 1px solid #aaaaaa;
+ margin-bottom: 0.3em;
+ padding:.5em 1em;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+ font-size: 0.9em;
+}
+
+pre .replaceable,
+pre .keycap {
+}
+
+code {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+/* white-space: nowrap;*/
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ font-weight:bold;
+}
+
+.parameter code {
+ display: inline;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+
+/*Notifications*/
+div.warning:before {
+ content:url(../images/warning.png);
+ padding-left: 5px;
+}
+
+div.note:before {
+ content:url(../images/note.png);
+ padding-left: 5px;
+}
+
+div.important:before {
+ content:url(../images/important.png);
+ padding-left: 5px;
+}
+
+div.warning, div.note, div.important {
+ color: black;
+ margin: 0em;
+ padding: 0em;
+ background: none;
+ background-color: white;
+ margin-bottom: 1em;
+ border-bottom: 1px solid #aaaaaa;
+ page-break-inside: avoid;
+}
+
+div.warning h2, div.note h2,div.important h2 {
+ margin: 0em;
+ padding: 0em;
+ color: #eeeeec;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: 1.4em;
+ line-height: 1.4em;
+ font-size: 1.4em;
+ display:inline;
+}
+
+div.admonition_header {
+ clear: both;
+ margin: 0em;
+ padding: 0em;
+ margin-top: -3.3em;
+ padding-left: 58px;
+ line-height: 1.0em;
+ font-size: 1.0em;
+}
+
+div.warning div.admonition_header {
+ background: url(../images/red.png) top left repeat-x;
+ background-color: #590000;
+}
+
+div.note div.admonition_header {
+ background: url(../images/green.png) top right repeat-x;
+ background-color: #597800;
+}
+
+div.important div.admonition_header {
+ background: url(../images/yellow.png) top right repeat-x;
+ background-color: #a6710f;
+}
+
+div.warning p, div.warning div.para,
+div.note p, div.note div.para,
+div.important p, div.important div.para {
+ padding: 0em;
+ margin: 0em;
+}
+
+div.admonition {
+ border: none;
+ border-left: 1px solid #aaaaaa;
+ border-right: 1px solid #aaaaaa;
+ padding:0em;
+ margin:0em;
+ padding-top: 1.5em;
+ padding-bottom: 1em;
+ padding-left: 2em;
+ padding-right: 1em;
+ background-color: #eeeeec;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+
+/*Page Title*/
+#title {
+ display:block;
+ height:45px;
+ padding-bottom:1em;
+ margin:0em;
+}
+
+#title a.left{
+ display:inline;
+ border:none;
+}
+
+#title a.left img{
+ border:none;
+ float:left;
+ margin:0em;
+ margin-top:.7em;
+}
+
+#title a.right {
+ padding-bottom:1em;
+}
+
+#title a.right img {
+ border:none;
+ float:right;
+ margin:0em;
+ margin-top:.7em;
+}
+
+/*Table*/
+div.table {
+ page-break-inside: avoid;
+}
+
+table {
+ border:1px solid #6c614b;
+ width:100%;
+ border-collapse:collapse;
+}
+
+table.simplelist, .calloutlist table {
+ border-style: none;
+}
+
+table th {
+ text-align:left;
+ background-color:#6699cc;
+ padding:.3em .5em;
+ color:white;
+}
+
+table td {
+ padding:.15em .5em;
+}
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+table th p:first-child, table td p:first-child, table li p:first-child,
+table th div.para:first-child, table td div.para:first-child, table li
div.para:first-child {
+ margin-top:0em;
+ padding-top:0em;
+ display:inline;
+}
+
+th, td {
+ border-style:none;
+ vertical-align: top;
+ border: 1px solid #000;
+}
+
+.simplelist th, .simplelist td {
+ border: none;
+}
+
+table table td {
+ border-bottom:1px dotted #aaa;
+ background-color:white;
+ padding:.6em 0em;
+}
+
+table table {
+ border:1px solid white;
+}
+
+td.remarkval {
+ color:#444;
+}
+
+td.fieldval {
+ font-weight:bold;
+}
+
+.lbname, .lbtype, .lbdescr, .lbdriver, .lbhost {
+ color:white;
+ font-weight:bold;
+ background-color:#999;
+ width:120px;
+}
+
+td.remarkval {
+ width:230px;
+}
+
+td.tname {
+ font-weight:bold;
+}
+
+th.dbfield {
+ width:120px;
+}
+
+th.dbtype {
+ width:70px;
+}
+
+th.dbdefault {
+ width:70px;
+}
+
+th.dbnul {
+ width:70px;
+}
+
+th.dbkey {
+ width:70px;
+}
+
+span.book {
+ margin-top:4em;
+ display:block;
+ font-size:11pt;
+}
+
+span.book a{
+ font-weight:bold;
+}
+span.chapter {
+ display:block;
+ margin-top:0.5em;
+}
+
+table.simplelist td, .calloutlist table td {
+ border-style: none;
+}
+
+/*Breadcrumbs*/
+#breadcrumbs ul li.first:before {
+ content:" ";
+}
+
+#breadcrumbs {
+ color:#900;
+ padding:3px;
+ margin-bottom:25px;
+}
+
+#breadcrumbs ul {
+ margin-left:0;
+ padding-left:0;
+ display:inline;
+ border:none;
+}
+
+#breadcrumbs ul li {
+ margin-left:0;
+ padding-left:2px;
+ border:none;
+ list-style:none;
+ display:inline;
+}
+
+#breadcrumbs ul li:before {
+ content:"\0020 \0020 \0020 \00BB \0020";
+ color:#333;
+}
+
+/*index*/
+.glossary h3,
+.index h3 {
+ font-size: 2em;
+ color:#aaa;
+ margin:0em;
+}
+
+.indexdiv {
+ margin-bottom:1em;
+}
+
+.glossary dt,
+.index dt {
+ color:#444;
+ padding-top:.5em;
+}
+
+.glossary dl dl dt,
+.index dl dl dt {
+ color:#777;
+ font-weight:normal;
+ padding-top:0em;
+}
+
+.index dl dl dt:before {
+ content:"- ";
+ color:#ccc;
+}
+
+/*changes*/
+.footnote {
+ font-size: .7em;
+ margin:0em;
+ color:#222;
+}
+
+table .footnote {
+}
+
+sup {
+ color:#999;
+ margin:0em;
+ padding:0em;
+ line-height: .4em;
+ font-size: 1em;
+ padding-left:0em;
+}
+
+.footnote {
+ position:relative;
+}
+
+.footnote sup {
+ color:#e3dcc0;
+ position:absolute;
+ left: .4em;
+}
+
+.footnote sup a:link,
+.footnote sup a:visited {
+ color:#92917d;
+ text-decoration:none;
+}
+
+.footnote:hover sup a {
+ text-decoration:none;
+}
+
+.footnote p,.footnote div.para {
+ padding-left:2em;
+}
+
+.footnote a:link,
+.footnote a:visited {
+ color:#00537c;
+}
+
+.footnote a:hover {
+}
+
+/**/
+div.chapter {
+ margin-top:3em;
+ page-break-inside: avoid;
+}
+
+div.preface {
+ page-break-inside: avoid;
+}
+
+div.section {
+ margin-top:1em;
+ page-break-inside: auto;
+}
+
+div.note .replaceable,
+div.important .replaceable,
+div.warning .replaceable,
+div.note .keycap,
+div.important .keycap,
+div.warning .keycap
+{
+}
+
+ul li p:last-child, ul li div.para:last-child {
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+/*document navigation*/
+.docnav a, .docnav strong {
+ border:none;
+ text-decoration:none;
+ font-weight:normal;
+}
+
+.docnav {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ position:relative;
+ width:100%;
+ padding-bottom:2em;
+ padding-top:1em;
+ border-top:1px dotted #ccc;
+}
+
+.docnav li {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ display:inline;
+ font-size:.8em;
+}
+
+.docnav li:before {
+ content:" ";
+}
+
+.docnav li.previous, .docnav li.next {
+ position:absolute;
+ top:1em;
+}
+
+.docnav li.up, .docnav li.home {
+ margin:0em 1.5em;
+}
+
+.docnav li.previous {
+ left:0px;
+ text-align:left;
+}
+
+.docnav li.next {
+ right:0px;
+ text-align:right;
+}
+
+.docnav li.previous strong, .docnav li.next strong {
+ height:22px;
+ display:block;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+.docnav li.next a strong {
+ background: url(../images/stock-go-forward.png) top right no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-right:28px;
+ font-size:1.2em;
+}
+
+.docnav li.previous a strong {
+ background: url(../images/stock-go-back.png) top left no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-left:28px;
+ padding-right:0.5em;
+ font-size:1.2em;
+}
+
+.docnav li.home a strong {
+ background: url(../images/stock-home.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav li.up a strong {
+ background: url(../images/stock-go-up.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav a:link, .docnav a:visited {
+ color:#666;
+}
+
+.docnav a:hover, .docnav a:focus, .docnav a:active {
+ color:black;
+}
+
+.docnav a {
+ max-width: 10em;
+ overflow:hidden;
+}
+
+.docnav a:link strong {
+ text-decoration:none;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+ul.docnav {
+ margin-bottom: 1em;
+}
+/* Reports */
+.reports ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.reports li{
+ margin:0em;
+ padding:0em;
+}
+
+.reports li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.reports dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.reports h2, .reports h3{
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.reports div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/*uniform*/
+body.results, body.reports {
+ max-width:57em ;
+ padding:0em;
+}
+
+/*Progress Bar*/
+div.progress {
+ display:block;
+ float:left;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ height:1em;
+}
+
+div.progress span {
+ height:1em;
+ float:left;
+}
+
+div.progress span.translated {
+ background:#6c3 url(../images/shine.png) top left repeat-x;
+}
+
+div.progress span.fuzzy {
+ background:#ff9f00 url(../images/shine.png) top left repeat-x;
+}
+
+
+/*Results*/
+
+.results ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.results li{
+ margin:0em;
+ padding:0em;
+}
+
+.results li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.results dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.results dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.results dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.results h2, .results h3 {
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.results div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/* Dirty EVIL Mozilla hack for round corners */
+pre {
+ -moz-border-radius:11px;
+ -webkit-border-radius:11px;
+ border-radius: 11px;
+ page-break-inside: avoid;
+}
+
+.example {
+ -moz-border-radius:0px;
+ -webkit-border-radius:0px;
+ border-radius: 0px;
+ page-break-inside: avoid;
+}
+
+.package, .citetitle {
+ font-style: italic;
+}
+
+.titlepage .edition {
+ color: #336699;
+ background-color: transparent;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ font-weight: bold;
+ text-align: center;
+}
+
+span.remark {
+ background-color: #ff00ff;
+}
+
+.draft {
+ background-image: url(../images/watermark-draft.png);
+ background-repeat: repeat-y;
+ background-position: center;
+}
+
+.foreignphrase {
+ font-style: inherit;
+}
+
+dt {
+ clear:both;
+}
+
+dt img {
+ border-style: none;
+ max-width: 112px;
+}
+
+dt object {
+ max-width: 112px;
+}
+
+dt .inlinemediaobject, dt object {
+ display: inline;
+ float: left;
+ margin-bottom: 1em;
+ padding-right: 1em;
+ width: 112px;
+}
+
+dl:after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.toc dd {
+ padding-bottom: 0em;
+ margin-bottom: 1em;
+ padding-left: 1.3em;
+ margin-left: 0em;
+}
+
+div.toc > dl > dt {
+ padding-bottom: 0em;
+ margin-bottom: 0em;
+ margin-top: 1em;
+}
+
+
+.strikethrough {
+ text-decoration: line-through;
+}
+
+.underline {
+ text-decoration: underline;
+}
+
+.calloutlist img, .callout {
+ padding: 0em;
+ margin: 0em;
+ width: 12pt;
+ display: inline;
+ vertical-align: middle;
+}
+
+.stepalternatives {
+ list-style-image: none;
+ list-style-type: none;
+}
+
+
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/default.css
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/default.css
new file mode 100644
index 0000000..bf38ebb
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/default.css
@@ -0,0 +1,3 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/lang.css
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/lang.css
new file mode 100644
index 0000000..81c3115
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/lang.css
@@ -0,0 +1,2 @@
+/* place holder */
+
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/overrides.css
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/overrides.css
new file mode 100644
index 0000000..057be29
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/overrides.css
@@ -0,0 +1,51 @@
+a:link {
+ color:#0066cc;
+}
+
+a:hover, a:active {
+ color:#003366;
+}
+
+a:visited {
+ color:#6699cc;
+}
+
+
+h1 {
+ color:#3c6eb4
+}
+
+.producttitle {
+ background: #3c6eb4 url(../images/h1-bg.png) top left repeat;
+}
+
+.section h1.title {
+ color:#3c6eb4;
+}
+
+
+h2,h3,h4,h5,h6 {
+ color:#3c6eb4;
+}
+
+table {
+ border:1px solid #3c6eb4;
+}
+
+table th {
+ background-color:#3c6eb4;
+}
+
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+.revhistory table th {
+ color:#3c6eb4;
+}
+
+.titlepage .edition {
+ color: #3c6eb4;
+}
+
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/print.css
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/print.css
new file mode 100644
index 0000000..773d8ae
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/css/print.css
@@ -0,0 +1,16 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
+
+#tocframe {
+ display: none;
+}
+
+body.toc_embeded {
+ margin-left: 30px;
+}
+
+.producttitle {
+ color: #336699;
+}
+
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/1.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/1.png
new file mode 100644
index 0000000..c21d7a3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/1.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/1.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/1.svg
new file mode 100644
index 0000000..a2b3903
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/1.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 17.853468,22.008438 -2.564941,0 0,-7.022461 c -5e-6,-0.143873
-5e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224122,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08854,0.08302 -0.17432,0.157723 -0.257324,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/10.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/10.png
new file mode 100644
index 0000000..15b81da
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/10.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/10.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/10.svg
new file mode 100644
index 0000000..af015ab
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/10.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/11.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/11.png
new file mode 100644
index 0000000..2fcc2dd
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/11.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/11.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/11.svg
new file mode 100644
index 0000000..cb82b70
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/11.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/12.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/12.png
new file mode 100644
index 0000000..edebe20
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/12.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/12.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/12.svg
new file mode 100644
index 0000000..3b6d822
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/12.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/13.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/13.png
new file mode 100644
index 0000000..ec48cef
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/13.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/13.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/13.svg
new file mode 100644
index 0000000..226e461
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/13.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/14.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/14.png
new file mode 100644
index 0000000..33d5637
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/14.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/14.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/14.svg
new file mode 100644
index 0000000..5aaa3a3
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/15.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/15.png
new file mode 100644
index 0000000..f1a4eb2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/15.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/15.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/15.svg
new file mode 100644
index 0000000..f51dd96
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/15.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2839"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2841"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/16.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/16.png
new file mode 100644
index 0000000..d38a155
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/16.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/16.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/16.svg
new file mode 100644
index 0000000..cb7e2f5
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/16.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/17.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/17.png
new file mode 100644
index 0000000..d83e898
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/17.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/17.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/17.svg
new file mode 100644
index 0000000..5d6f0ad
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/17.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/18.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/18.png
new file mode 100644
index 0000000..9e39de4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/18.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/18.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/18.svg
new file mode 100644
index 0000000..9ea672c
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/18.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/19.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/19.png
new file mode 100644
index 0000000..9eeedfb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/19.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/19.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/19.svg
new file mode 100644
index 0000000..80d1d09
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/19.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/2.png
new file mode 100644
index 0000000..ff9cc57
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/2.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/2.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/2.svg
new file mode 100644
index 0000000..8e94260
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/2.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.89546,22.008438 -8.143066,0 0,-1.784668 2.855468,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979493,-1.0708 0.293289,-0.326492
0.545079,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.373529,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.17431,-0.666821 0.174316,-1.037598 -6e-6,-0.409496
-0.124517,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827313,0.522958 -1.270019,0.921386 l -1.394531,-1.651855 c
0.249022,-0.226877 0.509113,-0.442698 0.780273,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079102,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319824,-0.1494141
0.58105,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860507,0.3901488
1.187012,0.6889648 0.326489,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583
0.265617,0.893727 0.265625,1.41
9433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648
-0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083
-1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l
-1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/20.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/20.png
new file mode 100644
index 0000000..b28b4aa
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/20.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/20.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/20.svg
new file mode 100644
index 0000000..409ac6e
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/20.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/21.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/21.png
new file mode 100644
index 0000000..eda952c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/21.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/21.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/21.svg
new file mode 100644
index 0000000..7bc03af
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/21.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/22.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/22.png
new file mode 100644
index 0000000..90b14b0
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/22.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/22.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/22.svg
new file mode 100644
index 0000000..fe086f6
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/22.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/23.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/23.png
new file mode 100644
index 0000000..8b35a74
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/23.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/23.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/23.svg
new file mode 100644
index 0000000..f17ec29
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/23.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/24.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/24.png
new file mode 100644
index 0000000..6041b02
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/24.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/24.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/24.svg
new file mode 100644
index 0000000..42a5333
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/24.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/25.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/25.png
new file mode 100644
index 0000000..ecb15e6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/25.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/25.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/25.svg
new file mode 100644
index 0000000..a8d4672
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/25.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/26.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/26.png
new file mode 100644
index 0000000..4b2f560
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/26.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/26.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/26.svg
new file mode 100644
index 0000000..3cf00ec
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/26.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/27.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/27.png
new file mode 100644
index 0000000..ecf058e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/27.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/27.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/27.svg
new file mode 100644
index 0000000..c8d6440
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/27.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/28.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/28.png
new file mode 100644
index 0000000..e64efb2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/28.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/28.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/28.svg
new file mode 100644
index 0000000..5acce93
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/28.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/29.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/29.png
new file mode 100644
index 0000000..dbbca1b
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/29.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/29.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/29.svg
new file mode 100644
index 0000000..507dd44
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/29.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/3.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/3.png
new file mode 100644
index 0000000..4febe43
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/3.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/3.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/3.svg
new file mode 100644
index 0000000..5e87e1f
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/3.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.422316,12.587051 c -9e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.23243,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315437,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.392911,0.332031 -0.890957,0.592122 -1.494141,0.780273 -0.597661,0.182617
-1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267255,-0.05534 -1.842773,-0.166016
-0.575523,-0.105143 -1.112306,-0.268392 -1.610352,-0.489746 l 0,-2.183105 c
0.249023,0.132815 0.511881,0.249025 0.788574,0.348632 0.276692,0.09961 0.553384,0.185387
0.830079,0.257325 0.27669,0.06641 0.547848,0.116212 0.813476,0.149414 0.271156,0.0332
0.525713,0.04981 0.763672,0.0498 0.475907,2e-6 0.871577,-0.04427 1.187012,-0.132812
0.315424,-
0.08854 0.567214,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320957,-0.351397
0.398437,-0.572754 0.083,-0.226885 0.124506,-0.473141 0.124512,-0.73877 -6e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.265631,-0.376297
-0.498047,-0.514648 -0.226893,-0.143876 -0.525721,-0.254553 -0.896484,-0.332032
-0.370773,-0.07747 -0.827315,-0.116205 -1.369629,-0.116211 l -0.863281,0 0,-1.801269
0.846679,0 c 0.509111,7e-6 0.932451,-0.04426 1.27002,-0.132813 0.33756,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.43164,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.68897,-0.365224
-1.27002,-0.365234 -0.265629,10e-6 -0.514652,0.02768 -0.74707,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193688,0.07748 -0.373538,0.166026
-0.539551,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439941,0.282227 l
-1.294922,-1.70
9961 c 0.232421,-0.171538 0.484211,-0.329253 0.755371,-0.473145 0.276691,-0.143868
0.575519,-0.26838 0.896484,-0.373535 0.320961,-0.1106647 0.666827,-0.1964393
1.037598,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492506,0.1272911
0.913079,0.3154421 1.261718,0.5644531 0.348626,0.243501 0.617017,0.545096
0.805176,0.904786 0.193677,0.354177 0.290519,0.760914 0.290528,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/30.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/30.png
new file mode 100644
index 0000000..f4ffb14
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/30.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/30.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/30.svg
new file mode 100644
index 0000000..434e663
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/30.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/31.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/31.png
new file mode 100644
index 0000000..0b29e87
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/31.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/31.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/31.svg
new file mode 100644
index 0000000..08c3f2d
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/31.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/32.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/32.png
new file mode 100644
index 0000000..a4740a3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/32.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/32.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/32.svg
new file mode 100644
index 0000000..aa099c3
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/32.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/33.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/33.png
new file mode 100644
index 0000000..f23ccea
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/33.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/33.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/33.svg
new file mode 100644
index 0000000..fce979c
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/33.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/34.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/34.png
new file mode 100644
index 0000000..7e2ab31
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/34.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/34.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/34.svg
new file mode 100644
index 0000000..c67f8ec
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/34.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/35.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/35.png
new file mode 100644
index 0000000..02118e3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/35.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/35.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/35.svg
new file mode 100644
index 0000000..da7780a
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/35.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/36.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/36.png
new file mode 100644
index 0000000..30f4fdf
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/36.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/36.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/36.svg
new file mode 100644
index 0000000..348549a
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/36.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/37.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/37.png
new file mode 100644
index 0000000..6174706
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/37.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/37.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/37.svg
new file mode 100644
index 0000000..7bc04d9
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/37.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/38.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/38.png
new file mode 100644
index 0000000..161661d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/38.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/38.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/38.svg
new file mode 100644
index 0000000..ec2ad98
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/38.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/39.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/39.png
new file mode 100644
index 0000000..2d46b24
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/39.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/39.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/39.svg
new file mode 100644
index 0000000..664ffdd
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/39.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/4.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/4.png
new file mode 100644
index 0000000..9b9dd88
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/4.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/4.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/4.svg
new file mode 100644
index 0000000..bc06c73
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/4.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 20.078077,19.493301 -1.460937,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460937,0 0,1.992187 m
-3.959472,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09962,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.12175,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.025391,3.071289 2.75586,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/40.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/40.png
new file mode 100644
index 0000000..fe2a68f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/40.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/40.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/40.svg
new file mode 100644
index 0000000..5a94d1b
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/40.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.440535,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.0136719,0 0,-1.784668 5.1547849,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187
m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.0253904,3.071289 2.7558594,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/5.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/5.png
new file mode 100644
index 0000000..f239fb6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/5.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/5.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/5.svg
new file mode 100644
index 0000000..82fb03d
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/5.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 16.035597,14.255508 c 0.520177,8e-6 1.004388,0.08025 1.452637,0.240723
0.448235,0.160489 0.838371,0.395678 1.17041,0.705566 0.332023,0.309903 0.592114,0.697272
0.780273,1.16211 0.188143,0.459315 0.282218,0.987797 0.282227,1.585449 -9e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.204761,0.520184 -0.506356,0.962892
-0.904785,1.328125 -0.398445,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261724,0.290528 -2.025391,0.290528 -0.304365,0 -0.60596,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863281,-0.124512
-0.271161,-0.04981 -0.531252,-0.116211 -0.780274,-0.199219 -0.24349,-0.08301
-0.464844,-0.17985 -0.664062,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672363,0.31543 0.254556,0.09408 0.517414,0.177086 0.788574,0.249024 0.276691,0.06641
0.553383,0.121746 0.830078,0.166015 0.27669,0.03874 0.539548,0.05811 0.788575,0.05811
0.741532,2e-6 1.305984,-0.152179 1.693359,-0.456543 0.387364,-0.309893 0.5810
49,-0.799639 0.581055,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751465,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320966,0.03874 -0.481445,0.06641
-0.154951,0.02768 -0.304365,0.05811 -0.448242,0.09131 -0.143883,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456542,-6.1840821 6.408204,0 0,2.1748051
-4.183594,0 -0.199219,2.382324 c 0.17708,-0.03873 0.381832,-0.07747 0.614258,-0.116211
0.237951,-0.03873 0.542313,-0.0581 0.913086,-0.05811"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/6.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/6.png
new file mode 100644
index 0000000..18866e6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/6.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/6.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/6.svg
new file mode 100644
index 0000000..e2f62af
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/6.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 11.702589,16.853653 c -10e-7,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.0664,-0.575514 0.179849,-1.126132 0.340332,-1.651856
0.166014,-0.531241 0.387368,-1.023753 0.664062,-1.477539 0.282225,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431638,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603186,-0.1936727 1.305984,-0.2905151 2.108399,-0.2905274
0.116204,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.138339,0.00555 0.276685,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251782,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210295,-0.04979 -0.434416,-0.08853
-0.672364,-0.116211 -0.232429,-0.03319 -0.467617,-0.04979 -0.705566,-0.0498 -0.747076,1e-5
-1.361334,0.09408 -1.842774,0.282226 -0.481449,0.182627 -0.863285,0.439951
-1.145507,0.771973 -0.28223,0.33204 -0.484216,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.215821,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243486,-0.384596 0.39843
7,-0.556153 0.160478,-0.177076 0.345862,-0.32649 0.556153,-0.448242 0.210282,-0.127271
0.44547,-0.22688 0.705566,-0.298828 0.26562,-0.07193 0.561681,-0.107902 0.888184,-0.10791
0.52571,8e-6 0.998854,0.08578 1.419433,0.257324 0.420566,0.171557 0.774732,0.42058
1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614 0.15494,0.475916
0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887 -0.282226,1.768066
-0.182626,0.520184 -0.445484,0.962892 -0.788575,1.328125 -0.343106,0.359701
-0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151 -1.034836,0.282227
-1.643554,0.282227 -0.597661,0 -1.15658,-0.105144 -1.676758,-0.31543 -0.520185,-0.21582
-0.973961,-0.542317 -1.361328,-0.979492 -0.381838,-0.437173 -0.683433,-0.987791
-0.904785,-1.651856 -0.215822,-0.669593 -0.323732,-1.460933 -0.323731,-2.374023 m
4.216797,3.270508 c 0.226883,2e-6 0.431635,-0.0415 0.614258,-0.124512 0.188145,-0.08854
0.348627,-0.218585 0.481445,-0.390137 0.13834,-0.17708 0.243483,-0.3
98434 0.31543,-0.664062 0.07747,-0.265622 0.116204,-0.581051 0.116211,-0.946289
-7e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243496,-0.343094
-0.617031,-0.514643 -1.120606,-0.514649 -0.254562,6e-6 -0.486984,0.04981
-0.697266,0.149414 -0.21029,0.09962 -0.39014,0.229661 -0.53955,0.390137 -0.149418,0.160487
-0.265629,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.31543,0.755371 0.143876,0.221357 0.318193,0.401207 0.522949,0.539551
0.210282,0.138349 0.453772,0.207522 0.730469,0.20752"
+ id="path2846"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/7.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/7.png
new file mode 100644
index 0000000..52c3a18
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/7.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/7.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/7.svg
new file mode 100644
index 0000000..a43460f
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/7.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 12.789991,22.008438 4.316407,-9.960937 -5.578125,0 0,-2.1582035
8.367187,0 0,1.6103515 -4.424316,10.508789 -2.681153,0"
+ id="path2832"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/8.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/8.png
new file mode 100644
index 0000000..8a8cb21
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/8.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/8.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/8.svg
new file mode 100644
index 0000000..2c82d3f
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/8.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.761671,9.7149811 c 0.503576,1.23e-5 0.979487,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337558,0.243501 0.60595,0.547862 0.805176,0.913086 0.199211,0.365244 0.29882,0.794118
0.298828,1.286621 -8e-6,0.365243 -0.05535,0.697274 -0.166015,0.996094 -0.110686,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193693,0.237963 -0.423348,0.451017
-0.688965,0.639161 -0.265632,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.633619,0.362473 0.937988,0.572754 0.309888,0.210292 0.583814,0.448247
0.821777,0.713867 0.237948,0.260096 0.428866,0.55339 0.572754,0.879883 0.143872,0.326501
0.215812,0.691735 0.21582,1.095703 -8e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478686,0.758139 -0.838379,1.045898 -0.359707,0.287761
-0.791348,0.509115 -1.294921,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651856,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.9379
9,-0.362467 -1.286621,-0.639161 -0.348634,-0.276691 -0.614259,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265626,-0.857744 -0.265625,-1.361328
-10e-7,-0.415035 0.06087,-0.78857 0.182617,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498047,-0.896485 0.210285,-0.265619 0.456541,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271162,-0.171543
-0.525719,-0.356927 -0.763672,-0.556152 -0.237958,-0.204746 -0.445477,-0.428866
-0.622559,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -10e-7,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478677,-0.669585
0.821778,-0.913086 0.343096,-0.249012 0.738766,-0.434396 1.187011,-0.5561527
0.448239,-0.1217326 0.918616,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.107911,0.614258 0.07194,0.18262 0.17708,0.340334
0.315429,0.473145 0.143877,0.132814 0.32
096,0.237957 0.53125,0.315429 0.210283,0.07194 0.453772,0.107912 0.730469,0.10791
0.581049,2e-6 1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.43164,-1.087402 -6e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218593,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.320969,-0.307125 -0.514648,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 15.662062,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664063,0.398438 -0.199222,0.138351 -0.370772,0.293299 -0.514648,0.464844
-0.13835,0.16602 -0.24626,0.348637 -0.323731,0.547851 -0.07748,0.199223 -0.116214,0.415043
-0.116211,0.647461 m 1.701661,-7.188476 c -0.182622,10e-6 -0.354171,0.02768
-0.514649,0.08301 -0.154952,0.05535 -0.290531,0.13559 -0.406738,0.240723
-0.110681,0.105153 -0.199223,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.31543
8 0.282226,0.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633
0.160478,0.09962 0.32926,0.199226 0.506348,0.298828 0.171545,-0.08853 0.334793,-0.185376
0.489746,-0.290527 0.154943,-0.105135 0.290522,-0.224113 0.406738,-0.356934
0.12174,-0.138338 0.218582,-0.293286 0.290528,-0.464843 0.07193,-0.171541
0.107904,-0.367993 0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949
-0.06641,-0.154938 -0.157721,-0.284984 -0.273926,-0.390137 -0.116217,-0.105133
-0.254563,-0.185374 -0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083
-0.522949,-0.08301"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/9.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/9.png
new file mode 100644
index 0000000..0ae412f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/9.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/9.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/9.svg
new file mode 100644
index 0000000..b0f04c4
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/9.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.829054,15.052383 c -9e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340333,1.651856 -0.160489,0.525719
-0.381843,1.018232 -0.664062,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426113,0.332032 -0.940761,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.30046,0.282227 -2.108399,0.282227 -0.116214,0 -0.243492,-0.0028 -0.381836,-0.0083
-0.138348,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273927,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237954,0.02767 0.478676,0.04151
0.722168,0.0415 0.747067,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.481441,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.282221,-0.337562 0.481439,-0.738766
0.597657,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.107911,0 c
-0.110683,0.199225 -0.243495,0.384609 -0.398437,0.556153 -0.
154954,0.171554 -0.337571,0.320968 -0.547852,0.448242 -0.210291,0.127283
-0.448247,0.226892 -0.713867,0.298828 -0.265629,0.07194 -0.56169,0.107914
-0.888183,0.10791 -0.52572,4e-6 -0.998864,-0.08577 -1.419434,-0.257324 -0.420575,-0.171545
-0.777508,-0.420568 -1.070801,-0.74707 -0.287761,-0.326492 -0.509115,-0.727696
-0.664062,-1.203614 -0.154949,-0.475904 -0.232423,-1.020988 -0.232422,-1.635253
-10e-7,-0.65852 0.09131,-1.247875 0.273926,-1.768067 0.18815,-0.520172 0.453774,-0.960113
0.796875,-1.319824 0.343097,-0.365223 0.758135,-0.644682 1.245117,-0.838379
0.49251,-0.1936727 1.043127,-0.2905151 1.651855,-0.2905274 0.597651,1.23e-5
1.15657,0.1079224 1.676758,0.3237304 0.520176,0.210298 0.971184,0.534028 1.353027,0.971192
0.381829,0.437185 0.683423,0.990569 0.904786,1.660156 0.221345,0.669605 0.332022,1.458178
0.332031,2.365722 m -4.216797,-3.262207 c -0.226892,1.1e-5 -0.434412,0.04151
-0.622559,0.124512 -0.188154,0.08302 -0.351403,0.213063 -0.489746,0.390137
-0.132815,0.17155
9 -0.237959,0.392913 -0.315429,0.664062 -0.07194,0.265634 -0.107914,0.581063
-0.107911,0.946289 -3e-6,0.586596 0.124509,1.05144 0.373536,1.394532 0.249019,0.343105
0.625321,0.514654 1.128906,0.514648 0.254552,6e-6 0.486974,-0.0498 0.697266,-0.149414
0.210281,-0.0996 0.390131,-0.229648 0.53955,-0.390137 0.149408,-0.160475
0.262852,-0.340325 0.340332,-0.53955 0.083,-0.199212 0.124506,-0.401197 0.124512,-0.605958
-6e-6,-0.282218 -0.03598,-0.561677 -0.10791,-0.838378 -0.06641,-0.282218
-0.171556,-0.534008 -0.31543,-0.755372 -0.138352,-0.226878 -0.312668,-0.409495
-0.522949,-0.547851 -0.204758,-0.138336 -0.44548,-0.207509 -0.722168,-0.20752"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/bkgrnd_greydots.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/bkgrnd_greydots.png
new file mode 100644
index 0000000..2333a6d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/bkgrnd_greydots.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/bullet_arrowblue.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/bullet_arrowblue.png
new file mode 100644
index 0000000..c235534
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/bullet_arrowblue.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/documentation.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/documentation.png
new file mode 100644
index 0000000..79d0a80
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/documentation.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/dot.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/dot.png
new file mode 100644
index 0000000..36a6859
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/dot.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/dot2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/dot2.png
new file mode 100644
index 0000000..40aff92
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/dot2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/green.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/green.png
new file mode 100644
index 0000000..ebb3c24
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/green.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/h1-bg.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/h1-bg.png
new file mode 100644
index 0000000..a2aad24
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/h1-bg.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/image_left.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/image_left.png
new file mode 100644
index 0000000..e8fe7a4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/image_left.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/image_right.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/image_right.png
new file mode 100644
index 0000000..5b67443
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/image_right.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/important.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/important.png
new file mode 100644
index 0000000..f7594a3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/important.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/important.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/important.svg
new file mode 100644
index 0000000..2d33045
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/important.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="important.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/important.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2611">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="681"
+ inkscape:window-width="738"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2613" />
+ </defs>
+ <g
+ transform="matrix(0.4626799,0,0,0.4626799,-5.2934127,-3.3160376)"
+ id="g5485">
+ <path
+ d="M 29.97756,91.885882 L 55.586992,80.409826 L 81.231619,91.807015 L
78.230933,63.90468 L 96.995009,43.037218 L 69.531053,37.26873 L 55.483259,12.974592 L
41.510292,37.311767 L 14.064204,43.164717 L 32.892392,63.97442 L 29.97756,91.885882
z"
+ id="path6799"
+ style="fill:#f3de82;fill-opacity:1;enable-background:new" />
+ <path
+ d="M 55.536215,56.538729 L 55.48324,12.974601 L 41.51028,37.311813 L
55.536215,56.538729 z"
+ id="path6824"
+
style="opacity:0.91005291;fill:#f9f2cb;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 78.241135,63.937979 L 96.976198,43.044318 L
55.57947,56.614318 z"
+ id="use6833"
+ style="opacity:1;fill:#d0bc64;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 55.667994,80.684281 L 81.379011,91.931065 L
55.523838,56.869126 z"
+ id="use6835"
+ style="opacity:1;fill:#e0c656;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 13.877363,43.200977 L 32.640089,64.069652 L
55.283346,56.742618 z"
+ id="use6831"
+ style="opacity:1;fill:#d1ba59;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 55.32792,80.684281 L 29.616903,91.931065 L
55.472076,56.869126 z"
+ id="use6837"
+ style="opacity:1;fill:#d2b951;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 96.976198,43.044318 L 69.504294,37.314027 L
55.57947,56.614318 z"
+ id="path7073"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 81.379011,91.931065 L 78.214821,64.046881 L
55.523838,56.869126 z"
+ id="path7075"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 41.341708,37.434209 L 13.877363,43.200977 L
55.283346,56.742618 z"
+ id="path7077"
+ style="opacity:1;fill:#f6e59d;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 29.616903,91.931065 L 32.781093,64.046881 L
55.472076,56.869126 z"
+ id="path7079"
+ style="opacity:1;fill:#f3df8b;fill-opacity:1;enable-background:new"
/>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/logo.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/logo.png
new file mode 100644
index 0000000..66a3104
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/logo.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/note.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/note.png
new file mode 100644
index 0000000..d6c4518
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/note.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/note.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/note.svg
new file mode 100644
index 0000000..70e43b6
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/note.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="note.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/note.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata16">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="1024"
+ inkscape:window-width="1205"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="22.217181"
+ inkscape:cy="20"
+ inkscape:window-x="334"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective18" />
+ </defs>
+ <g
+ transform="matrix(0.468275,0,0,0.468275,-5.7626904,-7.4142703)"
+ id="layer1">
+ <g
+ transform="matrix(0.115136,0,0,0.115136,9.7283,21.77356)"
+ id="g8014"
+ style="enable-background:new">
+ <g
+ id="g8518"
+ style="opacity:1">
+ <path
+ d="M -2512.4524,56.33197 L 3090.4719,56.33197 L 3090.4719,4607.3813 L
-2512.4524,4607.3813 L -2512.4524,56.33197 z"
+
transform="matrix(0.1104659,-2.3734892e-2,2.2163258e-2,0.1031513,308.46782,74.820675)"
+ id="rect8018"
+
style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ <g
+
transform="matrix(0.5141653,-7.1944682e-2,7.1944682e-2,0.5141653,146.04015,-82.639785)"
+ id="g8020">
+ <path
+ d="M 511.14114,441.25315 C 527.3248,533.52772 464.31248,622.82928
370.39916,640.71378 C 276.48584,658.59828 187.23462,598.29322 171.05095,506.01865 C
154.86728,413.74408 217.8796,324.44253 311.79292,306.55803 C 405.70624,288.67353
494.95747,348.97858 511.14114,441.25315 z"
+ id="path8022"
+
style="opacity:1;fill:#e0c96f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(1.2585415,-0.2300055,0.2168789,1.1867072,-248.76141,68.254424)"
+ id="path8024"
+
style="opacity:1;fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 358.5625,281.15625 C 348.09597,281.05155 337.43773,281.94729
326.71875,283.90625 C 240.96686,299.57789 183.37901,377.92385 198.15625,458.78125 C
209.70749,521.98673 262.12957,567.92122 325.40625,577.5625 L 357.25,433.6875 L
509.34375,405.875 C 509.14405,404.58166 509.0804,403.29487 508.84375,402 C
495.91366,331.24978 431.82821,281.88918 358.5625,281.15625 z"
+ id="path8026"
+
style="opacity:1;fill:#b60000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 294.2107,361.9442 L 282.79367,370.38482 L 261.73414,386.13346 C
253.13706,404.40842 254.3359,423.7989 259.7176,444.39774 C 273.6797,497.83861
313.42636,523.96124 369.50989,517.58957 C 398.21848,514.32797 424.51832,504.67345
440.64696,484.15958 L 469.89512,447.48298 L 294.2107,361.9442 z"
+ id="path8028"
+
style="fill:#750000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.09999999;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-78.013985,79.234385)"
+ id="path8030"
+
style="opacity:1;fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-69.306684,71.273294)"
+ id="path8032"
+
style="opacity:1;fill:#e11212;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/red.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/red.png
new file mode 100644
index 0000000..d32d5e2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/red.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/shade.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/shade.png
new file mode 100644
index 0000000..a73afdf
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/shade.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/shine.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/shine.png
new file mode 100644
index 0000000..a18f7c4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/shine.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-back.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-back.png
new file mode 100644
index 0000000..d320f26
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-back.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-forward.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-forward.png
new file mode 100644
index 0000000..1ee5a29
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-forward.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-up.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-up.png
new file mode 100644
index 0000000..1cd7332
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-go-up.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-home.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-home.png
new file mode 100644
index 0000000..122536d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/stock-home.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/title_logo.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/title_logo.png
new file mode 100644
index 0000000..d5182b4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/title_logo.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/title_logo.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/title_logo.svg
new file mode 100644
index 0000000..e8fd52b
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/title_logo.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="220"
+ height="70"
+ id="svg6180">
+ <defs
+ id="defs6182" />
+ <g
+ transform="translate(-266.55899,-345.34488)"
+ id="layer1">
+ <path
+ d="m 316.7736,397.581 c 0,0 0,0 -20.53889,0 0.3327,4.45245 3.92157,7.77609
8.70715,7.77609 3.38983,0 6.31456,-1.39616 8.64094,-3.65507 0.46553,-0.46679
0.99726,-0.59962 1.59519,-0.59962 0.79781,0 1.59561,0.39932 2.12692,1.06388 0.3327,0.46553
0.53216,0.99726 0.53216,1.52857 0,0.73118 -0.3327,1.52857 -0.93106,2.12734 -2.7919,2.99052
-7.51086,4.98503 -12.16403,4.98503 -8.44149,0 -15.22074,-6.77967 -15.22074,-15.22158
0,-8.44149 6.58022,-15.22074 15.02171,-15.22074 8.37529,0 14.62323,6.51317
14.62323,15.08749 0,1.26418 -1.12924,2.12861 -2.39258,2.12861 z m -12.23065,-11.76512 c
-4.45329,0 -7.51085,2.92473 -8.17499,7.17731 10.03626,0 16.35083,0 16.35083,0
-0.59836,-4.05355 -3.78874,-7.17731 -8.17584,-7.17731 z"
+ id="path11"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 375.46344,410.80807 c -8.44106,0 -15.22074,-6.77968 -15.22074,-15.22159
0,-8.44149 6.77968,-15.22074 15.22074,-15.22074 8.44234,0 15.22159,6.77925
15.22159,15.22074 -4.2e-4,8.44149 -6.77968,15.22159 -15.22159,15.22159 z m 0,-24.65992 c
-5.31688,0 -8.77377,4.25427 -8.77377,9.43833 0,5.18364 3.45689,9.43833 8.77377,9.43833
5.31731,0 8.77504,-4.25469 8.77504,-9.43833 -4.2e-4,-5.18406 -3.45773,-9.43833
-8.77504,-9.43833 z"
+ id="path13"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 412.66183,380.36574 c -4.45963,0 -7.40966,1.319 -10.01391,4.62956 l
-0.24036,-1.53995 0,0 c -0.20198,-1.60743 -1.57326,-2.84926 -3.23382,-2.84926 -1.80139,0
-3.26206,1.459 -3.26206,3.26081 0,0.003 0,0.005 0,0.008 l 0,0 0,0.003 0,0 0,23.40712 c
0,1.79464 1.46194,3.25743 3.257,3.25743 1.79465,0 3.25744,-1.46279 3.25744,-3.25743 l
0,-12.56209 c 0,-5.71621 4.98502,-8.57432 10.23613,-8.57432 1.59519,0 2.85726,-1.32953
2.85726,-2.92515 0,-1.59561 -1.26207,-2.85726 -2.85768,-2.85726 z"
+ id="path15"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 447.02614,395.58648 c 0.0666,-8.17541 -5.78326,-15.22074
-15.222,-15.22074 -8.44192,0 -15.28779,6.77925 -15.28779,15.22074 0,8.44191
6.64684,15.22159 14.68985,15.22159 4.01434,0 7.62682,-2.06621 9.23846,-4.22518 l
0.79359,2.01434 0,0 c 0.42589,1.13177 1.5176,1.93717 2.7978,1.93717 1.65001,0
2.98756,-1.33671 2.99009,-2.98545 l 0,0 0,-7.80687 0,0 0,-4.1556 z m -15.222,9.43833 c
-5.31773,0 -8.77419,-4.25469 -8.77419,-9.43833 0,-5.18406 3.45604,-9.43833
8.77419,-9.43833 5.3173,0 8.77419,4.25427 8.77419,9.43833 0,5.18364 -3.45689,9.43833
-8.77419,9.43833 z"
+ id="path17"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 355.01479,368.3337 c 0,-1.7938 -1.46194,-3.18997 -3.25659,-3.18997
-1.79422,0 -3.25743,1.39659 -3.25743,3.18997 l 0,17.1499 c -1.66097,-3.05756
-5.25026,-5.11786 -9.50495,-5.11786 -8.64052,0 -14.42336,6.51318 -14.42336,15.22074
0,8.70757 5.98229,15.22159 14.42336,15.22159 3.76555,0 7.03057,-1.55429 8.98587,-4.25554 l
0.72317,1.83428 c 0.44782,1.25912 1.64917,2.16024 3.06051,2.16024 1.78621,0
3.24984,-1.45435 3.24984,-3.24815 0,-0.005 0,-0.009 0,-0.0139 l 0,0 0,-38.95128 -4.2e-4,0
z m -15.22116,36.69111 c -5.31731,0 -8.70715,-4.25469 -8.70715,-9.43833 0,-5.18406
3.38984,-9.43833 8.70715,-9.43833 5.31773,0 8.70714,4.0544 8.70714,9.43833 0,5.38309
-3.38941,9.43833 -8.70714,9.43833 z"
+ id="path19"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 287.21553,365.34023 c -0.59414,-0.0877 -1.19966,-0.13198
-1.80097,-0.13198 -6.73118,0 -12.20746,5.4767 -12.20746,12.20788 l 0,3.8132 -3.98903,0 c
-1.46237,0 -2.65908,1.19671 -2.65908,2.65781 0,1.46321 1.19671,2.93738 2.65908,2.93738 l
3.98819,0 0,20.46004 c 0,1.79464 1.46236,3.25743 3.25658,3.25743 1.79507,0
3.25744,-1.46279 3.25744,-3.25743 l 0,-20.46004 4.40986,0 c 1.46194,0 2.65823,-1.47417
2.65823,-2.93738 0,-1.46152 -1.19629,-2.65823 -2.65823,-2.65823 l -4.40733,0 0,-3.8132 c
0,-3.13852 2.55323,-6.11469 5.69175,-6.11469 0.28294,0 0.56757,0.0211 0.84672,0.062
1.78031,0.26355 3.4358,-0.54269 3.70019,-2.32342 0.2627,-1.77904 -0.96606,-3.43538
-2.74594,-3.69935 z"
+ id="path21"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 482.01243,363.57426 c 0,-10.06788 -8.16108,-18.22938 -18.22897,-18.22938
-10.06282,0 -18.22179,8.15475 -18.22854,18.21631 l -4.2e-4,-4.2e-4 0,14.1071 4.2e-4,4.2e-4
c 0.005,2.28463 1.85832,4.13409 4.14463,4.13409 0.007,0 0.0127,-8.4e-4 0.0194,-8.4e-4 l
0.001,8.4e-4 14.07083,0 0,0 c 10.06409,-0.004 18.22138,-8.16276 18.22138,-18.22812
z"
+ id="path25"
+ style="fill:#294172" />
+ <path
+ d="m 469.13577,349.66577 c -4.72528,0 -8.55576,3.83049 -8.55576,8.55577
0,0.002 0,0.004 0,0.006 l 0,4.52836 -4.51444,0 c -8.5e-4,0 -8.5e-4,0 -0.001,0 -4.72528,0
-8.55576,3.81193 -8.55576,8.53678 0,4.72528 3.83048,8.55577 8.55576,8.55577 4.72486,0
8.55534,-3.83049 8.55534,-8.55577 0,-0.002 0,-0.004 0,-0.006 l 0,-4.54733 4.51444,0 c
8.5e-4,0 0.001,0 0.002,0 4.72486,0 8.55534,-3.79296 8.55534,-8.51781 0,-4.72528
-3.83048,-8.55577 -8.55534,-8.55577 z m -8.55576,21.63483 c -0.004,2.48998
-2.02446,4.50811 -4.51571,4.50811 -2.49378,0 -4.53426,-2.02193 -4.53426,-4.5157 0,-2.49421
2.04048,-4.55366 4.53426,-4.55366 0.002,0 0.004,4.2e-4 0.006,4.2e-4 l 3.86971,0 c 0.001,0
0.002,-4.2e-4 0.003,-4.2e-4 0.35209,0 0.63799,0.28505 0.63799,0.63715 0,4.2e-4
-4.2e-4,8.4e-4 -4.2e-4,0.001 l 0,3.92284 -4.2e-4,0 z m 8.55534,-8.5448 c -0.001,0 -0.003,0
-0.004,0 l -3.87223,0 c -8.4e-4,0 -0.002,0 -0.002,0 -0.35252,0 -0.63757,-0.28506
-0.63757,-0.63758 l 0,-4.2e-4 0,-3.90343 c 0.004,-2.49083 2.02
446,-4.50854 4.51571,-4.50854 2.49378,0 4.53468,2.02193 4.53468,4.51613 4.2e-4,2.49336
-2.04048,4.53384 -4.53426,4.53384 z"
+ id="path29"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 460.58001,362.7558 0,-4.52836 c 0,-0.002 0,-0.004 0,-0.006 0,-4.72528
3.83048,-8.55577 8.55576,-8.55577 0.71685,0 1.22623,0.0805 1.88952,0.25469 0.96774,0.25385
1.75796,1.04618 1.75838,1.96922 4.2e-4,1.11575 -0.80919,1.92621 -2.0194,1.92621 -0.57642,0
-0.78473,-0.11048 -1.62892,-0.11048 -2.49125,0 -4.51149,2.01771 -4.51571,4.50854 l
0,3.90385 0,4.2e-4 c 0,0.35252 0.28505,0.63758 0.63757,0.63758 4.3e-4,0 0.001,0 0.002,0 l
2.96521,0 c 1.10521,0 1.99747,0.88467 1.99832,1.99283 0,1.10816 -0.89353,1.99114
-1.99832,1.99114 l -3.60489,0 0,4.54733 c 0,0.002 0,0.004 0,0.006 0,4.72485
-3.83048,8.55534 -8.55534,8.55534 -0.71684,0 -1.22623,-0.0805 -1.88952,-0.25469
-0.96774,-0.25343 -1.75838,-1.04618 -1.7588,-1.9688 0,-1.11575 0.80919,-1.92663
2.01982,-1.92663 0.576,0 0.78473,0.11048 1.6285,0.11048 2.49125,0 4.51191,-2.01771
4.51613,-4.50811 0,0 0,-3.92368 0,-3.9241 0,-0.35168 -0.2859,-0.63673 -0.63799,-0.63673
-4.3e-4,0 -8.5e-4,0 -0.002,0 l -2.96521,-4.2e-4 c -1.10521,0 -1.
99831,-0.88214 -1.99831,-1.9903 -4.3e-4,-1.11533 0.90238,-1.99367 2.01939,-1.99367 l
3.58339,0 0,0 z"
+ id="path31"
+ style="fill:#ffffff" />
+ <path
+ d="m 477.41661,378.55292 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="text6223"
+ style="fill:#294172;enable-background:new" />
+ </g>
+ <path
+ d="m 181.98344,61.675273 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="path2391"
+ style="fill:#294172;enable-background:new" />
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/warning.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/warning.png
new file mode 100644
index 0000000..ce09951
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/warning.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/warning.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/warning.svg
new file mode 100644
index 0000000..5f2612c
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/warning.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="warning.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/warning.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2482">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="910"
+ inkscape:window-width="1284"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2484" />
+ </defs>
+ <g
+ transform="matrix(0.4536635,0,0,0.4536635,-5.1836431,-4.6889387)"
+ id="layer1">
+ <g
+ transform="translate(2745.6887,-1555.5977)"
+ id="g8304"
+ style="enable-background:new">
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.8233528,8.9983906e-3,-8.9983906e-3,0.8233528,-1398.5561,740.7914)"
+ id="path8034"
+
style="opacity:1;fill:#efd259;fill-opacity:1;stroke:#efd259;stroke-opacity:1"
/>
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.6467652,7.0684723e-3,-7.0684723e-3,0.6467652,-1675.7492,927.16391)"
+ id="path8036"
+
style="opacity:1;fill:#a42324;fill-opacity:1;stroke:#a42324;stroke-opacity:1"
/>
+ <path
+ d="M -2686.7886,1597.753 C -2686.627,1596.5292 -2686.5462,1595.6987
-2686.5462,1595.218 C -2686.5462,1593.1637 -2688.0814,1592.0711 -2690.9899,1592.0711 C
-2693.8985,1592.0711 -2695.4336,1593.12 -2695.4336,1595.218 C -2695.4336,1595.961
-2695.3528,1596.7914 -2695.1912,1597.753 L -2692.929,1614.4491 L -2689.0508,1614.4491 L
-2686.7886,1597.753"
+ id="path8038"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ <path
+ d="M -2690.9899,1617.8197 C -2693.6124,1617.8197 -2695.8118,1619.9346
-2695.8118,1622.6416 C -2695.8118,1625.3486 -2693.6124,1627.4635 -2690.9899,1627.4635 C
-2688.2829,1627.4635 -2686.168,1625.264 -2686.168,1622.6416 C -2686.168,1619.9346
-2688.2829,1617.8197 -2690.9899,1617.8197"
+ id="path8040"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/watermark-draft.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/watermark-draft.png
new file mode 100644
index 0000000..0ead5af
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/watermark-draft.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/yellow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/yellow.png
new file mode 100644
index 0000000..223865d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/Common_Content/images/yellow.png
differ
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/antenna-xnec2c.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/antenna-xnec2c.html
new file mode 100644
index 0000000..178331c
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/antenna-xnec2c.html
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>5.2. xnec2c</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="antenna.html" title="5. Antenna and Propagation Modeling"
/><link rel="prev" href="antenna.html" title="5. Antenna
and Propagation Modeling" /><link rel="next"
href="packet.html" title="6. Packet and APRS"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="antenna.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="packet.html"><strong>Next</str
ong></a></li></ul><div xml:lang="en-US"
class="section" id="antenna-xnec2c" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">5.2. xnec2c</h3></div></div></div><div
class="para">
+ <span
class="application"><strong>xnec2c</strong></span> is a GUI
wrapper on the popular NEC2 antenna modeling program. The application allows the design of
an arbitrary antenna, and displays gain, impedance and other useful results.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/Yagi.png" width="534.6" alt="xnec2c -
yagi" /><div class="longdesc"><div class="para">
+ xnec2c display of 6 element 20 meter yagi
+ </div></div></div></div><h6>Figure 30. xnec2c -
yagi</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ <span
class="application"><strong>xnec2c</strong></span> displays
its output in up to three windows. The first window shows the model the user has provided:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/xnec2c-structure.png" width="270"
alt="Structure display of a collinear" /><div
class="longdesc"><div class="para">
+ structure
+ </div></div></div></div><h6>Figure 31. Structure
display of a collinear</h6></div><br class="figure-break" />
+ The user may rotate the view with the two numeric controls. The <span
class="guilabel"><strong>X</strong></span>, <span
class="guilabel"><strong>Y</strong></span> and <span
class="guilabel"><strong>Z</strong></span> buttons permit
views along the three axes, and the curved arrow button returns to the default isometric
view.
+ </div><div class="para">
+ Selecting <span class="guimenuitem"><strong>Radiation
Pattern</strong></span> from the <span
class="guimenu"><strong>View</strong></span> menu opens the
radiation pattern window (<a class="xref"
href="antenna-xnec2c.html#xnec2c-radiation">Figure 32, “Radiation Pattern
Display”</a>). The view may be rotated in the same manner as the structure window.
Buttons at the top allow for selection of the radiation pattern or the field pattern
display.
+ <div class="figure" id="xnec2c-radiation"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/xnec2c-radiation.png" width="270"
alt="Radiation Pattern Display" /><div
class="longdesc"><div class="para">
+ Radiation Pattern
+ </div></div></div></div><h6>Figure 32. Radiation
Pattern Display</h6></div><br class="figure-break" />
+ The <span
class="guilabel"><strong>dB</strong></span> / <span
class="guilabel"><strong>MHz</strong></span> controls allow
for specifying the precise frequency at which the gain is to be displayed.
+ </div><div class="para">
+ Selecting <span class="guimenuitem"><strong>Frequency
Plots</strong></span> from the <span
class="guimenu"><strong>View</strong></span> menu opens the
frequency data plots window (<a class="xref"
href="antenna-xnec2c.html#xnec2c-dataplots">Figure 33, “Frequency Data Plots
Display”</a>). Buttons along the top permit display of SWR, impedance, phase, etc.
+ <div class="figure" id="xnec2c-dataplots"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-xnec2c/xnec2c-plots.png" width="270"
alt="Frequency Data Plots Display" /><div
class="longdesc"><div class="para">
+ Data plots
+ </div></div></div></div><h6>Figure 33. Frequency Data
Plots Display</h6></div><br class="figure-break" />
+ Clicking on the graph causes the gain, SWR and impedance to be displayed immediately
above the graphs for the selected frequency.
+ </div><div class="para">
+ More complete documentation is installed with the application and may be found at <a
href="file:///usr/share/doc/xnec2c-1.5/xnec2c.html">file:///usr/share/doc/xnec2c-1.5/xnec2c.html</a>
after the application has been installed.
+ </div><div class="section" id="idm217635821184"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217635821184">5.2.1. Improving calculation
performance</h4></div></div></div><div
class="para">
+ When a complex antenna with many segments and many frequency steps is required, the
calculation can take some time. <span
class="application"><strong>xnec2c</strong></span> is able
to take advantage of modern, multicore processors by specifying <code
class="command">-j <n></code>, where <n> is
the number of subprocesses to spawn. Many multicore processors can create two threads per
core, so a command line entry of
+<pre class="screen">
+xnec2c -j 8 &
+</pre>
+ can improve performance by almost a factor of eight on a quad core processor.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="antenna.html"><strong>Prev</strong>5. Antenna and
Propagation Modeling</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="packet.html"><strong>Next</strong>6. Packet and
APRS</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/antenna.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/antenna.html
new file mode 100644
index 0000000..4ef3385
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/antenna.html
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>5. Antenna and Propagation Modeling</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora-Amateur_Radio_Guide-19-en-US-0-0" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="logging-xlog.html" title="4.2. xlog"
/><link rel="next" href="antenna-xnec2c.html"
title="5.2. xnec2c" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="logging-xlog.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="antenna-xnec2c.html"><strong>Next</strong></a></li></ul><div
xml
:lang="en-US" class="section" id="antenna"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">5. Antenna and Propagation
Modeling</h2></div></div></div><div class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="antenna-splat" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">5.1. splat</h3></div></div></div><div
class="para">
+ <code class="command">splat</code> is a Surface Path Length And
Terrain analysis application which can perform path loss calculations as well as generate
coverage maps. Primarily intended for VHF/UHF, it can help plan repeater coverage or plan
emergency communications strategies.
+ </div><div class="section"
id="antenna-splat-setup"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">5.1.1. Installation and
setup</h4></div></div></div><div class="para">
+ Installing <code class="command">splat</code> is
straightforward:
+<pre class="screen">
+ su -c 'yum install splat'
+</pre>
+
+ </div><div class="section" id="idm217633961392"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217633961392">5.1.1.1. Obtaining Terrain
Files</h5></div></div></div><div class="para">
+ Before it can be useful, <code class="command">splat</code>
requires files that describe the terrain around the station to be modelled. First,
determine the latitude and longitude of the station. Then download the nine terrain files
centered on that latitude and longitude from <a
href="http://e0srp01u.ecs.nasa.gov/srtm/version2/SRTM3/">htt...;.
+ </div><div class="para">
+ Unzip the nine files and convert them from <code
class="filename">hgt</code> files to <code
class="filename">sdf</code> with the <code
class="command">srtm2sdf</code> utility. For example:
+<pre class="screen">
+ srtm2sdf N41W082.hgt
+</pre>
+
+ </div><div class="para">
+ Do this for each of the nine files. Those files can now be placed in a directory
where you wish to store terrain files, or they can be placed in the directory where you
wish to work with <code class="command">splat</code>
+ </div><div class="para">
+ If you will be modelling stations over a wide geographic area, you may wish to
download and convert additional files. <code
class="command">splat</code> will select those files it requires for a
particular calculation.
+ </div></div><div class="section"
id="idm217634366400"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634366400">5.1.1.2. Obtaining cartographic boundary
files</h5></div></div></div><div class="para">
+ <code class="command">splat</code> will work with just the
terrain files. However, for path loss maps, the resulting maps can be more useful if they
are marked with political boundaries and names of towns and cities. For the United States,
county outlines can be downloaded from <a
href="http://www.census.gov/geo/www/cob/co2000.html#ascii">h...
and 'census designated areas' from <a
href="http://www.census.gov/geo/www/cob/pl2000.html#ascii">h...;.
+ </div><div class="para">
+ For each of these, there are two files, an <code
class="filename">xxyy_d00.dat</code> and <code
class="filename">xxyy_d00a.dat</code>, where xx is 'co' for
county and 'pl' for place, and yy is a state number. A file of place names can be
generated from the 'a' file with the <code
class="command">citydecoder</code> utility. For example:
+<pre class="screen">
+ citydecoder pl37 >cities.dat
+</pre>
+ The <code class="filename">cities.dat</code> file is simply a
list of names followed by latitude and longitude. You may edit the file with a text editor
to insert additional places which will be marked on the map with a red dot.
+ </div></div></div><div class="section"
id="antenna-splat-using"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">5.1.2. Using
SPLAT!</h4></div></div></div><div class="para">
+ <code class="command">splat</code> can perform calculations for
a particular path, or generate a map showing path loss or signal strength over a region.
In any case <code class="command">splat</code> needs at least one
file identifying the transmitter location. For a specific path, it needs an identical file
for the receiver. If you would like signal strength calculations, you will need another
file with more details about the transmitter.
+ </div><div class="section" id="idm217639747440"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217639747440">5.1.2.1. The QTH
file</h5></div></div></div><div class="para">
+ You tell <code class="command">splat</code> about a particular
station (transmitter or receiver) with a <code
class="filename">qth</code> file. This file has four lines:
+ <div class="orderedlist"><ol><li
class="listitem"><div class="para">
+ The name of the station
+ </div></li><li class="listitem"><div
class="para">
+ The latitude of the station
+ </div></li><li class="listitem"><div
class="para">
+ The longitude of the station
+ </div></li><li class="listitem"><div
class="para">
+ The antenna height above ground
+ </div></li></ol></div>
+
+ </div><div class="para">
+ Here is an example <code class="filename">qth</code> file:
+<pre class="screen">
+ W8KEA-4
+ 43 38 05
+ 84 15 41
+ 124.0
+</pre>
+ The <code class="filename">qth</code> file should be named for
the station. The name of the file in the above example would be <code
class="filename">W8KEA-4.qth</code>.
+ </div><div class="para">
+ By default, <code class="command">splat</code> uses British
units; heights are in feet, distances are in miles. However, invoking <code
class="command">splat</code> with the <code
class="command">-metric</code> switch will cause it to use metric
units.
+ </div></div><div class="section"
id="idm217644592048"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217644592048">5.1.2.2. The LRP
file</h5></div></div></div><div class="para">
+ If you would like <code class="command">splat</code> to
calculate signal strengths, it needs to know a little more about the transmitter. You
provide this information in a file whose name matches that of the <code
class="filename">qth</code> file but has an extension of <code
class="filename">lrp</code>.
+ </div><div class="para">
+ The <code class="filename">lrp</code> file has 9 lines:
+ <div class="orderedlist"><ol><li
class="listitem"><div class="para">
+ Earth Dielectric Constant. If you do not have measured data available, the
<code class="command">splat</code> man page has a table that can
help you estimate a value.
+ </div></li><li class="listitem"><div
class="para">
+ Earth Conductivity
+ </div></li><li class="listitem"><div
class="para">
+ Atmospheric Bending Constant
+ </div></li><li class="listitem"><div
class="para">
+ Frequency
+ </div></li><li class="listitem"><div
class="para">
+ Radio Climate. This is a code describing the terrain. See the table in the man
page
+ </div></li><li class="listitem"><div
class="para">
+ Polarization
+ </div></li><li class="listitem"><div
class="para">
+ Fraction of situations. This and the following line reflect how the Longley-Rice
calculations are to be carried out. In the example below, <code
class="command">splat</code> will calculate the maximum path loss
experienced 50% of the time in 50% of the situations.
+ </div></li><li class="listitem"><div
class="para">
+ Fraction of time
+ </div></li><li class="listitem"><div
class="para">
+ Effective radiated power - power out less feedline loss times antenna gain
+ </div></li></ol></div>
+
+<pre class="screen">
+ 15.000 ; Earth Dielectric Constant (Relative permittivity)
+ 0.005 ; Earth Conductivity (Siemens per meter)
+ 301.000 ; Atmospheric Bending Constant (N-Units)
+ 145.090 ; Frequency in MHz (20 MHz to 20 GHz)
+ 5 ; Radio Climate
+ 1 ; Polarization (0 = Horizontal, 1 = Vertical)
+ 0.50 ; Fraction of situations
+ 0.50 ; Fraction of time
+ 126.00 ; ERP
+</pre>
+ You may leave out the last line in which case <code
class="command">splat</code> will calculate only path loss.
+ </div></div><div class="section"
id="idm217632381664"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217632381664">5.1.2.3. Making a map of
coverage</h5></div></div></div><div class="para">
+ .
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-splat/AR-SPLAT1-small.png" width="534.6"
alt="Coverage map with constrained distance" /><div
class="longdesc"><div class="para">
+ Coverage Map with constrained distance
+ </div></div></div></div><h6>Figure 27. Coverage map
with constrained distance</h6></div><br class="figure-break"
/>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-splat/AR-SPLAT2-small.png" width="534.6"
alt="Coverage map with unconstrained distance" /><div
class="longdesc"><div class="para">
+ Coverage Map with unconstrained distance
+ </div></div></div></div><h6>Figure 28. Coverage map
with unconstrained distance</h6></div><br class="figure-break"
/>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/antenna-splat/AR-SPLAT1-legend.png" width="534.6"
alt="Signal Strength Legend" /><div class="longdesc"><div
class="para">
+ Signal strength legend at bottom of map
+ </div></div></div></div><h6>Figure 29. Signal
Strength Legend</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217614419520"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217614419520">5.1.2.4. Calculating a point-to-point
path</h5></div></div></div><div class="para">
+ .
+ </div></div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="logging-xlog.html"><strong>Prev</strong>4.2. xlog</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="antenna-xnec2c.html"><strong>Next</strong>5.2. xnec2c</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/apas02.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/apas02.html
new file mode 100644
index 0000000..630ddfd
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/apas02.html
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>A.2. Installing Software with yum</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora-Amateur_Radio_Guide-19-en-US-0-0" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="appe-Installing_Software.html" title="A. Installing Software on
Fedora" /><link rel="prev"
href="appe-Installing_Software.html" title="A. Installing Software on
Fedora" /><link rel="next"
href="appe-Publican-Revision_History.html" title="B. Revision History"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="appe-Installing_Software.html"><strong>Prev</strong></a></li>
<li class="next"><a accesskey="n"
href="appe-Publican-Revision_History.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217614060352"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217614060352">A.2. Installing Software with
yum</h3></div></div></div><div class="para">
+ Unlike PackageKit, where the system administrator may choose to allow
non-administrative users to install software, yum requires administrator authentication.
There are three ways this can be done:
+ <div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ You may switch to the root user with the <code
class="command">su</code> command:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ su -
+Password:
+[root@Cimbaoth ~]# yum install xastir
+Loaded plugins: presto, refresh-packagekit
+ ...
+</pre>
+
+ </div><div class="para">
+ This is the least desirable method. You must enter the root password, and you can
easily forget that you are operating as root. As the root user you can do unlimited
damage.
+ </div></li><li class="listitem"><div
class="para">
+ You may use the <code class="command">su</code> command with
the <code class="command">-c</code> switch. This allows you to enter
the single <code class="command">yum</code> command as root, but
immediately switches back to your normal user:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ su - 'yum install fldigi'
+Password:
+Loaded plugins: presto, refresh-packagekit
+ ...
+</pre>
+
+ </div><div class="para">
+ Notice that you must surround the command with quotation marks or apostrophes. This
still requires you to type the password, and is somewhat more annoying to type, but does
not leave you as root ready to do damage.
+ </div></li><li class="listitem"><div
class="para">
+ If the administrator has set you up in the <code
class="filename">sudoers</code> file, you may use the <code
class="command">sudo</code> command:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ sudo yum install wxapt
+Loaded plugins: presto, refresh-packagekit
+ ...
+</pre>
+
+ </div><div class="para">
+ This has several advantages; you don't need to type the password, you are not
left in a dangerous position, and if desired, the administrator can limit you to a select
set of commands so you do not inadvertently cause damage.
+ </div><div class="para">
+ Because this is the preferred approach, the examples in this guide use this method.
However, it does require setup ahead of time.
+ </div></li></ul></div>
+
+ </div><div class="para">
+ <code class="command">yum</code> may determine that additional
packages must be installed. <code class="command">yum</code> will
list these packages and calculate the total size of the download. It will then ask you
whether you want to actually download and install this package or group of packages:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ sudo yum install trustedqsl
+Loaded plugins: presto, refresh-packagekit
+Setting up and reading Presto delta metadata
+Setting up Install Process
+Resolving Dependencies
+--> Running transaction check
+---> Package trustedqsl.i386 0:1.11-3.fc10 set to be updated
+--> Processing Dependency: tqsllib >= 1.2 for package:
trustedqsl-1.11-3.fc10.i386
+--> Processing Dependency: libtqsllib.so.1 for package:
trustedqsl-1.11-3.fc10.i386
+--> Running transaction check
+---> Package tqsllib.i386 0:2.0-5.fc10 set to be updated
+--> Finished Dependency Resolution
+
+Dependencies Resolved
+
+================================================================================
+ Package Arch Version Repository Size
+================================================================================
+Installing:
+ trustedqsl i386 1.11-3.fc10 updates 557 k
+Installing for dependencies:
+ tqsllib i386 2.0-5.fc10 updates 167 k
+
+Transaction Summary
+================================================================================
+Install 2 Package(s)
+Update 0 Package(s)
+Remove 0 Package(s)
+
+Total download size: 723 k
+Is this ok [y/N]:
+</pre>
+ Answer <code class="command">y</code> or <code
class="command">N</code> depending on whether you want to download and
install the group of packages.
+ </div><div class="section" id="idm217642414832"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642414832">A.2.1. Searching for
Software</h4></div></div></div><div class="para">
+ <code class="command">yum</code> gives you a number of choices
for locating software you desire. To find information about a package you do not need to
provide credentials. Any user may look up information about a package. You may search for
specific words in the description using <code class="command">yum
search</code>:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ yum search APRS
+Loaded plugins: presto, refresh-packagekit
+Setting up and reading Presto delta metadata
+================================ Matched: APRS =================================
+aprsd.i386 : Internet gateway and client access to amateur radio APRS packet
+ : data
+xastir.i386 : Amateur Station Tracking and Reporting system for amateur radio
+[jjmcd@Cimbaoth ~]$
+</pre>
+ <code class="command">yum</code> will return the names of any
package with the specified phrase in its description, and a short description. You may get
a more detailed description of the package with the <code
class="command">yum info</code> command:
+<pre class="screen">
+[jjmcd@Cimbaoth ~]$ yum info xastir
+Loaded plugins: presto, refresh-packagekit
+Setting up and reading Presto delta metadata
+Installed Packages
+Name : xastir
+Arch : i386
+Version : 1.9.4
+Release : 5.fc10
+Size : 4.0 M
+Repo : installed
+Summary : Amateur Station Tracking and Reporting system for amateur radio
+URL :
http://www.xastir.org
+License : GPLv2+
+Description: Xastir is a graphical application that interfaces HAM radio
+ : and internet access to realtime mapping software.
+ :
+ : Install XASTIR if you are interested in APRS(tm) and HAM radio
+ : software.
+
+[jjmcd@Cimbaoth ~]$
+</pre>
+ Notice that <code class="command">yum</code> also tells you
whether the package is installed. Yum also gives you the address of the upstream website
so you may learn more about the package before installing it.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="appe-Installing_Software.html"><strong>Prev</strong>A. Installing
Software on Fedora</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="appe-Publican-Revision_History.html"><strong>Next</strong>B. Revision
History</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/appe-Installing_Software.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/appe-Installing_Software.html
new file mode 100644
index 0000000..a76ffb7
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/appe-Installing_Software.html
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>A. Installing Software on Fedora</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora-Amateur_Radio_Guide-19-en-US-0-0" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="others-xwota.html" title="8.8. xwota"
/><link rel="next" href="apas02.html"
title="A.2. Installing Software with yum" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-xwota.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="apas02.html"><strong>Next</strong></a></li></ul><
div xml:lang="en-US" class="appendix"
id="appe-Installing_Software" lang="en-US"><div
class="titlepage"><div><div><h1
class="title">Installing Software on
Fedora</h1></div></div></div><div class="para">
+ There are basically two ways to install software from the Fedora repositories; from the
GUI using <span class="package">PackageKit</span> and from the
command line using <span class="package">yum</span>. Because the
<span class="package">yum</span> approach is simpler, throughout
this document we describe that method. However, there are a number of details with respect
to <span class="package">yum</span> that are useful to know, and
some users feel more comfortable with a graphical user interface. Hence, this appendix.
+ </div><div class="section" id="idm217648766816"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217648766816">A.1. Installing Software with the
GUI</h3></div></div></div><div class="para">
+ Launch the <span class="package">PackageKit</span> application
by selecting the <span class="guilabel"><strong>Add/Remove
Software</strong></span> icon from the <span
class="guilabel"><strong>System Tools</strong></span>
group.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/PKicon.png" width="216"
alt="Add/Remove Software" /><div class="longdesc"><div
class="para">
+ Launching PackageKit
+ </div></div></div></div><h6>Figure A.1. Add/Remove
Software</h6></div><br class="figure-break" />
+ There may be a delay before the controls on the window that appears may be used. This
delay may be brief or lengthy, depending on what you have done earlier. The data used by
PackageKit is cached, and if it is stale, new data will be downloaded, which may take
several minutes.
+ </div><div class="para">
+ Type in the name of the package you wish to install in the text box at the upper left,
and select the <span
class="guilabel"><strong>Find</strong></span> button. There
may be a delay, and you may need to click the <span
class="guilabel"><strong>Find</strong></span> button a
second time.
+ </div><div class="para">
+ The package (perhaps with several others) will appear to the right. The closed box
indicates that the package is not installed on your system.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-2.png" width="534.6"
alt="Searching for Software" /><div class="longdesc"><div
class="para">
+ Searching for Software
+ </div></div></div></div><h6>Figure A.2. Searching for
Software</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Click on the check box next to the package you wish to install. A blue plus sign will
appear over the box indicating that is has been selected to install.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-3.png" width="534.6"
alt="Selecting a package to install" /><div
class="longdesc"><div class="para">
+ Selecting a package to install
+ </div></div></div></div><h6>Figure A.3. Selecting a
package to install</h6></div><br class="figure-break" />
+ You may repeat the process if you wish to install additional packages. When you have
selected the packages you wish, click the <span
class="guilabel"><strong>Apply</strong></span> button at
the lower right to install the packages.
+ </div><div class="para">
+ Depending on how your system has been configured, you may be prompted to enter the
password for the administrative user. If the package is unsigned, or is from a repository
you have not used before, you may be prompted for this password again. As a general rule,
only administrators may install software.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-4.png" width="444"
alt="Authorizing the installation" /><div
class="longdesc"><div class="para">
+ Authorizing the Installation
+ </div></div></div></div><h6>Figure A.4. Authorizing
the installation</h6></div><br class="figure-break" />
+ Enter the root password and click <span
class="guilabel"><strong>Authenticate</strong></span>.
+ </div><div class="para">
+ The package will then be installed. When the installation is complete, the package
will be shown as an open box, indicating that the package is installed. For some
applications, the application's icon may be displayed instead of the open box. The
<span class="guilabel"><strong>Apply</strong></span>
button will be disabled, indicating that there are no pending actions to apply.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-5.png" width="534.6"
alt="Package is installed" /><div class="longdesc"><div
class="para">
+ Package is installed
+ </div></div></div></div><h6>Figure A.5. Package is
installed</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The <span
class="guilabel"><strong>Find</strong></span> button
searches not only the name of the package, but also the package description. Some common
words may reveal several packages, some perhaps not those intended. For example, if you
typed in "circuit" with the intent of finding circuit design applications, you
may also find applications referring to wired communications circuits as well as racing
circuits!
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-7.png" width="534.6"
alt="Searching the description" /><div
class="longdesc"><div class="para">
+ Searching the description
+ </div></div></div></div><h6>Figure A.6. Searching the
description</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Sometimes you may want to try several variations of a word or phrase. If, for example,
you are looking for an SSTV application, trying "slowscan" or "slow
scan" will fail:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-8.png" width="534.6"
alt="Searching the description - failure" /><div
class="longdesc"><div class="para">
+ Searching the description
+ </div></div></div></div><h6>Figure A.7. Searching the
description - failure</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The developer of the slow scan application used the word "slow-scan" in his
description. <span class="package">PackageKit</span> is not smart
enough to guess what you meant or what the original developer was thinking.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/Installing_Software/Install-9.png" width="534.6"
alt="Searching the description - success" /><div
class="longdesc"><div class="para">
+ Searching the description
+ </div></div></div></div><h6>Figure A.8. Searching the
description - success</h6></div><br class="figure-break" />
+
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-xwota.html"><strong>Prev</strong>8.8. xwota</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="apas02.html"><strong>Next</strong>A.2. Installing Software
with yum</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/appe-Publican-Revision_History.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/appe-Publican-Revision_History.html
new file mode 100644
index 0000000..4cd1b4b
--- /dev/null
+++
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/appe-Publican-Revision_History.html
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>B. Revision History</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="apas02.html" title="A.2. Installing Software
with yum" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="apas02.html"><strong>Prev</strong></a></li><li
class="next"></li></ul><div xml:lang="en-US"
class="appendix" id="appe-Publican-Revision_History"
lang="en-US"><div
class="titlepage"><div><div><h1 class="
title">Revision History</h1></div></div></div><div
class="para">
+ <div class="revhistory"><table summary="Revision
History"><tr><th align="left" valign="top"
colspan="3"><strong>Revision
History</strong></th></tr><tr><td
align="left">Revision 19.1</td><td align="left">August
21, 2013</td><td align="left"><span
class="author"><span class="firstname">Eric</span>
<span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Branched for Fedora
19</td></tr><tr><td>Added
CHIRP.</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
16.1</td><td align="left">January 3, 2012</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Added fldigi back in now that it is
working</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
16.0</td><td align="left">December 10, 2011</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Changes for Fedora
16:</td></tr><tr><td>- New screenshots for
F16</td></tr><tr><td>- Remove fldigi (not working on 16
yet)</td></tr><tr><td>- Updates to installation
procedures</td></tr><tr><td>- Remove references to old GNOME
menu</td></tr><tr><td>- Add documentation for
xnec2c</td></tr><tr><td>- Add documentation fr
gspiceui</td></tr><tr><td>- Add documentation for
gpredict</td></tr><tr><td>- Correct error in xgridloc
documentation</td></tr><tr><td>- Add documentation for
gerbv</td></tr><tr><td>- Add documentation for
pcb</td></tr><tr><td>- Other mostly minor
touch-ups</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
15.90</td><td align="left">November 23, 2011</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Remove xdx, obsoleted in Fedora
16</td></tr><tr><td>Documentation for
Chirp</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.9</td><td align="left">November 9, 2010</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Documentation for
dxcc</td></tr><tr><td>Documentation for
gresistor</td></tr><tr><td>Documentation for
callgit</td></tr><tr><td>Correct typo in
colrdx</td></tr><tr><td>Correct typos in
xwota</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.8</td><td align="left">November 7, 2010</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Documentation for
rcrpanel</td></tr><tr><td>Documentation for
colrdx</td></tr><tr><td>Documentation for
xconvers</td></tr><tr><td>Documentation for
xdx</td></tr><tr><td>Documentation for
xastir</td></tr><tr><td>Documentation for
gEDA</td></tr><tr><td>Documentation for
gerbv</td></tr><tr><td>Documentation for
pcb</td></tr><tr><td>Documentation for
xwota</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.7</td><td align="left">November 20, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Installing Software
appendix</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.7</td><td align="left">October 31, 2009</td><td
align="left"><span class="author"><span
class="firstname">Eric</span> <span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Added xlog installation and setup
procedures.</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.6</td><td align="left">October 29, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>ibp</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.5</td><td align="left">October 29, 2009</td><td
align="left"><span class="author"><span
class="firstname">Randy</span> <span
class="surname">Berry</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>cwirc</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.4</td><td align="left">October 28, 2009</td><td
align="left"><span class="author"><span
class="firstname">Eric</span> <span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>xlog
screenshot</td></tr><tr><td>Additional info on
fldigi</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.3</td><td align="left">October 6, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>xgridloc</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.2</td><td align="left">October 4, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Beginning of SPLAT!
instructions</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0.1</td><td align="left">October 1, 2009</td><td
align="left"><span class="author"><span
class="firstname">John</span> <span
class="surname">McDonough</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Document
skeleton</td></tr></table>
+
+ </td></tr></table></div>
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="apas02.html"><strong>Prev</strong>A.2. Installing Software
with yum</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-gerbv.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-gerbv.html
new file mode 100644
index 0000000..b24c1bf
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-gerbv.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.2. gerbv</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="circuit.html" title="7. Circuit Design and Simulation"
/><link rel="prev" href="circuit.html" title="7. Circuit
Design and Simulation" /><link rel="next"
href="circuit-pcb.html" title="7.3. pcb" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="circuit-pcb.html"><strong>Next</strong></
a></li></ul><div xml:lang="en-US" class="section"
id="circuit-gerbv" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.2. gerbv</h3></div></div></div><div
class="para">
+ <span class="package">grebv</span> is a viewer for Gerber files.
+ </div><div class="para">
+ In addition to selectively viewing and coloring Gerber layers, <span
class="package">gerbv</span> allows the user to export the image in a
number of image formats for publication, as well as RS-274X compliant Gerbers and Excellon
drill files.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-gerbv/gerbv.png" width="534.6"
alt="gerbv" /><div class="longdesc"><div
class="para">
+ Viewing a PCB with gerbv
+ </div></div></div></div><h6>Figure 52. gerbv</h6></div><br
class="figure-break" />
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit.html"><strong>Prev</strong>7. Circuit Design and
Simulation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="circuit-pcb.html"><strong>Next</strong>7.3. pcb</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-gspiceui.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-gspiceui.html
new file mode 100644
index 0000000..cfd8c6f
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-gspiceui.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.4. gspiceui</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="circuit.html" title="7. Circuit Design and Simulation"
/><link rel="prev" href="circuit-pcb.html"
title="7.3. pcb" /><link rel="next" href="others.html"
title="8. Miscellaneous Applications" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit-pcb.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others.html"><strong>Next</strong></a></l
i></ul><div xml:lang="en-US" class="section"
id="circuit-gspiceui" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.4. gspiceui</h3></div></div></div><div
class="para">
+ <span
class="application"><strong>gspiceui</strong></span> is a
frontend to a SPICE simulation. The user may choose between the <span
class="application"><strong>gnucap</strong></span> or
<span
class="application"><strong>ng-spice</strong></span>
backends.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-gspiceui/gspiceui.png" width="534.6"
alt="gspiceui" /><div class="longdesc"><div
class="para">
+ A simple simulation with gspiceui
+ </div></div></div></div><h6>Figure 54. gspiceui</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ <span
class="application"><strong>gspiceui</strong></span> can
open a netlist produced by <span
class="application"><strong>gnetlist</strong></span> and
run the SPICE simulation without having to know the various SPICE commands.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit-pcb.html"><strong>Prev</strong>7.3. pcb</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others.html"><strong>Next</strong>8. Miscellaneous
Applications</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-pcb.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-pcb.html
new file mode 100644
index 0000000..f16227a
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit-pcb.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.3. pcb</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="circuit.html" title="7. Circuit Design and Simulation"
/><link rel="prev" href="circuit-gerbv.html"
title="7.2. gerbv" /><link rel="next"
href="circuit-gspiceui.html" title="7.4. gspiceui"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit-gerbv.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="circuit-gspiceui.html"><strong>Next</stro
ng></a></li></ul><div xml:lang="en-US"
class="section" id="circuit-pcb" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.3. pcb</h3></div></div></div><div
class="para">
+ <span class="package">pcb</span> allows for the capture of
printed circuit board layouts.
+ </div><div class="para">
+ In addition to purely manual layout, <span
class="package">pcb</span> can import netlists from gschem. A large
number of footprints are available or the user may develop his own.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-pcb/PCB.png" width="534.6" alt="pcb"
/><div class="longdesc"><div class="para">
+ Drawing a PCB with pcb
+ </div></div></div></div><h6>Figure 53. pcb</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ The application can generate a bill of material and drill file, and in addition to
printing various layers can export in a number of popular formats.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit-gerbv.html"><strong>Prev</strong>7.2. gerbv</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="circuit-gspiceui.html"><strong>Next</strong>7.4. gspiceui</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit.html
new file mode 100644
index 0000000..982b57a
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/circuit.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7. Circuit Design and Simulation</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora-Amateur_Radio_Guide-19-en-US-0-0" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="packet-xastir.html" title="6.3. xastir"
/><link rel="next" href="circuit-gerbv.html"
title="7.2. gerbv" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="packet-xastir.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="circuit-gerbv.html"><strong>Next</strong></a></li></ul><div
xm
l:lang="en-US" class="section" id="circuit"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7. Circuit Design and
Simulation</h2></div></div></div><div
class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="circuit-geda" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">7.1. gEDA</h3></div></div></div><div
class="para">
+ gEDA is a collection of packages for schematic capture, netlist generation, circuit
simulation and PCB layout. Included in the geda suite are:
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td> <span
class="package">geda-docs</span> - Documentation and example files
</td></tr><tr><td> <span
class="package">geda-gattrib</span> - gEDA attribute editor
</td></tr><tr><td> <span
class="package">geda-gnetlist</span> - Generates a netlist from a gEDA
schematic </td></tr><tr><td> <span
class="package">geda-symbols</span> - A library of symbols for gEDA
</td></tr><tr><td> <span
class="package">geda-gschem</span> - The gEDA schematic capture
application </td></tr><tr><td> <span
class="package">geda-gsymcheck</span> - A symbol checker for schematics
</td></tr><tr><td> In addition to the <span
class="package">geda-utils</span> utilities package, <span
class="package">geda-gaf</span> design automation package, and <span
class="package">libgeda</span> the gEDA library.
</td></tr></table>
+ Closely tied into gEDA and mentioned elsewhere in this guide are:
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td> <span
class="package">pcb</span> - The printed circuit board layout
application </td></tr><tr><td> <span
class="package">gerbv</span> - Gerber viewer
</td></tr><tr><td> <span
class="package">gwave</span> - The waveform viewer
</td></tr><tr><td> <span
class="package">ngspice</span> - The circuit simulator
</td></tr><tr><td> <span
class="package">gspiceui</span> - A GUI interface for <span
class="package">ngspice</span> </td></tr></table>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/circuit-geda/gEDA.png" width="534.6" alt="geda -
gschem" /><div class="longdesc"><div
class="para">
+ Drawing a schematic with gEDA
+ </div></div></div></div><h6>Figure 51. geda -
gschem</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Users wishing to take full advantage of gEDA should consider installing the <span
class="package">Electronic Lab</span> group which includes all the
above components as well as the <span
class="package">electronics-menu</span> package and a number of other
useful applications.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="packet-xastir.html"><strong>Prev</strong>6.3. xastir</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="circuit-gerbv.html"><strong>Next</strong>7.2. gerbv</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-1.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-1.png
new file mode 100755
index 0000000..1ca0f55
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-2.png
new file mode 100755
index 0000000..8e7b6a9
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-3.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-3.png
new file mode 100755
index 0000000..714c133
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-4.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-4.png
new file mode 100755
index 0000000..f00d112
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-4.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-5.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-5.png
new file mode 100755
index 0000000..bb6db08
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-5.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-7.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-7.png
new file mode 100755
index 0000000..c81994e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-7.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-8.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-8.png
new file mode 100755
index 0000000..c42c239
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-8.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-9.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-9.png
new file mode 100755
index 0000000..542678c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/Install-9.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/PKicon.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/PKicon.png
new file mode 100644
index 0000000..61a8305
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/Installing_Software/PKicon.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-large.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-large.png
new file mode 100644
index 0000000..093f5ff
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-large.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-legend.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-legend.png
new file mode 100755
index 0000000..983f985
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-legend.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-small.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-small.png
new file mode 100755
index 0000000..e4c427c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT1-small.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT2-small.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT2-small.png
new file mode 100644
index 0000000..0968146
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT2-small.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT3-small.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT3-small.png
new file mode 100644
index 0000000..337befc
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-splat/AR-SPLAT3-small.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/Yagi.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/Yagi.png
new file mode 100755
index 0000000..f024cf3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/Yagi.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-plots.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-plots.png
new file mode 100644
index 0000000..195b6a7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-plots.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-radiation.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-radiation.png
new file mode 100644
index 0000000..9043eab
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-radiation.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-structure.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-structure.png
new file mode 100644
index 0000000..a855a97
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c-structure.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c.png
new file mode 100644
index 0000000..6558eeb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/antenna-xnec2c/xnec2c.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-geda/gEDA.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-geda/gEDA.png
new file mode 100755
index 0000000..0ef21b5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-geda/gEDA.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-gerbv/gerbv.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-gerbv/gerbv.png
new file mode 100755
index 0000000..5a1b941
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-gerbv/gerbv.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-gspiceui/gspiceui.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-gspiceui/gspiceui.png
new file mode 100755
index 0000000..6c85b33
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-gspiceui/gspiceui.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-pcb/PCB.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-pcb/PCB.png
new file mode 100755
index 0000000..e7afe44
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/circuit-pcb/PCB.png differ
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/icon.svg
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/icon.svg
new file mode 100644
index 0000000..c471a60
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/icon.svg
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://web.resource.org/cc/"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+
style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)"
/>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)"
/>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504
381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C
372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504
390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504
424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C
415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504
433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504
500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C
491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504
509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504
464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C
455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504
473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93
471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49
473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49
475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05
471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04
469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+
transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875
L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C
31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L
32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375
C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+
style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L
287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091
301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C
307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432
309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C
581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C
574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363
314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124
292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363
293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/Awful.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/Awful.png
new file mode 100644
index 0000000..56c3c0f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/Awful.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck1.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck1.png
new file mode 100644
index 0000000..4057b00
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck2.png
new file mode 100644
index 0000000..bdfcec0
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck3.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck3.png
new file mode 100644
index 0000000..ad4e0c2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/DupeCheck3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/EditingQSO.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/EditingQSO.png
new file mode 100644
index 0000000..2c0f39f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/EditingQSO.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/ExitProgram.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/ExitProgram.png
new file mode 100644
index 0000000..a283ede
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/ExitProgram.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/FieldAttrib.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/FieldAttrib.png
new file mode 100644
index 0000000..dd08d71
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/FieldAttrib.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/SCPwindow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/SCPwindow.png
new file mode 100644
index 0000000..33b9c4a
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/SCPwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-InfoBar.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-InfoBar.png
new file mode 100644
index 0000000..9f6833e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-InfoBar.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-dupewindow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-dupewindow.png
new file mode 100644
index 0000000..1247241
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-dupewindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-full.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-full.png
new file mode 100644
index 0000000..6de68d7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-full.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-icon.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-icon.png
new file mode 100644
index 0000000..e0111a6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-icon.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-mainwindow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-mainwindow.png
new file mode 100644
index 0000000..f24acb6
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-mainwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-menu.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-menu.png
new file mode 100644
index 0000000..f8724a4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-menu.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-subwindow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-subwindow.png
new file mode 100644
index 0000000..5038f3c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/logging-qle/qle-subwindow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-callgit/CallGit.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-callgit/CallGit.png
new file mode 100644
index 0000000..a424f1c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-callgit/CallGit.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-cutecw/CuteCW.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-cutecw/CuteCW.png
new file mode 100644
index 0000000..a9551de
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-cutecw/CuteCW.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-dxcc/dxcc.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-dxcc/dxcc.png
new file mode 100755
index 0000000..256d5d5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-dxcc/dxcc.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-config.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-config.png
new file mode 100644
index 0000000..3a49347
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-config.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-groundstations.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-groundstations.png
new file mode 100644
index 0000000..99bff96
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-groundstations.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-hover.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-hover.png
new file mode 100644
index 0000000..2b5dc71
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-hover.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-skyataglance.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-skyataglance.png
new file mode 100644
index 0000000..837730a
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-skyataglance.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-stationlocation.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-stationlocation.png
new file mode 100644
index 0000000..d361012
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-stationlocation.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-update.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-update.png
new file mode 100644
index 0000000..174b8f1
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict-update.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict.png
new file mode 100755
index 0000000..4762342
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gpredict/gpredict.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gresistor/gResistor.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gresistor/gResistor.png
new file mode 100644
index 0000000..845e40d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-gresistor/gResistor.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-ibp/ibp-map.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-ibp/ibp-map.png
new file mode 100644
index 0000000..85292a1
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-ibp/ibp-map.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-ibp/ibp-text2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-ibp/ibp-text2.png
new file mode 100755
index 0000000..83f58ed
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-ibp/ibp-text2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Controls.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Controls.png
new file mode 100644
index 0000000..a728cf4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Controls.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial1.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial1.png
new file mode 100644
index 0000000..8716194
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial2.png
new file mode 100644
index 0000000..9653df7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial2.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial3.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial3.png
new file mode 100644
index 0000000..ac50fff
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/Dial3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/ExamplePanel.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/ExamplePanel.png
new file mode 100644
index 0000000..94bfb3f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/ExamplePanel.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/WhiteFill.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/WhiteFill.png
new file mode 100644
index 0000000..294b19c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-rcrpanel/WhiteFill.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xgridloc/Xgridloc.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xgridloc/Xgridloc.png
new file mode 100644
index 0000000..56694c1
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xgridloc/Xgridloc.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota-Query.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota-Query.png
new file mode 100644
index 0000000..ad707f3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota-Query.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota-Station_Info.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota-Station_Info.png
new file mode 100644
index 0000000..f94f950
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota-Station_Info.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota.png
new file mode 100644
index 0000000..fff5a73
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/others-xwota/xwota.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-colrdx/colrdx.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-colrdx/colrdx.png
new file mode 100644
index 0000000..c335437
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-colrdx/colrdx.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/Screenshot-xastir.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/Screenshot-xastir.png
new file mode 100644
index 0000000..4189a84
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/Screenshot-xastir.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Bookmarks.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Bookmarks.png
new file mode 100644
index 0000000..f341e85
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Bookmarks.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Config-Station.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Config-Station.png
new file mode 100644
index 0000000..c2433eb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Config-Station.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Defaults.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Defaults.png
new file mode 100644
index 0000000..bc3942d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Defaults.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-InterfaceStatus3.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-InterfaceStatus3.png
new file mode 100644
index 0000000..9d7a10c
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-InterfaceStatus3.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-KISS-TNC.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-KISS-TNC.png
new file mode 100644
index 0000000..36f2b23
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-KISS-TNC.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Chooser.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Chooser.png
new file mode 100644
index 0000000..323a7c7
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Chooser.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Properties.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Properties.png
new file mode 100644
index 0000000..3bf9dba
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Map-Properties.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Track-Station.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Track-Station.png
new file mode 100644
index 0000000..0f1e0e2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-Track-Station.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-findu-trail.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-findu-trail.png
new file mode 100644
index 0000000..1c13c55
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-findu-trail.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-gray.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-gray.png
new file mode 100644
index 0000000..6394ff2
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-gray.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-navy.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-navy.png
new file mode 100644
index 0000000..8f6e416
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-navy.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-palegreen.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-palegreen.png
new file mode 100644
index 0000000..21781c4
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-palegreen.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-shadow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-shadow.png
new file mode 100644
index 0000000..3c4a8d3
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-shadow.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-textonblack.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-textonblack.png
new file mode 100644
index 0000000..5b2f350
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-textonblack.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-w-config.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-w-config.png
new file mode 100644
index 0000000..f1fd12e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/XASTIR-w-config.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/xastir.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/xastir.png
new file mode 100755
index 0000000..dd17428
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xastir/xastir.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xconvers/xconvers-host.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xconvers/xconvers-host.png
new file mode 100644
index 0000000..5c9251e
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xconvers/xconvers-host.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xconvers/xconvers.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xconvers/xconvers.png
new file mode 100755
index 0000000..999fb71
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xconvers/xconvers.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xdx/xdx.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xdx/xdx.png
new file mode 100644
index 0000000..e532a7a
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/packet-xdx/xdx.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp001.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp001.png
new file mode 100644
index 0000000..c3a4a62
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp001.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp002.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp002.png
new file mode 100644
index 0000000..ecac1da
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp002.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp003.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp003.png
new file mode 100644
index 0000000..7fbcacb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp003.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp004.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp004.png
new file mode 100644
index 0000000..9799b72
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp004.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp005.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp005.png
new file mode 100644
index 0000000..5f89073
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp005.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp006.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp006.png
new file mode 100644
index 0000000..68930d5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp006.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp007.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp007.png
new file mode 100644
index 0000000..a2a28e5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp007.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp009.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp009.png
new file mode 100644
index 0000000..c7dc12b
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp009.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp010.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp010.png
new file mode 100644
index 0000000..eebd9c0
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp010.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp011.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp011.png
new file mode 100644
index 0000000..4694174
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirp011.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirpnoused1.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirpnoused1.png
new file mode 100644
index 0000000..ef4b54f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-chirp/chirpnoused1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig-icon.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig-icon.png
new file mode 100644
index 0000000..dabfefa
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig-icon.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig-mainwindow.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig-mainwindow.png
new file mode 100644
index 0000000..92e96cb
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig-mainwindow.png
differ
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig.png
new file mode 100644
index 0000000..6a1afa5
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/rig-grig/grig.png differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/soundcard-fldigi/FullPSK1.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/soundcard-fldigi/FullPSK1.png
new file mode 100644
index 0000000..beb6b2f
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/soundcard-fldigi/FullPSK1.png
differ
diff --git
a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/soundcard-fldigi/fldigi-screenshot2.png
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/soundcard-fldigi/fldigi-screenshot2.png
new file mode 100644
index 0000000..1dff46d
Binary files /dev/null and
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/images/soundcard-fldigi/fldigi-screenshot2.png
differ
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/index.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/index.html
new file mode 100644
index 0000000..99808f0
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/index.html
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Amateur Radio Guide</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><meta name="description" content="Fedora includes a wide range of
applications relevant to amateur radio operators. This guide describes the use of some of
those applications." /><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="next"
href="soundcard.html" title="2. Sound Card Modes"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"></li><li class="next"><a
accesskey="n"
href="soundcard.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="article" id="idm217671014240"
lang="en-US"><div class="titlepage"><div><div
class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12
pt" text-align="center"><span
class="productname">Fedora</span> <span
class="productnumber">19</span></div><div><h1
id="idm217671014240" class="title">Amateur Radio
Guide</h1></div><div><h3 class="subtitle"><em>A
guide for users of Fedora amateur radio
software</em></h3></div><div><h3
class="corpauthor">
+ <span class="inlinemediaobject"><object
data="Common_Content/images/title_logo.svg" type="image/svg+xml">
Logo</object></span>
+
+ </h3></div><div><div xml:lang="en-US"
class="authorgroup" lang="en-US"><div
class="author"><h3 class="author"><span
class="surname">The Fedora Documentation
Project</span></h3></div></div></div><div><div
id="idm217638180464" class="legalnotice"><h1
class="legalnotice">Legal Notice</h1><div
class="para">
+ Copyright <span class="trademark"></span>© 2010-2013 Fedora
Project Contributors.
+ </div><div class="para">
+ The text of and illustrations in this document are licensed by Red Hat under a Creative
Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An
explanation of CC-BY-SA is available at <a
href="http://creativecommons.org/licenses/by-sa/3.0/">http:/...;.
The original authors of this document, and Red Hat, designate the Fedora Project as the
"Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if
you distribute this document or an adaptation of it, you must provide the URL for the
original version.
+ </div><div class="para">
+ Red Hat, as the licensor of this document, waives the right to enforce, and agrees not
to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
+ </div><div class="para">
+ Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the
Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
+ </div><div class="para">
+ For guidelines on the permitted uses of the Fedora trademarks, refer to <a
href="https://fedoraproject.org/wiki/Legal:Trademark_guidelines"...;.
+ </div><div class="para">
+ <span class="trademark">Linux</span>® is the registered trademark
of Linus Torvalds in the United States and other countries.
+ </div><div class="para">
+ <span class="trademark">Java</span>® is a registered trademark of
Oracle and/or its affiliates.
+ </div><div class="para">
+ <span class="trademark">XFS</span>® is a trademark of Silicon
Graphics International Corp. or its subsidiaries in the United States and/or other
countries.
+ </div><div class="para">
+ <span class="trademark">MySQL</span>® is a registered trademark
of MySQL AB in the United States, the European Union and other countries.
+ </div><div class="para">
+ All other trademarks are the property of their respective owners.
+ </div></div></div><div><div
class="abstract"><h6>Abstract</h6><div
class="para">
+ Fedora includes a wide range of applications relevant to amateur radio operators. This
guide describes the use of some of those applications.
+ </div></div></div></div><hr /></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a href="index.html#intro">1.
Introduction</a></span></dt><dt><span
class="section"><a href="soundcard.html">2. Sound Card
Modes</a></span></dt><dd><dl><dt><span
class="section"><a
href="soundcard.html#soundcard-fldigi">2.1.
fldigi</a></span></dt></dl></dd><dt><span
class="section"><a href="rig.html">3. Rig
Control</a></span></dt><dd><dl><dt><span
class="section"><a href="rig.html#rig-chirp">3.1.
Chirp</a></span></dt><dt><span
class="section"><a href="rig-grig.html">3.2.
grig</a></span></dt></dl></dd><dt><span
class="section"><a href="logging.html">4. Logging and related
applications</a></span></dt><dd><dl><dt><span
class="section"><a href="logging.html#logging-qle">4.1.
qle</a></span></dt><dt><span class="section"><a
href="logging-xlog.html">4.2.
xlog</a></span></dt></dl></dd><dt><span
class="section"><a href="antenna.html">5. Antenna and
Propagation Modeling</a></span></dt><dd>
<dl><dt><span class="section"><a
href="antenna.html#antenna-splat">5.1.
splat</a></span></dt><dt><span
class="section"><a href="antenna-xnec2c.html">5.2.
xnec2c</a></span></dt></dl></dd><dt><span
class="section"><a href="packet.html">6. Packet and
APRS</a></span></dt><dd><dl><dt><span
class="section"><a href="packet.html#packet-colrdx">6.1.
colrdx</a></span></dt><dt><span
class="section"><a href="packet-xconvers.html">6.2.
xconvers</a></span></dt><dt><span
class="section"><a href="packet-xastir.html">6.3.
xastir</a></span></dt></dl></dd><dt><span
class="section"><a href="circuit.html">7. Circuit Design and
Simulation</a></span></dt><dd><dl><dt><span
class="section"><a href="circuit.html#circuit-geda">7.1.
gEDA</a></span></dt><dt><span
class="section"><a href="circuit-gerbv.html">7.2.
gerbv</a></span></dt><dt><span
class="section"><a href="circuit-pcb.html">7.3.
pcb</a></span></dt><dt><span class="section"><a
href="circuit-gspiceui.html">7.4.
gspiceui</a></span></dt></dl></dd
<dt><span class="section"><a
href="others.html">8. Miscellaneous
Applications</a></span></dt><dd><dl><dt><span
class="section"><a href="others.html#others-cutecw">8.1.
CuteCW</a></span></dt><dt><span
class="section"><a href="others-dxcc.html">8.2.
dxcc</a></span></dt><dt><span
class="section"><a href="others-gpredict.html">8.3.
gpredict</a></span></dt><dt><span
class="section"><a href="others-gresistor.html">8.4.
gresistor</a></span></dt><dt><span
class="section"><a href="others-ibp.html">8.5.
ibp</a></span></dt><dt><span class="section"><a
href="others-rcrpanel.html">8.6.
rcrpanel</a></span></dt><dt><span
class="section"><a href="others-xgridloc.html">8.7.
xgridloc</a></span></dt><dt><span
class="section"><a href="others-xwota.html">8.8.
xwota</a></span></dt></dl></dd><dt><span
class="appendix"><a href="appe-Installing_Software.html">A.
Installing Software on
Fedora</a></span></dt><dd><dl><dt><span
class="section"><a
href="appe-Installing_Software.html#idm217648766816">A.1
. Installing
Software with the GUI</a></span></dt><dt><span
class="section"><a href="apas02.html">A.2. Installing
Software with yum</a></span></dt><dd><dl><dt><span
class="section"><a href="apas02.html#idm217642414832">A.2.1.
Searching for
Software</a></span></dt></dl></dd></dl></dd><dt><span
class="appendix"><a
href="appe-Publican-Revision_History.html">B. Revision
History</a></span></dt></dl></div><div
class="section" id="intro"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1. Introduction</h2></div></div></div><div
class="para">
+ Amateur radio and Linux go hand-in-hand. Both allow users to experiment to the extent
of their knowledge and to learn more along the way. With new digital technologies being
used everyday open source software is the best way to stay cutting e dge in this
ever-changing hobby.
+ </div><div class="para">
+ Fedora has packaged dozens of software to make it easy for Fedora users to obtain and
setup. Within seconds any user w ill be able to have the tools they to enhance their
amateur radio experience.
+ </div></div></div><ul class="docnav"><li
class="previous"></li><li class="next"><a
accesskey="n"
href="soundcard.html"><strong>Next</strong>2. Sound Card
Modes</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/logging-xlog.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/logging-xlog.html
new file mode 100644
index 0000000..79df7d9
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/logging-xlog.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>4.2. xlog</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="logging.html" title="4. Logging and related applications"
/><link rel="prev" href="logging.html" title="4. Logging
and related applications" /><link rel="next"
href="antenna.html" title="5. Antenna and Propagation Modeling"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="logging.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="antenna.html
"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section" id="logging-xlog"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">4.2. xlog</h3></div></div></div><div
class="para">
+ <span class="package">xlog</span> is a wonderful logging program
that allows the user to create multiple logs, import and export in various formats, and
maintain a count on the various awards such as WAS, WAC, DXCC, WAZ, and IOTA. Future
versions will contain code to hook into the ARRL's LoTW.
+ </div><div class="section" id="idm217646089808"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217646089808">4.2.1. Installing
xlog</h4></div></div></div><div class="para">
+ <span class="package">xlog</span> is simply installed like most
applications:
+<pre class="screen">sudo yum install xlog</pre>
+
+ </div></div><div class="section"
id="idm217642402496"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642402496">4.2.2. Starting
xlog</h4></div></div></div><div class="para">
+ <span class="package">xlog</span> may be started from the menu
by selecting <span
class="guimenu"><strong>Applications->Other->xlog</strong></span>
or from the command line by typing <code
class="command">xlog</code>.
+ </div></div><div class="section"
id="idm217631170800"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217631170800">4.2.3. Setting up
xlog</h4></div></div></div><div class="para">
+ <span class="package">xlog</span> is extremely easy to get
setup. After starting xlog, select <span
class="guimenu"><strong>Settings->Preferences</strong></span>.
This will bring up a preferences box where you can configure most options for <span
class="package">xlog</span>.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>General</strong></span> tab
contains basic information on how the log will be setup including the modes and bands you
operate. You can change these at anytime but it is good to go ahead and add or remove the
modes and bands you don't operate to simplify the operation of the logging later. You
can also enable the clock on the status bar and recording of azimuth and distance when you
enter in the location of the station. You can also control out data from external
programs, such as gmfsk and ktrack, are handled.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>Info</strong></span> tab contains
information on your station and preference to miles or kilometers and where you want the
software to look up a callsign. It is recommended that you enter your callsign and your
coordinates into the fields located on this tab so the log can appropriately annotate your
callsign where necessary and can provide azimuth and distance to a station upon entry of
the state or grid. If you don't know your latitude and longitude you can just enter
your grid locator and the software will populate a rough location for your station.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>Hamlib</strong></span> tab allows
you to setup <span class="package">xlog</span> to read your radio so
your log will automatically record the frequency and mode. <span
class="package">xlog</span> will also display the S-meter on the status
bar for your convinence.
+ </div><div class="para">
+ The <span
class="guimenu"><strong>Logs</strong></span> tab allow you
to setup the logs themselves. This includes where to store the logs, which logs to start
automatically upon starting <span class="package">xlog</span>, when
to save the log, and the font. By default, <span
class="package">xlog</span> stores your logs in ~/.xlog. This can be
changed by providing the appropriate path. If you have multiple logs you can type in the
names of each log separated by a comma in the next field and <span
class="package">xlog</span> will load those logs each time using tabs
at the top of the main screen. The next field asks if you want <span
class="package">xlog</span> to save the log whenever you write a log
entry or every x minutes. You can also establish a backup of your logs in a separate
directory which you can provide in the backup entry. The last field is used to select the
font you would like to use for your logs.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="logging.html"><strong>Prev</strong>4. Logging and related
applications</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="antenna.html"><strong>Next</strong>5. Antenna and
Propagation Modeling</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/logging.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/logging.html
new file mode 100644
index 0000000..6475252
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/logging.html
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>4. Logging and related applications</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora-Amateur_Radio_Guide-19-en-US-0-0" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="rig-grig.html" title="3.2. grig"
/><link rel="next" href="logging-xlog.html"
title="4.2. xlog" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="rig-grig.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="logging-xlog.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US"
class="section" id="logging" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">4. Logging and related
applications</h2></div></div></div><div
class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="logging-qle" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">4.1. qle</h3></div></div></div><div
class="para">
+ <span class="package">qle</span> stands for QSO Logger and
Editor. It is a simple yet flexible logging program. <span
class="package">qle</span> uses a lightweight <span
class="package">sqlite</span> database that can be manipulated using
standard tools. The application is easily customized, so you can have the logging program
behave the way you want. It also interfaces with <span
class="package">hamlib</span>, so information may be automatically
retrieved from your rig with the appropriate hardware.
+ </div><div class="section" id="idm217635622512"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217635622512">4.1.1. Installing
qle</h4></div></div></div><div class="para">
+ <span class="package">qle</span> can be installed with yum like
any other package:
+<pre class="screen">
+sudo yum install qle
+</pre>
+ However, <span class="package">qle</span> requires some initial
setup before it may be used.
+ </div></div><div class="section"
id="idm217635624880"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217635624880">4.1.2. Configuring
qle</h4></div></div></div><div class="para">
+ The install process creates a configuration file <code
class="filename">/etc/qle/qle.conf</code> which must be edited. This
can be done with your favorite text editor, however, the file is protected against writing
by a non-admin user. The file might be edited with something like:
+<pre class="screen">
+sudo gedit /etc/qle/qle.conf &
+</pre>
+
+ </div><div class="para">
+ There are two lines that must be changed. At line 63 of the file, you will find the
lines:
+<pre class="screen">
+#
+debug = 0
+#
+myCall = N0CAL
+#
+</pre>
+ Be sure that the <code class="code">debug</code> line is set to
zero and change the <code class="code">myCall</code> line to reflect
your callsign.
+ </div><div class="para">
+ The second line that must be changed is at line 75 where you will find:
+<pre class="screen">
+# Filename of SQLite DB with full path.
+# This file requires sufficient RW access for the DB to work...
+#
+db = foo3.db
+#
+# Name of the table that you want to log into.
+# Is probably case-sensitive:
+#
+tableName = mycall
+#
+</pre>
+ You must change the name of the database to your desired name and location.
+ </div><div class="para">
+ <span class="package">qle</span> is set up for a single user
system, so all users share the same database. You must place the database in a location
where it can be accessed by any users requiring it. If you always log on with the same
usercode, you might choose to put it in a hidden subdirectory off your logon directory,
for example, <code class="filename">~/.qle</code>. This is the
simplest approach, but in some circumstances, you may prefer a more "global"
location, for example, <code class="filename">/etc/qle</code>. In
this case, you need to take care to give the file appropriate protections.
+ </div><div class="para">
+ For simplicity, we will assume that <span
class="package">qle</span> will only ever be run from a single usercode
and we will put the database there. Reflect that location and name in <code
class="filename">qle.conf</code>, for example:
+<pre class="screen">
+db = /home/usercode/.qle/qle.sqlite
+</pre>
+ Note that you cannot use the tilde (<code
class="command">~</code>) within the config file, you must enter the
entire path.
+ </div><div class="para">
+ There are many things you may wish to change. For example, at line 101:
+<pre class="screen">
+#
+useRig = 1
+#
+</pre>
+ determines whether you want to use the rig control library, <span
class="package">hamlib</span>, which can be a great convenience if you
have the appropriate hardware.
+ </div><div class="para">
+ At line 225:
+<pre class="screen">
+#
+noCwDaemon = 0
+#
+</pre>
+ determines whether you wish <span class="package">qle</span> to
have the capability of keying the transmitter.
+ </div><div class="para">
+ To avoid describing <span class="package">hamlib</span> settings
and hardware setup, we will assume these are both disabled for now, that is, <code
class="code">useRig=0</code> and <code
class="code">noCwDaemon=1</code>.
+ </div><div class="para">
+ After editing <code class="filename">qle.conf</code>, you need
to create the database. There is a sample database in <code
class="filename">/usr/share/qle</code> so we can copy that to the
location we have specified for our database:
+<pre class="screen">
+cp /usr/share/qle/foo3.db ~/.qle/qle.sqlite
+</pre>
+ This file has some test data which we will delete after some initial testing.
+ </div></div><div class="section"
id="idm217641423360"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217641423360">4.1.3. Running qle for the first
time</h4></div></div></div><div class="para">
+ The first time you run <span class="package">qle</span>, it
should be done from the command line in debug mode to be sure you made no errors in the
config file:
+<pre class="screen">
+qle --debug=1
+</pre>
+ If there were errors editing the configuration file, they will appear in the window
from which you started <span class="package">qle</span>. If all went
well, this should result in seeing the logging windows with the test data displayed:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-full.png" width="534.6" alt="Running
qle the first time" /><div class="longdesc"><div
class="para">
+ qle - Initial run
+ </div></div></div></div><h6>Figure 14. Running qle
the first time</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The <span class="package">qle</span> "Main Window"
shows the QSOs that have been logged so far. It will contain QSOs from the sample
database. We will delete those QSOs later.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-mainwindow.png" width="534.6"
alt="qle Main Window" /><div class="longdesc"><div
class="para">
+ qle - Main Window
+ </div></div></div></div><h6>Figure 15. qle Main
Window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The "Sub-Window" is actually where the data will be entered for each QSO.
Some fields are provided automatically, such as the date and time. These will be a lighter
color than the other fields. Each field has a button to the right indicating how that
field is to be treated. Fields that have the label <span
class="guilabel"><strong>CAR</strong></span> will be
carried over from QSO to QSO. These can be overwritten, but will initially be filled in
with data from the previous QSO. These are things like Mode, Power, etc that tend not to
change.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-subwindow.png" width="534.6" alt="qle
Data Entry Window" /><div class="longdesc"><div
class="para">
+ qle - Data Entry Window
+ </div></div></div></div><h6>Figure 16. qle Data Entry
Window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ If you wish to change the data in a field that has the label <span
class="guilabel"><strong>LCK</strong></span>, you may
simply click on <span
class="guilabel"><strong>LCK</strong></span> and select
another choice from the dropdown. Normally, you might choose <span
class="guilabel"><strong>--</strong></span>, but if you are
contesting, the <span class="guilabel"><strong>NR
SENT</strong></span> field includes a <span
class="guilabel"><strong>+1</strong></span> choice.`
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/FieldAttrib.png" width="270"
alt="Changing Field Attributes" /><div
class="longdesc"><div class="para">
+ Field Attributes
+ </div></div></div></div><h6>Figure 17. Changing Field
Attributes</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ If you double-click an existing QSO in the Main Window, an Editing Window will appear,
allowing you to make changes to the existing QSO.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/EditingQSO.png" width="534.6"
alt="Editing an existing QSO" /><div class="longdesc"><div
class="para">
+ qle - Editing QSO
+ </div></div></div></div><h6>Figure 18. Editing an
existing QSO</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ To exit the program, click the <span
class="guilabel"><strong>Exit Program</strong></span>
button at the lower left of the subwindow.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/ExitProgram.png" width="216" alt="Exit
Program Button" /><div class="longdesc"><div
class="para">
+ qle - Exit Program
+ </div></div></div></div><h6>Figure 19. Exit Program
Button</h6></div><br class="figure-break" />
+ <span class="package">qle</span> will ask for confirmation when
exiting.
+ </div></div><div class="section"
id="idm217638793424"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217638793424">4.1.4. Deleting Sample
Data</h4></div></div></div><div class="para">
+ Now that you are familiar with the basic operation of <span
class="package">qle</span>, you will want to delete the original sample
data so the database only contains your QSOs. Since the data is in a <span
class="package">sqlite</span> database, we merely need to use some
simple commands to do that:
+<pre class="screen">
+[jjmcd@Aidan .qle]$ sqlite3 ~/.qle/qle.sqlite
+SQLite version 3.6.20
+Enter ".help" for instructions
+Enter SQL statements terminated with a ";"
+sqlite> DELETE FROM mycall;
+sqlite> .quit
+[jjmcd@Aidan .qle]$
+</pre>
+ If you are familiar with SQL, you can also use <span
class="package">sqlite</span> to make other changes and queries.
+ </div><div class="para">
+ You are now ready to begin using <span
class="package">qle</span>. Click on the <span
class="guilabel"><strong>qle</strong></span> icon,
typically found in the "Internet" group.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-icon.png" width="162" alt="qle
icon" /><div class="longdesc"><div class="para">
+ qle icon
+ </div></div></div></div><h6>Figure 20. qle
icon</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217646021168"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217646021168">4.1.5. Duplicate
Checking</h4></div></div></div><div class="para">
+ <span class="package">qle</span> provides duplicate checking as
the call is entered. When the first character is entered, any calls in the log that match
are shown in the duplicate window:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/DupeCheck1.png" width="216" alt="Dupe
Sheet - first character" /><div class="longdesc"><div
class="para">
+ Dupe checking first letter
+ </div></div></div></div><h6>Figure 21. Dupe Sheet -
first character</h6></div><br class="figure-break" />
+ As additional characters are entered, the list gets shorter:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/DupeCheck2.png" width="216" alt="Dupe
Sheet - second character" /><div class="longdesc"><div
class="para">
+ Dupe checking second letter
+ </div></div></div></div><h6>Figure 22. Dupe Sheet -
second character</h6></div><br class="figure-break" />
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/DupeCheck3.png" width="216" alt="Dupe
Sheet - third character" /><div class="longdesc"><div
class="para">
+ Dupe checking third letter
+ </div></div></div></div><h6>Figure 23. Dupe Sheet -
third character</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ In addition to the current log, the file <code
class="filename">/usr/share/qle/master.scp</code> contains a list of
calls to check. These are shown in a separate SCP window:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-dupewindow.png" width="108" alt="SCP
Window" /><div class="longdesc"><div
class="para">
+ SCP Window
+ </div></div></div></div><h6>Figure 24. SCP
Window</h6></div><br class="figure-break" />
+ Like the dupes window, this list gets shorter as you type. Edit <code
class="filename">master.scp</code> to include the calls you want.
+ </div></div><div class="section"
id="idm217631666848"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217631666848">4.1.6. Some customizations you probably
want</h4></div></div></div><div class="para">
+ <span class="package">qle</span> is highly customizable. In the
previous sections, we described a few things that definitely need to be changed. There are
quite a few more you probably want to change.
+ </div><div class="para">
+ At the bottom of the secondary screen you will notice a bar with some information:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/qle-InfoBar.png" width="534.6"
alt="Subwindow Info Bar" /><div class="longdesc"><div
class="para">
+ qle Subwindow Info Bar
+ </div></div></div></div><h6>Figure 25. Subwindow Info
Bar</h6></div><br class="figure-break" />
+ This bar is simply a reminder for some random data you may want to keep handy. You
can change the information by editing the lines starting at line 1051 in the configuration
file:
+<pre class="screen">
+infoString = "ARCI: 10114"
+infoString = "LOC: EN73vp"
+infoString = "ITU: 8 "
+infoString = "CQZ: 4 "
+</pre>
+
+ </div><div class="para">
+ You may find that you want the default field types to be different. For example,
suppose you constantly change power and you don't want the previous power to be shown
by default. At line 384 of the configuration file is a line for each field with the
default type. You can simply change this to make <span
class="package">qle</span> start with the type you desire:
+<pre class="screen">
+fieldTypes = "---" # mypwr
+</pre>
+
+ </div><div class="para">
+ You can even adjust individual colors to make them as appealing (or as horrible) as
you prefer:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/logging-qle/Awful.png" width="534.6" alt="Colors only
a mother could love" /><div class="longdesc"><div
class="para">
+ qle Colors Example
+ </div></div></div></div><h6>Figure 26. Colors only a
mother could love</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ There are literally hundreds of adjustments you can make to tailor your logger to
behave exactly the way you want. Just be sure to carefully review the comments in <code
class="filename">qle.conf</code> so you don't get unexpected
results.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="rig-grig.html"><strong>Prev</strong>3.2. grig</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="logging-xlog.html"><strong>Next</strong>4.2. xlog</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-dxcc.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-dxcc.html
new file mode 100644
index 0000000..3ef79d7
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-dxcc.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.2. dxcc</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others.html" title="8. Miscellaneous
Applications" /><link rel="next"
href="others-gpredict.html" title="8.3. gpredict"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-gpredict.html"><strong>Next</stron
g></a></li></ul><div xml:lang="en-US"
class="section" id="others-dxcc" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.2. dxcc</h3></div></div></div><div
class="para">
+ <span class="package">dxcc</span> is a simple application to give
quick information about a DXCC entity. Simply enter the callsign and see the country, WAZ
and ITU zones, and other useful information.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-dxcc/dxcc.png" width="534.6" alt="dxcc"
/><div class="longdesc"><div class="para">
+ dxcc callsign lookup
+ </div></div></div></div><h6>Figure 56. dxcc</h6></div><br
class="figure-break" />
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others.html"><strong>Prev</strong>8. Miscellaneous
Applications</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-gpredict.html"><strong>Next</strong>8.3. gpredict</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-gpredict.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-gpredict.html
new file mode 100644
index 0000000..bb3d098
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-gpredict.html
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.3. gpredict</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others-dxcc.html" title="8.2. dxcc"
/><link rel="next" href="others-gresistor.html"
title="8.4. gresistor" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-dxcc.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-gresistor.html"><strong>Next</strong></a><
/li></ul><div xml:lang="en-US" class="section"
id="others-gpredict" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.3. gpredict</h3></div></div></div><div
class="para">
+ <span
class="application"><strong>gpredict</strong></span> is an
application to show the locations of various satellites. Satellite locations and ground
footprints are shown on a map, a polar display showing the user's sky view of the
spacecraft is available, and another window shows various details of the orbit. The
displays are updated in real time.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict.png" width="534.6"
alt="gpredict" /><div class="longdesc"><div
class="para">
+ gpredict satellite tracking
+ </div></div></div></div><h6>Figure 57. gpredict</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ Before using <span
class="application"><strong>gpredict</strong></span>, the
user should select <span
class="guimenuitem"><strong>Preferences</strong></span>
from the <span
class="guimenu"><strong>Edit</strong></span> menu and set
up station location and display name. (Refer to <a class="xref"
href="others-gpredict.html#gpredict-selectground">Figure 58, “Select Ground
Station”</a>.)
+ <div class="figure" id="gpredict-selectground"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-groundstations.png" width="534.6"
alt="Select Ground Station" /><div class="longdesc"><div
class="para">
+ gpredict satellite tracking
+ </div></div></div></div><h6>Figure 58. Select Ground
Station</h6></div><br class="figure-break" />
+ First, select the <span class="guilabel"><strong>Ground
Stations</strong></span> tab and click <span
class="guilabel"><strong>Add New</strong></span>.
+ </div><div class="para">
+ A dialog will pop up (<a class="xref"
href="others-gpredict.html#gpredict-stationdetails">Figure 59, “Ground
Station Settings”</a>) which will permit entering the station details. Note that by
clicking the <span
class="guilabel"><strong>Select</strong></span> button, the
location may be chosen from a list.
+ <div class="figure" id="gpredict-stationdetails"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-stationlocation.png" alt="Ground
Station Settings" /><div class="longdesc"><div
class="para">
+ ground stations
+ </div></div></div></div><h6>Figure 59. Ground Station
Settings</h6></div><br class="figure-break" />
+ When complete, be sure to check that the desired station is selected as the <span
class="guilabel"><strong>Default</strong></span> so it will
be displayed on the map (the right column in <a class="xref"
href="others-gpredict.html#gpredict-selectground">Figure 58, “Select Ground
Station”</a>).
+ </div><div class="para">
+ Next, the user should update orbital parameters by selecting <span
class="guimenuitem"><strong>Update TLE</strong></span> from
the <span class="guimenu"><strong>Edit</strong></span>
menu. Downloading these values may take a few moments.
+ </div><div class="para">
+ By default, a few amateur satellites are shown. The lower portion of the display will
show details for the spacecraft currently in view. Orbital parameters for another
satellite may be selected from the dropdown to the left of the satellite name.
+ </div><div class="para">
+ There are a number of other displays available, and additional groups of satellites may
be configured which may be shown in tabs (<span
class="guimenu"><strong>File</strong></span> ->
<span class="guimenuitem"><strong>New
module</strong></span>). Clicking on the small downward triangle to the right
of the window (<a class="xref"
href="others-gpredict.html#gpredict-modulemenu">Figure 60, “Module
Menu”</a>) brings up a menu which permits editing an existing module.
+ <div class="figure" id="gpredict-modulemenu"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-config.png" width="216"
alt="Module Menu" /><div class="longdesc"><div
class="para">
+ Module Menu
+ </div></div></div></div><h6>Figure 60. Module
Menu</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Also available from that module menu is a <span
class="guilabel"><strong>Sky at a glance</strong></span>
selection which brings up <a class="xref"
href="others-gpredict.html#gpredict-skyataglance">Figure 61, “Sky at a
glance”</a>, showing which spacecraft in the module will come into view within the
next eight hours.
+ <div class="figure" id="gpredict-skyataglance"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-skyataglance.png" width="534.6"
alt="Sky at a glance" /><div class="longdesc"><div
class="para">
+ Sky at a glance window
+ </div></div></div></div><h6>Figure 61. Sky at a
glance</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ In the map view, hovering over a spacecraft will display the current position
information:
+ <div class="figure" id="gpredict-hover"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gpredict/gpredict-hover.png" alt="Position Display"
/><div class="longdesc"><div class="para">
+ Hovering causes display of current position
+ </div></div></div></div><h6>Figure 62. Position
Display</h6></div><br class="figure-break" />
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-dxcc.html"><strong>Prev</strong>8.2. dxcc</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-gresistor.html"><strong>Next</strong>8.4. gresistor</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-gresistor.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-gresistor.html
new file mode 100644
index 0000000..36788e0
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-gresistor.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.4. gresistor</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others-gpredict.html" title="8.3. gpredict"
/><link rel="next" href="others-ibp.html"
title="8.5. ibp" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-gpredict.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-ibp.html"><strong>Next</strong></a></li></
ul><div xml:lang="en-US" class="section"
id="others-gresistor" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.4. gresistor</h3></div></div></div><div
class="para">
+ <span class="package">gresistor</span> is a simple application
for decoding resistor color codes. Select the number of bands on the resistor and each of
the colors of the bands, and the resistor value and tolerance are displayed.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-gresistor/gResistor.png" width="378"
alt="gresistor" /><div class="longdesc"><div
class="para">
+ Decode resistor color bands
+ </div></div></div></div><h6>Figure 63. gresistor</h6></div><br
class="figure-break" />
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-gpredict.html"><strong>Prev</strong>8.3. gpredict</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-ibp.html"><strong>Next</strong>8.5. ibp</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-ibp.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-ibp.html
new file mode 100644
index 0000000..2be9483
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-ibp.html
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.5. ibp</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others-gresistor.html"
title="8.4. gresistor" /><link rel="next"
href="others-rcrpanel.html" title="8.6. rcrpanel"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-gresistor.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-rcrpanel.html"><strong>Next</
strong></a></li></ul><div xml:lang="en-US"
class="section" id="others-ibp" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.5. ibp</h3></div></div></div><div
class="para">
+ <span class="package">ibp</span> is a simple application that
shows beacons which are part of the International Beacon Project. A number of beacons
around the world transmit at predetermined times. The <span
class="package">ibp</span> application shows you which beacons are
currently transmitting.
+ </div><div class="section" id="idm217639112672"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217639112672">8.5.1. Installing
ibp</h4></div></div></div><div class="para">
+ <span class="package">ibp</span> is simply installed like most
applications:
+<pre class="screen">
+sudo yum install ibp
+</pre>
+ No additional configuration is required, however, <span
class="package">ibp</span> expects that the time on the system is
correct. Synchronizing your system with one of the many timeservers is recommended.
+ </div></div><div class="section"
id="idm217633725312"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217633725312">8.5.2. Starting
ibp</h4></div></div></div><div class="para">
+ <span class="package">ibp</span> may be started from the menu by
selecting <span
class="guimenu"><strong>Applications->Other->ibp</strong></span>
or from the command line by typing <code
class="command">ibp</code>.
+ </div><div class="para">
+ When <span class="package">ibp</span> is started, by default,
two windows will open. The first is a simple text screen showing a list of beacons with
the currently transmitting beacons highlighted:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-ibp/ibp-text2.png" width="534.6" alt="ibp -
text screen" /><div class="longdesc"><div
class="para">
+ International Beacon Project
+ </div></div></div></div><h6>Figure 64. ibp - text
screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The second window shows a map of the world with a colored dot for each transmitting
beacon:
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-ibp/ibp-map.png" width="534.6" alt="ibp -
map" /><div class="longdesc"><div class="para">
+ International Beacon Project - map
+ </div></div></div></div><h6>Figure 65. ibp -
map</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ There are a number of arguments you may specify to affect how ibp behaves when it is
started from the command line:
+ <div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <em class="parameter"><code>-c</code></em>,
<em class="parameter"><code>--nocolor</code></em> -
causes the text window to be displayed only in monochrome. The graph window is still in
color.
+ </div></li><li class="listitem"><div
class="para">
+ <em class="parameter"><code>-m</code></em>,
<em class="parameter"><code>--morse</code></em> - In
single beacon mode, causes the callsign of the transmitting beacon to be displayed at the
bottom of the text window in Morse.
+ </div></li><li class="listitem"><div
class="para">
+ <em class="parameter"><code>-x</code></em>,
<em class="parameter"><code>--nograph</code></em> -
Don't display the map window.
+ </div></li></ul></div>
+
+ </div></div><div class="section"
id="idm217639351504"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217639351504">8.5.3. Running
ibp</h4></div></div></div><div class="para">
+ While <span class="package">ibp</span> is running, the
highlighted lines on the text display and the dots on the map will periodically change as
different beacons take on the transmitting task.
+ </div><div class="para">
+ There are several commands you can enter into the text screen to affect the behavior
of <span class="package">ibp</span>:
+ <div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ digits <code class="command">1</code> through <code
class="command">5</code> - causes only one band to be displayed. Since
one is normally only monitoring a single band at a time this can lead to faster
identification of the beacon of interest. This is also useful for visually challenged
operators.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="command">M</code> - toggles between single band
and multi band mode. If a single band was displayed, typing <code
class="command">M</code> will cause all five bands to be displayed. If
five bands were displayed, the previously selected single band will be displayed.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="command">Q</code> - causes <span
class="package">ibp</span> to exit.
+ </div></li></ul></div>
+
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-gresistor.html"><strong>Prev</strong>8.4. gresistor</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-rcrpanel.html"><strong>Next</strong>8.6. rcrpanel</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-rcrpanel.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-rcrpanel.html
new file mode 100644
index 0000000..1a668e8
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-rcrpanel.html
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.6. rcrpanel</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others-ibp.html" title="8.5. ibp"
/><link rel="next" href="others-xgridloc.html"
title="8.7. xgridloc" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-ibp.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-xgridloc.html"><strong>Next</strong></a></li></
ul><div xml:lang="en-US" class="section"
id="others-rcrpanel" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.6. rcrpanel</h3></div></div></div><div
class="para">
+ <span class="package">rcrpanel</span> is a command line
application wich allows layout of panels for electronic equipment. <span
class="package">rcrpanel</span> accepts as input a text file describing
the panel. It produces as output a Postscript stream of an image of the panel. The
Postscript stream may be redirected to a file, a Postscript printer, or piped to another
application such as Ghostscript.
+ </div><div class="para">
+ By taking a text description of the panel, <span
class="package">rcrpanel</span> allows precise placement of controls
and annotation, which can be difficult to achieve with a GUI interface. <span
class="package">rcrpanel</span> provides scripting elements for text,
controls of various sizes, and even calibrated dials.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/ExamplePanel.png" width="534.6"
alt="Example Panel" /><div class="longdesc"><div
class="para">
+ Example Panel
+ </div></div></div></div><h6>Figure 66. Example
Panel</h6></div><br class="figure-break" />
+
+ </div><div class="section" id="idm217638218176"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217638218176">8.6.1. Running
rcrpanel</h4></div></div></div><div class="para">
+ <span class="package">rcrpanel</span> accepts a single command
line parameter, the input file containing the description of the panel. It produces its
output on <code class="filename">stdout</code>, which means that in
most cases, the user will redirect the output to a file. For example:
+<pre class="screen">
+rcrpanel mypanel.txt >mypanel.ps
+</pre>
+
+ </div><div class="para">
+ There are no command line switches available.
+ </div><div class="para">
+ The output image will be centered on a standard size page. The smallest page on which
the panel will fit is selected from the following list, in order:
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>216x179 mm - U.S.
Letter</td></tr><tr><td>210x297 mm -
A4</td></tr><tr><td>216x279 mm - U.S.
Legal</td></tr><tr><td>297x420 mm -
A3</td></tr><tr><td>279x432 mm -
Tabloid</td></tr><tr><td>594x841 mm -
A1</td></tr><tr><td>559x894 mm -
D</td></tr><tr><td>841x1189 mm -
A0</td></tr><tr><td>1000X1414 mm -
B0</td></tr></table>
+
+ </div></div><div class="section"
id="idm217645532608"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217645532608">8.6.2. The Input
File</h4></div></div></div><div class="para">
+ The input file contains lines describing the various controls. Most lines are of the
form
+<pre class="screen">
+Command = something
+</pre>
+ where the spaces around the equal sign are significant, and the command itself is
case-sensitive.
+ </div><div class="para">
+ Measurements are in units of millimeters. Angles are in degrees. Colors are given as
24 bit C style integers where each byte represents the amount of red, green, or blue.
+ </div><div class="para">
+ In general, the order of commands makes no difference. However, the <code
class="command">Text</code> command must be immediately followed by a
line containing the text to be displayed, and those commands affecting the appearance of a
<code class="command">Dial</code> affect the preceding <code
class="command">Dial</code> command.
+ </div><div class="section" id="idm217637201056"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217637201056">8.6.2.1. Background</h5></div></div></div><div
class="para">
+ This command takes a single color following the equal sign. The entire panel will be
filled with this color.
+<pre class="screen">
+Background = 0xfff5e8
+</pre>
+ Note, however, that the interior of controls will not be filled with this color,
allowing the alignment marks to be viewed for drilling, even if the panel were filled with
a dark color.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/WhiteFill.png" width="270"
alt="ControlPhone on a dark background" /><div
class="longdesc"><div class="para">
+ ControlPhone on a dark background
+ </div></div></div></div><h6>Figure 67. ControlPhone
on a dark background</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217645360112"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217645360112">8.6.2.2. ControlLarge</h5></div></div></div><div
class="para">
+ This is used for large diameter controls such as large pots and the like. It takes 2
values after the equal sign representing the position of the control on the panel.
+<pre class="screen">
+ControlLarge = 23.0 30.0
+</pre>
+
+ </div></div><div class="section"
id="idm217642127968"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217642127968">8.6.2.3. ControlLED</h5></div></div></div><div
class="para">
+ This command generates an outline for a 5 mm LED. Like the other control commands, it
takes 2 values, the X and Y positions on the panel of the center of the LED.
+ </div></div><div class="section"
id="idm217632548752"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217632548752">8.6.2.4. ControlPhone</h5></div></div></div><div
class="para">
+ This is used for 1/4" phone jacks and similar controls. The 2 values after the
equal sign represent the position on the panel.
+ </div></div><div class="section"
id="idm217644077328"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217644077328">8.6.2.5. ControlSmall</h5></div></div></div><div
class="para">
+ This command generates an outline for a 3.5 mm phone jack. The two values are the X
and Y positions of the jack on the panel.
+ </div></div><div class="section"
id="idm217634091472"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634091472">8.6.2.6. ControlTiny</h5></div></div></div><div
class="para">
+ This command generates an outline for a 2.5 mm phone jack. The two values are the X
and Y positions of the jack on the panel.
+<pre class="screen">
+ControlTiny = 75.0 30.0
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Controls.png" width="270" alt="Large,
Phone, LED, Small and Tiny controls" /><div
class="longdesc"><div class="para">
+ Large, Phone, LED, Small and Tiny controls
+ </div></div></div></div><h6>Figure 68. Large, Phone,
LED, Small and Tiny controls</h6></div><br class="figure-break"
/>
+
+ </div></div><div class="section"
id="idm217639914848"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217639914848">8.6.2.7. Panel</h5></div></div></div><div
class="para">
+ This command defines the size of the panel. The 2 dimensions are the width and height
of the panel.
+<pre class="screen">
+Panel = 193.675 53.975
+</pre>
+
+ </div></div><div class="section"
id="idm217647983040"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217647983040">8.6.2.8. Reverse</h5></div></div></div><div
class="para">
+ This command takes no arguments. If this command appears anywhere in the input file,
the resulting PostScript will be flipped left to right (for printing on the reverse side
of transfer media or transparency material).
+ </div></div><div class="section"
id="idm217635142704"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217635142704">8.6.2.9. Text</h5></div></div></div><div
class="para">
+ This command is somewhat different from the others. After the equal sign, it takes 3
floating point numbers, a color, and a text string. The first 2 floating point numbers are
the X, Y position of the text on the panel. The third number is the height of the text.
The color represents the color of the text, and the text string represents the font to be
used. No checking is done before preparing the PostScript; you are responsible for
ensuring that the font is available on your printer.
+ </div><div class="para">
+ This command is then followed by another line containing the text to be displayed.
+<pre class="screen">
+Text = 100.0 10.0 5.0 0x7f4f00 Times-Roman-Bold
+Filter
+</pre>
+
+ </div></div><div class="section"
id="idm217635141456"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217635141456">8.6.2.10. Dial</h5></div></div></div><div
class="para">
+ This command introduces a new dial. The <code
class="command">Dial</code> command describes the X,Y center of the
dial. The following commands then further refine the details of this particular dial. This
relationship between the <code class="command">Dial</code> command
and it's successors is the only place where the order of the commands within the file
matters.
+<pre class="screen">
+Dial = 170.0 30.0
+</pre>
+
+ </div></div><div class="section"
id="idm217634598448"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634598448">8.6.2.11. Radius</h5></div></div></div><div
class="para">
+ This command takes a single value which is the radius of the circle which forms the
inside of the tick marks. This command refers to the current <code
class="command">Dial</code> command.
+<pre class="screen">
+Radius = 7.0
+</pre>
+
+ </div></div><div class="section"
id="idm217632566448"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217632566448">8.6.2.12. Span</h5></div></div></div><div
class="para">
+ This command describes the angle over which the control may operate. Typically, this
would be 270 for a potentiometer and 180 for a variable capacitor. This command refers to
the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217638148416"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217638148416">8.6.2.13. NumTicks</h5></div></div></div><div
class="para">
+ This command describes the total number of tick marks, large and small, to be drawn.
This is usually an odd number since the starting and ending values are counted. Typically
this will be 11, 101, or a similar number. This command refers to the current <code
class="command">Dial</code> command.
+<pre class="screen">
+NumTicks = 101
+</pre>
+
+ </div></div><div class="section"
id="idm217645842464"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217645842464">8.6.2.14. BigPer</h5></div></div></div><div
class="para">
+ This command tells the program how many small tick marks there are per large tick
mark. This command refers to the current <code
class="command">Dial</code> command.
+<pre class="screen">
+BigPer = 10
+</pre>
+
+ </div></div><div class="section"
id="idm217634168528"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634168528">8.6.2.15. SizeTicks</h5></div></div></div><div
class="para">
+ This command describes the length of the small tick marks. This command refers to the
current <code class="command">Dial</code> command.
+<pre class="screen">
+SizeTicks = 6.5
+</pre>
+
+ </div></div><div class="section"
id="idm217648615856"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217648615856">8.6.2.16. SizeBig</h5></div></div></div><div
class="para">
+ This command describes the length of the large tick marks. This command refers to the
current <code class="command">Dial</code> command.
+<pre class="screen">
+SizeBig = 7.5
+</pre>
+
+ </div></div><div class="section"
id="idm217632953184"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217632953184">8.6.2.17. StartingIndicator</h5></div></div></div><div
class="para">
+ This command describes the value to be placed on the furthest counterclockwise large
tick mark. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217638704944"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217638704944">8.6.2.18. IncrementPerBigTick</h5></div></div></div><div
class="para">
+ This command tells rcrpanel how much to increment the value in <code
class="command">StartingIndicator</code> for each succeeding large tick
mark. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217631914672"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217631914672">8.6.2.19. SizeFont</h5></div></div></div><div
class="para">
+ This command describes how large to make the annotation on the ticks. This command
refers to the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217634240784"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634240784">8.6.2.20. ColorCircle</h5></div></div></div><div
class="para">
+ This command takes a single color as an argument, which is used to draw the inner
circle. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217631110496"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217631110496">8.6.2.21. ColorTickMarks</h5></div></div></div><div
class="para">
+ This command permits setting the color to draw the small tick marks. This command
refers to the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217650345760"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217650345760">8.6.2.22. ColorBigTickMarks</h5></div></div></div><div
class="para">
+ This command permits setting the color to draw the large tick marks. This command
refers to the current <code class="command">Dial</code> command.
+ </div></div><div class="section"
id="idm217634205728"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217634205728">8.6.2.23. ColorText</h5></div></div></div><div
class="para">
+ This command accepts a single color which will be used for the annotation. This
command refers to the current <code class="command">Dial</code>
command.
+ </div></div><div class="section"
id="idm217646925520"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217646925520">8.6.2.24. StartAngle</h5></div></div></div><div
class="para">
+ By default, <span class="package">rcrpanel</span> arranges
dials so the dead spot on the control is straight down. This is the desired behavior in
almost all cases. However, sometimes you may want to rotate a control to some other
orientation. The single argument to <code
class="command">StartAngle</code> is the number of degrees clockwise to
rotate the control. This command refers to the current <code
class="command">Dial</code> command.
+ </div></div></div><div class="section"
id="idm217649354352"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217649354352">8.6.3. Example
Dials</h4></div></div></div><div class="section"
id="idm217649353552"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217649353552">8.6.3.1. Frequency Markings for a
VCO</h5></div></div></div><div class="para">
+
+<pre class="screen">
+Dial = 25.0 25.0
+Radius = 7.0
+SizeTicks = 4.5
+ColorTickMarks = 0xff7777
+SizeBig = 7.5
+ColorBigTickMarks = 0x000000
+StartingIndicator = 7.0
+IncrementPerBigTick = 0.01
+NumTicks = 51
+BigPer = 5
+ColorCircle = 0xff7777
+SizeFont = 3.0
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Dial1.png" width="270" alt="40 meter
dial, 270 degrees" /><div class="longdesc"><div
class="para">
+ 40 meter dial, 270 degrees
+ </div></div></div></div><h6>Figure 69. 40 meter
dial, 270 degrees</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217633211408"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217633211408">8.6.3.2. Markings for a volume
control</h5></div></div></div><div class="para">
+
+<pre class="screen">
+ControlLarge = 25.0 25.0
+Dial = 25.0 25.0
+Radius = 7.0
+SizeTicks = 1.0
+ColorTickMarks = 0xaaddaa
+SizeBig = 2.0
+ColorBigTickMarks = 0x007f00
+StartingIndicator = 0
+IncrementPerBigTick = 2
+NumTicks = 11
+BigPer = 2
+ColorCircle = 0xccffcc
+SizeFont = 3.0
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Dial2.png" width="270" alt="Volume
Control" /><div class="longdesc"><div
class="para">
+ Volume Control
+ </div></div></div></div><h6>Figure 70. Volume
Control</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217633344144"><div
class="titlepage"><div><div
keep-together.within-column="always"><h5 class="title"
id="idm217633344144">8.6.3.3. Markings for a VFO (capacitor
based)</h5></div></div></div><div class="para">
+
+<pre class="screen">
+ControlLarge = 25.0 25.0
+Dial = 25.0 25.0
+Radius = 7.0
+SizeTicks = 3.5
+ColorTickMarks = 0x777777
+SizeBig = 5.5
+ColorBigTickMarks = 0xffffff
+StartingIndicator = 3.5
+IncrementPerBigTick = 0.01
+NumTicks = 41
+BigPer = 4
+ColorCircle = 0x777777
+SizeFont = 2.0
+ColorText = 0xffffff
+Span = 180.0
+Text = 25.0 15.0 2.0 0xff0000 Century-Schoolbook
+Frequency
+</pre>
+
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-rcrpanel/Dial3.png" width="270" alt="80 meter
VFO" /><div class="longdesc"><div class="para">
+ 80 meter VFO
+ </div></div></div></div><h6>Figure 71. 80 meter
VFO</h6></div><br class="figure-break" />
+
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="others-ibp.html"><strong>Prev</strong>8.5. ibp</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-xgridloc.html"><strong>Next</strong>8.7. xgridloc</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-xgridloc.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-xgridloc.html
new file mode 100644
index 0000000..937f987
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-xgridloc.html
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.7. xgridloc</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others-rcrpanel.html" title="8.6. rcrpanel"
/><link rel="next" href="others-xwota.html"
title="8.8. xwota" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-rcrpanel.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-xwota.html"><strong>Next</strong></a><
/li></ul><div xml:lang="en-US" class="section"
id="others-xgridloc" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.7. xgridloc</h3></div></div></div><div
class="para">
+ <span class="package">xgridloc</span> is an application which
will translate a latitude/longitude into a Maidenhead grid square. It will also calculate
the Great Circle distance and bearing between two locations.
+ </div><div class="section" id="idm217638984192"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217638984192">8.7.1. Installing
xgridloc</h4></div></div></div><div class="para">
+ <span class="package">xgridloc</span> is installed like most
applications in Fedora:
+<pre class="screen">
+ sudo yum install xgridloc
+</pre>
+
+ </div></div><div class="section"
id="idm217639474560"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217639474560">8.7.2. Setting up
xgridloc</h4></div></div></div><div class="para">
+ <span class="package">xgridloc</span> uses a small configuration
file, <code class="filename">~/.xgridlocrc</code>. Before using
<span class="package">xgridloc</span> you should replace the default
location in the file with your station location using your favorite text editor:
+<pre class="screen">
+ ######### Runtime config file for 'xgridloc' #########
+ #
+ ### Blank lines and those starting with a # are ignored ###
+ #
+ # The 'Home' location's position.
+ # (East Longitude and North Latitude)
+ # Format is "East/ddd:mm:ss North/dd:mm:ss"
+ West/084:11:59 North/43:38:06
+ #
+ # The name of the 'Home' location
+ Midland
+ #
+</pre>
+
+ </div></div><div class="section"
id="idm217649439296"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217649439296">8.7.3. Using
xgridloc</h4></div></div></div><div class="para">
+ <span class="package">xgridloc</span> may be started by
selecting item <span
class="guilabel"><strong>xgridloc</strong></span> icon
(usually found in the <span
class="guilabel"><strong>Internet</strong></span> group) or
by issuing the <code class="command">xgridloc</code> command from
the command line.
+ </div><div class="para">
+ Clicking the <span class="guilabel"><strong>Default Home
Position</strong></span> button will cause the top location to be filled in
with the location you specified in the configuration file.
+ </div><div class="para">
+ If you enter a latitude and longitude in either the "Home" or
"Remote" location and press <code
class="command">Enter</code>, the corresponding <span
class="guilabel"><strong>Locator</strong></span> box will
be filled in with the Maidenhead grid square for that location.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xgridloc/Xgridloc.png" width="534.6"
alt="xgridloc" /><div class="longdesc"><div
class="para">
+ Maidenhead grid square
+ </div></div></div></div><h6>Figure 72. xgridloc</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ If both locations are filled, the Great Circle bearing and distance will appear at the
bottom of the window.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-rcrpanel.html"><strong>Prev</strong>8.6. rcrpanel</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-xwota.html"><strong>Next</strong>8.8. xwota</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-xwota.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-xwota.html
new file mode 100644
index 0000000..df1f6e6
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others-xwota.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.8. xwota</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="others.html" title="8. Miscellaneous Applications" /><link
rel="prev" href="others-xgridloc.html" title="8.7. xgridloc"
/><link rel="next" href="appe-Installing_Software.html"
title="A. Installing Software on Fedora" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-xgridloc.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="appe-Instal
ling_Software.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section" id="others-xwota"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.8. xwota</h3></div></div></div><div
class="para">
+ <span class="package">xwota</span> allows for monitoring and
querying the WOTA database. It operates much like a DX Cluster client, except it uses the
database rather than a cluster. Refer to <a
href="http://www.wotadb.org">http://www.wotadb.org</a> for information
about the WOTA database.
+ </div><div class="para">
+ Selecting <span
class="guimenuitem"><strong>Connect</strong></span> from
the <span class="guimenu"><strong>Xwota</strong></span>
menu will connect to the database. New reports will appear on the screen as they arrive.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xwota/xwota.png" width="534.6" alt="Who is on
the air" /><div class="longdesc"><div
class="para">
+ Who is on the air
+ </div></div></div></div><h6>Figure 73. Who is on the
air</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The user may also query the database by selecting <span
class="guimenuitem"><strong>Query</strong></span> from the
<span class="guimenu"><strong>Show</strong></span> menu.
A dialog will appear allowing the user to enter specific location, frequency, and/or call
to be searched for. Clicking <span
class="guilabel"><strong>Send</strong></span> will then
cause the results to be returned at the bottom of the main window.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xwota/xwota-Query.png" width="534.6"
alt="Xwota query window" /><div class="longdesc"><div
class="para">
+ Xwota query window
+ </div></div></div></div><h6>Figure 74. Xwota query
window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The user may also enter his own report. Before doing this, station information should
be entered by selecting <span class="guimenuitem"><strong>Station
Info</strong></span> from the <span
class="guimenu"><strong>Settings</strong></span> menu and
filling in the dialog:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-xwota/xwota-Station_Info.png" width="270"
alt="Station Info window" /><div class="longdesc"><div
class="para">
+ Station Info window
+ </div></div></div></div><h6>Figure 75. Station Info
window</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The user may then enter the frequency and optionally a comment in the main window, and
click the <span
class="guilabel"><strong>Update</strong></span> button to
cause the report to be sent to the database.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="others-xgridloc.html"><strong>Prev</strong>8.7. xgridloc</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="appe-Installing_Software.html"><strong>Next</strong>A. Installing
Software on Fedora</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others.html
new file mode 100644
index 0000000..6f56723
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/others.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8. Miscellaneous Applications</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora-Amateur_Radio_Guide-19-en-US-0-0" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="circuit-gspiceui.html"
title="7.4. gspiceui" /><link rel="next"
href="others-dxcc.html" title="8.2. dxcc" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="circuit-gspiceui.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="others-dxcc.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section" id="others"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">8. Miscellaneous
Applications</h2></div></div></div><div
class="para">
+ .
+ </div><div xml:lang="en-US" class="section"
id="others-cutecw" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">8.1. CuteCW</h3></div></div></div><div
class="para">
+ <span class="package">CuteCW</span> is a Morse code training
program that not only trains the user in decyphering morse code but also provides methods
for increasing their comprehension speed. <span
class="package">CuteCW</span> will also sound Morse code out of the
computer speakers and will read text out as Morse code.
+ </div><div class="section" id="idm217642065296"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642065296">8.1.1. Installing
CuteCW</h4></div></div></div><div class="para">
+ <span class="package">CuteCW</span> is simply installed like
most applications:
+<pre class="screen">sudo yum install cutecw</pre>
+
+ </div></div><div class="section"
id="idm217637798704"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217637798704">8.1.2. Starting
CuteCW</h4></div></div></div><div class="para">
+ <span class="package">CuteCW</span> may be started from the menu
by selecting <span
class="guimenu"><strong>Applications->Education->CuteCW</strong></span>
or from the command line by typing <code
class="command">cutecw</code>.
+ </div></div><div class="section"
id="idm217637798864"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217637798864">8.1.3. Using
CuteCW</h4></div></div></div><div class="para">
+ <span class="package">CuteCW</span> is quite easy to use. Eight
choices are given to help with your learning experience.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/others-cutecw/CuteCW.png" width="534.6"
alt="CuteCW" /><div class="longdesc"><div
class="para">
+ CuteCW welcome screen
+ </div></div></div></div><h6>Figure 55. CuteCW</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ In the training mode, <span class="package">CuteCW</span> will
help with your recognition of characters, words, and groups. It will also help you
increase your speed. In the play mode, <span
class="package">CuteCW</span> will read text to you in Morse code,
allow you to type out Morse code messages, and even play games.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="circuit-gspiceui.html"><strong>Prev</strong>7.4. gspiceui</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="others-dxcc.html"><strong>Next</strong>8.2. dxcc</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet-xastir.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet-xastir.html
new file mode 100644
index 0000000..62eab84
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet-xastir.html
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>6.3. xastir</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="packet.html" title="6. Packet and APRS" /><link
rel="prev" href="packet-xconvers.html" title="6.2. xconvers"
/><link rel="next" href="circuit.html" title="7. Circuit
Design and Simulation" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="packet-xconvers.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="circuit.html"><strong>Next</strong></a>
</li></ul><div xml:lang="en-US" class="section"
id="packet-xastir" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">6.3. xastir</h3></div></div></div><div
class="para">
+ <span class="package">xastir</span> is an APRS application that
allows users to send and receive position reports, messages, weather data, and other
information over packet radio. Data received is displayed on a map allowing the user to
get real-time information about a certain area. The user may also fetch trails from
findu.com and display them on the map when connected to the Internet.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/xastir.png" width="534.6"
alt="xastir" /><div class="longdesc"><div
class="para">
+ APRS tracking
+ </div></div></div></div><h6>Figure 37. xastir</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ The map may be selected from a large number of sources. Facilities are also provided
for drawing fixed items on the map as well as making measurements. The user may make
specific queries to weather stations and Igates.
+ </div><div class="section" id="idm217633195392"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217633195392">6.3.1. Initial
Setup</h4></div></div></div><div class="para">
+ Select <span
class="guimenuitem"><strong>Station</strong></span> from
the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>File</strong></span> menu. This
will bring up a dialog allowing the user to enter basic station information such as call,
location, and symbol to be used.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Config-Station.png" width="534.6"
alt="Station Setup" /><div class="longdesc"><div
class="para">
+ Station Setup
+ </div></div></div></div><h6>Figure 38. Station
Setup</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Selecting <span
class="guimenuitem"><strong>Defaults</strong></span> from
the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>File</strong></span> menu will
elicit a dialog allowing configuration of some common default information, such as whether
the station is mobile or fixed and whether to allow IGate traffic.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Defaults.png" width="534.6"
alt="Defaults" /><div class="longdesc"><div
class="para">
+ Defaults
+ </div></div></div></div><h6>Figure 39. Defaults</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ Select <span class="guimenuitem"><strong>Interface
Control</strong></span> from the <span
class="guimenu"><strong>Interface</strong></span> menu.
Click <span class="guilabel"><strong>Add</strong></span>
and select an interface type. then click <span
class="guilabel"><strong>Add</strong></span>. A dialog
specific to the interface type will appear. The image below shows a KISS TNC as an
example, but the operator may select Internet servers, GPS devices and other interfaces as
well.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-KISS-TNC.png" width="534.6"
alt="Setting up a TNC" /><div class="longdesc"><div
class="para">
+ TNC Setup
+ </div></div></div></div><h6>Figure 40. Setting up a
TNC</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Once interfaces are configured, some small symbols will appear in the status bar
toward the lower right of the window. The upper semi-circles represent the various
interfaces; different types are shown as different colors. The bottom symbol represents
the interface status; green for active, empty for inactive, and red for an error. Between
these two symbols an arrow will appear briefly whenever data is being transferred.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-InterfaceStatus3.png" width="135"
alt="Interface Status" /><div class="longdesc"><div
class="para">
+ Interface Status
+ </div></div></div></div><h6>Figure 41. Interface
Status</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217642391888"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217642391888">6.3.2. Setting up
maps</h4></div></div></div><div class="para">
+ <span
class="application"><strong>xastir</strong></span> comes
configured for a number of online map sources, and the documentation includes pointers to
many online map sources. Maps may be vector maps or raster maps, and they may be provided
in a number of different formats. In general, maps downloaded and stored locally will be
retrieved faster than those retrieved online.
+ </div><div class="para">
+ Although raster maps often look better, vector maps typically offer better flexibility
and performance. You may select a number of maps and raster maps may be overlaid on other
maps. You could, for example, select a satellite image background, overlay it with a
vector map of roads, and overlay that with weather radar.
+ </div><div class="para">
+ Select <span class="guimenuitem"><strong>Map
Chooser</strong></span> from the <span
class="guimenu"><strong>Map</strong></span> menu. Highlight
those maps desired and click <span
class="guilabel"><strong>Apply</strong></span> to activate
the maps.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Map-Chooser.png" width="405"
alt="Map Chooser" /><div class="longdesc"><div
class="para">
+ Map Chooser
+ </div></div></div></div><h6>Figure 42. Map
Chooser</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Click <span
class="guilabel"><strong>Properties</strong></span> on the
Map Chooser to activate the Map Properties dialog. This dialog allows you to select the
order in which maps will be layered, and whether areas will be filled (when appropriate).
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Map-Properties.png" width="534.6"
alt="Setting map layers" /><div class="longdesc"><div
class="para">
+ Setting map layers
+ </div></div></div></div><h6>Figure 43. Setting map
layers</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Often one would like to return to a particular view. Select <span
class="guimenuitem"><strong>Map Display
Bookmarks</strong></span> from the <span
class="guimenu"><strong>Map</strong></span> menu to bring
up the Map Bookmark display. The user may then type a name for the current view in the
<span class="guilabel"><strong>New Name</strong></span>
box and click <span
class="guilabel"><strong>Add</strong></span> on that dialog
to save that view. In the future, clicking <span
class="guilabel"><strong>Activate!</strong></span> from
this same dialog will return to the selected view.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Bookmarks.png" width="270"
alt="Bookmarks" /><div class="longdesc"><div
class="para">
+ Bookmarks
+ </div></div></div></div><h6>Figure 44. Bookmarks</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ The user may select a background color from the <span
class="guisubmenu"><strong>Background Color</strong></span>
submenu of the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>Map</strong></span> menu. Note that
raster maps or filled areas will cover the background color.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-palegreen.png" width="534.6"
alt="Light Background" /><div class="longdesc"><div
class="para">
+ Light Background
+ </div></div></div></div><h6>Figure 45. Light
Background</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Notice that if a light color is selected as a background on a vector map, the stations
can sometimes be difficult to see.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-navy.png" width="534.6"
alt="Dark Background" /><div class="longdesc"><div
class="para">
+ Dark Background
+ </div></div></div></div><h6>Figure 46. Dark
Background</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ But selecting a background too dark makes the map features difficult to identify,
while allowing the stations to stand out. A medium color selection will allow the best of
both, although certain uses will lend themselves to an emphasis on one or the other.
+ </div><div class="para">
+ Select a text style from the <span
class="guisubmenu"><strong>Station Text
Style</strong></span> submenu of the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>Map</strong></span> menu. By
selecting Text On Black stations will stand out better when a light background has been
selected.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-textonblack.png" width="534.6"
alt="Text Properties" /><div class="longdesc"><div
class="para">
+ Text Properties
+ </div></div></div></div><h6>Figure 47. Text
Properties</h6></div><br class="figure-break" />
+
+ </div></div><div class="section"
id="idm217639601744"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217639601744">6.3.3. Tracking
Stations</h4></div></div></div><div class="para">
+ Select <span class="guimenuitem"><strong>Track
Station</strong></span> from the <span
class="guimenu"><strong>Station</strong></span> menu. A
dialog will appear allowing the call of a station to be entered. When this station is seen
to move, a track will be drawn on the map showing the station's past positions.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-Track-Station.png" width="432"
alt="Tracking a station" /><div class="longdesc"><div
class="para">
+ Tracking a station
+ </div></div></div></div><h6>Figure 48. Tracking a
station</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ If a station which is moving has not been heard from in a while, <span
class="application"><strong>xastir</strong></span> will use
"dead reckoning" to predict where it might be, if dead reckoning has been
enabled. Dead reckoning is enabled in the <span
class="guisubmenu"><strong>Filter Display</strong></span>
submenu of the <span
class="guimenu"><strong>Station</strong></span> menu.
"A while" is configured in the <span
class="guimenuitem"><strong>Timing</strong></span> menu
item of the <span
class="guisubmenu"><strong>Configure</strong></span>
submenu of the <span
class="guimenu"><strong>File</strong></span> menu.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-shadow.png" width="356.4"
alt="Dead Reckoning" /><div class="longdesc"><div
class="para">
+ Dead Reckoning
+ </div></div></div></div><h6>Figure 49. Dead
Reckoning</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Historical tracks may also be downloaded from the findu website. Select <span
class="guimenuitem"><strong>Fetch Findu
Trail</strong></span> from the <span
class="guimenu"><strong>Station</strong></span> menu.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xastir/XASTIR-findu-trail.png" width="270"
alt="Downloading a findu trail" /><div
class="longdesc"><div class="para">
+ Downloading a findu trail
+ </div></div></div></div><h6>Figure 50. Downloading a
findu trail</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ A dialog will appear which allows for the entry of the desired call, as well as two
sliders which allow for adjustment of the period for which the trail is desired. It may
take some time to download a long trail. The trail will be displayed on the map just as
with RF trails.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="packet-xconvers.html"><strong>Prev</strong>6.2. xconvers</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="circuit.html"><strong>Next</strong>7. Circuit Design and
Simulation</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet-xconvers.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet-xconvers.html
new file mode 100644
index 0000000..e622858
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet-xconvers.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>6.2. xconvers</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="packet.html" title="6. Packet and APRS" /><link
rel="prev" href="packet.html" title="6. Packet and APRS"
/><link rel="next" href="packet-xastir.html"
title="6.3. xastir" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="packet.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="packet-xastir.html"><strong>Next</strong></a></li></ul><div
xml:lan
g="en-US" class="section" id="packet-xconvers"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">6.2. xconvers</h3></div></div></div><div
class="para">
+ <span class="package">xconvers</span> is a client for packet
based CONVerse bridges. When selected, <span
class="package">xconvers</span> will present a blank screen. Choosing
<span
class="guimenuitem"><strong>Open...</strong></span> from
the <span class="guimenu"><strong>Host</strong></span>
will open a dialog allowing the user to enter the name and port of the host.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xconvers/xconvers-host.png" width="378"
alt="Host open dialog" /><div class="longdesc"><div
class="para">
+ Screenshot of converse bridge
+ </div></div></div></div><h6>Figure 35. Host open
dialog</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Once connected, the user will see conversation on the channel. User input is seen in
the lower part of the window and entered into the CONVerse bridge when Return is pressed.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-xconvers/xconvers.png" width="534.6"
alt="xconvers" /><div class="longdesc"><div
class="para">
+ Screenshot of converse bridge
+ </div></div></div></div><h6>Figure 36. xconvers</h6></div><br
class="figure-break" />
+
+ </div><div class="para">
+ Input from different users is seen in different colors. The colors and fonts may be
adjusted by selecting <span
class="guimenuitem"><strong>Preferences...</strong></span>
from the <span
class="guimenu"><strong>Settings</strong></span> menu.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="packet.html"><strong>Prev</strong>6. Packet and
APRS</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="packet-xastir.html"><strong>Next</strong>6.3. xastir</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet.html
new file mode 100644
index 0000000..4ce2fe9
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/packet.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>6. Packet and APRS</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="antenna-xnec2c.html" title="5.2. xnec2c"
/><link rel="next" href="packet-xconvers.html"
title="6.2. xconvers" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="antenna-xnec2c.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="packet-xconvers.html"><strong>Next</strong></a></li></u
l><div xml:lang="en-US" class="section" id="packet"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">6. Packet and
APRS</h2></div></div></div><div class="para">
+
+ </div><div xml:lang="en-US" class="section"
id="packet-colrdx" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">6.1. colrdx</h3></div></div></div><div
class="para">
+ Colrdx is a simple client for amateur radio dx-clusters. In a split-screen display you
can type commands for the cluster in the bottom part. Messages from the dx-cluster will
appear in the main window. There is also a status line at the top with some basic
information.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/packet-colrdx/colrdx.png" width="534.6" alt="DX
Cluster Client" /><div class="longdesc"><div
class="para">
+ dx cluster client
+ </div></div></div></div><h6>Figure 34. DX Cluster
Client</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ To start <span class="package">colrdx</span>, open a terminal
window and type the command. You must provide your callsign and the name of the packet
cluster. Optionally, you may also wish to provide the port:
+<pre class="screen">
+colrdx -c <call> <nodename> [<port>]
+</pre>
+ You will see some introductory information from the cluster and spots will begin to
appear. You may type commands to the cluster (dependent on the particular cluster). To
exit type <code class="command">quit</code>.
+ </div><div class="para">
+ There is a manpage with additional details.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="antenna-xnec2c.html"><strong>Prev</strong>5.2. xnec2c</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="packet-xconvers.html"><strong>Next</strong>6.2. xconvers</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/rig-grig.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/rig-grig.html
new file mode 100644
index 0000000..bac4f22
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/rig-grig.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.2. grig</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="rig.html" title="3. Rig Control" /><link
rel="prev" href="rig.html" title="3. Rig Control"
/><link rel="next" href="logging.html" title="4. Logging
and related applications" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="rig.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="logging.html"><strong>Next</strong></a></li></ul><div
xml:lang="en
-US" class="section" id="rig-grig"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2. grig</h3></div></div></div><a
id="idm217631738624" class="indexterm"></a><a
id="idm217631855184" class="indexterm"></a><a
id="idm217631854224" class="indexterm"></a><a
id="idm217614542944" class="indexterm"></a><div
class="para">
+ <span class="package">grig</span> is a simple front panel for a
radio controlled by <span class="package">hamlib</span>. Before
using <span class="package">grig</span> the user should first
configure <span class="package">hamlib</span>.
+ </div><div class="para">
+ To start <span class="package">grig</span>, click the <span
class="package">grig</span> icon:
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-grig/grig-icon.png" width="162" alt="grig
icon" /><div class="longdesc"><div class="para">
+ grig
+ </div></div></div></div><h6>Figure 12. grig
icon</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ The main window allows for control over most of the actions accessible from a typical
radio front panel. Frequency may be increased or decreased by left or right clicking the
appropriate digit in the frequency display. Other controls are more or less
self-explanatory.
+ </div><div class="para">
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-grig/grig-mainwindow.png" width="534.6" alt="grig
main window" /><div class="longdesc"><div
class="para">
+ grig
+ </div></div></div></div><h6>Figure 13. grig main
window</h6></div><br class="figure-break" />
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="rig.html"><strong>Prev</strong>3. Rig
Control</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="logging.html"><strong>Next</strong>4. Logging and related
applications</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/rig.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/rig.html
new file mode 100644
index 0000000..5a25556
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/rig.html
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3. Rig Control</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="soundcard.html" title="2. Sound Card Modes"
/><link rel="next" href="rig-grig.html"
title="3.2. grig" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="soundcard.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="rig-grig.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-
US" class="section" id="rig" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title">3. Rig
Control</h2></div></div></div><div class="para">
+ This section describes rig control applications.
+ </div><div xml:lang="en-US" class="section"
id="rig-chirp" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1. Chirp</h3></div></div></div><div
class="para">
+ <span class="package">chirp</span> is an application that allows
programming of radios from a number of vendors. Chirp assumes that the appropriate cable
is available and connected. Data may be saved to a <code
class="filename">.csv</code> file for manipulation by other
applications, as well as transferred between radios, even radios from different
manufacturers.
+ </div><div class="para">
+ <span
class="application"><strong>chirp</strong></span> is
started by clicking the chirp icon.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp001.png" width="216" alt="Chirp
icon" /><div class="longdesc"><div class="para">
+ Chirp Icon
+ </div></div></div></div><h6>Figure 2. Chirp
icon</h6></div><br class="figure-break" />
+ This will present a rather uninteresting blank screen.
+ </div><div class="para">
+ In most cases, the user will wish to begin by selecting <span
class="guilabel"><strong>Download from
Radio</strong></span> from the <span
class="guimenu"><strong>Radio</strong></span> menu. This
will launch a dialog requesting some basic information such as the desired serial port,
radio vendor and model. Note that the selected serial port must permit read/write access.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp002.png" width="534.6" alt="Chirp
Radio Dialog" /><div class="longdesc"><div
class="para">
+ Chirp Radio Dialog
+ </div></div></div></div><h6>Figure 3. Chirp Radio
Dialog</h6></div><br class="figure-break" />
+ Clicking the <span
class="guilabel"><strong>OK</strong></span> button will
begin reading the radio's memory.
+ </div><div class="para">
+ What happens next depends on the radio. For radios that operate in "live"
mode, the values will appear in the window, and values at the bottom of the window will
show how many memories remain to be read and how many have been read. For radios with
multiple bands, the first value will alternate between bands.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp003.png" width="534.6" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 4. Chirp Main
Screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ For radios that do not operate in "live" mode, a small window containing a
progress bar will show the progress of the download. The data will appear after the data
has been downloaded.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp009.png" width="216" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 5. Chirp Main
Screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ To change a value, simply click on the field and begin typing.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp004.png" width="534.6" alt="Changing a
memory location" /><div class="longdesc"><div
class="para">
+ Changing a memory location
+ </div></div></div></div><h6>Figure 6. Changing a
memory location</h6></div><br class="figure-break" />
+ On some radios, data is changed in the radio as soon as it is changed onscreen. For
others, it will be necessary to select the <span
class="guilabel"><strong>Upload to Radio</strong></span>
from the <span
class="guimenu"><strong>Radio</strong></span> menu.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp010.png" width="378" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 7. Chirp Main
Screen</h6></div><br class="figure-break" />
+ A progress bar will be displayed similar to that displayed during data download.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp011.png" width="216" alt="Chirp Main
Screen" /><div class="longdesc"><div
class="para">
+ Chirp Main Screen
+ </div></div></div></div><h6>Figure 8. Chirp Main
Screen</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ By default, only the first 25 memories are displayed. Near the top of the screen the
<span class="guilabel"><strong>Memory
range</strong></span> controls allow for selecting those memories to be
displayed. If a large number of memories are selected, it may take some time to display.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp005.png" alt="Selecting Memory Range to
Display" /><div class="longdesc"><div
class="para">
+ Chirp
+ </div></div></div></div><h6>Figure 9. Selecting Memory
Range to Display</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Depending on the radio, there may be quite a few columns to display, so maximizing the
window could be helpful.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp006.png" width="534.6" alt="Large
Display" /><div class="longdesc"><div
class="para">
+ Chirp
+ </div></div></div></div><h6>Figure 10. Large
Display</h6></div><br class="figure-break" />
+
+ </div><div class="para">
+ Individual columns may be removed from the display, making the display more manageable.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/rig-chirp/chirp007.png" width="534.6" alt="Selecting
Columns" /><div class="longdesc"><div
class="para">
+ Chirp
+ </div></div></div></div><h6>Figure 11. Selecting
Columns</h6></div><br class="figure-break" />
+
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="soundcard.html"><strong>Prev</strong>2. Sound Card
Modes</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="rig-grig.html"><strong>Next</strong>3.2. grig</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/soundcard.html
b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/soundcard.html
new file mode 100644
index 0000000..a74a739
--- /dev/null
+++ b/public_html/en-US/Fedora/19/html/Amateur_Radio_Guide/soundcard.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>2. Sound Card Modes</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package" content="Fedora-Amateur_Radio_Guide-19-en-US-0-0"
/><script type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora');
+
+ addID('Fedora.19');
+
+ addID('Fedora.19.books');
+ addID('Fedora.19.Amateur_Radio_Guide');
+ </script><link rel="home" href="index.html"
title="Amateur Radio Guide" /><link rel="up"
href="index.html" title="Amateur Radio Guide" /><link
rel="prev" href="index.html" title="Amateur Radio Guide"
/><link rel="next" href="rig.html" title="3. Rig
Control" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="index.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="rig.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="sec
tion" id="soundcard" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">2. Sound Card
Modes</h2></div></div></div><div class="para">
+ This section describes the sound card modes.
+ </div><div xml:lang="en-US" class="section"
id="soundcard-fldigi" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">2.1. fldigi</h3></div></div></div><div
class="para">
+ fldigi is one of the most robust soundcard modem software around. It supports CW,
DominioEX, Feld-Hell, MFSK, MT-63 PSK, OLIVIA, RTTY, Thor, and Throb. fldigi also
includes, as part of the software, a logger which is smart enough to almost complete
itself.
+ <div class="figure"><div
class="figure-contents"><div class="mediaobject"><img
src="images/soundcard-fldigi/fldigi-screenshot2.png" width="534.6"
alt="fldigi" /><div class="longdesc"><div
class="para">
+ fldigi receiving PSK-31
+ </div></div></div></div><h6>Figure 1. fldigi</h6></div><br
class="figure-break" />
+
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="index.html"><strong>Prev</strong>Amateur Radio
Guide</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="rig.html"><strong>Next</strong>3. Rig
Control</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf
b/public_html/en-US/Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf
new file mode 100644
index 0000000..6151c95
Binary files /dev/null and
b/public_html/en-US/Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub
b/public_html/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub
new file mode 100644
index 0000000..501a939
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/epub/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.epub
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/common.css
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/common.css
new file mode 100644
index 0000000..d7dc3f2
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/common.css
@@ -0,0 +1,1528 @@
+* {
+ widows: 2 !important;
+ orphans: 2 !important;
+}
+
+body, h1, h2, h3, h4, h5, h6, pre, li, div {
+ line-height: 1.29em;
+}
+
+body {
+ background-color: white;
+ margin:0 auto;
+ font-family: "liberation sans", "Myriad ", "Bitstream Vera
Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS",
helvetica, verdana, arial, sans-serif;
+ font-size:12px;
+ max-width:55em;
+ color:black;
+}
+
+body.toc_embeded {
+ /*for web hosting system only*/
+ margin-left: 300px;
+}
+
+object.toc, iframe.toc {
+ /*for web hosting system only*/
+ border-style:none;
+ position:fixed;
+ width:290px;
+ height:99.99%;
+ top:0;
+ left:0;
+ z-index: 100;
+ border-style:none;
+ border-right:1px solid #999;
+}
+
+/* Hide web menu */
+
+body.notoc {
+ margin-left: 3em;
+}
+
+iframe.notoc {
+ border-style:none;
+ border: none;
+ padding: 0em;
+ position:fixed;
+ width: 21px;
+ height: 29px;
+ top: 0px;
+ left:0;
+ overflow: hidden;
+ margin: 0em;
+ margin-left: -3px;
+}
+/* End hide web menu */
+
+/* desktop styles */
+body.desktop {
+ margin-left: 26em;
+}
+
+body.desktop .book > .toc {
+ display:block;
+ width:24em;
+ height:99%;
+ position:fixed;
+ overflow:auto;
+ top:0px;
+ left:0px;
+ padding-left:1em;
+ background-color:#EEEEEE;
+}
+
+.toc {
+ line-height:1.35em;
+}
+
+.toc .glossary,
+.toc .chapter, .toc .appendix {
+ margin-top:1em;
+}
+
+.toc .part {
+ margin-top:1em;
+ display:block;
+}
+
+span.glossary,
+span.appendix {
+ display:block;
+ margin-top:0.5em;
+}
+
+div {
+ padding-top:0px;
+}
+
+div.section {
+ padding-top:1em;
+}
+
+p, div.para, div.formalpara {
+ padding-top:0px;
+ margin-top:0.3em;
+ padding-bottom:0px;
+ margin-bottom:1em;
+}
+
+/*Links*/
+a {
+ outline: none;
+}
+
+a:link {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#3366cc;
+}
+
+a:visited {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#003366;
+}
+
+div.longdesc-link {
+ float:right;
+ color:#999;
+}
+
+.toc a, .qandaset a {
+ font-weight:normal;
+ border:none;
+}
+
+.toc a:hover, .qandaset a:hover
+{
+ border-bottom: 1px dotted;
+}
+
+/*headings*/
+h1, h2, h3, h4, h5, h6 {
+ color: #336699;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ background-color: transparent;
+ page-break-inside: avoid;
+ page-break-after: avoid;
+}
+
+h1 {
+ font-size:2.0em;
+}
+
+.titlepage h1.title {
+ font-size: 3.0em;
+ padding-top: 1em;
+ text-align:left;
+}
+
+.book > .titlepage h1.title {
+ text-align:center;
+}
+
+.article > .titlepage h1.title {
+ text-align:center;
+}
+
+.set .titlepage > div > div > h1.title {
+ text-align:center;
+}
+
+.producttitle {
+ margin-top: 0em;
+ margin-bottom: 0em;
+ font-size: 3.0em;
+ font-weight: bold;
+ background: #003d6e url(../images/h1-bg.png) top left repeat-x;
+ color: white;
+ text-align: center;
+ padding: 0.7em;
+}
+
+.titlepage .corpauthor {
+ margin-top: 1em;
+ text-align: center;
+}
+
+.section h1.title {
+ font-size: 1.6em;
+ padding: 0em;
+ color: #336699;
+ text-align: left;
+ background: white;
+}
+
+h2 {
+ font-size:1.6em;
+}
+
+
+h2.subtitle, h3.subtitle {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ text-align: center;
+}
+
+.preface > div > div > div > h2.title {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+.appendix h2 {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+
+
+h3 {
+ font-size:1.3em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+h4 {
+ font-size:1.1em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+
+h5 {
+ font-size:1em;
+}
+
+h6 {
+ font-size:1em;
+}
+
+h5.formalpara {
+ font-size:1em;
+ margin-top:2em;
+ margin-bottom:.8em;
+}
+
+.abstract h6 {
+ margin-top:1em;
+ margin-bottom:.5em;
+ font-size:2em;
+}
+
+/*element rules*/
+hr {
+ border-collapse: collapse;
+ border-style:none;
+ border-top: 1px dotted #ccc;
+ width:100%;
+ margin-top: 3em;
+}
+
+/* web site rules */
+ul.languages, .languages li {
+ display:inline;
+ padding:0em;
+}
+
+.languages li a {
+ padding:0em .5em;
+ text-decoration: none;
+}
+
+.languages li p, .languages li div.para {
+ display:inline;
+}
+
+.languages li a:link, .languages li a:visited {
+ color:#444;
+}
+
+.languages li a:hover, .languages li a:focus, .languages li a:active {
+ color:black;
+}
+
+ul.languages {
+ display:block;
+ background-color:#eee;
+ padding:.5em;
+}
+
+/*supporting stylesheets*/
+
+/*unique to the webpage only*/
+.books {
+ position:relative;
+}
+
+.versions li {
+ width:100%;
+ clear:both;
+ display:block;
+}
+
+a.version {
+ font-size:2em;
+ text-decoration:none;
+ width:100%;
+ display:block;
+ padding:1em 0em .2em 0em;
+ clear:both;
+}
+
+a.version:before {
+ content:"Version";
+ font-size:smaller;
+}
+
+a.version:visited, a.version:link {
+ color:#666;
+}
+
+a.version:focus, a.version:hover {
+ color:black;
+}
+
+.books {
+ display:block;
+ position:relative;
+ clear:both;
+ width:100%;
+}
+
+.books li {
+ display:block;
+ width:200px;
+ float:left;
+ position:relative;
+ clear: none ;
+}
+
+.books .html {
+ width:170px;
+ display:block;
+}
+
+.books .pdf {
+ position:absolute;
+ left:170px;
+ top:0px;
+ font-size:smaller;
+}
+
+.books .pdf:link, .books .pdf:visited {
+ color:#555;
+}
+
+.books .pdf:hover, .books .pdf:focus {
+ color:#000;
+}
+
+.books li a {
+ text-decoration:none;
+}
+
+.books li a:hover {
+ color:black;
+}
+
+/*products*/
+.products li {
+ display: block;
+ width:300px;
+ float:left;
+}
+
+.products li a {
+ width:300px;
+ padding:.5em 0em;
+}
+
+.products ul {
+ clear:both;
+}
+
+/*revision history*/
+.revhistory {
+ display:block;
+}
+
+.revhistory table {
+ background-color:transparent;
+ border-color:#fff;
+ padding:0em;
+ margin: 0;
+ border-collapse:collapse;
+ border-style:none;
+}
+
+.revhistory td {
+ text-align :left;
+ padding:0em;
+ border: none;
+ border-top: 1px solid #fff;
+ font-weight: bold;
+}
+
+.revhistory .simplelist td {
+ font-weight: normal;
+}
+
+.revhistory .simplelist {
+ margin-bottom: 1.5em;
+ margin-left: 1em;
+}
+
+.revhistory table th {
+ display: none;
+}
+
+
+/*credits*/
+.authorgroup div {
+ clear:both;
+ text-align: center;
+}
+
+h3.author {
+ margin: 0em;
+ padding: 0em;
+ padding-top: 1em;
+}
+
+.authorgroup h4 {
+ padding: 0em;
+ margin: 0em;
+ padding-top: 1em;
+ margin-top: 1em;
+}
+
+.author,
+.editor,
+.translator,
+.othercredit,
+.contrib {
+ display: block;
+}
+
+.revhistory .author {
+ display: inline;
+}
+
+.othercredit h3 {
+ padding-top: 1em;
+}
+
+
+.othercredit {
+ margin:0em;
+ padding:0em;
+}
+
+.releaseinfo {
+ clear: both;
+}
+
+.copyright {
+ margin-top: 1em;
+}
+
+/* qanda sets */
+.answer {
+ margin-bottom:1em;
+ border-bottom:1px dotted #ccc;
+}
+
+.qandaset .toc {
+ border-bottom:1px dotted #ccc;
+}
+
+.question {
+ font-weight:bold;
+}
+
+.answer .data, .question .data {
+ padding-left: 2.6em;
+}
+
+.answer label, .question label {
+ float:left;
+ font-weight:bold;
+}
+
+/* inline syntax highlighting */
+.perl_Alert {
+ color: #0000ff;
+}
+
+.perl_BaseN {
+ color: #007f00;
+}
+
+.perl_BString {
+ color: #5C3566;
+}
+
+.perl_Char {
+ color: #ff00ff;
+}
+
+.perl_Comment {
+ color: #FF00FF;
+}
+
+
+.perl_DataType {
+ color: #0000ff;
+}
+
+
+.perl_DecVal {
+ color: #00007f;
+}
+
+
+.perl_Error {
+ color: #ff0000;
+}
+
+
+.perl_Float {
+ color: #00007f;
+}
+
+
+.perl_Function {
+ color: #007f00;
+}
+
+
+.perl_IString {
+ color: #5C3566;
+}
+
+
+.perl_Keyword {
+ color: #002F5D;
+}
+
+
+.perl_Operator {
+ color: #ffa500;
+}
+
+
+.perl_Others {
+ color: #b03060;
+}
+
+
+.perl_RegionMarker {
+ color: #96b9ff;
+}
+
+
+.perl_Reserved {
+ color: #9b30ff;
+}
+
+
+.perl_String {
+ color: #5C3566;
+}
+
+
+.perl_Variable {
+ color: #0000ff;
+}
+
+
+.perl_Warning {
+ color: #0000ff;
+}
+
+/*Lists*/
+ul {
+ padding-left:1.6em;
+ list-style-image:url(../images/dot.png);
+ list-style-type: circle;
+}
+
+ul ul {
+ list-style-image:url(../images/dot2.png);
+ list-style-type: circle;
+}
+
+ol {
+ list-style-image:none;
+ list-style-type: decimal;
+}
+
+ol ol {
+ list-style-type: lower-alpha;
+}
+
+ol.arabic {
+ list-style-type: decimal;
+}
+
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+dt {
+ font-weight:bold;
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+dd {
+ margin:0em;
+ margin-left:2em;
+ padding-top:0em;
+ padding-bottom: 1em;
+}
+
+li {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.4em;
+}
+
+li p, li div.para {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.3em;
+}
+
+/*images*/
+img {
+ display:block;
+ margin: 2em 0;
+}
+
+.inlinemediaobject, .inlinemediaobject img {
+ display:inline;
+ margin:0em;
+}
+
+.figure img {
+ display:block;
+ margin:0;
+ page-break-inside: avoid;
+}
+
+.figure .title {
+ margin:0em;
+ margin-bottom:2em;
+ padding:0px;
+}
+
+/*document modes*/
+.confidential {
+ background-color:#900;
+ color:White;
+ padding:.5em .5em;
+ text-transform:uppercase;
+ text-align:center;
+}
+
+.longdesc-link {
+ display:none;
+}
+
+.longdesc {
+ display:none;
+}
+
+.prompt {
+ padding:0em .3em;
+}
+
+/*user interface styles*/
+.screen .replaceable {
+}
+
+.guibutton, .guilabel {
+ font-family: "liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight: bold;
+ white-space: nowrap;
+}
+
+.example {
+ background-color: #ffffff;
+ border-left: 3px solid #aaaaaa;
+ padding-top: 1em;
+ padding-bottom: 0.1em;
+}
+
+.example h6 {
+ padding-left: 10px;
+}
+
+.example-contents {
+ padding-left: 10px;
+ background-color: #ffffff;
+}
+
+.example-contents .para {
+/* padding: 10px;*/
+}
+
+/*terminal/console text*/
+.computeroutput,
+.option {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+.replaceable {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-style: italic;
+}
+
+.command, .filename, .keycap, .classname, .literal {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+/* no bold in toc */
+.toc * {
+ font-weight: inherit;
+}
+
+pre {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ display:block;
+ background-color: #f5f5f5;
+ color: #000000;
+ border: 1px solid #aaaaaa;
+ margin-bottom: 0.3em;
+ padding:.5em 1em;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+ font-size: 0.9em;
+}
+
+pre .replaceable,
+pre .keycap {
+}
+
+code {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+/* white-space: nowrap;*/
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ font-weight:bold;
+}
+
+.parameter code {
+ display: inline;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+
+/*Notifications*/
+div.warning:before {
+ content:url(../images/warning.png);
+ padding-left: 5px;
+}
+
+div.note:before {
+ content:url(../images/note.png);
+ padding-left: 5px;
+}
+
+div.important:before {
+ content:url(../images/important.png);
+ padding-left: 5px;
+}
+
+div.warning, div.note, div.important {
+ color: black;
+ margin: 0em;
+ padding: 0em;
+ background: none;
+ background-color: white;
+ margin-bottom: 1em;
+ border-bottom: 1px solid #aaaaaa;
+ page-break-inside: avoid;
+}
+
+div.warning h2, div.note h2,div.important h2 {
+ margin: 0em;
+ padding: 0em;
+ color: #eeeeec;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: 1.4em;
+ line-height: 1.4em;
+ font-size: 1.4em;
+ display:inline;
+}
+
+div.admonition_header {
+ clear: both;
+ margin: 0em;
+ padding: 0em;
+ margin-top: -3.3em;
+ padding-left: 58px;
+ line-height: 1.0em;
+ font-size: 1.0em;
+}
+
+div.warning div.admonition_header {
+ background: url(../images/red.png) top left repeat-x;
+ background-color: #590000;
+}
+
+div.note div.admonition_header {
+ background: url(../images/green.png) top right repeat-x;
+ background-color: #597800;
+}
+
+div.important div.admonition_header {
+ background: url(../images/yellow.png) top right repeat-x;
+ background-color: #a6710f;
+}
+
+div.warning p, div.warning div.para,
+div.note p, div.note div.para,
+div.important p, div.important div.para {
+ padding: 0em;
+ margin: 0em;
+}
+
+div.admonition {
+ border: none;
+ border-left: 1px solid #aaaaaa;
+ border-right: 1px solid #aaaaaa;
+ padding:0em;
+ margin:0em;
+ padding-top: 1.5em;
+ padding-bottom: 1em;
+ padding-left: 2em;
+ padding-right: 1em;
+ background-color: #eeeeec;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+
+/*Page Title*/
+#title {
+ display:block;
+ height:45px;
+ padding-bottom:1em;
+ margin:0em;
+}
+
+#title a.left{
+ display:inline;
+ border:none;
+}
+
+#title a.left img{
+ border:none;
+ float:left;
+ margin:0em;
+ margin-top:.7em;
+}
+
+#title a.right {
+ padding-bottom:1em;
+}
+
+#title a.right img {
+ border:none;
+ float:right;
+ margin:0em;
+ margin-top:.7em;
+}
+
+/*Table*/
+div.table {
+ page-break-inside: avoid;
+}
+
+table {
+ border:1px solid #6c614b;
+ width:100%;
+ border-collapse:collapse;
+}
+
+table.simplelist, .calloutlist table {
+ border-style: none;
+}
+
+table th {
+ text-align:left;
+ background-color:#6699cc;
+ padding:.3em .5em;
+ color:white;
+}
+
+table td {
+ padding:.15em .5em;
+}
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+table th p:first-child, table td p:first-child, table li p:first-child,
+table th div.para:first-child, table td div.para:first-child, table li
div.para:first-child {
+ margin-top:0em;
+ padding-top:0em;
+ display:inline;
+}
+
+th, td {
+ border-style:none;
+ vertical-align: top;
+ border: 1px solid #000;
+}
+
+.simplelist th, .simplelist td {
+ border: none;
+}
+
+table table td {
+ border-bottom:1px dotted #aaa;
+ background-color:white;
+ padding:.6em 0em;
+}
+
+table table {
+ border:1px solid white;
+}
+
+td.remarkval {
+ color:#444;
+}
+
+td.fieldval {
+ font-weight:bold;
+}
+
+.lbname, .lbtype, .lbdescr, .lbdriver, .lbhost {
+ color:white;
+ font-weight:bold;
+ background-color:#999;
+ width:120px;
+}
+
+td.remarkval {
+ width:230px;
+}
+
+td.tname {
+ font-weight:bold;
+}
+
+th.dbfield {
+ width:120px;
+}
+
+th.dbtype {
+ width:70px;
+}
+
+th.dbdefault {
+ width:70px;
+}
+
+th.dbnul {
+ width:70px;
+}
+
+th.dbkey {
+ width:70px;
+}
+
+span.book {
+ margin-top:4em;
+ display:block;
+ font-size:11pt;
+}
+
+span.book a{
+ font-weight:bold;
+}
+span.chapter {
+ display:block;
+ margin-top:0.5em;
+}
+
+table.simplelist td, .calloutlist table td {
+ border-style: none;
+}
+
+/*Breadcrumbs*/
+#breadcrumbs ul li.first:before {
+ content:" ";
+}
+
+#breadcrumbs {
+ color:#900;
+ padding:3px;
+ margin-bottom:25px;
+}
+
+#breadcrumbs ul {
+ margin-left:0;
+ padding-left:0;
+ display:inline;
+ border:none;
+}
+
+#breadcrumbs ul li {
+ margin-left:0;
+ padding-left:2px;
+ border:none;
+ list-style:none;
+ display:inline;
+}
+
+#breadcrumbs ul li:before {
+ content:"\0020 \0020 \0020 \00BB \0020";
+ color:#333;
+}
+
+/*index*/
+.glossary h3,
+.index h3 {
+ font-size: 2em;
+ color:#aaa;
+ margin:0em;
+}
+
+.indexdiv {
+ margin-bottom:1em;
+}
+
+.glossary dt,
+.index dt {
+ color:#444;
+ padding-top:.5em;
+}
+
+.glossary dl dl dt,
+.index dl dl dt {
+ color:#777;
+ font-weight:normal;
+ padding-top:0em;
+}
+
+.index dl dl dt:before {
+ content:"- ";
+ color:#ccc;
+}
+
+/*changes*/
+.footnote {
+ font-size: .7em;
+ margin:0em;
+ color:#222;
+}
+
+table .footnote {
+}
+
+sup {
+ color:#999;
+ margin:0em;
+ padding:0em;
+ line-height: .4em;
+ font-size: 1em;
+ padding-left:0em;
+}
+
+.footnote {
+ position:relative;
+}
+
+.footnote sup {
+ color:#e3dcc0;
+ position:absolute;
+ left: .4em;
+}
+
+.footnote sup a:link,
+.footnote sup a:visited {
+ color:#92917d;
+ text-decoration:none;
+}
+
+.footnote:hover sup a {
+ text-decoration:none;
+}
+
+.footnote p,.footnote div.para {
+ padding-left:2em;
+}
+
+.footnote a:link,
+.footnote a:visited {
+ color:#00537c;
+}
+
+.footnote a:hover {
+}
+
+/**/
+div.chapter {
+ margin-top:3em;
+ page-break-inside: avoid;
+}
+
+div.preface {
+ page-break-inside: avoid;
+}
+
+div.section {
+ margin-top:1em;
+ page-break-inside: auto;
+}
+
+div.note .replaceable,
+div.important .replaceable,
+div.warning .replaceable,
+div.note .keycap,
+div.important .keycap,
+div.warning .keycap
+{
+}
+
+ul li p:last-child, ul li div.para:last-child {
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+/*document navigation*/
+.docnav a, .docnav strong {
+ border:none;
+ text-decoration:none;
+ font-weight:normal;
+}
+
+.docnav {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ position:relative;
+ width:100%;
+ padding-bottom:2em;
+ padding-top:1em;
+ border-top:1px dotted #ccc;
+}
+
+.docnav li {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ display:inline;
+ font-size:.8em;
+}
+
+.docnav li:before {
+ content:" ";
+}
+
+.docnav li.previous, .docnav li.next {
+ position:absolute;
+ top:1em;
+}
+
+.docnav li.up, .docnav li.home {
+ margin:0em 1.5em;
+}
+
+.docnav li.previous {
+ left:0px;
+ text-align:left;
+}
+
+.docnav li.next {
+ right:0px;
+ text-align:right;
+}
+
+.docnav li.previous strong, .docnav li.next strong {
+ height:22px;
+ display:block;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+.docnav li.next a strong {
+ background: url(../images/stock-go-forward.png) top right no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-right:28px;
+ font-size:1.2em;
+}
+
+.docnav li.previous a strong {
+ background: url(../images/stock-go-back.png) top left no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-left:28px;
+ padding-right:0.5em;
+ font-size:1.2em;
+}
+
+.docnav li.home a strong {
+ background: url(../images/stock-home.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav li.up a strong {
+ background: url(../images/stock-go-up.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav a:link, .docnav a:visited {
+ color:#666;
+}
+
+.docnav a:hover, .docnav a:focus, .docnav a:active {
+ color:black;
+}
+
+.docnav a {
+ max-width: 10em;
+ overflow:hidden;
+}
+
+.docnav a:link strong {
+ text-decoration:none;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+ul.docnav {
+ margin-bottom: 1em;
+}
+/* Reports */
+.reports ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.reports li{
+ margin:0em;
+ padding:0em;
+}
+
+.reports li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.reports dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.reports h2, .reports h3{
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.reports div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/*uniform*/
+body.results, body.reports {
+ max-width:57em ;
+ padding:0em;
+}
+
+/*Progress Bar*/
+div.progress {
+ display:block;
+ float:left;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ height:1em;
+}
+
+div.progress span {
+ height:1em;
+ float:left;
+}
+
+div.progress span.translated {
+ background:#6c3 url(../images/shine.png) top left repeat-x;
+}
+
+div.progress span.fuzzy {
+ background:#ff9f00 url(../images/shine.png) top left repeat-x;
+}
+
+
+/*Results*/
+
+.results ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.results li{
+ margin:0em;
+ padding:0em;
+}
+
+.results li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.results dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.results dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.results dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.results h2, .results h3 {
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.results div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/* Dirty EVIL Mozilla hack for round corners */
+pre {
+ -moz-border-radius:11px;
+ -webkit-border-radius:11px;
+ border-radius: 11px;
+ page-break-inside: avoid;
+}
+
+.example {
+ -moz-border-radius:0px;
+ -webkit-border-radius:0px;
+ border-radius: 0px;
+ page-break-inside: avoid;
+}
+
+.package, .citetitle {
+ font-style: italic;
+}
+
+.titlepage .edition {
+ color: #336699;
+ background-color: transparent;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ font-weight: bold;
+ text-align: center;
+}
+
+span.remark {
+ background-color: #ff00ff;
+}
+
+.draft {
+ background-image: url(../images/watermark-draft.png);
+ background-repeat: repeat-y;
+ background-position: center;
+}
+
+.foreignphrase {
+ font-style: inherit;
+}
+
+dt {
+ clear:both;
+}
+
+dt img {
+ border-style: none;
+ max-width: 112px;
+}
+
+dt object {
+ max-width: 112px;
+}
+
+dt .inlinemediaobject, dt object {
+ display: inline;
+ float: left;
+ margin-bottom: 1em;
+ padding-right: 1em;
+ width: 112px;
+}
+
+dl:after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.toc dd {
+ padding-bottom: 0em;
+ margin-bottom: 1em;
+ padding-left: 1.3em;
+ margin-left: 0em;
+}
+
+div.toc > dl > dt {
+ padding-bottom: 0em;
+ margin-bottom: 0em;
+ margin-top: 1em;
+}
+
+
+.strikethrough {
+ text-decoration: line-through;
+}
+
+.underline {
+ text-decoration: underline;
+}
+
+.calloutlist img, .callout {
+ padding: 0em;
+ margin: 0em;
+ width: 12pt;
+ display: inline;
+ vertical-align: middle;
+}
+
+.stepalternatives {
+ list-style-image: none;
+ list-style-type: none;
+}
+
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/default.css
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/default.css
new file mode 100644
index 0000000..bf38ebb
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/default.css
@@ -0,0 +1,3 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/lang.css
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/lang.css
new file mode 100644
index 0000000..81c3115
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/lang.css
@@ -0,0 +1,2 @@
+/* place holder */
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/overrides.css
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/overrides.css
new file mode 100644
index 0000000..057be29
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/overrides.css
@@ -0,0 +1,51 @@
+a:link {
+ color:#0066cc;
+}
+
+a:hover, a:active {
+ color:#003366;
+}
+
+a:visited {
+ color:#6699cc;
+}
+
+
+h1 {
+ color:#3c6eb4
+}
+
+.producttitle {
+ background: #3c6eb4 url(../images/h1-bg.png) top left repeat;
+}
+
+.section h1.title {
+ color:#3c6eb4;
+}
+
+
+h2,h3,h4,h5,h6 {
+ color:#3c6eb4;
+}
+
+table {
+ border:1px solid #3c6eb4;
+}
+
+table th {
+ background-color:#3c6eb4;
+}
+
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+.revhistory table th {
+ color:#3c6eb4;
+}
+
+.titlepage .edition {
+ color: #3c6eb4;
+}
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/print.css
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/print.css
new file mode 100644
index 0000000..773d8ae
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/css/print.css
@@ -0,0 +1,16 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
+
+#tocframe {
+ display: none;
+}
+
+body.toc_embeded {
+ margin-left: 30px;
+}
+
+.producttitle {
+ color: #336699;
+}
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/1.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/1.png
new file mode 100644
index 0000000..c21d7a3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/1.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/1.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/1.svg
new file mode 100644
index 0000000..a2b3903
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/1.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 17.853468,22.008438 -2.564941,0 0,-7.022461 c -5e-6,-0.143873
-5e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224122,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08854,0.08302 -0.17432,0.157723 -0.257324,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/10.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/10.png
new file mode 100644
index 0000000..15b81da
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/10.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/10.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/10.svg
new file mode 100644
index 0000000..af015ab
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/10.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/11.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/11.png
new file mode 100644
index 0000000..2fcc2dd
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/11.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/11.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/11.svg
new file mode 100644
index 0000000..cb82b70
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/11.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/12.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/12.png
new file mode 100644
index 0000000..edebe20
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/12.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/12.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/12.svg
new file mode 100644
index 0000000..3b6d822
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/12.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/13.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/13.png
new file mode 100644
index 0000000..ec48cef
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/13.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/13.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/13.svg
new file mode 100644
index 0000000..226e461
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/13.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/14.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/14.png
new file mode 100644
index 0000000..33d5637
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/14.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/14.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/14.svg
new file mode 100644
index 0000000..5aaa3a3
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/15.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/15.png
new file mode 100644
index 0000000..f1a4eb2
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/15.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/15.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/15.svg
new file mode 100644
index 0000000..f51dd96
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/15.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2839"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2841"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/16.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/16.png
new file mode 100644
index 0000000..d38a155
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/16.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/16.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/16.svg
new file mode 100644
index 0000000..cb7e2f5
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/16.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/17.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/17.png
new file mode 100644
index 0000000..d83e898
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/17.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/17.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/17.svg
new file mode 100644
index 0000000..5d6f0ad
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/17.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/18.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/18.png
new file mode 100644
index 0000000..9e39de4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/18.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/18.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/18.svg
new file mode 100644
index 0000000..9ea672c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/18.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/19.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/19.png
new file mode 100644
index 0000000..9eeedfb
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/19.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/19.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/19.svg
new file mode 100644
index 0000000..80d1d09
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/19.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/2.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/2.png
new file mode 100644
index 0000000..ff9cc57
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/2.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/2.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/2.svg
new file mode 100644
index 0000000..8e94260
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/2.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.89546,22.008438 -8.143066,0 0,-1.784668 2.855468,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979493,-1.0708 0.293289,-0.326492
0.545079,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.373529,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.17431,-0.666821 0.174316,-1.037598 -6e-6,-0.409496
-0.124517,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827313,0.522958 -1.270019,0.921386 l -1.394531,-1.651855 c
0.249022,-0.226877 0.509113,-0.442698 0.780273,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079102,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319824,-0.1494141
0.58105,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860507,0.3901488
1.187012,0.6889648 0.326489,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583
0.265617,0.893727 0.265625,1.41
9433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648
-0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083
-1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l
-1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/20.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/20.png
new file mode 100644
index 0000000..b28b4aa
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/20.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/20.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/20.svg
new file mode 100644
index 0000000..409ac6e
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/20.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/21.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/21.png
new file mode 100644
index 0000000..eda952c
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/21.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/21.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/21.svg
new file mode 100644
index 0000000..7bc03af
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/21.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/22.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/22.png
new file mode 100644
index 0000000..90b14b0
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/22.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/22.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/22.svg
new file mode 100644
index 0000000..fe086f6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/22.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/23.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/23.png
new file mode 100644
index 0000000..8b35a74
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/23.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/23.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/23.svg
new file mode 100644
index 0000000..f17ec29
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/23.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/24.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/24.png
new file mode 100644
index 0000000..6041b02
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/24.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/24.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/24.svg
new file mode 100644
index 0000000..42a5333
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/24.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/25.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/25.png
new file mode 100644
index 0000000..ecb15e6
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/25.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/25.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/25.svg
new file mode 100644
index 0000000..a8d4672
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/25.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/26.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/26.png
new file mode 100644
index 0000000..4b2f560
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/26.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/26.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/26.svg
new file mode 100644
index 0000000..3cf00ec
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/26.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/27.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/27.png
new file mode 100644
index 0000000..ecf058e
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/27.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/27.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/27.svg
new file mode 100644
index 0000000..c8d6440
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/27.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/28.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/28.png
new file mode 100644
index 0000000..e64efb2
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/28.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/28.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/28.svg
new file mode 100644
index 0000000..5acce93
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/28.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/29.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/29.png
new file mode 100644
index 0000000..dbbca1b
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/29.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/29.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/29.svg
new file mode 100644
index 0000000..507dd44
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/29.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/3.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/3.png
new file mode 100644
index 0000000..4febe43
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/3.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/3.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/3.svg
new file mode 100644
index 0000000..5e87e1f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/3.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.422316,12.587051 c -9e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.23243,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315437,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.392911,0.332031 -0.890957,0.592122 -1.494141,0.780273 -0.597661,0.182617
-1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267255,-0.05534 -1.842773,-0.166016
-0.575523,-0.105143 -1.112306,-0.268392 -1.610352,-0.489746 l 0,-2.183105 c
0.249023,0.132815 0.511881,0.249025 0.788574,0.348632 0.276692,0.09961 0.553384,0.185387
0.830079,0.257325 0.27669,0.06641 0.547848,0.116212 0.813476,0.149414 0.271156,0.0332
0.525713,0.04981 0.763672,0.0498 0.475907,2e-6 0.871577,-0.04427 1.187012,-0.132812
0.315424,-
0.08854 0.567214,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320957,-0.351397
0.398437,-0.572754 0.083,-0.226885 0.124506,-0.473141 0.124512,-0.73877 -6e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.265631,-0.376297
-0.498047,-0.514648 -0.226893,-0.143876 -0.525721,-0.254553 -0.896484,-0.332032
-0.370773,-0.07747 -0.827315,-0.116205 -1.369629,-0.116211 l -0.863281,0 0,-1.801269
0.846679,0 c 0.509111,7e-6 0.932451,-0.04426 1.27002,-0.132813 0.33756,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.43164,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.68897,-0.365224
-1.27002,-0.365234 -0.265629,10e-6 -0.514652,0.02768 -0.74707,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193688,0.07748 -0.373538,0.166026
-0.539551,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439941,0.282227 l
-1.294922,-1.70
9961 c 0.232421,-0.171538 0.484211,-0.329253 0.755371,-0.473145 0.276691,-0.143868
0.575519,-0.26838 0.896484,-0.373535 0.320961,-0.1106647 0.666827,-0.1964393
1.037598,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492506,0.1272911
0.913079,0.3154421 1.261718,0.5644531 0.348626,0.243501 0.617017,0.545096
0.805176,0.904786 0.193677,0.354177 0.290519,0.760914 0.290528,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/30.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/30.png
new file mode 100644
index 0000000..f4ffb14
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/30.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/30.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/30.svg
new file mode 100644
index 0000000..434e663
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/30.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/31.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/31.png
new file mode 100644
index 0000000..0b29e87
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/31.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/31.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/31.svg
new file mode 100644
index 0000000..08c3f2d
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/31.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/32.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/32.png
new file mode 100644
index 0000000..a4740a3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/32.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/32.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/32.svg
new file mode 100644
index 0000000..aa099c3
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/32.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/33.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/33.png
new file mode 100644
index 0000000..f23ccea
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/33.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/33.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/33.svg
new file mode 100644
index 0000000..fce979c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/33.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/34.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/34.png
new file mode 100644
index 0000000..7e2ab31
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/34.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/34.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/34.svg
new file mode 100644
index 0000000..c67f8ec
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/34.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/35.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/35.png
new file mode 100644
index 0000000..02118e3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/35.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/35.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/35.svg
new file mode 100644
index 0000000..da7780a
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/35.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/36.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/36.png
new file mode 100644
index 0000000..30f4fdf
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/36.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/36.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/36.svg
new file mode 100644
index 0000000..348549a
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/36.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/37.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/37.png
new file mode 100644
index 0000000..6174706
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/37.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/37.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/37.svg
new file mode 100644
index 0000000..7bc04d9
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/37.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/38.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/38.png
new file mode 100644
index 0000000..161661d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/38.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/38.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/38.svg
new file mode 100644
index 0000000..ec2ad98
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/38.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/39.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/39.png
new file mode 100644
index 0000000..2d46b24
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/39.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/39.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/39.svg
new file mode 100644
index 0000000..664ffdd
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/39.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/4.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/4.png
new file mode 100644
index 0000000..9b9dd88
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/4.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/4.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/4.svg
new file mode 100644
index 0000000..bc06c73
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/4.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 20.078077,19.493301 -1.460937,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460937,0 0,1.992187 m
-3.959472,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09962,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.12175,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.025391,3.071289 2.75586,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/40.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/40.png
new file mode 100644
index 0000000..fe2a68f
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/40.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/40.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/40.svg
new file mode 100644
index 0000000..5a94d1b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/40.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.440535,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.0136719,0 0,-1.784668 5.1547849,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187
m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.0253904,3.071289 2.7558594,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/5.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/5.png
new file mode 100644
index 0000000..f239fb6
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/5.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/5.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/5.svg
new file mode 100644
index 0000000..82fb03d
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/5.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 16.035597,14.255508 c 0.520177,8e-6 1.004388,0.08025 1.452637,0.240723
0.448235,0.160489 0.838371,0.395678 1.17041,0.705566 0.332023,0.309903 0.592114,0.697272
0.780273,1.16211 0.188143,0.459315 0.282218,0.987797 0.282227,1.585449 -9e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.204761,0.520184 -0.506356,0.962892
-0.904785,1.328125 -0.398445,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261724,0.290528 -2.025391,0.290528 -0.304365,0 -0.60596,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863281,-0.124512
-0.271161,-0.04981 -0.531252,-0.116211 -0.780274,-0.199219 -0.24349,-0.08301
-0.464844,-0.17985 -0.664062,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672363,0.31543 0.254556,0.09408 0.517414,0.177086 0.788574,0.249024 0.276691,0.06641
0.553383,0.121746 0.830078,0.166015 0.27669,0.03874 0.539548,0.05811 0.788575,0.05811
0.741532,2e-6 1.305984,-0.152179 1.693359,-0.456543 0.387364,-0.309893 0.5810
49,-0.799639 0.581055,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751465,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320966,0.03874 -0.481445,0.06641
-0.154951,0.02768 -0.304365,0.05811 -0.448242,0.09131 -0.143883,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456542,-6.1840821 6.408204,0 0,2.1748051
-4.183594,0 -0.199219,2.382324 c 0.17708,-0.03873 0.381832,-0.07747 0.614258,-0.116211
0.237951,-0.03873 0.542313,-0.0581 0.913086,-0.05811"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/6.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/6.png
new file mode 100644
index 0000000..18866e6
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/6.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/6.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/6.svg
new file mode 100644
index 0000000..e2f62af
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/6.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 11.702589,16.853653 c -10e-7,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.0664,-0.575514 0.179849,-1.126132 0.340332,-1.651856
0.166014,-0.531241 0.387368,-1.023753 0.664062,-1.477539 0.282225,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431638,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603186,-0.1936727 1.305984,-0.2905151 2.108399,-0.2905274
0.116204,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.138339,0.00555 0.276685,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251782,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210295,-0.04979 -0.434416,-0.08853
-0.672364,-0.116211 -0.232429,-0.03319 -0.467617,-0.04979 -0.705566,-0.0498 -0.747076,1e-5
-1.361334,0.09408 -1.842774,0.282226 -0.481449,0.182627 -0.863285,0.439951
-1.145507,0.771973 -0.28223,0.33204 -0.484216,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.215821,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243486,-0.384596 0.39843
7,-0.556153 0.160478,-0.177076 0.345862,-0.32649 0.556153,-0.448242 0.210282,-0.127271
0.44547,-0.22688 0.705566,-0.298828 0.26562,-0.07193 0.561681,-0.107902 0.888184,-0.10791
0.52571,8e-6 0.998854,0.08578 1.419433,0.257324 0.420566,0.171557 0.774732,0.42058
1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614 0.15494,0.475916
0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887 -0.282226,1.768066
-0.182626,0.520184 -0.445484,0.962892 -0.788575,1.328125 -0.343106,0.359701
-0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151 -1.034836,0.282227
-1.643554,0.282227 -0.597661,0 -1.15658,-0.105144 -1.676758,-0.31543 -0.520185,-0.21582
-0.973961,-0.542317 -1.361328,-0.979492 -0.381838,-0.437173 -0.683433,-0.987791
-0.904785,-1.651856 -0.215822,-0.669593 -0.323732,-1.460933 -0.323731,-2.374023 m
4.216797,3.270508 c 0.226883,2e-6 0.431635,-0.0415 0.614258,-0.124512 0.188145,-0.08854
0.348627,-0.218585 0.481445,-0.390137 0.13834,-0.17708 0.243483,-0.3
98434 0.31543,-0.664062 0.07747,-0.265622 0.116204,-0.581051 0.116211,-0.946289
-7e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243496,-0.343094
-0.617031,-0.514643 -1.120606,-0.514649 -0.254562,6e-6 -0.486984,0.04981
-0.697266,0.149414 -0.21029,0.09962 -0.39014,0.229661 -0.53955,0.390137 -0.149418,0.160487
-0.265629,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.31543,0.755371 0.143876,0.221357 0.318193,0.401207 0.522949,0.539551
0.210282,0.138349 0.453772,0.207522 0.730469,0.20752"
+ id="path2846"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/7.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/7.png
new file mode 100644
index 0000000..52c3a18
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/7.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/7.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/7.svg
new file mode 100644
index 0000000..a43460f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/7.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 12.789991,22.008438 4.316407,-9.960937 -5.578125,0 0,-2.1582035
8.367187,0 0,1.6103515 -4.424316,10.508789 -2.681153,0"
+ id="path2832"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/8.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/8.png
new file mode 100644
index 0000000..8a8cb21
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/8.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/8.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/8.svg
new file mode 100644
index 0000000..2c82d3f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/8.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.761671,9.7149811 c 0.503576,1.23e-5 0.979487,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337558,0.243501 0.60595,0.547862 0.805176,0.913086 0.199211,0.365244 0.29882,0.794118
0.298828,1.286621 -8e-6,0.365243 -0.05535,0.697274 -0.166015,0.996094 -0.110686,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193693,0.237963 -0.423348,0.451017
-0.688965,0.639161 -0.265632,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.633619,0.362473 0.937988,0.572754 0.309888,0.210292 0.583814,0.448247
0.821777,0.713867 0.237948,0.260096 0.428866,0.55339 0.572754,0.879883 0.143872,0.326501
0.215812,0.691735 0.21582,1.095703 -8e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478686,0.758139 -0.838379,1.045898 -0.359707,0.287761
-0.791348,0.509115 -1.294921,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651856,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.9379
9,-0.362467 -1.286621,-0.639161 -0.348634,-0.276691 -0.614259,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265626,-0.857744 -0.265625,-1.361328
-10e-7,-0.415035 0.06087,-0.78857 0.182617,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498047,-0.896485 0.210285,-0.265619 0.456541,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271162,-0.171543
-0.525719,-0.356927 -0.763672,-0.556152 -0.237958,-0.204746 -0.445477,-0.428866
-0.622559,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -10e-7,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478677,-0.669585
0.821778,-0.913086 0.343096,-0.249012 0.738766,-0.434396 1.187011,-0.5561527
0.448239,-0.1217326 0.918616,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.107911,0.614258 0.07194,0.18262 0.17708,0.340334
0.315429,0.473145 0.143877,0.132814 0.32
096,0.237957 0.53125,0.315429 0.210283,0.07194 0.453772,0.107912 0.730469,0.10791
0.581049,2e-6 1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.43164,-1.087402 -6e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218593,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.320969,-0.307125 -0.514648,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 15.662062,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664063,0.398438 -0.199222,0.138351 -0.370772,0.293299 -0.514648,0.464844
-0.13835,0.16602 -0.24626,0.348637 -0.323731,0.547851 -0.07748,0.199223 -0.116214,0.415043
-0.116211,0.647461 m 1.701661,-7.188476 c -0.182622,10e-6 -0.354171,0.02768
-0.514649,0.08301 -0.154952,0.05535 -0.290531,0.13559 -0.406738,0.240723
-0.110681,0.105153 -0.199223,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.31543
8 0.282226,0.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633
0.160478,0.09962 0.32926,0.199226 0.506348,0.298828 0.171545,-0.08853 0.334793,-0.185376
0.489746,-0.290527 0.154943,-0.105135 0.290522,-0.224113 0.406738,-0.356934
0.12174,-0.138338 0.218582,-0.293286 0.290528,-0.464843 0.07193,-0.171541
0.107904,-0.367993 0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949
-0.06641,-0.154938 -0.157721,-0.284984 -0.273926,-0.390137 -0.116217,-0.105133
-0.254563,-0.185374 -0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083
-0.522949,-0.08301"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/9.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/9.png
new file mode 100644
index 0000000..0ae412f
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/9.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/9.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/9.svg
new file mode 100644
index 0000000..b0f04c4
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/9.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.829054,15.052383 c -9e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340333,1.651856 -0.160489,0.525719
-0.381843,1.018232 -0.664062,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426113,0.332032 -0.940761,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.30046,0.282227 -2.108399,0.282227 -0.116214,0 -0.243492,-0.0028 -0.381836,-0.0083
-0.138348,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273927,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237954,0.02767 0.478676,0.04151
0.722168,0.0415 0.747067,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.481441,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.282221,-0.337562 0.481439,-0.738766
0.597657,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.107911,0 c
-0.110683,0.199225 -0.243495,0.384609 -0.398437,0.556153 -0.
154954,0.171554 -0.337571,0.320968 -0.547852,0.448242 -0.210291,0.127283
-0.448247,0.226892 -0.713867,0.298828 -0.265629,0.07194 -0.56169,0.107914
-0.888183,0.10791 -0.52572,4e-6 -0.998864,-0.08577 -1.419434,-0.257324 -0.420575,-0.171545
-0.777508,-0.420568 -1.070801,-0.74707 -0.287761,-0.326492 -0.509115,-0.727696
-0.664062,-1.203614 -0.154949,-0.475904 -0.232423,-1.020988 -0.232422,-1.635253
-10e-7,-0.65852 0.09131,-1.247875 0.273926,-1.768067 0.18815,-0.520172 0.453774,-0.960113
0.796875,-1.319824 0.343097,-0.365223 0.758135,-0.644682 1.245117,-0.838379
0.49251,-0.1936727 1.043127,-0.2905151 1.651855,-0.2905274 0.597651,1.23e-5
1.15657,0.1079224 1.676758,0.3237304 0.520176,0.210298 0.971184,0.534028 1.353027,0.971192
0.381829,0.437185 0.683423,0.990569 0.904786,1.660156 0.221345,0.669605 0.332022,1.458178
0.332031,2.365722 m -4.216797,-3.262207 c -0.226892,1.1e-5 -0.434412,0.04151
-0.622559,0.124512 -0.188154,0.08302 -0.351403,0.213063 -0.489746,0.390137
-0.132815,0.17155
9 -0.237959,0.392913 -0.315429,0.664062 -0.07194,0.265634 -0.107914,0.581063
-0.107911,0.946289 -3e-6,0.586596 0.124509,1.05144 0.373536,1.394532 0.249019,0.343105
0.625321,0.514654 1.128906,0.514648 0.254552,6e-6 0.486974,-0.0498 0.697266,-0.149414
0.210281,-0.0996 0.390131,-0.229648 0.53955,-0.390137 0.149408,-0.160475
0.262852,-0.340325 0.340332,-0.53955 0.083,-0.199212 0.124506,-0.401197 0.124512,-0.605958
-6e-6,-0.282218 -0.03598,-0.561677 -0.10791,-0.838378 -0.06641,-0.282218
-0.171556,-0.534008 -0.31543,-0.755372 -0.138352,-0.226878 -0.312668,-0.409495
-0.522949,-0.547851 -0.204758,-0.138336 -0.44548,-0.207509 -0.722168,-0.20752"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/bkgrnd_greydots.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/bkgrnd_greydots.png
new file mode 100644
index 0000000..2333a6d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/bkgrnd_greydots.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/bullet_arrowblue.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/bullet_arrowblue.png
new file mode 100644
index 0000000..c235534
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/bullet_arrowblue.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/documentation.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/documentation.png
new file mode 100644
index 0000000..79d0a80
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/documentation.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/dot.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/dot.png
new file mode 100644
index 0000000..36a6859
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/dot.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/dot2.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/dot2.png
new file mode 100644
index 0000000..40aff92
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/dot2.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/green.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/green.png
new file mode 100644
index 0000000..ebb3c24
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/green.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/h1-bg.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/h1-bg.png
new file mode 100644
index 0000000..a2aad24
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/h1-bg.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/image_left.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/image_left.png
new file mode 100644
index 0000000..e8fe7a4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/image_left.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/image_right.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/image_right.png
new file mode 100644
index 0000000..5b67443
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/image_right.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/important.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/important.png
new file mode 100644
index 0000000..f7594a3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/important.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/important.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/important.svg
new file mode 100644
index 0000000..2d33045
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/important.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="important.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/important.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2611">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="681"
+ inkscape:window-width="738"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2613" />
+ </defs>
+ <g
+ transform="matrix(0.4626799,0,0,0.4626799,-5.2934127,-3.3160376)"
+ id="g5485">
+ <path
+ d="M 29.97756,91.885882 L 55.586992,80.409826 L 81.231619,91.807015 L
78.230933,63.90468 L 96.995009,43.037218 L 69.531053,37.26873 L 55.483259,12.974592 L
41.510292,37.311767 L 14.064204,43.164717 L 32.892392,63.97442 L 29.97756,91.885882
z"
+ id="path6799"
+ style="fill:#f3de82;fill-opacity:1;enable-background:new" />
+ <path
+ d="M 55.536215,56.538729 L 55.48324,12.974601 L 41.51028,37.311813 L
55.536215,56.538729 z"
+ id="path6824"
+
style="opacity:0.91005291;fill:#f9f2cb;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 78.241135,63.937979 L 96.976198,43.044318 L
55.57947,56.614318 z"
+ id="use6833"
+ style="opacity:1;fill:#d0bc64;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 55.667994,80.684281 L 81.379011,91.931065 L
55.523838,56.869126 z"
+ id="use6835"
+ style="opacity:1;fill:#e0c656;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 13.877363,43.200977 L 32.640089,64.069652 L
55.283346,56.742618 z"
+ id="use6831"
+ style="opacity:1;fill:#d1ba59;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 55.32792,80.684281 L 29.616903,91.931065 L
55.472076,56.869126 z"
+ id="use6837"
+ style="opacity:1;fill:#d2b951;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 96.976198,43.044318 L 69.504294,37.314027 L
55.57947,56.614318 z"
+ id="path7073"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 81.379011,91.931065 L 78.214821,64.046881 L
55.523838,56.869126 z"
+ id="path7075"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 41.341708,37.434209 L 13.877363,43.200977 L
55.283346,56.742618 z"
+ id="path7077"
+ style="opacity:1;fill:#f6e59d;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 29.616903,91.931065 L 32.781093,64.046881 L
55.472076,56.869126 z"
+ id="path7079"
+ style="opacity:1;fill:#f3df8b;fill-opacity:1;enable-background:new"
/>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/logo.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/logo.png
new file mode 100644
index 0000000..66a3104
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/logo.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/note.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/note.png
new file mode 100644
index 0000000..d6c4518
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/note.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/note.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/note.svg
new file mode 100644
index 0000000..70e43b6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/note.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="note.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/note.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata16">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="1024"
+ inkscape:window-width="1205"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="22.217181"
+ inkscape:cy="20"
+ inkscape:window-x="334"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective18" />
+ </defs>
+ <g
+ transform="matrix(0.468275,0,0,0.468275,-5.7626904,-7.4142703)"
+ id="layer1">
+ <g
+ transform="matrix(0.115136,0,0,0.115136,9.7283,21.77356)"
+ id="g8014"
+ style="enable-background:new">
+ <g
+ id="g8518"
+ style="opacity:1">
+ <path
+ d="M -2512.4524,56.33197 L 3090.4719,56.33197 L 3090.4719,4607.3813 L
-2512.4524,4607.3813 L -2512.4524,56.33197 z"
+
transform="matrix(0.1104659,-2.3734892e-2,2.2163258e-2,0.1031513,308.46782,74.820675)"
+ id="rect8018"
+
style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ <g
+
transform="matrix(0.5141653,-7.1944682e-2,7.1944682e-2,0.5141653,146.04015,-82.639785)"
+ id="g8020">
+ <path
+ d="M 511.14114,441.25315 C 527.3248,533.52772 464.31248,622.82928
370.39916,640.71378 C 276.48584,658.59828 187.23462,598.29322 171.05095,506.01865 C
154.86728,413.74408 217.8796,324.44253 311.79292,306.55803 C 405.70624,288.67353
494.95747,348.97858 511.14114,441.25315 z"
+ id="path8022"
+
style="opacity:1;fill:#e0c96f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(1.2585415,-0.2300055,0.2168789,1.1867072,-248.76141,68.254424)"
+ id="path8024"
+
style="opacity:1;fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 358.5625,281.15625 C 348.09597,281.05155 337.43773,281.94729
326.71875,283.90625 C 240.96686,299.57789 183.37901,377.92385 198.15625,458.78125 C
209.70749,521.98673 262.12957,567.92122 325.40625,577.5625 L 357.25,433.6875 L
509.34375,405.875 C 509.14405,404.58166 509.0804,403.29487 508.84375,402 C
495.91366,331.24978 431.82821,281.88918 358.5625,281.15625 z"
+ id="path8026"
+
style="opacity:1;fill:#b60000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 294.2107,361.9442 L 282.79367,370.38482 L 261.73414,386.13346 C
253.13706,404.40842 254.3359,423.7989 259.7176,444.39774 C 273.6797,497.83861
313.42636,523.96124 369.50989,517.58957 C 398.21848,514.32797 424.51832,504.67345
440.64696,484.15958 L 469.89512,447.48298 L 294.2107,361.9442 z"
+ id="path8028"
+
style="fill:#750000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.09999999;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-78.013985,79.234385)"
+ id="path8030"
+
style="opacity:1;fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-69.306684,71.273294)"
+ id="path8032"
+
style="opacity:1;fill:#e11212;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/red.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/red.png
new file mode 100644
index 0000000..d32d5e2
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/red.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/shade.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/shade.png
new file mode 100644
index 0000000..a73afdf
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/shade.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/shine.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/shine.png
new file mode 100644
index 0000000..a18f7c4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/shine.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-back.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-back.png
new file mode 100644
index 0000000..d320f26
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-back.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-forward.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-forward.png
new file mode 100644
index 0000000..1ee5a29
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-forward.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-up.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-up.png
new file mode 100644
index 0000000..1cd7332
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-go-up.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-home.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-home.png
new file mode 100644
index 0000000..122536d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/stock-home.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/title_logo.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/title_logo.png
new file mode 100644
index 0000000..d5182b4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/title_logo.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/title_logo.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/title_logo.svg
new file mode 100644
index 0000000..e8fd52b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/title_logo.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="220"
+ height="70"
+ id="svg6180">
+ <defs
+ id="defs6182" />
+ <g
+ transform="translate(-266.55899,-345.34488)"
+ id="layer1">
+ <path
+ d="m 316.7736,397.581 c 0,0 0,0 -20.53889,0 0.3327,4.45245 3.92157,7.77609
8.70715,7.77609 3.38983,0 6.31456,-1.39616 8.64094,-3.65507 0.46553,-0.46679
0.99726,-0.59962 1.59519,-0.59962 0.79781,0 1.59561,0.39932 2.12692,1.06388 0.3327,0.46553
0.53216,0.99726 0.53216,1.52857 0,0.73118 -0.3327,1.52857 -0.93106,2.12734 -2.7919,2.99052
-7.51086,4.98503 -12.16403,4.98503 -8.44149,0 -15.22074,-6.77967 -15.22074,-15.22158
0,-8.44149 6.58022,-15.22074 15.02171,-15.22074 8.37529,0 14.62323,6.51317
14.62323,15.08749 0,1.26418 -1.12924,2.12861 -2.39258,2.12861 z m -12.23065,-11.76512 c
-4.45329,0 -7.51085,2.92473 -8.17499,7.17731 10.03626,0 16.35083,0 16.35083,0
-0.59836,-4.05355 -3.78874,-7.17731 -8.17584,-7.17731 z"
+ id="path11"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 375.46344,410.80807 c -8.44106,0 -15.22074,-6.77968 -15.22074,-15.22159
0,-8.44149 6.77968,-15.22074 15.22074,-15.22074 8.44234,0 15.22159,6.77925
15.22159,15.22074 -4.2e-4,8.44149 -6.77968,15.22159 -15.22159,15.22159 z m 0,-24.65992 c
-5.31688,0 -8.77377,4.25427 -8.77377,9.43833 0,5.18364 3.45689,9.43833 8.77377,9.43833
5.31731,0 8.77504,-4.25469 8.77504,-9.43833 -4.2e-4,-5.18406 -3.45773,-9.43833
-8.77504,-9.43833 z"
+ id="path13"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 412.66183,380.36574 c -4.45963,0 -7.40966,1.319 -10.01391,4.62956 l
-0.24036,-1.53995 0,0 c -0.20198,-1.60743 -1.57326,-2.84926 -3.23382,-2.84926 -1.80139,0
-3.26206,1.459 -3.26206,3.26081 0,0.003 0,0.005 0,0.008 l 0,0 0,0.003 0,0 0,23.40712 c
0,1.79464 1.46194,3.25743 3.257,3.25743 1.79465,0 3.25744,-1.46279 3.25744,-3.25743 l
0,-12.56209 c 0,-5.71621 4.98502,-8.57432 10.23613,-8.57432 1.59519,0 2.85726,-1.32953
2.85726,-2.92515 0,-1.59561 -1.26207,-2.85726 -2.85768,-2.85726 z"
+ id="path15"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 447.02614,395.58648 c 0.0666,-8.17541 -5.78326,-15.22074
-15.222,-15.22074 -8.44192,0 -15.28779,6.77925 -15.28779,15.22074 0,8.44191
6.64684,15.22159 14.68985,15.22159 4.01434,0 7.62682,-2.06621 9.23846,-4.22518 l
0.79359,2.01434 0,0 c 0.42589,1.13177 1.5176,1.93717 2.7978,1.93717 1.65001,0
2.98756,-1.33671 2.99009,-2.98545 l 0,0 0,-7.80687 0,0 0,-4.1556 z m -15.222,9.43833 c
-5.31773,0 -8.77419,-4.25469 -8.77419,-9.43833 0,-5.18406 3.45604,-9.43833
8.77419,-9.43833 5.3173,0 8.77419,4.25427 8.77419,9.43833 0,5.18364 -3.45689,9.43833
-8.77419,9.43833 z"
+ id="path17"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 355.01479,368.3337 c 0,-1.7938 -1.46194,-3.18997 -3.25659,-3.18997
-1.79422,0 -3.25743,1.39659 -3.25743,3.18997 l 0,17.1499 c -1.66097,-3.05756
-5.25026,-5.11786 -9.50495,-5.11786 -8.64052,0 -14.42336,6.51318 -14.42336,15.22074
0,8.70757 5.98229,15.22159 14.42336,15.22159 3.76555,0 7.03057,-1.55429 8.98587,-4.25554 l
0.72317,1.83428 c 0.44782,1.25912 1.64917,2.16024 3.06051,2.16024 1.78621,0
3.24984,-1.45435 3.24984,-3.24815 0,-0.005 0,-0.009 0,-0.0139 l 0,0 0,-38.95128 -4.2e-4,0
z m -15.22116,36.69111 c -5.31731,0 -8.70715,-4.25469 -8.70715,-9.43833 0,-5.18406
3.38984,-9.43833 8.70715,-9.43833 5.31773,0 8.70714,4.0544 8.70714,9.43833 0,5.38309
-3.38941,9.43833 -8.70714,9.43833 z"
+ id="path19"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 287.21553,365.34023 c -0.59414,-0.0877 -1.19966,-0.13198
-1.80097,-0.13198 -6.73118,0 -12.20746,5.4767 -12.20746,12.20788 l 0,3.8132 -3.98903,0 c
-1.46237,0 -2.65908,1.19671 -2.65908,2.65781 0,1.46321 1.19671,2.93738 2.65908,2.93738 l
3.98819,0 0,20.46004 c 0,1.79464 1.46236,3.25743 3.25658,3.25743 1.79507,0
3.25744,-1.46279 3.25744,-3.25743 l 0,-20.46004 4.40986,0 c 1.46194,0 2.65823,-1.47417
2.65823,-2.93738 0,-1.46152 -1.19629,-2.65823 -2.65823,-2.65823 l -4.40733,0 0,-3.8132 c
0,-3.13852 2.55323,-6.11469 5.69175,-6.11469 0.28294,0 0.56757,0.0211 0.84672,0.062
1.78031,0.26355 3.4358,-0.54269 3.70019,-2.32342 0.2627,-1.77904 -0.96606,-3.43538
-2.74594,-3.69935 z"
+ id="path21"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 482.01243,363.57426 c 0,-10.06788 -8.16108,-18.22938 -18.22897,-18.22938
-10.06282,0 -18.22179,8.15475 -18.22854,18.21631 l -4.2e-4,-4.2e-4 0,14.1071 4.2e-4,4.2e-4
c 0.005,2.28463 1.85832,4.13409 4.14463,4.13409 0.007,0 0.0127,-8.4e-4 0.0194,-8.4e-4 l
0.001,8.4e-4 14.07083,0 0,0 c 10.06409,-0.004 18.22138,-8.16276 18.22138,-18.22812
z"
+ id="path25"
+ style="fill:#294172" />
+ <path
+ d="m 469.13577,349.66577 c -4.72528,0 -8.55576,3.83049 -8.55576,8.55577
0,0.002 0,0.004 0,0.006 l 0,4.52836 -4.51444,0 c -8.5e-4,0 -8.5e-4,0 -0.001,0 -4.72528,0
-8.55576,3.81193 -8.55576,8.53678 0,4.72528 3.83048,8.55577 8.55576,8.55577 4.72486,0
8.55534,-3.83049 8.55534,-8.55577 0,-0.002 0,-0.004 0,-0.006 l 0,-4.54733 4.51444,0 c
8.5e-4,0 0.001,0 0.002,0 4.72486,0 8.55534,-3.79296 8.55534,-8.51781 0,-4.72528
-3.83048,-8.55577 -8.55534,-8.55577 z m -8.55576,21.63483 c -0.004,2.48998
-2.02446,4.50811 -4.51571,4.50811 -2.49378,0 -4.53426,-2.02193 -4.53426,-4.5157 0,-2.49421
2.04048,-4.55366 4.53426,-4.55366 0.002,0 0.004,4.2e-4 0.006,4.2e-4 l 3.86971,0 c 0.001,0
0.002,-4.2e-4 0.003,-4.2e-4 0.35209,0 0.63799,0.28505 0.63799,0.63715 0,4.2e-4
-4.2e-4,8.4e-4 -4.2e-4,0.001 l 0,3.92284 -4.2e-4,0 z m 8.55534,-8.5448 c -0.001,0 -0.003,0
-0.004,0 l -3.87223,0 c -8.4e-4,0 -0.002,0 -0.002,0 -0.35252,0 -0.63757,-0.28506
-0.63757,-0.63758 l 0,-4.2e-4 0,-3.90343 c 0.004,-2.49083 2.02
446,-4.50854 4.51571,-4.50854 2.49378,0 4.53468,2.02193 4.53468,4.51613 4.2e-4,2.49336
-2.04048,4.53384 -4.53426,4.53384 z"
+ id="path29"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 460.58001,362.7558 0,-4.52836 c 0,-0.002 0,-0.004 0,-0.006 0,-4.72528
3.83048,-8.55577 8.55576,-8.55577 0.71685,0 1.22623,0.0805 1.88952,0.25469 0.96774,0.25385
1.75796,1.04618 1.75838,1.96922 4.2e-4,1.11575 -0.80919,1.92621 -2.0194,1.92621 -0.57642,0
-0.78473,-0.11048 -1.62892,-0.11048 -2.49125,0 -4.51149,2.01771 -4.51571,4.50854 l
0,3.90385 0,4.2e-4 c 0,0.35252 0.28505,0.63758 0.63757,0.63758 4.3e-4,0 0.001,0 0.002,0 l
2.96521,0 c 1.10521,0 1.99747,0.88467 1.99832,1.99283 0,1.10816 -0.89353,1.99114
-1.99832,1.99114 l -3.60489,0 0,4.54733 c 0,0.002 0,0.004 0,0.006 0,4.72485
-3.83048,8.55534 -8.55534,8.55534 -0.71684,0 -1.22623,-0.0805 -1.88952,-0.25469
-0.96774,-0.25343 -1.75838,-1.04618 -1.7588,-1.9688 0,-1.11575 0.80919,-1.92663
2.01982,-1.92663 0.576,0 0.78473,0.11048 1.6285,0.11048 2.49125,0 4.51191,-2.01771
4.51613,-4.50811 0,0 0,-3.92368 0,-3.9241 0,-0.35168 -0.2859,-0.63673 -0.63799,-0.63673
-4.3e-4,0 -8.5e-4,0 -0.002,0 l -2.96521,-4.2e-4 c -1.10521,0 -1.
99831,-0.88214 -1.99831,-1.9903 -4.3e-4,-1.11533 0.90238,-1.99367 2.01939,-1.99367 l
3.58339,0 0,0 z"
+ id="path31"
+ style="fill:#ffffff" />
+ <path
+ d="m 477.41661,378.55292 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="text6223"
+ style="fill:#294172;enable-background:new" />
+ </g>
+ <path
+ d="m 181.98344,61.675273 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="path2391"
+ style="fill:#294172;enable-background:new" />
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/warning.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/warning.png
new file mode 100644
index 0000000..ce09951
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/warning.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/warning.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/warning.svg
new file mode 100644
index 0000000..5f2612c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/warning.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="warning.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/warning.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2482">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="910"
+ inkscape:window-width="1284"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2484" />
+ </defs>
+ <g
+ transform="matrix(0.4536635,0,0,0.4536635,-5.1836431,-4.6889387)"
+ id="layer1">
+ <g
+ transform="translate(2745.6887,-1555.5977)"
+ id="g8304"
+ style="enable-background:new">
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.8233528,8.9983906e-3,-8.9983906e-3,0.8233528,-1398.5561,740.7914)"
+ id="path8034"
+
style="opacity:1;fill:#efd259;fill-opacity:1;stroke:#efd259;stroke-opacity:1"
/>
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.6467652,7.0684723e-3,-7.0684723e-3,0.6467652,-1675.7492,927.16391)"
+ id="path8036"
+
style="opacity:1;fill:#a42324;fill-opacity:1;stroke:#a42324;stroke-opacity:1"
/>
+ <path
+ d="M -2686.7886,1597.753 C -2686.627,1596.5292 -2686.5462,1595.6987
-2686.5462,1595.218 C -2686.5462,1593.1637 -2688.0814,1592.0711 -2690.9899,1592.0711 C
-2693.8985,1592.0711 -2695.4336,1593.12 -2695.4336,1595.218 C -2695.4336,1595.961
-2695.3528,1596.7914 -2695.1912,1597.753 L -2692.929,1614.4491 L -2689.0508,1614.4491 L
-2686.7886,1597.753"
+ id="path8038"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ <path
+ d="M -2690.9899,1617.8197 C -2693.6124,1617.8197 -2695.8118,1619.9346
-2695.8118,1622.6416 C -2695.8118,1625.3486 -2693.6124,1627.4635 -2690.9899,1627.4635 C
-2688.2829,1627.4635 -2686.168,1625.264 -2686.168,1622.6416 C -2686.168,1619.9346
-2688.2829,1617.8197 -2690.9899,1617.8197"
+ id="path8040"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/watermark-draft.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/watermark-draft.png
new file mode 100644
index 0000000..0ead5af
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/watermark-draft.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/yellow.png
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/yellow.png
new file mode 100644
index 0000000..223865d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/Common_Content/images/yellow.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/images/icon.svg
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/images/icon.svg
new file mode 100644
index 0000000..c471a60
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/images/icon.svg
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://web.resource.org/cc/"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+
style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)"
/>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)"
/>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504
381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C
372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504
390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504
424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C
415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504
433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504
500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C
491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504
509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504
464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C
455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504
473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93
471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49
473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49
475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05
471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04
469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+
transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875
L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C
31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L
32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375
C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+
style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L
287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091
301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C
307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432
309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C
581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C
574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363
314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124
292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363
293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/index.html
b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/index.html
new file mode 100644
index 0000000..1b8dc2f
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html-single/Defensive_Coding/index.html
@@ -0,0 +1,2383 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Defensive Coding</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><meta
name="description" content="This document provides guidelines for improving
software security through secure coding. It covers common programming languages and
libraries, and focuses on concrete recommendations." /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><div xml:lang="en-US" class="book"
id="idm217624904560" lang="en-US"><div
class="titlepage"><div><div class="producttitle"
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><span
class="productname">Fedora Security Team</span> <span
class="productnumber"></span></div><div
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><h1
id="idm217624904560" class="title">Defensive
Coding</h1></div><div
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><h2
class="subtitle">A Guide to Improving Software
Security</h2></div><p class="edition">Edition
</p><div font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt"
text-align="center"><h3 class="corpauthor">
+ <span class="inlinemediaobject"><object
data="Common_Content/images/title_logo.svg" type="image/svg+xml">
</object></span>
+
+ </h3></div><div font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt"
text-align="center"><div xml:lang="en-US"
class="authorgroup" lang="en-US"><div
class="author"><h3 class="author"><span
class="firstname">Florian</span> <span
class="surname">Weimer</span></h3><div
class="affiliation"><span class="orgname">Red
Hat</span> <span class="orgdiv">Product Security
Team</span></div><code class="email"><a
class="email"
href="mailto:fweimer@redhat.com">fweimer@redhat.com</a></code></div></div></div><hr
/><div font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt"
text-align="center"><div id="idm217599039872"
class="legalnotice"><h1 class="legalnotice">Legal
Notice</h1><div class="para">
+ Copyright <span class="trademark"></span>© 2012 Red Hat, Inc.
+ </div><div class="para">
+ The text of and illustrations in this document are licensed by Red Hat under a Creative
Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An
explanation of CC-BY-SA is available at <a
href="http://creativecommons.org/licenses/by-sa/3.0/">http:/...;.
The original authors of this document, and Red Hat, designate the Fedora Project as the
"Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if
you distribute this document or an adaptation of it, you must provide the URL for the
original version.
+ </div><div class="para">
+ Red Hat, as the licensor of this document, waives the right to enforce, and agrees not
to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
+ </div><div class="para">
+ Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the
Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
+ </div><div class="para">
+ For guidelines on the permitted uses of the Fedora trademarks, refer to <a
href="https://fedoraproject.org/wiki/Legal:Trademark_guidelines"...;.
+ </div><div class="para">
+ <span class="trademark">Linux</span>® is the registered trademark
of Linus Torvalds in the United States and other countries.
+ </div><div class="para">
+ <span class="trademark">Java</span>® is a registered trademark of
Oracle and/or its affiliates.
+ </div><div class="para">
+ <span class="trademark">XFS</span>® is a trademark of Silicon
Graphics International Corp. or its subsidiaries in the United States and/or other
countries.
+ </div><div class="para">
+ <span class="trademark">MySQL</span>® is a registered trademark
of MySQL AB in the United States, the European Union and other countries.
+ </div><div class="para">
+ All other trademarks are the property of their respective owners.
+ </div></div></div><div
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><div
class="abstract"><h6>Abstract</h6><div
class="para">
+ This document provides guidelines for improving software security through secure
coding. It covers common programming languages and libraries, and focuses on concrete
recommendations.
+ </div></div></div></div><hr /></div><div
class="toc"><dl class="toc"><dt><span
class="part"><a href="#idm217521212288">I. Programming
Languages</a></span></dt><dd><dl><dt><span
class="chapter"><a href="#chap-Defensive_Coding-C">1. The C
Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Language">1.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined
behavior</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers
and array handling</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer
arithmetic</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2.
The C standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Absolutely-Banned"
1.2.1. Absolutely banned
interfaces</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to
avoid</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String
Functions With Explicit Length
Arguments</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators">1.3. Memory
allocators</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217607479392">1.3.1. <code
class="function">malloc</code> and related
functions</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array
allocation</a></span></dt><dt><span
class="section"><a href="#idm217620118944">1.3.4. Custom
memory allocators</a></span></dt><dt><span clas
s="section"><a href="#idm217613303056">1.3.5. Conservative
garbage
collection</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Other">1.4.
Other C-related
topics</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper
functions</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="#chap-Defensive_Coding-CXX">2. The
C++ Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-CXX-Language">2.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217621747072">2.1.1. Array
allocation with <code class="literal">operator
new[]</code></a></span></dt><dt><span
class="section"><a href="#idm217616218752">2.1.2.
Overloading</a></span></dt><dt><span
class="section"><a href="#idm217523870384">2.1.3. ABI
compatibility and preparing for security
updates</a></span></dt><dt><span
class="section"><a href="#s
ect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11
support</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2.
The C++ standard
library</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217612409584">2.2.1. Containers
and <code
class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="#chap-Defensive_Coding-Java">3. The
Java Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language">3.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing
robustness when reading arrays</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource
management</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3.
Finalizers</a></span>
</dt><dt><span class="section"><a
href="#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from
exceptions and
errors</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-LowLevel">3.2. Low-level features of the
virtual machine</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Reflection">3.2.1. <code
class="literal">Reflection and private
parts</code></a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-JNI">3.2.2. Java Native Interface
(JNI)</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-MiscUnsafe">3.2.3. <code
class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager">3.3. Interacting with the
security manager</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security
manager c
ompatibility</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Activate">3.3.2. Activating
the security manager</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Unprivileged">3.3.3.
Reducing trust in code</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">3.3.4.
Re-gaining
privileges</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="#chap-Defensive_Coding-Python">4.
The Python Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217608326608">4.1. Dangerous
standard library features</a></span></dt><dt><span
class="section"><a href="#idm217606502144">4.2. Run-time
compilation and code generation</a></span></dt><dt><span
class="section"><a href="#idm217628816768">4.3.
Sandboxing</a></span></dt></dl></dd></dl></dd><dt><span
class="part"><a href="#idm217603864128">II. Specific
Programming
Tasks</a></span></dt><dd><dl><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-Library_Design">5. Library
Design</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217647310832">5.1. State
management</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217628244928">5.1.1. Global
state</a></span></dt><dt><span
class="section"><a href="#idm217649075984">5.1.2.
Handles</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217618443168">5.2. Object
orientation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">5.3.
Callbacks</a></span></dt><dt><span
class="section"><a href="#idm217608062976">5.4. Process
attributes</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#sect-Defensive_Coding-Tasks-Descriptors">6. File Descriptor
Management</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217616949440">6.1. Closing
descriptors</a></span></dt><dd><dl><dt><span clas
s="section"><a href="#idm217564313984">6.1.1. Error handling
during descriptor close</a></span></dt><dt><span
class="section"><a href="#idm217619823472">6.1.2. Closing
descriptors and race conditions</a></span></dt><dt><span
class="section"><a href="#idm217652421088">6.1.3. Lingering
state after
close</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">6.2.
Preventing file descriptor leaks to child
processes</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">6.3. Dealing with the
<code class="function">select</code>
limit</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-File_System">7. File system
manipulation</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with
files and directories owned by other
users</a></span></dt><dt><span
class="section"><a href=
"#sect-Defensive_Coding-Tasks-File_System-Foreign">7.2. Accessing the file
system as a different user</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Limits">7.3. File system
limits</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Features">7.4. File system
features</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">7.5. Checking free
space</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Files">8. Temporary
files</a></span></dt><dd><dl><dt><span
class="section"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining
the location of temporary directory</a></span></dt><dt><span
class="section"><a href="#idm217623690400">8.2. Named
temporary files</a></span></dt><dt><span
class="section"><a href="#idm217564767056">8.3. Temporary
files without names</a></span></dt><dt><sp
an class="section"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Directory">8.4. Temporary
directories</a></span></dt><dt><span
class="section"><a href="#idm217628443664">8.5. Compensating
for unsafe file
creation</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#sect-Defensive_Coding-Tasks-Processes">9.
Processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process
creation</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217628802256">9.1.1. Obtaining
the program path and the command line
template</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the
shell</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the
process environment</a></span></dt><dt><span
class="section"><a href="#idm217619964880">9.1.4. Robust
argument list processing</a></span></dt>
<dt><span class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5.
Passing secrets to
subprocesses</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217622868752">9.2. Handling
child process termination</a></span></dt><dt><span
class="section"><a href="#idm217625586384">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing
environment
variables</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Daemons">9.4.
Daemons</a></span></dt><dt><span
class="section"><a href="#idm217626109008">9.5. Semantics of
command line arguments</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">9.6. <code
class="function">fork</code> as a primitive for
parallelism</a></span></dt></dl></dd><dt><span c
lass="chapter"><a
href="#chap-Defensive_Coding-Tasks-Serialization">10. Serialization and
Deserialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1.
Recommendations for manually written
decoders</a></span></dt><dt><span
class="section"><a href="#idm217619956912">10.2. Protocol
design</a></span></dt><dt><span
class="section"><a href="#idm217645053984">10.3. Library
support for deserialization</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML">10.4. XML
serialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1.
External references</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">10.4.2. Entity
expansion</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">10.4.3.
XInclude
processing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">10.4.4.
Algorithmic complexity of XML
validation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">10.4.5. Using
Expat for XML parsing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-Qt">10.4.6. Using Qt for XML
parsing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">10.4.7.
Using OpenJDK for XML parsing and
validation</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217614300256">10.5. Protocol
Encoders</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-Cryptography">11.
Cryptography</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217608525920">11.1.
Primitives</a></span></dt><dt><span
class="section"><a href="#idm217628358944">1
1.2.
Randomness</a></span></dt></dl></dd></dl></dd><dt><span
class="part"><a href="#idm217604414304">III. Implementing
Security Features</a></span></dt><dd><dl><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Authentication">12. Authentication and
Authorization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating
servers</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Host_based">12.2. Host-based
authentication</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-UNIX_Domain">12.3. UNIX domain
socket authentication</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Netlink">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</a></span></dt></dl></dd><dt><span
class="chapter"><a href="#chap-Defensive_Coding-TLS">13.
Transport Layer Security</a></span></dt><dd><dl><dt>
<span class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common
Pitfalls</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS
Pitfalls</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client">13.2. TLS
Clients</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217604048736">13.2.1.
Implementation TLS Clients With
OpenSSL</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-GNUTLS">13.2.2. Implementation TLS
Clients With GNUTLS</a></span></dt><dt><span
class="section"><a href="#sec
t-Defensive_Coding-TLS-Client-OpenJDK">13.2.3. Implementing TLS Clients With
OpenJDK</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-NSS">13.2.4. Implementing TLS Clients
With NSS</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-Python">13.2.5. Implementing TLS
Clients With
Python</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span
class="appendix"><a
href="#appe-UEFI_Secure_Boot_Guide-Revision_History">A. Revision
History</a></span></dt></dl></div><div
class="part" id="idm217521212288"><div
class="titlepage"><div><div text-align="center"><h1
class="title">Part I. Programming
Languages</h1></div></div></div><div
class="toc"><p><strong>Table of
Contents</strong></p><dl class="toc"><dt><span
class="chapter"><a href="#chap-Defensive_Coding-C">1. The C
Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Language">1.1. The core
language</a></span></dt><d
d><dl><dt><span class="section"><a
href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined
behavior</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers
and array handling</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer
arithmetic</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2.
The C standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned
interfaces</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to
avoid</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String
Functions With Explicit Length
Arguments</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Allocato
rs">1.3. Memory
allocators</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217607479392">1.3.1. <code
class="function">malloc</code> and related
functions</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array
allocation</a></span></dt><dt><span
class="section"><a href="#idm217620118944">1.3.4. Custom
memory allocators</a></span></dt><dt><span
class="section"><a href="#idm217613303056">1.3.5.
Conservative garbage
collection</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Other">1.4.
Other C-related
topics</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper
functions</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href
="#chap-Defensive_Coding-CXX">2. The C++ Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-CXX-Language">2.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217621747072">2.1.1. Array
allocation with <code class="literal">operator
new[]</code></a></span></dt><dt><span
class="section"><a href="#idm217616218752">2.1.2.
Overloading</a></span></dt><dt><span
class="section"><a href="#idm217523870384">2.1.3. ABI
compatibility and preparing for security
updates</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11
support</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2.
The C++ standard
library</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217612409584">2.2.1. Containers
and <code
class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span
class="chapter">
<a href="#chap-Defensive_Coding-Java">3. The Java Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language">3.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing
robustness when reading arrays</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource
management</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3.
Finalizers</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from
exceptions and
errors</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-LowLevel">3.2. Low-level features of the
virtual machine</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Reflection">3.2.1. <code cla
ss="literal">Reflection and private
parts</code></a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-JNI">3.2.2. Java Native Interface
(JNI)</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-MiscUnsafe">3.2.3. <code
class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager">3.3. Interacting with the
security manager</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security
manager compatibility</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Activate">3.3.2. Activating
the security manager</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Unprivileged">3.3.3.
Reducing trust in code</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Privi
leged">3.3.4. Re-gaining
privileges</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="#chap-Defensive_Coding-Python">4.
The Python Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217608326608">4.1. Dangerous
standard library features</a></span></dt><dt><span
class="section"><a href="#idm217606502144">4.2. Run-time
compilation and code generation</a></span></dt><dt><span
class="section"><a href="#idm217628816768">4.3.
Sandboxing</a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-C" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 1. The C Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Language">1.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Undefined">1.1.1. Undefined
behavior</a></span></dt><dt><span cl
ass="section"><a
href="#sect-Defensive_Coding-C-Pointers">1.1.2. Recommendations for pointers
and array handling</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Arithmetic">1.1.3. Recommendations for integer
arithmetic</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Libc">1.2.
The C standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1. Absolutely banned
interfaces</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Avoid">1.2.2. Functions to
avoid</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-String-Functions-Length">1.2.3. String
Functions With Explicit Length
Arguments</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators">1.3. Memory
allocators</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217607479392">1.3.1. <code
class="functio
n">malloc</code> and related
functions</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators-alloca">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Allocators-Arrays">1.3.3. Array
allocation</a></span></dt><dt><span
class="section"><a href="#idm217620118944">1.3.4. Custom
memory allocators</a></span></dt><dt><span
class="section"><a href="#idm217613303056">1.3.5.
Conservative garbage
collection</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-C-Other">1.4.
Other C-related
topics</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1. Wrapper
functions</a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-C-Language" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.1. The core
language</h2></div></div></div><div class="para">
+ C provides no memory safety. Most recommendations in this section deal with this aspect
of the language.
+ </div><div class="section"
id="sect-Defensive_Coding-C-Undefined"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.1.1. Undefined
behavior</h3></div></div></div><div class="para">
+ Some C constructs are defined to be undefined by the C standard. This does not only
mean that the standard does not describe what happens when the construct is executed. It
also allows optimizing compilers such as GCC to assume that this particular construct is
never reached. In some cases, this has caused GCC to optimize security checks away. (This
is not a flaw in GCC or the C language. But C certainly has some areas which are more
difficult to use than others.)
+ </div><div class="para">
+ Common sources of undefined behavior are:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ out-of-bounds array accesses
+ </div></li><li class="listitem"><div
class="para">
+ null pointer dereferences
+ </div></li><li class="listitem"><div
class="para">
+ overflow in signed integer arithmetic
+ </div></li></ul></div></div><div
class="section" id="sect-Defensive_Coding-C-Pointers"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.1.2. Recommendations for pointers and array
handling</h3></div></div></div><div class="para">
+ Always keep track of the size of the array you are working with. Often, code is more
obviously correct when you keep a pointer past the last element of the array, and
calculate the number of remaining elements by substracting the current position from that
pointer. The alternative, updating a separate variable every time when the position is
advanced, is usually less obviously correct.
+ </div><div class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-C-Pointers-remaining">Example 1.1, “Array
processing in C”</a> shows how to extract Pascal-style strings from a character
buffer. The two pointers kept for length checks are <code
class="varname">inend</code> and <code
class="varname">outend</code>. <code
class="varname">inp</code> and <code
class="varname">outp</code> are the respective positions. The number of
input bytes is checked using the expression <code class="literal">len
> (size_t)(inend - inp)</code>. The cast silences a compiler warning;
<code class="varname">inend</code> is always larger than <code
class="varname">inp</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-C-Pointers-remaining"><h6>Example 1.1. Array
processing in C</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+ssize_t
+extract_strings(<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *in, size_t inlen, <span
class="perl_DataType">char</span> **out, size_t outlen)
+{
+ <span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *inp = in;
+ <span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *inend = in + inlen;
+ <span class="perl_DataType">char</span> **outp = out;
+ <span class="perl_DataType">char</span> **outend = out + outlen;
+
+ <span class="perl_Keyword">while</span> (inp != inend) {
+ size_t len;
+ <span class="perl_DataType">char</span> *s;
+ <span class="perl_Keyword">if</span> (outp == outend) {
+ errno = ENOSPC;
+ <span class="perl_Keyword">goto</span> err;
+ }
+ len = (<span class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span>)*inp;
+ ++inp;
+ <span class="perl_Keyword">if</span> (len >
(size_t)(inend - inp)) {
+ errno = EINVAL;
+ <span class="perl_Keyword">goto</span> err;
+ }
+ s = malloc(len + <span class="perl_Float">1</span>);
+ <span class="perl_Keyword">if</span> (s == NULL) {
+ <span class="perl_Keyword">goto</span> err;
+ }
+ memcpy(s, inp, len);
+ inp += len;
+ s[len] = '\0';
+ *outp = s;
+ ++outp;
+ }
+ <span class="perl_Keyword">return</span> outp - out;
+err:
+ {
+ <span class="perl_DataType">int</span> errno_old = errno;
+ <span class="perl_Keyword">while</span> (out != outp) {
+ free(*out);
+ ++out;
+ }
+ errno = errno_old;
+ }
+ <span class="perl_Keyword">return</span> <span
class="perl_DecVal">-1</span>;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ It is important that the length checks always have the form <code
class="literal">len > (size_t)(inend - inp)</code>, where
<code class="varname">len</code> is a variable of type <span
class="type">size_t</span> which denotes the <span
class="emphasis"><em>total</em></span> number of bytes
which are about to be read or written next. In general, it is not safe to fold multiple
such checks into one, as in <code class="literal">len1 + len2 >
(size_t)(inend - inp)</code>, because the expression on the left can overflow or
wrap around (see <a class="xref"
href="#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations
for integer arithmetic”</a>), and it no longer reflects the number of bytes to be
processed.
+ </div></div><div class="section"
id="sect-Defensive_Coding-C-Arithmetic"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.1.3. Recommendations for integer
arithmetic</h3></div></div></div><div
class="para">
+ Overflow in signed integer arithmetic is undefined. This means that it is not possible
to check for overflow after it happened, see <a class="xref"
href="#ex-Defensive_Coding-C-Arithmetic-bad">Example 1.2, “Incorrect overflow
detection in C”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-C-Arithmetic-bad"><h6>Example 1.2. Incorrect
overflow detection in C</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">void</span> report_overflow(<span
class="perl_DataType">void</span>);
+
+<span class="perl_DataType">int</span>
+add(<span class="perl_DataType">int</span> a, <span
class="perl_DataType">int</span> b)
+{
+ <span class="perl_DataType">int</span> result = a + b;
+ <span class="perl_Keyword">if</span> (a < 0 || b <
0) {
+ <span class="perl_Keyword">return</span> <span
class="perl_DecVal">-1</span>;
+ }
+ <span class="perl_Comment">// The compiler can optimize away the
following if statement.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">if</span> (result < 0) {
+ report_overflow();
+ }
+ <span class="perl_Keyword">return</span> result;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ The following approaches can be used to check for overflow, without actually causing
it.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Use a wider type to perform the calculation, check that the result is within bounds,
and convert the result to the original type. All intermediate results must be checked in
this way.
+ </div></li><li class="listitem"><div
class="para">
+ Perform the calculation in the corresponding unsigned type and use bit fiddling to
detect the overflow.
+ </div></li><li class="listitem"><div
class="para">
+ Compute bounds for acceptable input values which are known to avoid overflow, and
reject other values. This is the preferred way for overflow checking on multiplications,
see <a class="xref"
href="#ex-Defensive_Coding-C-Arithmetic-mult">Example 1.3, “Overflow checking
for unsigned multiplication”</a>.
+ </div></li></ul></div><div class="example"
id="ex-Defensive_Coding-C-Arithmetic-mult"><h6>Example 1.3. Overflow
checking for unsigned multiplication</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_DataType">unsigned</span>
+mul(<span class="perl_DataType">unsigned</span> a, <span
class="perl_DataType">unsigned</span> b)
+{
+ <span class="perl_Keyword">if</span> (b && a
> ((<span class="perl_DataType">unsigned</span>)<span
class="perl_DecVal">-1</span>) / b) {
+ report_overflow();
+ }
+ <span class="perl_Keyword">return</span> a * b;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Basic arithmetic operations a commutative, so for bounds checks, there are two
different but mathematically equivalent expressions. Sometimes, one of the expressions
results in better code because parts of it can be reduced to a constant. This applies to
overflow checks for multiplication <code class="literal">a *
b</code> involving a constant <code class="literal">a</code>,
where the expression is reduced to <code class="literal">b >
C</code> for some constant <code class="literal">C</code>
determined at compile time. The other expression, <code class="literal">b
&& a > ((unsigned)-1) / b</code>, is more difficult to
optimize at compile time.
+ </div><div class="para">
+ When a value is converted to a signed integer, GCC always chooses the result based on
2's complement arithmetic. This GCC extension (which is also implemented by other
compilers) helps a lot when implementing overflow checks.
+ </div><div class="para">
+ Legacy code should be compiled with the <code
class="option">-fwrapv</code> GCC option. As a result, GCC will provide
2's complement semantics for integer arithmetic, including defined behavior on integer
overflow.
+ </div></div></div><div xml:lang="en-US"
class="section" id="sect-Defensive_Coding-C-Libc"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.2. The C standard
library</h2></div></div></div><div class="para">
+ Parts of the C standard library (and the UNIX and GNU extensions) are difficult to use,
so you shoud avoid them.
+ </div><div class="para">
+ Please check the applicable documentation before using the recommended replacements.
Many of these functions allocate buffers using <code
class="function">malloc</code> which your code must deallocate
explicitly using <code class="function">free</code>.
+ </div><div class="section"
id="sect-Defensive_Coding-C-Absolutely-Banned"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.2.1. Absolutely banned
interfaces</h3></div></div></div><div
class="para">
+ The functions listed below must not be used because they are almost always unsafe. Use
the indicated replacements instead.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">gets</code> ⟶ <code
class="function">fgets</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">getwd</code> ⟶ <code
class="function">getcwd</code> or <code
class="function">get_current_dir_name</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">readdir_r</code> ⟶ <code
class="function">readdir</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">realpath</code> (with a non-NULL second
parameter) ⟶ <code class="function">realpath</code> with NULL as the
second parameter, or <code
class="function">canonicalize_file_name</code>
+ </div></li></ul></div><div class="para">
+ The constants listed below must not be used, either. Instead, code must allocate
memory dynamically and use interfaces with length checking.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="literal">NAME_MAX</code> (limit not actually
enforced by the kernel)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">PATH_MAX</code> (limit not actually
enforced by the kernel)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">_PC_NAME_MAX</code> (This limit,
returned by the <code class="function">pathconf</code> function, is
not enforced by the kernel.)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">_PC_PATH_MAX</code> (This limit,
returned by the <code class="function">pathconf</code> function, is
not enforced by the kernel.)
+ </div></li></ul></div><div class="para">
+ The following structure members must not be used.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="literal">f_namemax</code> in <code
class="literal">struct statvfs</code> (limit not actually enforced by
the kernel, see <code class="literal">_PC_NAME_MAX</code> above)
+ </div></li></ul></div></div><div
class="section" id="sect-Defensive_Coding-C-Avoid"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.2.2. Functions to
avoid</h3></div></div></div><div class="para">
+ The following string manipulation functions can be used securely in principle, but
their use should be avoided because they are difficult to use correctly. Calls to these
functions can be replaced with <code
class="function">asprintf</code> or <code
class="function">vasprintf</code>. (For non-GNU targets, these
functions are available from Gnulib.) In some cases, the <code
class="function">snprintf</code> function might be a suitable
replacement, see <a class="xref"
href="#sect-Defensive_Coding-C-String-Functions-Length">Section 1.2.3,
“String Functions With Explicit Length Arguments”</a>.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">sprintf</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strcat</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strcpy</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">vsprintf</code>
+ </div></li></ul></div><div class="para">
+ Use the indicated replacements for the functions below.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">alloca</code> ⟶ <code
class="function">malloc</code> and <code
class="function">free</code> (see <a class="xref"
href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code
class="function">alloca</code> and other forms of stack-based
allocation”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">putenv</code> ⟶ explicit <code
class="varname">envp</code> argument in process creation (see <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">setenv</code> ⟶ explicit <code
class="varname">envp</code> argument in process creation (see <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strdupa</code> ⟶ <code
class="function">strdup</code> and <code
class="function">free</code> (see <a class="xref"
href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code
class="function">alloca</code> and other forms of stack-based
allocation”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strndupa</code> ⟶ <code
class="function">strndup</code> and <code
class="function">free</code> (see <a class="xref"
href="#sect-Defensive_Coding-C-Allocators-alloca">Section 1.3.2, “<code
class="function">alloca</code> and other forms of stack-based
allocation”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">system</code> ⟶ <code
class="function">posix_spawn</code> or <code
class="function">fork</code>/<code
class="function">execve</code>/ (see <a class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-execve">Section 9.1.2,
“Bypassing the shell”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">unsetenv</code> ⟶ explicit <code
class="varname">envp</code> argument in process creation (see <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>)
+ </div></li></ul></div></div><div
class="section"
id="sect-Defensive_Coding-C-String-Functions-Length"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.2.3. String Functions With Explicit Length
Arguments</h3></div></div></div><div
class="para">
+ The C run-time library provides string manipulation functions which not just look for
NUL characters for string termination, but also honor explicit lengths provided by the
caller. However, these functions evolved over a long period of time, and the lengths mean
different things depending on the function.
+ </div><div class="section"
id="sect-Defensive_Coding-C-Libc-snprintf"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.1. <code
class="literal">snprintf</code></h4></div></div></div><div
class="para">
+ The <code class="function">snprintf</code> function provides a
way to construct a string in a statically-sized buffer. (If the buffer size is allocated
on the heap, consider use <code class="function">asprintf</code>
instead.)
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> fraction[<span
class="perl_Float">30</span>];
+snprintf(fraction, <span
class="perl_Keyword">sizeof</span>(fraction), <span
class="perl_String">"%d/%d"</span>, numerator, denominator);
+</pre></div><div class="para">
+ The second argument to the <code
class="function">snprintf</code> call should always be the size of the
buffer in the first argument (which should be a character array). Elaborate pointer and
length arithmetic can introduce errors and nullify the security benefits of <code
class="function">snprintf</code>.
+ </div><div class="para">
+ In particular, <code class="literal">snprintf</code> is not
well-suited to constructing a string iteratively, by appending to an existing buffer.
<code class="function">snprintf</code> returns one of two values,
<code class="literal">-1</code> on errors, or the number of
characters which <span class="emphasis"><em>would have been written
to the buffer if the buffer were large enough</em></span>. This means that
adding the result of <code class="function">snprintf</code> to the
buffer pointer to skip over the characters just written is incorrect and risky. However,
as long as the length argument is not zero, the buffer will remain NUL-terminated. <a
class="xref"
href="#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4,
“Repeatedly writing to a buffer using <code
class="function">snprintf</code>”</a> works because <code
class="literal">end -current > 0</code> is a loop invariant.
After the loop, the result string is in the <code class="varnam
e">buf</code> variable.
+ </div><div class="example"
id="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"><h6>Example 1.4. Repeatedly
writing to a buffer using <code
class="function">snprintf</code></h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[<span
class="perl_Float">512</span>];
+<span class="perl_DataType">char</span> *current = buf;
+<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> end = buf + <span
class="perl_Keyword">sizeof</span>(buf);
+<span class="perl_Keyword">for</span> (<span
class="perl_Keyword">struct</span> item *it = data; it->key;
++it) {
+ snprintf(current, end - current, <span
class="perl_String">"%s%s=%d"</span>,
+ current == buf ? <span
class="perl_String">""</span> : <span
class="perl_String">", "</span>, it->key,
it->value);
+ current += strlen(current);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ If you want to avoid the call to <code
class="function">strlen</code> for performance reasons, you have to
check for a negative return value from <code
class="function">snprintf</code> and also check if the return value is
equal to the specified buffer length or larger. Only if neither condition applies, you may
advance the pointer to the start of the write buffer by the number return by <code
class="function">snprintf</code>. However, this optimization is rarely
worthwhile.
+ </div><div class="para">
+ Note that it is not permitted to use the same buffer both as the destination and as a
source argument.
+ </div></div><div class="section"
id="sect-Defensive_Coding-C-Libc-vsnprintf"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.2. <code
class="literal">vsnprintf</code> and format
strings</h4></div></div></div><div class="para">
+ If you use <code class="function">vsnprintf</code> (or <code
class="function">vasprintf</code> or even <code
class="function">snprintf</code>) with a format string which is not a
constant, but a function argument, it is important to annotate the function with a
<code class="literal">format</code> function attribute, so that GCC
can warn about misuse of your function (see <a class="xref"
href="#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5,
“The <code class="literal">format</code> function
attribute”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-C-String-Functions-format-Attribute"><h6>Example 1.5. The
<code class="literal">format</code> function
attribute</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">void</span> log_format(<span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *format, ...)
__attribute__((format(printf, <span class="perl_Float">1</span>,
<span class="perl_Float">2</span>)));
+
+<span class="perl_DataType">void</span>
+log_format(<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *format, ...)
+{
+ <span class="perl_DataType">char</span> buf[<span
class="perl_Float">1000</span>];
+ va_list ap;
+ va_start(ap, format);
+ vsnprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
format, ap);
+ va_end(ap);
+ log_string(buf);
+}
+</pre></div></div><br class="example-break"
/></div><div class="section"
id="sect-Defensive_Coding-C-Libc-strncpy"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.3. <code
class="function">strncpy</code></h4></div></div></div><div
class="para">
+ The <code class="function">strncpy</code> function does not
ensure that the target buffer is NUL-terminated. A common idiom for ensuring NUL
termination is:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[<span
class="perl_Float">10</span>];
+strncpy(buf, data, <span class="perl_Keyword">sizeof</span>(buf));
+buf[<span class="perl_Keyword">sizeof</span>(buf) - <span
class="perl_Float">1</span>] = '\0';
+</pre></div><div class="para">
+ Another approach uses the <code class="function">strncat</code>
function for this purpose:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+buf[0] = '\0';
+strncpy(buf, data, <span class="perl_Keyword">sizeof</span>(buf) -
<span class="perl_Float">1</span>);
+</pre></div></div><div class="section"
id="sect-Defensive_Coding-C-Libc-strncat"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.4. <code
class="function">strncat</code></h4></div></div></div><div
class="para">
+ The length argument of the <code
class="function">strncat</code> function specifies the maximum number
of characters copied from the source buffer, excluding the terminating NUL character. This
means that the required number of bytes in the destination buffer is the length of the
original string, plus the length argument in the <code
class="function">strncat</code> call, plus one. Consequently, this
function is rarely appropriate for performing a length-checked string operation, with the
notable exception of the <code class="function">strcpy</code>
emulation described in <a class="xref"
href="#sect-Defensive_Coding-C-Libc-strncpy">Section 1.2.3.3, “<code
class="function">strncpy</code>”</a>.
+ </div><div class="para">
+ To implement a length-checked string append, you can use an approach similar to <a
class="xref"
href="#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4,
“Repeatedly writing to a buffer using <code
class="function">snprintf</code>”</a>:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[<span
class="perl_Float">10</span>];
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"%s"</span>, prefix);
+snprintf(buf + strlen(buf), <span
class="perl_Keyword">sizeof</span>(buf) - strlen(buf), <span
class="perl_String">"%s"</span>, data);
+</pre></div><div class="para">
+ In many cases, including this one, the string concatenation can be avoided by
combining everything into a single format string:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"%s%s"</span>, prefix, data);
+</pre></div><div class="para">
+ But you should must not dynamically construct format strings to avoid concatenation
because this would prevent GCC from type-checking the argument lists.
+ </div><div class="para">
+ It is not possible to use format strings like <code
class="literal">"%s%s"</code> to implement concatenation,
unless you use separate buffers. <code
class="function">snprintf</code> does not support overlapping source
and target strings.
+ </div></div><div class="section"
id="idm217628835072"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217628835072">1.2.3.5. <code
class="function">strlcpy</code> and <code
class="function">strlcat</code></h4></div></div></div><div
class="para">
+ Some systems support <code class="function">strlcpy</code> and
<code class="function">strlcat</code> functions which behave this
way, but these functions are not part of GNU libc. <code
class="function">strlcpy</code> is often replaced with <code
class="function">snprintf</code> with a <code
class="literal">"%s"</code> format string. See <a
class="xref"
href="#sect-Defensive_Coding-C-Libc-strncpy">Section 1.2.3.3, “<code
class="function">strncpy</code>”</a> for a caveat related to the
<code class="function">snprintf</code> return value.
+ </div><div class="para">
+ To emulate <code class="function">strlcat</code>, use the
approach described in <a class="xref"
href="#sect-Defensive_Coding-C-Libc-strncat">Section 1.2.3.4, “<code
class="function">strncat</code>”</a>.
+ </div></div><div class="section"
id="idm217610329968"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217610329968">1.2.3.6. ISO C11 Annex K *<code
class="function">_s</code>
functions</h4></div></div></div><div
class="para">
+ ISO C11 adds another set of length-checking functions, but GNU libc currently does
not implement them.
+ </div></div><div class="section"
id="idm217617179776"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217617179776">1.2.3.7. Other <code
class="function">strn</code>* and <code
class="function">stpn</code>*
functions</h4></div></div></div><div
class="para">
+ GNU libc contains additional functions with different variants of length checking.
Consult the documentation before using them to find out what the length actually means.
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="sect-Defensive_Coding-C-Allocators"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.3. Memory
allocators</h2></div></div></div><div class="section"
id="idm217607479392"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217607479392">1.3.1. <code
class="function">malloc</code> and related
functions</h3></div></div></div><div
class="para">
+ The C library interfaces for memory allocation are provided by <code
class="function">malloc</code>, <code
class="function">free</code> and <code
class="function">realloc</code>, and the <code
class="function">calloc</code> function. In addition to these generic
functions, there are derived functions such as <code
class="function">strdup</code> which perform allocation using <code
class="function">malloc</code> internally, but do not return untyped
heap memory (which could be used for any object).
+ </div><div class="para">
+ The C compiler knows about these functions and can use their expected behavior for
optimizations. For instance, the compiler assumes that an existing pointer (or a pointer
derived from an existing pointer by arithmetic) will not point into the memory area
returned by <code class="function">malloc</code>.
+ </div><div class="para">
+ If the allocation fails, <code class="function">realloc</code>
does not free the old pointer. Therefore, the idiom <code
class="literal">ptr = realloc(ptr, size);</code> is wrong because the
memory pointed to by <code class="literal">ptr</code> leaks in case
of an error.
+ </div><div class="section" id="idm217609990192"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217609990192">1.3.1.1. Use-after-free
errors</h4></div></div></div><div class="para">
+ After <code class="function">free</code>, the pointer is
invalid. Further pointer dereferences are not allowed (and are usually detected by
<span
class="application"><strong>valgrind</strong></span>). Less
obvious is that any <span
class="emphasis"><em>use</em></span> of the old pointer
value is not allowed, either. In particular, comparisons with any other pointer (or the
null pointer) are undefined according to the C standard.
+ </div><div class="para">
+ The same rules apply to <code class="function">realloc</code>
if the memory area cannot be enlarged in-place. For instance, the compiler may assume that
a comparison between the old and new pointer will always return false, so it is impossible
to detect movement this way.
+ </div></div><div class="section"
id="idm217619561600"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217619561600">1.3.1.2. Handling memory allocation
errors</h4></div></div></div><div class="para">
+ Recovering from out-of-memory errors is often difficult or even impossible. In these
cases, <code class="function">malloc</code> and other allocation
functions return a null pointer. Dereferencing this pointer lead to a crash. Such
dereferences can even be exploitable for code execution if the dereference is combined
with an array subscript.
+ </div><div class="para">
+ In general, if you cannot check all allocation calls and handle failure, you should
abort the program on allocation failure, and not rely on the null pointer dereference to
terminate the process. See <a class="xref"
href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1,
“Recommendations for manually written decoders”</a> for related memory allocation
concerns.
+ </div></div></div><div class="section"
id="sect-Defensive_Coding-C-Allocators-alloca"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</h3></div></div></div><div
class="para">
+ Allocation on the stack is risky because stack overflow checking is implicit. There is
a guard page at the end of the memory area reserved for the stack. If the program attempts
to read from or write to this guard page, a <code
class="literal">SIGSEGV</code> signal is generated and the program
typically terminates.
+ </div><div class="para">
+ This is sufficient for detecting typical stack overflow situations such as unbounded
recursion, but it fails when the stack grows in increments larger than the size of the
guard page. In this case, it is possible that the stack pointer ends up pointing into a
memory area which has been allocated for a different purposes. Such misbehavior can be
exploitable.
+ </div><div class="para">
+ A common source for large stack growth are calls to <code
class="function">alloca</code> and related functions such as <code
class="function">strdupa</code>. These functions should be avoided
because of the lack of error checking. (They can be used safely if the allocated size is
less than the page size (typically, 4096 bytes), but this case is relatively rare.)
Additionally, relying on <code class="function">alloca</code> makes
it more difficult to reorgnize the code because it is not allowed to use the pointer after
the function calling <code class="function">alloca</code> has
returned, even if this function has been inlined into its caller.
+ </div><div class="para">
+ Similar concerns apply to <span
class="emphasis"><em>variable-length arrays</em></span>
(VLAs), a feature of the C99 standard which started as a GNU extension. For large objects
exceeding the page size, there is no error checking, either.
+ </div><div class="para">
+ In both cases, negative or very large sizes can trigger a stack-pointer wraparound,
and the stack pointer and end up pointing into caller stack frames, which is fatal and can
be exploitable.
+ </div><div class="para">
+ If you want to use <code class="function">alloca</code> or VLAs
for performance reasons, consider using a small on-stack array (less than the page size,
large enough to fulfill most requests). If the requested size is small enough, use the
on-stack array. Otherwise, call <code
class="function">malloc</code>. When exiting the function, check if
<code class="function">malloc</code> had been called, and free the
buffer as needed.
+ </div></div><div class="section"
id="sect-Defensive_Coding-C-Allocators-Arrays"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.3.3. Array
allocation</h3></div></div></div><div
class="para">
+ When allocating arrays, it is important to check for overflows. The <code
class="function">calloc</code> function performs such checks.
+ </div><div class="para">
+ If <code class="function">malloc</code> or <code
class="function">realloc</code> is used, the size check must be written
manually. For instance, to allocate an array of <code
class="literal">n</code> elements of type <code
class="literal">T</code>, check that the requested size is not greater
than <code class="literal">n / sizeof(T)</code>. See <a
class="xref"
href="#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations
for integer arithmetic”</a>.
+ </div></div><div class="section"
id="idm217620118944"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217620118944">1.3.4. Custom memory
allocators</h3></div></div></div><div
class="para">
+ Custom memory allocates come in two forms: replacements for <code
class="function">malloc</code>, and completely different interfaces for
memory management. Both approaches can reduce the effectiveness of <span
class="application"><strong>valgrind</strong></span> and
similar tools, and the heap corruption detection provided by GNU libc, so they should be
avoided.
+ </div><div class="para">
+ Memory allocators are difficult to write and contain many performance and security
pitfalls.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ When computing array sizes or rounding up allocation requests (to the next
allocation granularity, or for alignment purposes), checks for arithmetic overflow are
required.
+ </div></li><li class="listitem"><div
class="para">
+ Size computations for array allocations need overflow checking. See <a
class="xref"
href="#sect-Defensive_Coding-C-Allocators-Arrays">Section 1.3.3, “Array
allocation”</a>.
+ </div></li><li class="listitem"><div
class="para">
+ It can be difficult to beat well-tuned general-purpose allocators. In
micro-benchmarks, pool allocators can show huge wins, and size-specific pools can reduce
internal fragmentation. But often, utilization of individual pools is poor, and
+ </div></li></ul></div></div><div
class="section" id="idm217613303056"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217613303056">1.3.5. Conservative garbage
collection</h3></div></div></div><div
class="para">
+ Garbage collection can be an alternative to explicit memory management using <code
class="function">malloc</code> and <code
class="function">free</code>. The Boehm-Dehmers-Weiser allocator can be
used from C programs, with minimal type annotations. Performance is competitive with
<code class="function">malloc</code> on 64-bit architectures,
especially for multi-threaded programs. The stop-the-world pauses may be problematic for
some real-time applications, though.
+ </div><div class="para">
+ However, using a conservative garbage collector may reduce opertunities for code
reduce because once one library in a program uses garbage collection, the whole process
memory needs to be subject to it, so that no pointers are missed. The Boehm-Dehmers-Weiser
collector also reserves certain signals for internal use, so it is not fully transparent
to the rest of the program.
+ </div></div></div><div xml:lang="en-US"
class="section" id="sect-Defensive_Coding-C-Other"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.4. Other C-related
topics</h2></div></div></div><div class="section"
id="sect-Defensive_Coding-C-Wrapper-Functions"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.4.1. Wrapper
functions</h3></div></div></div><div
class="para">
+ Some libraries provide wrappers for standard library functions. Common cases include
allocation functions such as <code class="function">xmalloc</code>
which abort the process on allocation failure (instead of returning a <code
class="literal">NULL</code> pointer), or alternatives to relatively
recent library additions such as <code
class="function">snprintf</code> (along with implementations for
systems which lack them).
+ </div><div class="para">
+ In general, such wrappers are a bad idea, particularly if they are not implemented as
inline functions or preprocessor macros. The compiler lacks knowledge of such wrappers
outside the translation unit which defines them, which means that some optimizations and
security checks are not performed. Adding <code
class="literal">__attribute__</code> annotations to function
declarations can remedy this to some extent, but these annotations have to be maintained
carefully for feature parity with the standard implementation.
+ </div><div class="para">
+ At the minimum, you should apply these attributes:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ If you wrap function which accepts are GCC-recognized format string (for example, a
<code class="function">printf</code>-style function used for
logging), you should add a suitable <code
class="literal">format</code> attribute, as in <a
class="xref"
href="#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5,
“The <code class="literal">format</code> function
attribute”</a>.
+ </div></li><li class="listitem"><div
class="para">
+ If you wrap a function which carries a <code
class="literal">warn_unused_result</code> attribute and you propagate
its return value, your wrapper should be declared with <code
class="literal">warn_unused_result</code> as well.
+ </div></li><li class="listitem"><div
class="para">
+ Duplicating the buffer length checks based on the <code
class="function">__builtin_object_size</code> GCC builtin is desirable
if the wrapper processes arrays. (This functionality is used by the <code
class="literal">-D_FORTIFY_SOURCE=2</code> checks to guard against
static buffer overflows.) However, designing appropriate interfaces and implementing the
checks may not be entirely straightforward.
+ </div></li></ul></div><div class="para">
+ For other attributes (such as <code
class="literal">malloc</code>), careful analysis and comparison with
the compiler documentation is required to check if propagating the attribute is
appropriate. Incorrectly applied attributes can result in undesired behavioral changes in
the compiled code.
+ </div></div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-CXX"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 2. The C++ Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-CXX-Language">2.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217621747072">2.1.1. Array
allocation with <code class="literal">operator
new[]</code></a></span></dt><dt><span
class="section"><a href="#idm217616218752">2.1.2.
Overloading</a></span></dt><dt><span
class="section"><a href="#idm217523870384">2.1.3. ABI
compatibility and preparing for security
updates</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11
support</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-CXX-Std">2.2.
The C++ standard
library</a></span></dt><dd><dl><dt><
span class="section"><a href="#idm217612409584">2.2.1.
Containers and <code
class="literal">operator[]</code></a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-CXX-Language" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">2.1. The core
language</h2></div></div></div><div class="para">
+ C++ includes a large subset of the C language. As far as the C subset is used, the
recommendations in <a class="xref"
href="#chap-Defensive_Coding-C">Chapter 1, <em>The C Programming
Language</em></a> apply.
+ </div><div class="section" id="idm217621747072"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217621747072">2.1.1. Array allocation with <code
class="literal">operator
new[]</code></h3></div></div></div><div
class="para">
+ For very large values of <code class="literal">n</code>, an
expression like <code class="literal">new T[n]</code> can return a
pointer to a heap region which is too small. In other words, not all array elements are
actually backed with heap memory reserved to the array. Current GCC versions generate code
that performs a computation of the form <code class="literal">sizeof(T) *
size_t(n) + cookie_size</code>, where <code
class="literal">cookie_size</code> is currently at most 8. This
computation can overflow, and GCC-generated code does not detect this.
+ </div><div class="para">
+ The <code class="literal">std::vector</code> template can be
used instead an explicit array allocation. (The GCC implementation detects overflow
internally.)
+ </div><div class="para">
+ If there is no alternative to <code class="literal">operator
new[]</code>, code which allocates arrays with a variable length must check for
overflow manually. For the <code class="literal">new T[n]</code>
example, the size check could be <code class="literal">n || (n > 0
&& n > (size_t(-1) - 8) / sizeof(T))</code>. (See <a
class="xref"
href="#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3, “Recommendations
for integer arithmetic”</a>.) If there are additional dimensions (which must be
constants according to the C++ standard), these should be included as factors in the
divisor.
+ </div><div class="para">
+ These countermeasures prevent out-of-bounds writes and potential code execution. Very
large memory allocations can still lead to a denial of service. <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1,
“Recommendations for manually written decoders”</a> contains suggestions for
mitigating this problem when processing untrusted data.
+ </div><div class="para">
+ See <a class="xref"
href="#sect-Defensive_Coding-C-Allocators-Arrays">Section 1.3.3, “Array
allocation”</a> for array allocation advice for C-style memory allocation.
+ </div></div><div class="section"
id="idm217616218752"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217616218752">2.1.2. Overloading</h3></div></div></div><div
class="para">
+ Do not overload functions with versions that have different security characteristics.
For instance, do not implement a function <code
class="function">strcat</code> which works on <span
class="type">std::string</span> arguments. Similarly, do not name
methods after such functions.
+ </div></div><div class="section"
id="idm217523870384"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217523870384">2.1.3. ABI compatibility and preparing for security
updates</h3></div></div></div><div class="para">
+ A stable binary interface (ABI) is vastly preferred for security updates. Without a
stable ABI, all reverse dependencies need recompiling, which can be a lot of work and
could even be impossible in some cases. Ideally, a security update only updates a single
dynamic shared object, and is picked up automatically after restarting affected
processes.
+ </div><div class="para">
+ Outside of extremely performance-critical code, you should ensure that a wide range of
changes is possible without breaking ABI. Some very basic guidelines are:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Avoid inline functions.
+ </div></li><li class="listitem"><div
class="para">
+ Use the pointer-to-implementation idiom.
+ </div></li><li class="listitem"><div
class="para">
+ Try to avoid templates. Use them if the increased type safety provides a benefit to
the programmer.
+ </div></li><li class="listitem"><div
class="para">
+ Move security-critical code out of templated code, so that it can be patched in a
central place if necessary.
+ </div></li></ul></div><div class="para">
+ The KDE project publishes a document with more extensive guidelines on ABI-preserving
changes to C++ code, <a
href="http://techbase.kde.org/Policies/Binary_Compatibility_Issues_W...
Compatibility Issues With C++</a> (<span
class="emphasis"><em>d-pointer</em></span> refers to the
pointer-to-implementation idiom).
+ </div></div><div class="section"
id="sect-Defensive_Coding-CXX-Language-CXX11"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">2.1.4. C++0X and C++11
support</h3></div></div></div><div class="para">
+ GCC offers different language compatibility modes:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="option">-std=c++98</code> for the original 1998
C++ standard
+ </div></li><li class="listitem"><div
class="para">
+ <code class="option">-std=c++03</code> for the 1998 standard
with the changes from the TR1 technical report
+ </div></li><li class="listitem"><div
class="para">
+ <code class="option">-std=c++11</code> for the 2011 C++
standard. This option should not be used.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="option">-std=c++0x</code> for several different
versions of C++11 support in development, depending on the GCC version. This option should
not be used.
+ </div></li></ul></div><div class="para">
+ For each of these flags, there are variants which also enable GNU extensions (mostly
language features also found in C99 or C11): <code
class="option">-std=gnu++98</code>, <code
class="option">-std=gnu++03</code>, <code
class="option">-std=gnu++11</code>. Again, <code
class="option">-std=gnu++11</code> should not be used.
+ </div><div class="para">
+ If you enable C++11 support, the ABI of the standard C++ library <code
class="literal">libstdc++</code> will change in subtle ways. Currently,
no C++ libraries are compiled in C++11 mode, so if you compile your code in C++11 mode, it
will be incompatible with the rest of the system. Unfortunately, this is also the case if
you do not use any C++11 features. Currently, there is no safe way to enable C++11 mode
(except for freestanding applications).
+ </div><div class="para">
+ The meaning of C++0X mode changed from GCC release to GCC release. Earlier versions
were still ABI-compatible with C++98 mode, but in the most recent versions, switching to
C++0X mode activates C++11 support, with its compatibility problems.
+ </div><div class="para">
+ Some C++11 features (or approximations thereof) are available with TR1 support, that
is, with <code class="option">-std=c++03</code> or <code
class="option">-std=gnu++03</code> and in the <code
class="literal"><tr1/*></code> header files. This
includes <code class="literal">std::tr1::shared_ptr</code> (from
<code class="literal"><tr1/memory></code>) and
<code class="literal">std::tr1::function</code> (from <code
class="literal"><tr1/functional></code>). For other C++11
features, the Boost C++ library contains replacements.
+ </div></div></div><div xml:lang="en-US"
class="section" id="sect-Defensive_Coding-CXX-Std"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">2.2. The C++ standard
library</h2></div></div></div><div class="para">
+ The C++ standard library includes most of its C counterpart by reference, see <a
class="xref" href="#sect-Defensive_Coding-C-Libc">Section 1.2, “The
C standard library”</a>.
+ </div><div class="section" id="idm217612409584"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217612409584">2.2.1. Containers and <code
class="literal">operator[]</code></h3></div></div></div><div
class="para">
+ Many containers similar to <code
class="literal">std::vector</code> provide both <code
class="literal">operator[](size_type)</code> and a member function
<code class="literal">at(size_type)</code>. This applies to <code
class="literal">std::vector</code> itself, <code
class="literal">std::array</code>, <code
class="literal">std::string</code> and other instances of <code
class="literal">std::basic_string</code>.
+ </div><div class="para">
+ <code class="literal">operator[](size_type)</code> is not
required by the standard to perform bounds checking (and the implementation in GCC does
not). In contrast, <code class="literal">at(size_type)</code> must
perform such a check. Therefore, in code which is not performance-critical, you should
prefer <code class="literal">at(size_type)</code> over <code
class="literal">operator[](size_type)</code>, even though it is
slightly more verbose.
+ </div></div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Java"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 3. The Java Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language">3.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1. Inceasing
robustness when reading arrays</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Resources">3.1.2. Resource
management</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3.
Finalizers</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4. Recovering from
exceptions and
errors</a></span></dt></dl></dd><dt><span
class="section"><a href="#sect-Defensive_Coding-Java-LowLeve
l">3.2. Low-level features of the virtual
machine</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-Reflection">3.2.1. <code
class="literal">Reflection and private
parts</code></a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-JNI">3.2.2. Java Native Interface
(JNI)</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-MiscUnsafe">3.2.3. <code
class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager">3.3. Interacting with the
security manager</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1. Security
manager compatibility</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Activate">3.3.2. Activating
the security manager</a></span></dt><dt><span
class="section"><a href="#sect-Defensive_Coding-
Java-SecurityManager-Unprivileged">3.3.3. Reducing trust in
code</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">3.3.4.
Re-gaining
privileges</a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-Java-Language" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">3.1. The core
language</h2></div></div></div><div class="para">
+ Implementations of the Java programming language provide strong memory safety, even in
the presence of data races in concurrent code. This prevents a large range of security
vulnerabilities from occurring, unless certain low-level features are used; see <a
class="xref"
href="#sect-Defensive_Coding-Java-LowLevel">Section 3.2, “Low-level features
of the virtual machine”</a>.
+ </div><div class="section"
id="sect-Defensive_Coding-Java-Language-ReadArray"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.1. Inceasing robustness when reading
arrays</h3></div></div></div><div class="para">
+ External data formats often include arrays, and the data is stored as an integer
indicating the number of array elements, followed by this number of elements in the file
or protocol data unit. This length specified can be much larger than what is actually
available in the data source.
+ </div><div class="para">
+ To avoid allocating extremely large amounts of data, you can allocate a small array
initially and grow it as you read more data, implementing an exponential growth policy.
See the <code class="function">readBytes(InputStream, int)</code>
function in <a class="xref"
href="#ex-Defensive_Coding-Java-Language-ReadArray">Example 3.1,
“Incrementally reading a byte array”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-Language-ReadArray"><h6>Example 3.1. Incrementally
reading a byte array</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span
class="perl_DataType">byte</span>[] <span
class="perl_Function">readBytes</span>(InputStream in, <span
class="perl_DataType">int</span> length) <span
class="perl_Keyword">throws</span> IOException {
+ <span class="perl_DataType">final</span> <span
class="perl_DataType">int</span> startSize = <span
class="perl_Float">65536</span>;
+ <span class="perl_DataType">byte</span>[] b = <span
class="perl_Keyword">new</span> <span
class="perl_DataType">byte</span>[Math.<span
class="perl_Function">min</span>(length, startSize)];
+ <span class="perl_DataType">int</span> filled = <span
class="perl_Float">0</span>;
+ <span class="perl_Keyword">while</span> (<span
class="perl_Keyword">true</span>) {
+ <span class="perl_DataType">int</span> remaining =
b.<span class="perl_Function">length</span> - filled;
+ <span class="perl_Function">readFully</span>(in, b, filled,
remaining);
+ <span class="perl_Keyword">if</span> (b.<span
class="perl_Function">length</span> == length) {
+ <span class="perl_Keyword">break</span>;
+ }
+ filled = b.<span class="perl_Function">length</span>;
+ <span class="perl_Keyword">if</span> (length - b.<span
class="perl_Function">length</span> <= b.<span
class="perl_Function">length</span>) {
+ <span class="perl_Comment">// Allocate final length.
Condition avoids overflow.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> b = Arrays.<span
class="perl_Function">copyOf</span>(b, length);
+ } <span class="perl_Keyword">else</span> {
+ b = Arrays.<span class="perl_Function">copyOf</span>(b,
b.<span class="perl_Function">length</span> * <span
class="perl_Float">2</span>);
+ }
+ }
+ <span class="perl_Keyword">return</span> b;
+}
+
+<span class="perl_DataType">static</span> <span
class="perl_DataType">void</span> <span
class="perl_Function">readFully</span>(InputStream in,<span
class="perl_DataType">byte</span>[] b, <span
class="perl_DataType">int</span> off, <span
class="perl_DataType">int</span> len)
+ <span class="perl_Keyword">throws</span> IOException {
+ <span class="perl_DataType">int</span> startlen = len;
+ <span class="perl_Keyword">while</span> (len > <span
class="perl_Float">0</span>) {
+ <span class="perl_DataType">int</span> count = in.<span
class="perl_Function">read</span>(b, off, len);
+ <span class="perl_Keyword">if</span> (count <
<span class="perl_Float">0</span>) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> EOFException();
+ }
+ off += count;
+ len -= count;
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ When reading data into arrays, hash maps or hash sets, use the default constructor and
do not specify a size hint. You can simply add the elements to the collection as you read
them.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-Language-Resources"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.2. Resource
management</h3></div></div></div><div
class="para">
+ Unlike C++, Java does not offer destructors which can deallocate resources in a
predictable fashion. All resource management has to be manual, at the usage site.
(Finalizers are generally not usable for resource management, especially in
high-performance code; see <a class="xref"
href="#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3,
“Finalizers”</a>.)
+ </div><div class="para">
+ The first option is the <code
class="literal">try</code>-<code
class="literal">finally</code> construct, as shown in <a
class="xref"
href="#ex-Defensive_Coding-Java-Language-Finally">Example 3.2, “Resource
management with a <code class="literal">try</code>-<code
class="literal">finally</code> block”</a>. The code in the
<code class="literal">finally</code> block should be as short as
possible and should not throw any exceptions.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-Language-Finally"><h6>Example 3.2. Resource
management with a <code class="literal">try</code>-<code
class="literal">finally</code> block</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+InputStream in = <span class="perl_Keyword">new</span>
BufferedInputStream(<span class="perl_Keyword">new</span>
FileInputStream(path));
+<span class="perl_Keyword">try</span> {
+ <span class="perl_Function">readFile</span>(in);
+} <span class="perl_Keyword">finally</span> {
+ in.<span class="perl_Function">close</span>();
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Note that the resource allocation happens <span
class="emphasis"><em>outside</em></span> the <code
class="literal">try</code> block, and that there is no <code
class="literal">null</code> check in the <code
class="literal">finally</code> block. (Both are common artifacts
stemming from IDE code templates.)
+ </div><div class="para">
+ If the resource object is created freshly and implements the <code
class="literal">java.lang.AutoCloseable</code> interface, the code in
<a class="xref"
href="#ex-Defensive_Coding-Java-Language-TryWithResource">Example 3.3,
“Resource management using the <code
class="literal">try</code>-with-resource construct”</a> can be
used instead. The Java compiler will automatically insert the <code
class="function">close()</code> method call in a synthetic <code
class="literal">finally</code> block.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-Language-TryWithResource"><h6>Example 3.3. Resource
management using the <code class="literal">try</code>-with-resource
construct</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">try</span> (InputStream in = <span
class="perl_Keyword">new</span> BufferedInputStream(<span
class="perl_Keyword">new</span> FileInputStream(path))) {
+ <span class="perl_Function">readFile</span>(in);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ To be compatible with the <code
class="literal">try</code>-with-resource construct, new classes should
name the resource deallocation method <code
class="function">close()</code>, and implement the <code
class="literal">AutoCloseable</code> interface (the latter breaking
backwards compatibility with Java 6). However, using the <code
class="literal">try</code>-with-resource construct with objects that
are not freshly allocated is at best awkward, and an explicit <code
class="literal">finally</code> block is usually the better approach.
+ </div><div class="para">
+ In general, it is best to design the programming interface in such a way that resource
deallocation methods like <code class="function">close()</code>
cannot throw any (checked or unchecked) exceptions, but this should not be a reason to
ignore any actual error conditions.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-Language-Finalizers"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.3. Finalizers</h3></div></div></div><div
class="para">
+ Finalizers can be used a last-resort approach to free resources which would otherwise
leak. Finalization is unpredictable, costly, and there can be a considerable delay between
the last reference to an object going away and the execution of the finalizer. Generally,
manual resource management is required; see <a class="xref"
href="#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2,
“Resource management”</a>.
+ </div><div class="para">
+ Finalizers should be very short and should only deallocate native or other external
resources held directly by the object being finalized. In general, they must use
synchronization: Finalization necessarily happens on a separate thread because it is
inherently concurrent. There can be multiple finalization threads, and despite each object
being finalized at most once, the finalizer must not assume that it has exclusive access
to the object being finalized (in the <code
class="literal">this</code> pointer).
+ </div><div class="para">
+ Finalizers should not deallocate resources held by other objects, especially if those
objects have finalizers on their own. In particular, it is a very bad idea to define a
finalizer just to invoke the resource deallocation method of another object, or overwrite
some pointer fields.
+ </div><div class="para">
+ Finalizers are not guaranteed to run at all. For instance, the virtual machine (or the
machine underneath) might crash, preventing their execution.
+ </div><div class="para">
+ Objects with finalizers are garbage-collected much later than objects without them, so
using finalizers to zero out key material (to reduce its undecrypted lifetime in memory)
may have the opposite effect, keeping objects around for much longer and prevent them from
being overwritten in the normal course of program execution.
+ </div><div class="para">
+ For the same reason, code which allocates objects with finalizers at a high rate will
eventually fail (likely with a <code
class="literal">java.lang.OutOfMemoryError</code> exception) because
the virtual machine has finite resources for keeping track of objects pending
finalization. To deal with that, it may be necessary to recycle objects with finalizers.
+ </div><div class="para">
+ The remarks in this section apply to finalizers which are implemented by overriding
the <code class="function">finalize()</code> method, and to custom
finalization using reference queues.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-Language-Exceptions"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.4. Recovering from exceptions and
errors</h3></div></div></div><div class="para">
+ Java exceptions come in three kinds, all ultimately deriving from <code
class="literal">java.lang.Throwable</code>:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <span class="emphasis"><em>Run-time
exceptions</em></span> do not have to be declared explicitly and can be
explicitly thrown from any code, by calling code which throws them, or by triggering an
error condition at run time, like division by zero, or an attempt at an out-of-bounds
array access. These exceptions derive from from the <code
class="literal">java.lang.RuntimeException</code> class (perhaps
indirectly).
+ </div></li><li class="listitem"><div
class="para">
+ <span class="emphasis"><em>Checked
exceptions</em></span> have to be declared explicitly by functions that throw
or propagate them. They are similar to run-time exceptions in other regards, except that
there is no language construct to throw them (except the <code
class="literal">throw</code> statement itself). Checked exceptions are
only present at the Java language level and are only enforced at compile time. At run
time, the virtual machine does not know about them and permits throwing exceptions from
any code. Checked exceptions must derive (perhaps indirectly) from the <code
class="literal">java.lang.Exception</code> class, but not from <code
class="literal">java.lang.RuntimeException</code>.
+ </div></li><li class="listitem"><div
class="para">
+ <span class="emphasis"><em>Errors</em></span> are
exceptions which typically reflect serious error conditions. They can be thrown at any
point in the program, and do not have to be declared (unlike checked exceptions). In
general, it is not possible to recover from such errors; more on that below, in <a
class="xref"
href="#sect-Defensive_Coding-Java-Language-Exceptions-Errors">Section 3.1.4.1,
“The difficulty of catching errors”</a>. Error classes derive (perhaps indirectly)
from <code class="literal">java.lang.Error</code>, or from <code
class="literal">java.lang.Throwable</code>, but not from <code
class="literal">java.lang.Exception</code>.
+ </div></li></ul></div><div class="para">
+ The general expection is that run-time errors are avoided by careful programming
(e.g., not dividing by zero). Checked exception are expected to be caught as they happen
(e.g., when an input file is unexpectedly missing). Errors are impossible to predict and
can happen at any point and reflect that something went wrong beyond all expectations.
+ </div><div class="section"
id="sect-Defensive_Coding-Java-Language-Exceptions-Errors"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">3.1.4.1. The difficulty of catching
errors</h4></div></div></div><div class="para">
+ Errors (that is, exceptions which do not (indirectly) derive from <code
class="literal">java.lang.Exception</code>), have the peculiar property
that catching them is problematic. There are several reasons for this:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The error reflects a failed consistenty check, for example, <code
class="literal">java.lang.AssertionError</code>.
+ </div></li><li class="listitem"><div
class="para">
+ The error can happen at any point, resulting in inconsistencies due to half-updated
objects. Examples are <code
class="literal">java.lang.ThreadDeath</code>, <code
class="literal">java.lang.OutOfMemoryError</code> and <code
class="literal">java.lang.StackOverflowError</code>.
+ </div></li><li class="listitem"><div
class="para">
+ The error indicates that virtual machine failed to provide some semantic guarantees
by the Java programming language. <code
class="literal">java.lang.ExceptionInInitializerError</code> is an
example—it can leave behind a half-initialized class.
+ </div></li></ul></div><div class="para">
+ In general, if an error is thrown, the virtual machine should be restarted as soon as
possible because it is in an inconsistent state. Continuing running as before can have
unexpected consequences. However, there are legitimate reasons for catching errors because
not doing so leads to even greater problems.
+ </div><div class="para">
+ Code should be written in a way that avoids triggering errors. See <a
class="xref"
href="#sect-Defensive_Coding-Java-Language-ReadArray">Section 3.1.1,
“Inceasing robustness when reading arrays”</a> for an example.
+ </div><div class="para">
+ It is usually necessary to log errors. Otherwise, no trace of the problem might be
left anywhere, making it very difficult to diagnose realted failures. Consequently, if you
catch <code class="literal">java.lang.Exception</code> to log and
suppress all unexpected exceptions (for example, in a request dispatching loop), you
should consider switching to <code
class="literal">java.lang.Throwable</code> instead, to also cover
errors.
+ </div><div class="para">
+ The other reason mainly applies to such request dispatching loops: If you do not
catch errors, the loop stops looping, resulting in a denial of service.
+ </div><div class="para">
+ However, if possible, catching errors should be coupled with a way to signal the
requirement of a virtual machine restart.
+ </div></div></div></div><div xml:lang="en-US"
class="section" id="sect-Defensive_Coding-Java-LowLevel"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">3.2. Low-level features of the virtual
machine</h2></div></div></div><div class="section"
id="sect-Defensive_Coding-Java-Reflection"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2.1. <code class="literal">Reflection and
private parts</code></h3></div></div></div><div
class="para">
+ The <code class="function">setAccessible(boolean)</code> method
of the <code
class="literal">java.lang.reflect.AccessibleObject</code> class allows
a program to disable language-defined access rules for specific constructors, methods, or
fields. Once the access checks are disabled, any code can use the <code
class="literal">java.lang.reflect.Constructor</code>, <code
class="literal">java.lang.reflect.Method</code>, or <code
class="literal">java.lang.reflect.Field</code> object to access the
underlying Java entity, without further permission checks. This breaks encapsulation and
can undermine the stability of the virtual machine. (In contrast, without using the
<code class="function">setAccessible(boolean)</code> method, this
should not happen because all the language-defined checks still apply.)
+ </div><div class="para">
+ This feature should be avoided if possible.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-JNI"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2.2. Java Native Interface
(JNI)</h3></div></div></div><div class="para">
+ The Java Native Interface allows calling from Java code functions specifically written
for this purpose, usually in C or C++.
+ </div><div class="para">
+ The transition between the Java world and the C world is not fully type-checked, and
the C code can easily break the Java virtual machine semantics. Therefore, extra care is
needed when using this functionality.
+ </div><div class="para">
+ To provide a moderate amount of type safety, it is recommended to recreate the
class-specific header file using <span
class="application"><strong>javah</strong></span> during
the build process, include it in the implementation, and use the <code
class="option">-Wmissing-declarations</code> option.
+ </div><div class="para">
+ Ideally, the required data is directly passed to static JNI methods and returned from
them, and the code and the C side does not have to deal with accessing Java fields (or
even methods).
+ </div><div class="para">
+ When using <code
class="function">GetPrimitiveArrayCritical</code> or <code
class="function">GetStringCritical</code>, make sure that you only
perform very little processing between the get and release operations. Do not access the
file system or the network, and not perform locking, because that might introduce
blocking. When processing large strings or arrays, consider splitting the computation into
multiple sub-chunks, so that you do not prevent the JVM from reaching a safepoint for
extended periods of time.
+ </div><div class="para">
+ If necessary, you can use the Java <code
class="literal">long</code> type to store a C pointer in a field of a
Java class. On the C side, when casting between the <code
class="literal">jlong</code> value and the pointer on the C side,
+ </div><div class="para">
+ You should not try to perform pointer arithmetic on the Java side (that is, you should
treat pointer-carrying <code class="literal">long</code> values as
opaque). When passing a slice of an array to the native code, follow the Java convention
and pass it as the base array, the integer offset of the start of the slice, and the
integer length of the slice. On the native side, check the offset/length combination
against the actual array length, and use the offset to compute the pointer to the
beginning of the array.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-JNI-Pointers"><h6>Example 3.4. Array
length checking in JNI code</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+JNIEXPORT jint JNICALL Java_sum
+ (JNIEnv *jEnv, jclass clazz, jbyteArray buffer, jint offset, jint length)
+{
+ assert(<span class="perl_Keyword">sizeof</span>(jint) == <span
class="perl_Keyword">sizeof</span>(<span
class="perl_DataType">unsigned</span>));
+ <span class="perl_Keyword">if</span> (offset < 0 || length
< 0) {
+ (*jEnv)->ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+ <span class="perl_String">"negative
offset/length"</span>);
+ <span class="perl_Keyword">return</span> 0;
+ }
+ <span class="perl_DataType">unsigned</span> uoffset = offset;
+ <span class="perl_DataType">unsigned</span> ulength = length;
+ <span class="perl_Comment">// This cannot overflow because of the check
above.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">unsigned</span> totallength = uoffset + ulength;
+ <span class="perl_DataType">unsigned</span> actuallength =
(*jEnv)->GetArrayLength(jEnv, buffer);
+ <span class="perl_Keyword">if</span> (totallength >
actuallength) {
+ (*jEnv)->ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+ <span class="perl_String">"offset + length too
large"</span>);
+ <span class="perl_Keyword">return</span> 0;
+ }
+ <span class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span> *ptr =
(*jEnv)->GetPrimitiveArrayCritical(jEnv, buffer, 0);
+ <span class="perl_Keyword">if</span> (ptr == NULL) {
+ <span class="perl_Keyword">return</span> 0;
+ }
+ <span class="perl_DataType">unsigned</span> <span
class="perl_DataType">long</span> <span
class="perl_DataType">long</span> sum = 0;
+ <span class="perl_Keyword">for</span> (<span
class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span> *p = ptr + uoffset, *end = p +
ulength; p != end; ++p) {
+ sum += *p;
+ }
+ (*jEnv)->ReleasePrimitiveArrayCritical(jEnv, buffer, ptr, 0);
+ <span class="perl_Keyword">return</span> sum;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ In any case, classes referring to native resources must be declared <code
class="literal">final</code>, and must not be serializeable or
cloneable. Initialization and mutation of the state used by the native side must be
controlled carefully. Otherwise, it might be possible to create an object with
inconsistent native state which results in a crash (or worse) when used (or perhaps only
finalized) later. If you need both Java inheritance and native resources, you should
consider moving the native state to a separate class, and only keep a reference to objects
of that class. This way, cloning and serialization issues can be avoided in most cases.
+ </div><div class="para">
+ If there are native resources associated with an object, the class should have an
explicit resource deallocation method (<a class="xref"
href="#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2,
“Resource management”</a>) and a finalizer (<a class="xref"
href="#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3,
“Finalizers”</a>) as a last resort. The need for finalization means that a minimum
amount of synchronization is needed. Code on the native side should check that the object
is not in a closed/freed state.
+ </div><div class="para">
+ Many JNI functions create local references. By default, these persist until the
JNI-implemented method returns. If you create many such references (e.g., in a loop), you
may have to free them using <code
class="function">DeleteLocalRef</code>, or start using <code
class="function">PushLocalFrame</code> and <code
class="function">PopLocalFrame</code>. Global references must be
deallocated with <code class="function">DeleteGlobalRef</code>,
otherwise there will be a memory leak, just as with <code
class="function">malloc</code> and <code
class="function">free</code>.
+ </div><div class="para">
+ When throwing exceptions using <code
class="function">Throw</code> or <code
class="function">ThrowNew</code>, be aware that these functions return
regularly. You have to return control manually to the JVM.
+ </div><div class="para">
+ Technically, the <code class="literal">JNIEnv</code> pointer is
not necessarily constant during the lifetime of your JNI module. Storing it in a global
variable is therefore incorrect. Particularly if you are dealing with callbacks, you may
have to store the pointer in a thread-local variable (defined with <code
class="literal">__thread</code>). It is, however, best to avoid the
complexity of calling back into Java code.
+ </div><div class="para">
+ Keep in mind that C/C++ and Java are different languages, despite very similar syntax
for expressions. The Java memory model is much more strict than the C or C++ memory
models, and native code needs more synchronization, usually using JVM facilities or POSIX
threads mutexes. Integer overflow in Java is defined, but in C/C++ it is not (for the
<code class="literal">jint</code> and <code
class="literal">jlong</code> types).
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-MiscUnsafe"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2.3. <code
class="literal">sun.misc.Unsafe</code></h3></div></div></div><div
class="para">
+ The <code class="literal">sun.misc.Unsafe</code> class is
unportable and contains many functions explicitly designed to break Java memory safety
(for performance and debugging). If possible, avoid using this class.
+ </div></div></div><div xml:lang="en-US"
class="section" id="sect-Defensive_Coding-Java-SecurityManager"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">3.3. Interacting with the security
manager</h2></div></div></div><div class="para">
+ The Java platform is largely implemented in the Java language itself. Therefore, within
the same JVM, code runs which is part of the Java installation and which is trusted, but
there might also be code which comes from untrusted sources and is restricted by the Java
sandbox (to varying degrees). The <span
class="emphasis"><em>security manager</em></span> draws a
line between fully trusted, partially trusted and untrusted code.
+ </div><div class="para">
+ The type safety and accessibility checks provided by the Java language and JVM would be
sufficient to implement a sandbox. However, only some Java APIs employ such a
capabilities-based approach. (The Java SE library contains many public classes with public
constructors which can break any security policy, such as <code
class="literal">java.io.FileOutputStream</code>.) Instead, critical
functionality is protected by <span class="emphasis"><em>stack
inspection</em></span>: At a security check, the stack is walked from top
(most-nested) to bottom. The security check fails if a stack frame for a method is
encountered whose class lacks the permission which the security check requires.
+ </div><div class="para">
+ This simple approach would not allow untrusted code (which lacks certain permissions)
to call into trusted code while the latter retains trust. Such trust transitions are
desirable because they enable Java as an implementation language for most parts of the
Java platform, including security-relevant code. Therefore, there is a mechanism to mark
certain stack frames as trusted (<a class="xref"
href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">Section 3.3.4,
“Re-gaining privileges”</a>).
+ </div><div class="para">
+ In theory, it is possible to run a Java virtual machine with a security manager that
acts very differently from this approach, but a lot of code expects behavior very close to
the platform default (including many classes which are part of the OpenJDK
implementation).
+ </div><div class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Compatible"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.1. Security manager
compatibility</h3></div></div></div><div
class="para">
+ A lot of code can run without any additional permissions at all, with little changes.
The following guidelines should help to increase compatibility with a restrictive security
manager.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ When retrieving system properties using <code
class="function">System.getProperty(String)</code> or similar methods,
catch <code class="literal">SecurityException</code> exceptions and
treat the property as unset.
+ </div></li><li class="listitem"><div
class="para">
+ Avoid unnecessary file system or network access.
+ </div></li><li class="listitem"><div
class="para">
+ Avoid explicit class loading. Access to a suitable class loader might not be
available when executing as untrusted code.
+ </div></li></ul></div><div class="para">
+ If the functionality you are implementing absolutely requires privileged access and
this functionality has to be used from untrusted code (hopefully in a restricted and
secure manner), see <a class="xref"
href="#sect-Defensive_Coding-Java-SecurityManager-Privileged">Section 3.3.4,
“Re-gaining privileges”</a>.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Activate"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.2. Activating the security
manager</h3></div></div></div><div class="para">
+ The usual command to launch a Java application, <code
class="command">java</code>, does not activate the security manager.
Therefore, the virtual machine does not enforce any sandboxing restrictions, even if
explicitly requested by the code (for example, as described in <a
class="xref"
href="#sect-Defensive_Coding-Java-SecurityManager-Unprivileged">Section 3.3.3,
“Reducing trust in code”</a>).
+ </div><div class="para">
+ The <code class="option">-Djava.security.manager</code> option
activates the security manager, with the fairly restrictive default policy. With a very
permissive policy, most Java code will run unchanged. Assuming the policy in <a
class="xref"
href="#ex-Defensive_Coding-Java-SecurityManager-GrantAll">Example 3.5, “Most
permissve OpenJDK policy file”</a> has been saved in a file <code
class="filename">grant-all.policy</code>, this policy can be activated
using the option <code
class="option">-Djava.security.policy=grant-all.policy</code> (in
addition to the <code class="option">-Djava.security.manager</code>
option).
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-GrantAll"><h6>Example 3.5. Most
permissve OpenJDK policy file</h6><div
class="example-contents"><pre class="programlisting">
+grant {
+ permission java.security.AllPermission;
+};
+</pre></div></div><br class="example-break" /><div
class="para">
+ With this most permissive policy, the security manager is still active, and explicit
requests to drop privileges will be honored.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Unprivileged"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.3. Reducing trust in
code</h3></div></div></div><div class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6,
“Using the security manager to run code with reduced privileges”</a> shows how to
run a piece code of with reduced privileges.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-Unprivileged"><h6>Example 3.6. Using
the security manager to run code with reduced privileges</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+Permissions permissions = <span class="perl_Keyword">new</span>
Permissions();
+ ProtectionDomain protectionDomain =
+ <span class="perl_Keyword">new</span> ProtectionDomain(<span
class="perl_Keyword">null</span>, permissions);
+ AccessControlContext context = <span
class="perl_Keyword">new</span> AccessControlContext(
+ <span class="perl_Keyword">new</span>
ProtectionDomain[] { protectionDomain });
+
+<span class="perl_Comment">// This is expected to
succeed.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">try</span> (FileInputStream in = <span
class="perl_Keyword">new</span> FileInputStream(path)) {
+ System.<span class="perl_Function">out.format(</span><span
class="perl_String">"FileInputStream: </span><span
class="perl_Char">%s%n</span><span
class="perl_String">", in)</span>;
+}
+
+AccessController.<span
class="perl_Function">doPrivileged</span>(<span
class="perl_Keyword">new</span>
PrivilegedExceptionAction<<span
class="perl_DataType">Void</span>>() {
+ @Override
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">Void</span> <span
class="perl_Function">run</span>() <span
class="perl_Keyword">throws</span> Exception {
+ <span class="perl_Comment">// This code runs with reduced privileges
and is</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Comment">// expected to fail.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">try</span> (FileInputStream in = <span
class="perl_Keyword">new</span> FileInputStream(path)) {
+ System.<span class="perl_Function">out.format(</span><span
class="perl_String">"FileInputStream: </span><span
class="perl_Char">%s%n</span><span
class="perl_String">", in)</span>;
+ }
+ <span class="perl_Keyword">return</span> <span
class="perl_Keyword">null</span>;
+ }
+ }, context);
+</pre></div></div><br class="example-break" /><div
class="para">
+ The example above does not add any additional permissions to the <code
class="literal">permissions</code> object. If such permissions are
necessary, code like the following (which grants read permission on all files in the
current directory) can be used:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+permissions.<span class="perl_Function">add</span>(<span
class="perl_Keyword">new</span> FilePermission(
+ System.<span
class="perl_Function">getProperty</span>(<span
class="perl_String">"user.dir"</span>) + <span
class="perl_String">"/-"</span>, <span
class="perl_String">"read"</span>));
+</pre></div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ Calls to the <code
class="function">java.security.AccessController.doPrivileged()</code>
methods do not enforce any additional restriction if no security manager has been set.
Except for a few special exceptions, the restrictions no longer apply if the <code
class="function">doPrivileged()</code> has returned, even to objects
created by the code which ran with reduced privileges. (This applies to object
finalization in particular.)
+ </div><div class="para">
+ The example code above does not prevent the called code from calling the <code
class="function">java.security.AccessController.doPrivileged()</code>
methods. This mechanism should be considered an additional safety net, but it still can be
used to prevent unexpected behavior of trusted code. As long as the executed code is not
dynamic and came with the original application or library, the sandbox is fairly
effective.
+ </div><div class="para">
+ The <code class="literal">context</code> argument in <a
class="xref"
href="#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6,
“Using the security manager to run code with reduced privileges”</a> is extremely
important—otherwise, this code would increase privileges instead of reducing them.
+ </div></div></div><div class="para">
+ For activating the security manager, see <a class="xref"
href="#sect-Defensive_Coding-Java-SecurityManager-Activate">Section 3.3.2,
“Activating the security manager”</a>. Unfortunately, this affects the virtual
machine as a whole, so it is not possible to do this from a library.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Privileged"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.4. Re-gaining
privileges</h3></div></div></div><div
class="para">
+ Ordinarily, when trusted code is called from untrusted code, it loses its privileges
(because of the untrusted stack frames visible to stack inspection). The <code
class="function">java.security.AccessController.doPrivileged()</code>
family of methods provides a controlled backdoor from untrusted to trusted code.
+ </div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ By design, this feature can undermine the Java security model and the sandbox. It has
to be used very carefully. Most sandbox vulnerabilities can be traced back to its misuse.
+ </div></div></div><div class="para">
+ In essence, the <code class="function">doPrivileged()</code>
methods cause the stack inspection to end at their call site. Untrusted code further down
the call stack becomes invisible to security checks.
+ </div><div class="para">
+ The following operations are common and safe to perform with elevated privileges.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Reading custom system properties with fixed names, especially if the value is not
propagated to untrusted code. (File system paths including installation paths, host names
and user names are sometimes considered private information and need to be protected.)
+ </div></li><li class="listitem"><div
class="para">
+ Reading from the file system at fixed paths, either determined at compile time or by
a system property. Again, leaking the file contents to the caller can be problematic.
+ </div></li><li class="listitem"><div
class="para">
+ Accessing network resources under a fixed address, name or URL, derived from a
system property or configuration file, information leaks not withstanding.
+ </div></li></ul></div><div class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-Java-SecurityManager-Privileged">Example 3.7,
“Using the security manager to run code with increased privileges”</a> shows how to
request additional privileges.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-Privileged"><h6>Example 3.7. Using
the security manager to run code with increased privileges</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// This is expected to
fail.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">try</span> {
+ System.<span class="perl_Function">out</span>.<span
class="perl_Function">println</span>(System.<span
class="perl_Function">getProperty</span>(<span
class="perl_String">"user.home"</span>));
+} <span class="perl_Keyword">catch</span> (SecurityException e) {
+ e.<span
class="perl_Function">printStackTrace</span>(System.<span
class="perl_Function">err</span>);
+}
+AccessController.<span
class="perl_Function">doPrivileged</span>(<span
class="perl_Keyword">new</span> PrivilegedAction<<span
class="perl_DataType">Void</span>>() {
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">Void</span> <span
class="perl_Function">run</span>() {
+ <span class="perl_Comment">// This should
work.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> System.<span
class="perl_Function">out</span>.<span
class="perl_Function">println</span>(System.<span
class="perl_Function">getProperty</span>(<span
class="perl_String">"user.home"</span>));
+ <span class="perl_Keyword">return</span> <span
class="perl_Keyword">null</span>;
+ }
+ });
+</pre></div></div><br class="example-break" /><div
class="para">
+ Obviously, this only works if the class containing the call to <code
class="function">doPrivileged()</code> is marked trusted (usually
because it is loaded from a trusted class loader).
+ </div><div class="para">
+ When writing code that runs with elevated privileges, make sure that you follow the
rules below.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Make the privileged code as small as possible. Perform as many computations as
possible before and after the privileged code section, even if it means that you have to
define a new class to pass the data around.
+ </div></li><li class="listitem"><div
class="para">
+ Make sure that you either control the inputs to the privileged code, or that the
inputs are harmless and cannot affect security properties of the privileged code.
+ </div></li><li class="listitem"><div
class="para">
+ Data that is returned from or written by the privileged code must either be
restricted (that is, it cannot be accessed by untrusted code), or must be harmless.
Otherwise, privacy leaks or information disclosures which affect security properties can
be the result.
+ </div></li></ul></div><div class="para">
+ If the code calls back into untrusted code at a later stage (or performs other actions
under control from the untrusted caller), you must obtain the original security context
and restore it before performing the callback, as in <a class="xref"
href="#ex-Defensive_Coding-Java-SecurityManager-Callback">Example 3.8,
“Restoring privileges when invoking callbacks”</a>. (In this example, it would be
much better to move the callback invocation out of the privileged code section, of
course.)
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-Callback"><h6>Example 3.8. Restoring
privileges when invoking callbacks</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">interface</span>
Callback<T> {
+ T <span class="perl_Function">call</span>(<span
class="perl_DataType">boolean</span> flag);
+}
+
+<span class="perl_Keyword">class</span>
CallbackInvoker<T> {
+ <span class="perl_Keyword">private</span> <span
class="perl_DataType">final</span> AccessControlContext context;
+ Callback<T> callback;
+
+ <span
class="perl_Function">CallbackInvoker</span>(Callback<T>
callback) {
+ context = AccessController.<span
class="perl_Function">getContext</span>();
+ <span class="perl_Keyword">this</span>.<span
class="perl_Function">callback</span> = callback;
+ }
+
+ <span class="perl_Keyword">public</span> T <span
class="perl_Function">invoke</span>() {
+ <span class="perl_Comment">// Obtain increased
privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">return</span> AccessController.<span
class="perl_Function">doPrivileged</span>(<span
class="perl_Keyword">new</span> PrivilegedAction<T>() {
+ @Override
+ <span class="perl_Keyword">public</span> T <span
class="perl_Function">run</span>() {
+ <span class="perl_Comment">// This operation would fail
without</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Comment">// additional privileges.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">final</span> <span
class="perl_DataType">boolean</span> flag = <span
class="perl_DataType">Boolean</span>.<span
class="perl_Function">getBoolean</span>(<span
class="perl_String">"some.property"</span>);
+
+ <span class="perl_Comment">// Restore the original
privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">return</span> AccessController.<span
class="perl_Function">doPrivileged</span>(
+ <span class="perl_Keyword">new</span>
PrivilegedAction<T>() {
+ @Override
+ <span class="perl_Keyword">public</span> T <span
class="perl_Function">run</span>() {
+ <span class="perl_Keyword">return</span> callback.<span
class="perl_Function">call</span>(flag);
+ }
+ }, context);
+ }
+ });
+ }
+}
+</pre></div></div><br class="example-break"
/></div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Python"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 4. The Python Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a href="#idm217608326608">4.1. Dangerous
standard library features</a></span></dt><dt><span
class="section"><a href="#idm217606502144">4.2. Run-time
compilation and code generation</a></span></dt><dt><span
class="section"><a href="#idm217628816768">4.3.
Sandboxing</a></span></dt></dl></div><div
class="para">
+ Python provides memory safety by default, so low-level security vulnerabilities are
rare and typically needs fixing the Python interpreter or standard library itself.
+ </div><div class="para">
+ Other sections with Python-specific advice include:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <a class="xref"
href="#chap-Defensive_Coding-Tasks-Temporary_Files">Chapter 8,
<em>Temporary files</em></a>
+ </div></li><li class="listitem"><div
class="para">
+ <a class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1, “Safe
process creation”</a>
+ </div></li><li class="listitem"><div
class="para">
+ <a class="xref"
href="#chap-Defensive_Coding-Tasks-Serialization">Chapter 10,
<em>Serialization and Deserialization</em></a>, in particular <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3,
“Library support for deserialization”</a>
+ </div></li><li class="listitem"><div
class="para">
+ <a class="xref"
href="#sect-Defensive_Coding-Tasks-Cryptography-Randomness">Section 11.2,
“Randomness”</a>
+ </div></li></ul></div><div class="section"
id="idm217608326608"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217608326608">4.1. Dangerous standard library
features</h2></div></div></div><div class="para">
+ Some areas of the standard library, notably the <code
class="literal">ctypes</code> module, do not provide memory safety
guarantees comparable to the rest of Python. If such functionality is used, the advice in
<a class="xref"
href="#sect-Defensive_Coding-C-Language">Section 1.1, “The core
language”</a> should be followed.
+ </div></div><div class="section"
id="idm217606502144"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217606502144">4.2. Run-time compilation and code
generation</h2></div></div></div><div
class="para">
+ The following Python functions and statements related to code execution should be
avoided:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">compile</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">eval</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">exec</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">execfile</code>
+ </div></li></ul></div><div class="para">
+ If you need to parse integers or floating point values, use the <code
class="function">int</code> and <code
class="function">float</code> functions instead of <code
class="function">eval</code>. Sandboxing untrusted Python code does not
work reliably.
+ </div></div><div class="section"
id="idm217628816768"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217628816768">4.3. Sandboxing</h2></div></div></div><div
class="para">
+ The <code class="literal">rexec</code> Python module cannot
safely sandbox untrusted code and should not be used. The standard CPython implementation
is not suitable for sandboxing.
+ </div></div></div></div><div class="part"
id="idm217603864128"><div
class="titlepage"><div><div text-align="center"><h1
class="title">Part II. Specific Programming
Tasks</h1></div></div></div><div
class="toc"><p><strong>Table of
Contents</strong></p><dl class="toc"><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-Library_Design">5. Library
Design</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217647310832">5.1. State
management</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217628244928">5.1.1. Global
state</a></span></dt><dt><span
class="section"><a href="#idm217649075984">5.1.2.
Handles</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217618443168">5.2. Object
orientation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">5.3.
Callbacks</a></span></dt><dt><span
class="section"><a href="#idm217608062976">5.4. Process
attributes</a></span></dt></dl></dd><dt><
span class="chapter"><a
href="#sect-Defensive_Coding-Tasks-Descriptors">6. File Descriptor
Management</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217616949440">6.1. Closing
descriptors</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217564313984">6.1.1. Error
handling during descriptor close</a></span></dt><dt><span
class="section"><a href="#idm217619823472">6.1.2. Closing
descriptors and race conditions</a></span></dt><dt><span
class="section"><a href="#idm217652421088">6.1.3. Lingering
state after
close</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">6.2.
Preventing file descriptor leaks to child
processes</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">6.3. Dealing with the
<code class="function">select</code>
limit</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-File_System">7. Fil
e system
manipulation</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with
files and directories owned by other
users</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Foreign">7.2. Accessing the
file system as a different user</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Limits">7.3. File system
limits</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Features">7.4. File system
features</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">7.5. Checking free
space</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Files">8. Temporary
files</a></span></dt><dd><dl><dt><span
class="section"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining
the location of
temporary directory</a></span></dt><dt><span
class="section"><a href="#idm217623690400">8.2. Named
temporary files</a></span></dt><dt><span
class="section"><a href="#idm217564767056">8.3. Temporary
files without names</a></span></dt><dt><span
class="section"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Directory">8.4. Temporary
directories</a></span></dt><dt><span
class="section"><a href="#idm217628443664">8.5. Compensating
for unsafe file
creation</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#sect-Defensive_Coding-Tasks-Processes">9.
Processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process
creation</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217628802256">9.1.1. Obtaining
the program path and the command line
template</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the
shell</a></span></dt><dt><sp
an class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the
process environment</a></span></dt><dt><span
class="section"><a href="#idm217619964880">9.1.4. Robust
argument list processing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5.
Passing secrets to
subprocesses</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217622868752">9.2. Handling
child process termination</a></span></dt><dt><span
class="section"><a href="#idm217625586384">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing
environment
variables</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Daemons">9.4.
Daemons</a></span></dt><dt><span
class="section"><a href="#idm217626109008">9.5. Semanti
cs of command line arguments</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">9.6. <code
class="function">fork</code> as a primitive for
parallelism</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Tasks-Serialization">10. Serialization and
Deserialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1.
Recommendations for manually written
decoders</a></span></dt><dt><span
class="section"><a href="#idm217619956912">10.2. Protocol
design</a></span></dt><dt><span
class="section"><a href="#idm217645053984">10.3. Library
support for deserialization</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML">10.4. XML
serialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1.
External references</a></span></dt>
<dt><span class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">10.4.2. Entity
expansion</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">10.4.3.
XInclude processing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">10.4.4.
Algorithmic complexity of XML
validation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">10.4.5. Using
Expat for XML parsing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-Qt">10.4.6. Using Qt for XML
parsing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">10.4.7.
Using OpenJDK for XML parsing and
validation</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217614300256">10.5. Protocol
Encoders</a></span></dt></dl></dd><dt><span
class="
chapter"><a href="#chap-Defensive_Coding-Tasks-Cryptography">11.
Cryptography</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217608525920">11.1.
Primitives</a></span></dt><dt><span
class="section"><a href="#idm217628358944">11.2.
Randomness</a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Tasks-Library_Design"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 5. Library
Design</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a href="#idm217647310832">5.1. State
management</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217628244928">5.1.1. Global
state</a></span></dt><dt><span
class="section"><a href="#idm217649075984">5.1.2.
Handles</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217618443168">5.2. Object
orientation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">5.3
. Callbacks</a></span></dt><dt><span
class="section"><a href="#idm217608062976">5.4. Process
attributes</a></span></dt></dl></div><div
class="para">
+ Throught this section, the term <span class="emphasis"><em>client
code</em></span> refers to applications and other libraries using the
library.
+ </div><div class="section" id="idm217647310832"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217647310832">5.1. State
management</h2></div></div></div><div
class="para">
+
+ </div><div class="section" id="idm217628244928"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217628244928">5.1.1. Global
state</h3></div></div></div><div class="para">
+ Global state should be avoided.
+ </div><div class="para">
+ If this is impossible, the global state must be protected with a lock. For C/C++, you
can use the <code class="function">pthread_mutex_lock</code> and
<code class="function">pthread_mutex_unlock</code> functions without
linking against <code class="literal">-lpthread</code> because the
system provides stubs for non-threaded processes.
+ </div><div class="para">
+ For compatibility with <code class="function">fork</code>,
these locks should be acquired and released in helpers registered with <code
class="function">pthread_atfork</code>. This function is not available
without <code class="literal">-lpthread</code>, so you need to use
<code class="function">dlsym</code> or a weak symbol to obtain its
address.
+ </div><div class="para">
+ If you need <code class="function">fork</code> protection for
other reasons, you should store the process ID and compare it to the value returned by
<code class="function">getpid</code> each time you access the global
state. (<code class="function">getpid</code> is not implemented as a
system call and is fast.) If the value changes, you know that you have to re-create the
state object. (This needs to be combined with locking, of course.)
+ </div></div><div class="section"
id="idm217649075984"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217649075984">5.1.2. Handles</h3></div></div></div><div
class="para">
+ Library state should be kept behind a curtain. Client code should receive only a
handle. In C, the handle can be a pointer to an incomplete <code
class="literal">struct</code>. In C++, the handle can be a pointer to
an abstract base class, or it can be hidden using the pointer-to-implementation idiom.
+ </div><div class="para">
+ The library should provide functions for creating and destroying handles. (In C++, it
is possible to use virtual destructors for the latter.) Consistency between creation and
destruction of handles is strongly recommended: If the client code created a handle, it is
the responsibility of the client code to destroy it. (This is not always possible or
convenient, so sometimes, a transfer of ownership has to happen.)
+ </div><div class="para">
+ Using handles ensures that it is possible to change the way the library represents
state in a way that is transparent to client code. This is important to facilitate
security updates and many other code changes.
+ </div><div class="para">
+ It is not always necessary to protect state behind a handle with a lock. This depends
on the level of thread safety the library provides.
+ </div></div></div><div class="section"
id="idm217618443168"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217618443168">5.2. Object
orientation</h2></div></div></div><div
class="para">
+ Classes should be either designed as base classes, or it should be impossible to use
them as base classes (like <code class="literal">final</code>
classes in Java). Classes which are not designed for inheritance and are used as base
classes nevertheless create potential maintenance hazards because it is difficult to
predict how client code will react when calls to virtual methods are added, reordered or
removed.
+ </div><div class="para">
+ Virtual member functions can be used as callbacks. See <a class="xref"
href="#sect-Defensive_Coding-Tasks-Library_Design-Callbacks">Section 5.3,
“Callbacks”</a> for some of the challenges involved.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Library_Design-Callbacks"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">5.3. Callbacks</h2></div></div></div><div
class="para">
+ Higher-order code is difficult to analyze for humans and computers alike, so it should
be avoided. Often, an iterator-based interface (a library function which is called
repeatedly by client code and returns a stream of events) leads to a better design which
is easier to document and use.
+ </div><div class="para">
+ If callbacks are unavoidable, some guidelines for them follow.
+ </div><div class="para">
+ In modern C++ code, <code class="literal">std::function</code>
objects should be used for callbacks.
+ </div><div class="para">
+ In older C++ code and in C code, all callbacks must have an additional closure
parameter of type <code class="literal">void *</code>, the value of
which can be specified by client code. If possible, the value of the closure parameter
should be provided by client code at the same time a specific callback is registered (or
specified as a function argument). If a single closure parameter is shared by multiple
callbacks, flexibility is greatly reduced, and conflicts between different pieces of
client code using the same library object could be unresolvable. In some cases, it makes
sense to provide a de-registration callback which can be used to destroy the closure
parameter when the callback is no longer used.
+ </div><div class="para">
+ Callbacks can throw exceptions or call <code
class="function">longjmp</code>. If possible, all library objects
should remain in a valid state. (All further operations on them can fail, but it should be
possible to deallocate them without causing resource leaks.)
+ </div><div class="para">
+ The presence of callbacks raises the question if functions provided by the library are
<span class="emphasis"><em>reentrant</em></span>. Unless
a library was designed for such use, bad things will happen if a callback function uses
functions in the same library (particularly if they are invoked on the same objects and
manipulate the same state). When the callback is invoked, the library can be in an
inconsistent state. Reentrant functions are more difficult to write than thread-safe
functions (by definition, simple locking would immediately lead to deadlocks). It is also
difficult to decide what to do when destruction of an object which is currently processing
a callback is requested.
+ </div></div><div class="section"
id="idm217608062976"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217608062976">5.4. Process
attributes</h2></div></div></div><div
class="para">
+ Several attributes are global and affect all code in the process, not just the library
that manipulates them.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ environment variables (see <a class="xref"
href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing
environment variables”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ umask
+ </div></li><li class="listitem"><div
class="para">
+ user IDs, group IDs and capabilities
+ </div></li><li class="listitem"><div
class="para">
+ current working directory
+ </div></li><li class="listitem"><div
class="para">
+ signal handlers, signal masks and signal delivery
+ </div></li><li class="listitem"><div
class="para">
+ file locks (especially <code class="function">fcntl</code>
locks behave in surprising ways, not just in a multi-threaded environment)
+ </div></li></ul></div><div class="para">
+ Library code should avoid manipulating these global process attributes. It should not
rely on environment variables, umask, the current working directory and signal masks
because these attributes can be inherted from an untrusted source.
+ </div><div class="para">
+ In addition, there are obvious process-wide aspects such as the virtual memory layout,
the set of open files and dynamic shared objects, but with the exception of shared
objects, these can be manipulated in a relatively isolated way.
+ </div></div></div><div xml:lang="en-US"
class="chapter" id="sect-Defensive_Coding-Tasks-Descriptors"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 6. File Descriptor
Management</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a href="#idm217616949440">6.1. Closing
descriptors</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217564313984">6.1.1. Error
handling during descriptor close</a></span></dt><dt><span
class="section"><a href="#idm217619823472">6.1.2. Closing
descriptors and race conditions</a></span></dt><dt><span
class="section"><a href="#idm217652421088">6.1.3. Lingering
state after
close</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">6.2.
Preventing file descriptor leaks to child
processes</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">6.3. Dealing with the
<code class="f
unction">select</code>
limit</a></span></dt></dl></div><div
class="para">
+ File descriptors underlie all input/output mechanisms offered by the system. They are
used to implementation the <code class="literal">FILE *</code>-based
functions found in <code
class="literal"><stdio.h></code>, and all the file and
network communication facilities provided by the Python and Java environments are
eventually implemented in them.
+ </div><div class="para">
+ File descriptors are small, non-negative integers in userspace, and are backed on the
kernel side with complicated data structures which can sometimes grow very large.
+ </div><div class="section" id="idm217616949440"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217616949440">6.1. Closing
descriptors</h2></div></div></div><div
class="para">
+ If a descriptor is no longer used by a program and is not closed explicitly, its
number cannot be reused (which is problematic in itself, see <a class="xref"
href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">Section 6.3, “Dealing
with the <code class="function">select</code> limit”</a>), and
the kernel resources are not freed. Therefore, it is important to close all descriptors at
the earlierst point in time possible, but not earlier.
+ </div><div class="section" id="idm217564313984"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217564313984">6.1.1. Error handling during descriptor
close</h3></div></div></div><div class="para">
+ The <code class="function">close</code> system call is always
successful in the sense that the passed file descriptor is never valid after the function
has been called. However, <code class="function">close</code> still
can return an error, for example if there was a file system failure. But this error is not
very useful because the absence of an error does not mean that all caches have been
emptied and previous writes have been made durable. Programs which need such guarantees
must open files with <code class="literal">O_SYNC</code> or use
<code class="literal">fsync</code> or <code
class="literal">fdatasync</code>, and may also have to <code
class="literal">fsync</code> the directory containing the file.
+ </div></div><div class="section"
id="idm217619823472"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217619823472">6.1.2. Closing descriptors and race
conditions</h3></div></div></div><div
class="para">
+ Unlike process IDs, which are recycle only gradually, the kernel always allocates the
lowest unused file descriptor when a new descriptor is created. This means that in a
multi-threaded program which constantly opens and closes file descriptors, descriptors are
reused very quickly. Unless descriptor closing and other operations on the same file
descriptor are synchronized (typically, using a mutex), there will be race coniditons and
I/O operations will be applied to the wrong file descriptor.
+ </div><div class="para">
+ Sometimes, it is necessary to close a file descriptor concurrently, while another
thread might be about to use it in a system call. In order to support this, a program
needs to create a single special file descriptor, one on which all I/O operations fail.
One way to achieve this is to use <code
class="function">socketpair</code>, close one of the descriptors, and
call <code class="literal">shutdown(fd, SHUTRDWR)</code> on the
other.
+ </div><div class="para">
+ When a descriptor is closed concurrently, the program does not call <code
class="function">close</code> on the descriptor. Instead it program
uses <code class="function">dup2</code> to replace the descriptor to
be closed with the dummy descriptor created earlier. This way, the kernel will not reuse
the descriptor, but it will carry out all other steps associated with calling a descriptor
(for instance, if the descriptor refers to a stream socket, the peer will be notified).
+ </div><div class="para">
+ This is just a sketch, and many details are missing. Additional data structures are
needed to determine when it is safe to really close the descriptor, and proper locking is
required for that.
+ </div></div><div class="section"
id="idm217652421088"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217652421088">6.1.3. Lingering state after
close</h3></div></div></div><div class="para">
+ By default, closing a stream socket returns immediately, and the kernel will try to
send the data in the background. This means that it is impossible to implement accurate
accounting of network-related resource utilization from userspace.
+ </div><div class="para">
+ The <code class="literal">SO_LINGER</code> socket option alters
the behavior of <code class="function">close</code>, so that it will
return only after the lingering data has been processed, either by sending it to the peer
successfully, or by discarding it after the configured timeout. However, there is no
interface which could perform this operation in the background, so a separate userspace
thread is needed for each <code class="function">close</code> call,
causing scalability issues.
+ </div><div class="para">
+ Currently, there is no application-level countermeasure which applies universally.
Mitigation is possible with <span
class="application"><strong>iptables</strong></span> (the
<code class="literal">connlimit</code> match type in particular) and
specialized filtering devices for denial-of-service network traffic.
+ </div><div class="para">
+ These problems are not related to the <code
class="literal">TIME_WAIT</code> state commonly seen in <span
class="application"><strong>netstat</strong></span> output.
The kernel automatically expires such sockets if necessary.
+ </div></div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">6.2. Preventing file descriptor leaks to child
processes</h2></div></div></div><div
class="para">
+ Child processes created with <code class="function">fork</code>
share the initial set of file descriptors with their parent process. By default, file
descriptors are also preserved if a new process image is created with <code
class="function">execve</code> (or any of the other functions such as
<code class="function">system</code> or <code
class="function">posix_spawn</code>).
+ </div><div class="para">
+ Usually, this behavior is not desirable. There are two ways to turn it off, that is,
to prevent new process images from inheriting the file descriptors in the parent process:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Set the close-on-exec flag on all newly created file descriptors. Traditionally,
this flag is controlled by the <code
class="literal">FD_CLOEXEC</code> flag, using <code
class="literal">F_GETFD</code> and <code
class="literal">F_SETFD</code> operations of the <code
class="function">fcntl</code> function.
+ </div><div class="para">
+ However, in a multi-threaded process, there is a race condition: a subprocess could
have been created between the time the descriptor was created and the <code
class="literal">FD_CLOEXEC</code> was set. Therefore, many system calls
which create descriptors (such as <code class="function">open</code>
and <code class="function">openat</code>) now accept the <code
class="function">O_CLOEXEC</code> flag (<code
class="function">SOCK_CLOEXEC</code> for <code
class="function">socket</code> and <code
class="function">socketpair</code>), which cause the <code
class="literal">FD_CLOEXEC</code> flag to be set for the file
descriptor in an atomic fashion. In addition, a few new systems calls were introduced,
such as <code class="function">pipe2</code> and <code
class="function">dup3</code>.
+ </div><div class="para">
+ The downside of this approach is that every descriptor needs to receive special
treatment at the time of creation, otherwise it is not completely effective.
+ </div></li><li class="listitem"><div
class="para">
+ After calling <code class="function">fork</code>, but before
creating a new process image with <code
class="function">execve</code>, all file descriptors which the child
process will not need are closed.
+ </div><div class="para">
+ Traditionally, this was implemented as a loop over file descriptors ranging from
<code class="literal">3</code> to <code
class="literal">255</code> and later <code
class="literal">1023</code>. But this is only an approximatio because
it is possible to create file descriptors outside this range easily (see <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Descriptors-Limit">Section 6.3, “Dealing
with the <code class="function">select</code> limit”</a>).
Another approach reads <code class="filename">/proc/self/fd</code>
and closes the unexpected descriptors listed there, but this approach is much slower.
+ </div></li></ul></div><div class="para">
+ At present, environments which care about file descriptor leakage implement the second
approach. OpenJDK 6 and 7 are among them.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Descriptors-Limit"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">6.3. Dealing with the <code
class="function">select</code>
limit</h2></div></div></div><div class="para">
+ By default, a user is allowed to open only 1024 files in a single process, but the
system administrator can easily change this limit (which is necessary for busy network
servers). However, there is another restriction which is more difficult to overcome.
+ </div><div class="para">
+ The <code class="function">select</code> function only supports
a maximum of <code class="literal">FD_SETSIZE</code> file
descriptors (that is, the maximum permitted value for a file descriptor is <code
class="literal">FD_SETSIZE - 1</code>, usually 1023.) If a process
opens many files, descriptors may exceed such limits. It is impossible to query such
descriptors using <code class="function">select</code>.
+ </div><div class="para">
+ If a library which creates many file descriptors is used in the same process as a
library which uses <code class="function">select</code>, at least
one of them needs to be changed. Calls to <code
class="function">select</code> can be replaced with calls to <code
class="function">poll</code> or another event handling mechanism.
Replacing the <code class="function">select</code> function is the
recommended approach.
+ </div><div class="para">
+ Alternatively, the library with high descriptor usage can relocate descriptors above
the <code class="literal">FD_SETSIZE</code> limit using the
following procedure.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Create the file descriptor <code class="literal">fd</code> as
usual, preferably with the <code class="literal">O_CLOEXEC</code>
flag.
+ </div></li><li class="listitem"><div
class="para">
+ Before doing anything else with the descriptor <code
class="literal">fd</code>, invoke:
+ </div><pre class="programlisting">
+ <span class="perl_DataType">int</span> newfd = fcntl(fd,
F_DUPFD_CLOEXEC, (<span
class="perl_DataType">long</span>)FD_SETSIZE);
+</pre></li><li class="listitem"><div
class="para">
+ Check that <code class="literal">newfd</code> result is
non-negative, otherwise close <code class="literal">fd</code> and
report an error, and return.
+ </div></li><li class="listitem"><div
class="para">
+ Close <code class="literal">fd</code> and continue to use
<code class="literal">newfd</code>.
+ </div></li></ul></div><div class="para">
+ The new descriptor has been allocated above the <code
class="literal">FD_SETSIZE</code>. Even though this algorithm is racy
in the sense that the <code class="literal">FD_SETSIZE</code> first
descriptors could fill up, a very high degree of physical parallelism is required before
this becomes a problem.
+ </div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Tasks-File_System"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 7. File system
manipulation</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1. Working with
files and directories owned by other
users</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Foreign">7.2. Accessing the
file system as a different user</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Limits">7.3. File system
limits</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Features">7.4. File system
features</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-File_System-Free_Space">7.5. Checking free
space</a></span></dt></dl></div><div
class="para">
+ In this chapter, we discuss general file system manipulation, with a focus on access
files and directories to which an other, potentially untrusted user has write access.
+ </div><div class="para">
+ Temporary files are covered in their own chapter, <a class="xref"
href="#chap-Defensive_Coding-Tasks-Temporary_Files">Chapter 8,
<em>Temporary files</em></a>.
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-File_System-Unowned"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.1. Working with files and directories owned by other
users</h2></div></div></div><div class="para">
+ Sometimes, it is necessary to operate on files and directories owned by other
(potentially untrusted) users. For example, a system administrator could remove the home
directory of a user, or a package manager could update a file in a directory which is
owned by an application-specific user. This differs from accessing the file system as a
specific user; see <a class="xref"
href="#sect-Defensive_Coding-Tasks-File_System-Foreign">Section 7.2,
“Accessing the file system as a different user”</a>.
+ </div><div class="para">
+ Accessing files across trust boundaries faces several challenges, particularly if an
entire directory tree is being traversed:
+ </div><div class="orderedlist"><ol><li
class="listitem"><div class="para">
+ Another user might add file names to a writable directory at any time. This can
interfere with file creation and the order of names returned by <code
class="function">readdir</code>.
+ </div></li><li class="listitem"><div
class="para">
+ Merely opening and closing a file can have side effects. For instance, an
automounter can be triggered, or a tape device rewound. Opening a file on a local file
system can block indefinitely, due to mandatory file locking, unless the <code
class="literal">O_NONBLOCK</code> flag is specified.
+ </div></li><li class="listitem"><div
class="para">
+ Hard links and symbolic links can redirect the effect of file system operations in
unexpected ways. The <code class="literal">O_NOFOLLOW</code> and
<code class="literal">AT_SYMLINK_NOFOLLOW</code> variants of system
calls only affected final path name component.
+ </div></li><li class="listitem"><div
class="para">
+ The structure of a directory tree can change. For example, the parent directory of
what used to be a subdirectory within the directory tree being processed could suddenly
point outside that directory tree.
+ </div></li></ol></div><div class="para">
+ Files should always be created with the <code
class="literal">O_CREAT</code> and <code
class="literal">O_EXCL</code> flags, so that creating the file will
fail if it already exists. This guards against the unexpected appearance of file names,
either due to creation of a new file, or hard-linking of an existing file. In
multi-threaded programs, rather than manipulating the umask, create the files with mode
<code class="literal">000</code> if possible, and adjust it
afterwards with <code class="function">fchmod</code>.
+ </div><div class="para">
+ To avoid issues related to symbolic links and directory tree restructuring, the
“<code class="literal">at</code>” variants of system calls have to
be used (that is, functions like <code
class="function">openat</code>, <code
class="function">fchownat</code>, <code
class="function">fchmodat</code>, and <code
class="function">unlinkat</code>, together with <code
class="literal">O_NOFOLLOW</code> or <code
class="literal">AT_SYMLINK_NOFOLLOW</code>). Path names passed to these
functions must have just a single component (that is, without a slash). When descending,
the descriptors of parent directories must be kept open. The missing <code
class="literal">opendirat</code> function can be emulated with <code
class="literal">openat</code> (with an <code
class="literal">O_DIRECTORY</code> flag, to avoid opening special files
with side effects), followed by <code
class="literal">fdopendir</code>.
+ </div><div class="para">
+ If the “<code class="literal">at</code>” functions are not
available, it is possible to emulate them by changing the current directory. (Obviously,
this only works if the process is not multi-threaded.) <code
class="function">fchdir</code> has to be used to change the current
directory, and the descriptors of the parent directories have to be kept open, just as
with the “<code class="literal">at</code>”-based approach. <code
class="literal">chdir("...")</code> is unsafe because it
might ascend outside the intended directory tree.
+ </div><div class="para">
+ This “<code class="literal">at</code>” function emulation is
currently required when manipulating extended attributes. In this case, the <code
class="function">lsetxattr</code> function can be used, with a relative
path name consisting of a single component. This also applies to SELinux contexts and the
<code class="function">lsetfilecon</code> function.
+ </div><div class="para">
+ Currently, it is not possible to avoid opening special files <span
class="emphasis"><em>and</em></span> changes to files with
hard links if the directory containing them is owned by an untrusted user. (Device nodes
can be hard-linked, just as regular files.) <code
class="function">fchmodat</code> and <code
class="function">fchownat</code> affect files whose link count is
greater than one. But opening the files, checking that the link count is one with <code
class="function">fstat</code>, and using <code
class="function">fchmod</code> and <code
class="function">fchown</code> on the file descriptor may have unwanted
side effects, due to item 2 above. When creating directories, it is therefore important to
change the ownership and permissions only after it has been fully created. Until that
point, file names are stable, and no files with unexpected hard links can be introduced.
+ </div><div class="para">
+ Similarly, when just reading a directory owned by an untrusted user, it is currently
impossible to reliably avoid opening special files.
+ </div><div class="para">
+ There is no workaround against the instability of the file list returned by <code
class="function">readdir</code>. Concurrent modification of the
directory can result in a list of files being returned which never actually existed on
disk.
+ </div><div class="para">
+ Hard links and symbolic links can be safely deleted using <code
class="function">unlinkat</code> without further checks because
deletion only affects the name within the directory tree being processed.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-File_System-Foreign"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.2. Accessing the file system as a different
user</h2></div></div></div><div class="para">
+ This section deals with access to the file system as a specific user. This is
different from accessing files and directories owned by a different, potentially untrusted
user; see <a class="xref"
href="#sect-Defensive_Coding-Tasks-File_System-Foreign">Section 7.2,
“Accessing the file system as a different user”</a>.
+ </div><div class="para">
+ One approach is to spawn a child process which runs under the target user and group
IDs (both effective and real IDs). Note that this child process can block indefinitely,
even when processing regular files only. For example, a special FUSE file system could
cause the process to hang in uninterruptible sleep inside a <code
class="function">stat</code> system call.
+ </div><div class="para">
+ An existing process could change its user and group ID using <code
class="function">setfsuid</code> and <code
class="function">setfsgid</code>. (These functions are preferred over
<code class="function">seteuid</code> and <code
class="function">setegid</code> because they do not allow the
impersonated user to send signals to the process.) These functions are not thread safe. In
multi-threaded processes, these operations need to be performed in a single-threaded child
process. Unexpected blocking may occur as well.
+ </div><div class="para">
+ It is not recommended to try to reimplement the kernel permission checks in user space
because the required checks are complex. It is also very difficult to avoid race
conditions during path name resolution.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-File_System-Limits"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.3. File system
limits</h2></div></div></div><div class="para">
+ For historical reasons, there are preprocessor constants such as <code
class="literal">PATH_MAX</code>, <code
class="literal">NAME_MAX</code>. However, on most systems, the length
of canonical path names (absolute path names with all symbolic links resolved, as returned
by <code class="function">realpath</code> or <code
class="function">canonicalize_file_name</code>) can exceed <code
class="literal">PATH_MAX</code> bytes, and individual file name
components can be longer than <code class="literal">NAME_MAX</code>.
This is also true of the <code class="literal">_PC_PATH_MAX</code>
and <code class="literal">_PC_NAME_MAX</code> values returned by
<code class="function">pathconf</code>, and the <code
class="literal">f_namemax</code> member of <code
class="literal">struct statvfs</code>. Therefore, these constants
should not be used. This is also reason why the <code
class="function">readdir_r</code> should never be used (instead, use
<code class="function">readdir</code>).
+ </div><div class="para">
+ You should not write code in a way that assumes that there is an upper limit on the
number of subdirectories of a directory, the number of regular files in a directory, or
the link count of an inode.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-File_System-Features"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.4. File system
features</h2></div></div></div><div class="para">
+ Not all file systems support all features. This makes it very difficult to write
general-purpose tools for copying files. For example, a copy operation intending to
preserve file permissions will generally fail when copying to a FAT file system.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Some file systems are case-insensitive. Most should be case-preserving, though.
+ </div></li><li class="listitem"><div
class="para">
+ Name length limits vary greatly, from eight to thousands of bytes. Path length
limits differ as well. Most systems impose an upper bound on path names passed to the
kernel, but using relative path names, it is possible to create and access files whose
absolute path name is essentially of unbounded length.
+ </div></li><li class="listitem"><div
class="para">
+ Some file systems do not store names as fairly unrestricted byte sequences, as it
has been traditionally the case on GNU systems. This means that some byte sequences
(outside the POSIX safe character set) are not valid names. Conversely, names of existing
files may not be representable as byte sequences, and the files are thus inaccessible on
GNU systems. Some file systems perform Unicode canonicalization on file names. These file
systems preserve case, but reading the name of a just-created file using <code
class="function">readdir</code> might still result in a different byte
sequence.
+ </div></li><li class="listitem"><div
class="para">
+ Permissions and owners are not universally supported (and SUID/SGID bits may not be
available). For example, FAT file systems assign ownership based on a mount option, and
generally mark all files as executable. Any attempt to change permissions would result in
an error.
+ </div></li><li class="listitem"><div
class="para">
+ Non-regular files (device nodes, FIFOs) are not generally available.
+ </div></li><li class="listitem"><div
class="para">
+ Only on some file systems, files can have holes, that is, not all of their contents
is backed by disk storage.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">ioctl</code> support (even fairly
generic functionality such as <code class="literal">FIEMAP</code>
for discovering physical file layout and holes) is file-system-specific.
+ </div></li><li class="listitem"><div
class="para">
+ Not all file systems support extended attributes, ACLs and SELinux metadata. Size
and naming restriction on extended attributes vary.
+ </div></li><li class="listitem"><div
class="para">
+ Hard links may not be supported at all (FAT) or only within the same directory
(AFS). Symbolic links may not be available, either. Reflinks (hard links with
copy-on-write semantics) are still very rare. Recent systems restrict creation of hard
links to users which own the target file or have read/write access to it, but older
systems do not.
+ </div></li><li class="listitem"><div
class="para">
+ Renaming (or moving) files using <code
class="function">rename</code> can fail (even when <code
class="function">stat</code> indicates that the source and target
directories are located on the same file system). This system call should work if the old
and new paths are located in the same directory, though.
+ </div></li><li class="listitem"><div
class="para">
+ Locking semantics vary among file systems. This affects advisory and mandatory
locks. For example, some network file systems do not allow deleting files which are opened
by any process.
+ </div></li><li class="listitem"><div
class="para">
+ Resolution of time stamps varies from two seconds to nanoseconds. Not all time
stamps are available on all file systems. File creation time (<span
class="emphasis"><em>birth time</em></span>) is not exposed
over the <code class="function">stat</code>/<code
class="function">fstat</code> interface, even if stored by the file
system.
+ </div></li></ul></div></div><div
class="section"
id="sect-Defensive_Coding-Tasks-File_System-Free_Space"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.5. Checking free
space</h2></div></div></div><div class="para">
+ The <code class="function">statvfs</code> and <code
class="function">fstatvfs</code> functions allow programs to examine
the number of available blocks and inodes, through the members <code
class="literal">f_bfree</code>, <code
class="literal">f_bavail</code>, <code
class="literal">f_ffree</code>, and <code
class="literal">f_favail</code> of <code
class="literal">struct statvfs</code>. Some file systems return
fictional values in the <code class="literal">f_ffree</code> and
<code class="literal">f_favail</code> fields, so the only reliable
way to discover if the file system still has space for a file is to try to create it. The
<code class="literal">f_bfree</code> field should be reasonably
accurate, though.
+ </div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Tasks-Temporary_Files"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 8. Temporary
files</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1. Obtaining
the location of temporary directory</a></span></dt><dt><span
class="section"><a href="#idm217623690400">8.2. Named
temporary files</a></span></dt><dt><span
class="section"><a href="#idm217564767056">8.3. Temporary
files without names</a></span></dt><dt><span
class="section"><a
href="#chap-Defensive_Coding-Tasks-Temporary_Directory">8.4. Temporary
directories</a></span></dt><dt><span
class="section"><a href="#idm217628443664">8.5. Compensating
for unsafe file creation</a></span></dt></dl></div><div
class="para">
+ In this chapter, we describe how to create temporary files and directories, how to
remove them, and how to work with programs which do not create files in ways that a safe
with a shared directory for temporary files. General file system manipulation is treated
in a separate chapter, <a class="xref"
href="#chap-Defensive_Coding-Tasks-File_System">Chapter 7, <em>File
system manipulation</em></a>.
+ </div><div class="para">
+ Secure creation of temporary files has four different aspects.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The location of the directory for temporary files must be obtained in a secure manner
(that is, untrusted environment variables must be ignored, see <a
class="xref"
href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing
environment variables”</a>).
+ </div></li><li class="listitem"><div
class="para">
+ A new file must be created. Reusing an existing file must be avoided (the <code
class="filename">/tmp</code> race condition). This is tricky because
traditionally, system-wide temporary directories shared by all users are used.
+ </div></li><li class="listitem"><div
class="para">
+ The file must be created in a way that makes it impossible for other users to open
it.
+ </div></li><li class="listitem"><div
class="para">
+ The descriptor for the temporary file should not leak to subprocesses.
+ </div></li></ul></div><div class="para">
+ All functions mentioned below will take care of these aspects.
+ </div><div class="para">
+ Traditionally, temporary files are often used to reduce memory usage of programs. More
and more systems use RAM-based file systems such as <code
class="literal">tmpfs</code> for storing temporary files, to increase
performance and decrease wear on Flash storage. As a result, spooling data to temporary
files does not result in any memory savings, and the related complexity can be avoided if
the data is kept in process memory.
+ </div><div class="section"
id="chap-Defensive_Coding-Tasks-Temporary_Files-Location"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">8.1. Obtaining the location of temporary
directory</h2></div></div></div><div
class="para">
+ Some functions below need the location of a directory which stores temporary files.
For C/C++ programs, use the following steps to obtain that directory:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Use <code class="function">secure_getenv</code> to obtain the
value of the <code class="literal">TMPDIR</code> environment
variable. If it is set, convert the path to a fully-resolved absolute path, using <code
class="literal">realpath(path, NULL)</code>. Check if the new path
refers to a directory and is writeable. In this case, use it as the temporary directory.
+ </div></li><li class="listitem"><div
class="para">
+ Fall back to <code class="filename">/tmp</code>.
+ </div></li></ul></div><div class="para">
+ In Python, you can use the <code
class="varname">tempfile.tempdir</code> variable.
+ </div><div class="para">
+ Java does not support SUID/SGID programs, so you can use the <code
class="function">java.lang.System.getenv(String)</code> method to
obtain the value of the <code class="literal">TMPDIR</code>
environment variable, and follow the two steps described above. (Java's default
directory selection does not honor <code
class="literal">TMPDIR</code>.)
+ </div></div><div class="section"
id="idm217623690400"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217623690400">8.2. Named temporary
files</h2></div></div></div><div class="para">
+ The <code class="function">mkostemp</code> function creates a
named temporary file. You should specify the <code
class="literal">O_CLOEXEC</code> flag to avoid file descriptor leaks to
subprocesses. (Applications which do not use multiple threads can also use <code
class="function">mkstemp</code>, but libraries should use <code
class="function">mkostemp</code>.) For determining the directory part
of the file name pattern, see <a class="xref"
href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1,
“Obtaining the location of temporary directory”</a>.
+ </div><div class="para">
+ The file is not removed automatically. It is not safe to rename or delete the file
before processing, or transform the name in any way (for example, by adding a file
extension). If you need multiple temporary files, call <code
class="function">mkostemp</code> multiple times. Do not create
additional file names derived from the name provided by a previous <code
class="function">mkostemp</code> call. However, it is safe to close the
descriptor returned by <code class="function">mkostemp</code> and
reopen the file using the generated name.
+ </div><div class="para">
+ The Python class <code
class="literal">tempfile.NamedTemporaryFile</code> provides similar
functionality, except that the file is deleted automatically by default. Note that you may
have to use the <code class="literal">file</code> attribute to
obtain the actual file object because some programming interfaces cannot deal with
file-like objects. The C function <code
class="function">mkostemp</code> is also available as <code
class="function">tempfile.mkstemp</code>.
+ </div><div class="para">
+ In Java, you can use the <code
class="function">java.io.File.createTempFile(String, String,
File)</code> function, using the temporary file location determined according to
<a class="xref"
href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1,
“Obtaining the location of temporary directory”</a>. Do not use <code
class="function">java.io.File.deleteOnExit()</code> to delete temporary
files, and do not register a shutdown hook for each temporary file you create. In both
cases, the deletion hint cannot be removed from the system if you delete the temporary
file prior to termination of the VM, causing a memory leak.
+ </div></div><div class="section"
id="idm217564767056"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217564767056">8.3. Temporary files without
names</h2></div></div></div><div class="para">
+ The <code class="function">tmpfile</code> function creates a
temporary file and immediately deletes it, while keeping the file open. As a result, the
file lacks a name and its space is deallocated as soon as the file descriptor is closed
(including the implicit close when the process terminates). This avoids cluttering the
temporary directory with orphaned files.
+ </div><div class="para">
+ Alternatively, if the maximum size of the temporary file is known beforehand, the
<code class="function">fmemopen</code> function can be used to
create a <code class="literal">FILE *</code> object which is backed
by memory.
+ </div><div class="para">
+ In Python, unnamed temporary files are provided by the <code
class="literal">tempfile.TemporaryFile</code> class, and the <code
class="literal">tempfile.SpooledTemporaryFile</code> class provides a
way to avoid creation of small temporary files.
+ </div><div class="para">
+ Java does not support unnamed temporary files.
+ </div></div><div class="section"
id="chap-Defensive_Coding-Tasks-Temporary_Directory"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">8.4. Temporary
directories</h2></div></div></div><div
class="para">
+ The <code class="function">mkdtemp</code> function can be used
to create a temporary directory. (For determining the directory part of the file name
pattern, see <a class="xref"
href="#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1,
“Obtaining the location of temporary directory”</a>.) The directory is not
automatically removed. In Python, this function is available as <code
class="function">tempfile.mkdtemp</code>. In Java 7, temporary
directories can be created using the <code
class="function">java.nio.file.Files.createTempDirectory(Path, String,
FileAttribute...)</code> function.
+ </div><div class="para">
+ When creating files in the temporary directory, use automatically generated names,
e.g., derived from a sequential counter. Files with externally provided names could be
picked up in unexpected contexts, and crafted names could actually point outside of the
tempoary directory (due to <span class="emphasis"><em>directory
traversal</em></span>).
+ </div><div class="para">
+ Removing a directory tree in a completely safe manner is complicated. Unless there are
overriding performance concerns, the <span
class="application"><strong>rm</strong></span> program
should be used, with the <code class="option">-rf</code> and
<code class="option">--</code> options.
+ </div></div><div class="section"
id="idm217628443664"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217628443664">8.5. Compensating for unsafe file
creation</h2></div></div></div><div class="para">
+ There are two ways to make a function or program which excepts a file name safe for
use with temporary files. See <a class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1, “Safe
process creation”</a>, for details on subprocess creation.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Create a temporary directory and place the file there. If possible, run the program
in a subprocess which uses the temporary directory as its current directory, with a
restricted environment. Use generated names for all files in that temporary directory.
(See <a class="xref"
href="#chap-Defensive_Coding-Tasks-Temporary_Directory">Section 8.4,
“Temporary directories”</a>.)
+ </div></li><li class="listitem"><div
class="para">
+ Create the temporary file and pass the generated file name to the function or
program. This only works if the function or program can cope with a zero-length existing
file. It is safe only under additional assumptions:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The function or program must not create additional files whose name is derived
from the specified file name or are otherwise predictable.
+ </div></li><li class="listitem"><div
class="para">
+ The function or program must not delete the file before processing it.
+ </div></li><li class="listitem"><div
class="para">
+ It must not access any existing files in the same directory.
+ </div></li></ul></div><div class="para">
+ It is often difficult to check whether these additional assumptions are matched,
therefore this approach is not recommended.
+ </div></li></ul></div></div></div><div
xml:lang="en-US" class="chapter"
id="sect-Defensive_Coding-Tasks-Processes" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 9. Processes</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Creation">9.1. Safe process
creation</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217628802256">9.1.1. Obtaining
the program path and the command line
template</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2. Bypassing the
shell</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3. Specifying the
process environment</a></span></dt><dt><span
class="section"><a href="#idm217619964880">9.1.4. Robust
argument list processing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visi
bility">9.1.5. Passing secrets to
subprocesses</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217622868752">9.2. Handling
child process termination</a></span></dt><dt><span
class="section"><a href="#idm217625586384">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1. Accessing
environment
variables</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Daemons">9.4.
Daemons</a></span></dt><dt><span
class="section"><a href="#idm217626109008">9.5. Semantics of
command line arguments</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">9.6. <code
class="function">fork</code> as a primitive for
parallelism</a></span></dt></dl></div><div
class="section"
id="sect-Defensive_Coding-Tasks-Processes-Creation"><div
class="titlepage"><div>
<div keep-together.within-column="always"><h2
class="title">9.1. Safe process
creation</h2></div></div></div><div class="para">
+ This section describes how to create new child processes in a safe manner. In addition
to the concerns addressed below, there is the possibility of file descriptor leaks, see
<a class="xref"
href="#sect-Defensive_Coding-Tasks-Descriptors-Child_Processes">Section 6.2,
“Preventing file descriptor leaks to child processes”</a>.
+ </div><div class="section" id="idm217628802256"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217628802256">9.1.1. Obtaining the program path and the command line
template</h3></div></div></div><div class="para">
+ The name and path to the program being invoked should be hard-coded or controlled by
a static configuration file stored at a fixed location (at an file system absolute path).
The same applies to the template for generating the command line.
+ </div><div class="para">
+ The configured program name should be an absolute path. If it is a relative path, the
contents of the <code class="envar">PATH</code> must be obtained in
s secure manner (see <a class="xref"
href="#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1, “Accessing
environment variables”</a>). If the <code
class="envar">PATH</code> variable is not set or untrusted, the safe
default <code class="literal">/bin:/usr/bin</code> must be used.
+ </div><div class="para">
+ If too much flexibility is provided here, it may allow invocation of arbitrary
programs without proper authorization.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-execve"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.1.2. Bypassing the
shell</h3></div></div></div><div class="para">
+ Child processes should be created without involving the system shell.
+ </div><div class="para">
+ For C/C++, <code class="function">system</code> should not be
used. The <code class="function">posix_spawn</code> function can be
used instead, or a combination <code class="function">fork</code>
and <code class="function">execve</code>. (In some cases, it may be
preferable to use <code class="function">vfork</code> or the
Linux-specific <code class="function">clone</code> system call
instead of <code class="function">fork</code>.)
+ </div><div class="para">
+ In Python, the <code class="literal">subprocess</code> module
bypasses the shell by default (when the <code
class="literal">shell</code> keyword argument is not set to true).
<code class="function">os.system</code> should not be used.
+ </div><div class="para">
+ The Java class <span
class="type">java.lang.ProcessBuilder</span> can be used to create
subprocesses without interference from the system shell.
+ </div><div class="important"><div
class="admonition_header"><h2>Portability
notice</h2></div><div class="admonition"><div
class="para">
+ On Windows, there is no argument vector, only a single argument string. Each
application is responsible for parsing this string into an argument vector. There is
considerable variance among the quoting style recognized by applications. Some of them
expand shell wildcards, others do not. Extensive application-specific testing is required
to make this secure.
+ </div></div></div><div class="para">
+ Note that some common applications (notably <span
class="application"><strong>ssh</strong></span>)
unconditionally introduce the use of a shell, even if invoked directly without a shell. It
is difficult to use these applications in a secure manner. In this case, untrusted data
should be supplied by other means. For example, standard input could be used, instead of
the command line.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-environ"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.1.3. Specifying the process
environment</h3></div></div></div><div
class="para">
+ Child processes should be created with a minimal set of environment variables. This
is absolutely essential if there is a trust transition involved, either when the parent
process was created, or during the creation of the child process.
+ </div><div class="para">
+ In C/C++, the environment should be constructed as an array of strings and passed as
the <code class="varname">envp</code> argument to <code
class="function">posix_spawn</code> or <code
class="function">execve</code>. The functions <code
class="function">setenv</code>, <code
class="function">unsetenv</code> and <code
class="function">putenv</code> should not be used. They are not
thread-safe and suffer from memory leaks.
+ </div><div class="para">
+ Python programs need to specify a <code
class="literal">dict</code> for the the <code
class="varname">env</code> argument of the <code
class="function">subprocess.Popen</code> constructor. The Java class
<code class="literal">java.lang.ProcessBuilder</code> provides a
<code class="function">environment()</code> method, which returns a
map that can be manipulated.
+ </div><div class="para">
+ The following list provides guidelines for selecting the set of environment variables
passed to the child process.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="envar">PATH</code> should be initialized to
<code class="literal">/bin:/usr/bin</code>.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="envar">USER</code> and <code
class="envar">HOME</code> can be inhereted from the parent process
environment, or they can be initialized from the <code
class="literal">pwent</code> structure for the user.
+ </div></li><li class="listitem"><div
class="para">
+ The <code class="envar">DISPLAY</code> and <code
class="envar">XAUTHORITY</code> variables should be passed to the
subprocess if it is an X program. Note that this will typically not work across trust
boundaries because <code class="envar">XAUTHORITY</code> refers to a
file with <code class="literal">0600</code> permissions.
+ </div></li><li class="listitem"><div
class="para">
+ The location-related environment variables <code
class="envar">LANG</code>, <code
class="envar">LANGUAGE</code>, <code
class="envar">LC_ADDRESS</code>, <code
class="envar">LC_ALL</code>, <code
class="envar">LC_COLLATE</code>, <code
class="envar">LC_CTYPE</code>, <code
class="envar">LC_IDENTIFICATION</code>, <code
class="envar">LC_MEASUREMENT</code>, <code
class="envar">LC_MESSAGES</code>, <code
class="envar">LC_MONETARY</code>, <code
class="envar">LC_NAME</code>, <code
class="envar">LC_NUMERIC</code>, <code
class="envar">LC_PAPER</code>, <code
class="envar">LC_TELEPHONE</code> and <code
class="envar">LC_TIME</code> can be passed to the subprocess if
present.
+ </div></li><li class="listitem"><div
class="para">
+ The called process may need application-specific environment variables, for example
for passing passwords. (See <a class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">Section 9.1.5,
“Passing secrets to subprocesses”</a>.)
+ </div></li><li class="listitem"><div
class="para">
+ All other environment variables should be dropped. Names for new environment
variables should not be accepted from untrusted sources.
+ </div></li></ul></div></div><div
class="section" id="idm217619964880"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217619964880">9.1.4. Robust argument list
processing</h3></div></div></div><div
class="para">
+ When invoking a program, it is sometimes necessary to include data from untrusted
sources. Such data should be check against embedded <code
class="literal">NUL</code> characters because the system APIs will
sliently truncate argument strings at the first <code
class="literal">NUL</code> character.
+ </div><div class="para">
+ The following recommendations assume that the program being invoked uses GNU-style
option processing using <code class="function">getopt_long</code>.
This convention is widely used, but it is just that, and individual programs might
interpret a command line in a different way.
+ </div><div class="para">
+ If the untrusted data has to go into an option, use the <code
class="literal">--option-name=VALUE</code> syntax, placing the option
and its value into the same command line argument. This avoids any potential confusion if
the data starts with <code class="literal">-</code>.
+ </div><div class="para">
+ For positional arguments, terminate the option list with a single <code
class="option">--</code> marker after the last option, and include the
data at the right position. The <code class="option">--</code>
marker terminates option processing, and the data will not be treated as an option even if
it starts with a dash.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.1.5. Passing secrets to
subprocesses</h3></div></div></div><div
class="para">
+ The command line (the name of the program and its argument) of a running process is
traditionally available to all local users. The called program can overwrite this
information, but only after it has run for a bit of time, during which the information may
have been read by other processes. However, on Linux, the process environment is
restricted to the user who runs the process. Therefore, if you need a convenient way to
pass a password to a child process, use an environment variable, and not a command line
argument. (See <a class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>.)
+ </div><div class="important"><div
class="admonition_header"><h2>Portability
notice</h2></div><div class="admonition"><div
class="para">
+ On some UNIX-like systems (notably Solaris), environment variables can be read by
any system user, just like command lines.
+ </div></div></div><div class="para">
+ If the environment-based approach cannot be used due to portability concerns, the
data can be passed on standard input. Some programs (notably <span
class="application"><strong>gpg</strong></span>) use
special file descriptors whose numbers are specified on the command line. Temporary files
are an option as well, but they might give digital forensics access to sensitive data
(such as passphrases) because it is difficult to safely delete them in all cases.
+ </div></div></div><div class="section"
id="idm217622868752"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217622868752">9.2. Handling child process
termination</h2></div></div></div><div
class="para">
+ When child processes terminate, the parent process is signalled. A stub of the
terminated processes (a <span
class="emphasis"><em>zombie</em></span>, shown as <code
class="literal"><defunct></code> by <span
class="application"><strong>ps</strong></span>) is kept
around until the status information is collected (<span
class="emphasis"><em>reaped</em></span>) by the parent
process. Over the years, several interfaces for this have been invented:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The parent process calls <code class="function">wait</code>,
<code class="function">waitpid</code>, <code
class="function">waitid</code>, <code
class="function">wait3</code> or <code
class="function">wait4</code>, without specifying a process ID. This
will deliver any matching process ID. This approach is typically used from within event
loops.
+ </div></li><li class="listitem"><div
class="para">
+ The parent process calls <code
class="function">waitpid</code>, <code
class="function">waitid</code>, or <code
class="function">wait4</code>, with a specific process ID. Only data
for the specific process ID is returned. This is typically used in code which spawns a
single subprocess in a synchronous manner.
+ </div></li><li class="listitem"><div
class="para">
+ The parent process installs a handler for the <code
class="literal">SIGCHLD</code> signal, using <code
class="function">sigaction</code>, and specifies to the <code
class="literal">SA_NOCLDWAIT</code> flag. This approach could be used
by event loops as well.
+ </div></li></ul></div><div class="para">
+ None of these approaches can be used to wait for child process terminated in a
completely thread-safe manner. The parent process might execute an event loop in another
thread, which could pick up the termination signal. This means that libraries typically
cannot make free use of child processes (for example, to run problematic code with reduced
privileges in a separate address space).
+ </div><div class="para">
+ At the moment, the parent process should explicitly wait for termination of the child
process using <code class="function">waitpid</code> or <code
class="function">waitpid</code>, and hope that the status is not
collected by an event loop first.
+ </div></div><div class="section"
id="idm217625586384"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217625586384">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</h2></div></div></div><div
class="para">
+ Programs can be marked in the file system to indicate to the kernel that a trust
transition should happen if the program is run. The <code
class="literal">SUID</code> file permission bit indicates that an
executable should run with the effective user ID equal to the owner of the executable
file. Similarly, with the <code class="literal">SGID</code> bit, the
effective group ID is set to the group of the executable file.
+ </div><div class="para">
+ Linux supports <span
class="emphasis"><em>fscaps</em></span>, which can grant
additional capabilities to a process in a finer-grained manner. Additional mechanisms can
be provided by loadable security modules.
+ </div><div class="para">
+ When such a trust transition has happened, the process runs in a potentially hostile
environment. Additional care is necessary not to rely on any untrusted information. These
concerns also apply to libraries which can be linked into such processes.
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-secure_getenv"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.3.1. Accessing environment
variables</h3></div></div></div><div
class="para">
+ The following steps are required so that a program does not accidentally pick up
untrusted data from environment variables.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Compile your C/C++ sources with <code
class="literal">-D_GNU_SOURCE</code>. The Autoconf macro <code
class="literal">AC_GNU_SOURCE</code> ensures this.
+ </div></li><li class="listitem"><div
class="para">
+ Check for the presence of the <code
class="function">secure_getenv</code> and <code
class="function">__secure_getenv</code> function. The Autoconf
directive <code class="literal">AC_CHECK_FUNCS([__secure_getenv
secure_getenv])</code> performs these checks.
+ </div></li><li class="listitem"><div
class="para">
+ Arrange for a proper definition of the <code
class="function">secure_getenv</code> function. See <a
class="xref"
href="#ex-Defensive_Coding-Tasks-secure_getenv">Example 9.1, “Obtaining a
definition for <code
class="function">secure_getenv</code>”</a>.
+ </div></li><li class="listitem"><div
class="para">
+ Use <code class="function">secure_getenv</code> instead of
<code class="function">getenv</code> to obtain the value of critical
environment variables. <code class="function">secure_getenv</code>
will pretend the variable has not bee set if the process environment is not trusted.
+ </div></li></ul></div><div class="para">
+ Critical environment variables are debugging flags, configuration file locations,
plug-in and log file locations, and anything else that might be used to bypass security
restrictions or cause a privileged process to behave in an unexpected way.
+ </div><div class="para">
+ Either the <code class="function">secure_getenv</code> function
or the <code class="function">__secure_getenv</code> is available
from GNU libc.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-secure_getenv"><h6>Example 9.1. Obtaining
a definition for <code
class="function">secure_getenv</code></h6><div
class="example-contents"><pre class="programlisting">
+
+<span class="perl_Others">#include
<stdlib.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Others">#ifndef HAVE_SECURE_GETENV</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># ifdef HAVE__SECURE_GETENV</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># define secure_getenv
__secure_getenv</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># else</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># error neither secure_getenv nor __secure_getenv are
available</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># endif</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#endif</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+</pre></div></div><br class="example-break"
/></div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-Daemons"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">9.4. Daemons</h2></div></div></div><div
class="para">
+ Background processes providing system services (<span
class="emphasis"><em>daemons</em></span>) need to decouple
themselves from the controlling terminal and the parent process environment:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Fork.
+ </div></li><li class="listitem"><div
class="para">
+ In the child process, call <code
class="function">setsid</code>. The parent process can simply exit
(using <code class="function">_exit</code>, to avoid running
clean-up actions twice).
+ </div></li><li class="listitem"><div
class="para">
+ In the child process, fork again. Processing continues in the child process. Again,
the parent process should just exit.
+ </div></li><li class="listitem"><div
class="para">
+ Replace the descriptors 0, 1, 2 with a descriptor for <code
class="filename">/dev/null</code>. Logging should be redirected to
<span
class="application"><strong>syslog</strong></span>.
+ </div></li></ul></div><div class="para">
+ Older instructions for creating daemon processes recommended a call to <code
class="literal">umask(0)</code>. This is risky because it often leads
to world-writable files and directories, resulting in security vulnerabilities such as
arbitrary process termination by untrusted local users, or log file truncation. If the
<span class="emphasis"><em>umask</em></span> needs
setting, a restrictive value such as <code
class="literal">027</code> or <code
class="literal">077</code> is recommended.
+ </div><div class="para">
+ Other aspects of the process environment may have to changed as well (environment
variables, signal handler disposition).
+ </div><div class="para">
+ It is increasingly common that server processes do not run as background processes,
but as regular foreground process under a supervising master process (such as <span
class="application"><strong>systemd</strong></span>).
Server processes should offer a command line option which disables forking and replacement
of the standard output and standard error streams. Such an option is also useful for
debugging.
+ </div></div><div class="section"
id="idm217626109008"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217626109008">9.5. Semantics of command line
arguments</h2></div></div></div><div
class="para">
+ After process creation and option processing, it is up to the child process to
interpret the arguments. Arguments can be file names, host names, or URLs, and many other
things. URLs can refer to the local network, some server on the Internet, or to the local
file system. Some applications even accept arbitrary code in arguments (for example,
<span class="application"><strong>python</strong></span>
with the <code class="option">-c</code> option).
+ </div><div class="para">
+ Similar concerns apply to environment variables, the contents of the current directory
and its subdirectories.
+ </div><div class="para">
+ Consequently, careful analysis is required if it is safe to pass untrusted data to
another program.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">9.6. <code class="function">fork</code>
as a primitive for parallelism</h2></div></div></div><div
class="para">
+ A call to <code class="function">fork</code> which is not
immediately followed by a call to <code
class="function">execve</code> (perhaps after rearranging and closing
file descriptors) is typically unsafe, especially from a library which does not control
the state of the entire process. Such use of <code
class="function">fork</code> should be replaced with proper child
processes or threads.
+ </div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Tasks-Serialization"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 10. Serialization and
Deserialization</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1.
Recommendations for manually written
decoders</a></span></dt><dt><span
class="section"><a href="#idm217619956912">10.2. Protocol
design</a></span></dt><dt><span
class="section"><a href="#idm217645053984">10.3. Library
support for deserialization</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML">10.4. XML
serialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1.
External references</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">10.4.
2. Entity expansion</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-XInclude">10.4.3.
XInclude processing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Validation">10.4.4.
Algorithmic complexity of XML
validation</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Expat">10.4.5. Using
Expat for XML parsing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-Qt">10.4.6. Using Qt for XML
parsing</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse">10.4.7.
Using OpenJDK for XML parsing and
validation</a></span></dt></dl></dd><dt><span
class="section"><a href="#idm217614300256">10.5. Protocol
Encoders</a></span></dt></dl></div><div
class="para">
+ Protocol decoders and file format parsers are often the most-exposed part of an
application because they are exposed with little or no user interaction and before any
authentication and security checks are made. They are also difficult to write robustly in
languages which are not memory-safe.
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-Decoders"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">10.1. Recommendations for manually written
decoders</h2></div></div></div><div class="para">
+ For C and C++, the advice in <a class="xref"
href="#sect-Defensive_Coding-C-Pointers">Section 1.1.2, “Recommendations for
pointers and array handling”</a> applies. In addition, avoid non-character pointers
directly into input buffers. Pointer misalignment causes crashes on some architectures.
+ </div><div class="para">
+ When reading variable-sized objects, do not allocate large amounts of data solely
based on the value of a size field. If possible, grow the data structure as more data is
read from the source, and stop when no data is available. This helps to avoid
denial-of-service attacks where little amounts of input data results in enormous memory
allocations during decoding. Alternatively, you can impose reasonable bounds on memory
allocations, but some protocols do not permit this.
+ </div></div><div class="section"
id="idm217619956912"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217619956912">10.2. Protocol
design</h2></div></div></div><div class="para">
+ Binary formats with explicit length fields are more difficult to parse robustly than
those where the length of dynamically-sized elements is derived from sentinel values. A
protocol which does not use length fields and can be written in printable ASCII characters
simplifies testing and debugging. However, binary protocols with length fields may be more
efficient to parse.
+ </div></div><div class="section"
id="idm217645053984"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217645053984">10.3. Library support for
deserialization</h2></div></div></div><div
class="para">
+ For some languages, generic libraries are available which allow to serialize and
deserialize user-defined objects. The deserialization part comes in one of two flavors,
depending on the library. The first kind uses type information in the data stream to
control which objects are instantiated. The second kind uses type definitions supplied by
the programmer. The first one allows arbitrary object instantiation, the second one
generally does not.
+ </div><div class="para">
+ The following serialization frameworks are in the first category, are known to be
unsafe, and must not be used for untrusted data:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Python's <span class="package">pickle</span> and <span
class="package">cPickle</span> modules
+ </div></li><li class="listitem"><div
class="para">
+ Perl's <span class="package">Storable</span> package
+ </div></li><li class="listitem"><div
class="para">
+ Java serialization (<span
class="type">java.io.ObjectInputStream</span>), even if encoded in
other formats (as with <span
class="type">java.beans.XMLDecoder</span>)
+ </div></li><li class="listitem"><div
class="para">
+ PHP serialization (<code class="function">unserialize</code>)
+ </div></li><li class="listitem"><div
class="para">
+ Most implementations of YAML
+ </div></li></ul></div><div class="para">
+ When using a type-directed deserialization format where the types of the deserialized
objects are specified by the programmer, make sure that the objects which can be
instantiated cannot perform any destructive actions in their destructors, even when the
data members have been manipulated.
+ </div><div class="para">
+ In general, JSON decoders do not suffer from this problem. But you must not use the
<code class="function">eval</code> function to parse JSON objects in
Javascript; even with the regular expression filter from RFC 4627, there are still
information leaks remaining. JSON-based formats can still turn out risky if they serve as
an encoding form for any if the serialization frameworks listed above.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">10.4. XML
serialization</h2></div></div></div><div
class="para">
+
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-External"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.1. External
references</h3></div></div></div><div
class="para">
+ XML documents can contain external references. They can occur in various places.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ In the DTD declaration in the header of an XML document:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_DataType"><!DOCTYPE </span>html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<span
class="perl_DataType">></span>
+</pre></div></li><li class="listitem"><div
class="para">
+ In a namespace declaration:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_Keyword"><xsd:schema</span><span
class="perl_Others"> xmlns:xsd=</span><span
class="perl_String">"http://www.w3.org/2001/XMLSchema&q...
class="perl_Keyword">></span>
+</pre></div></li><li class="listitem"><div
class="para">
+ In an entity defintion:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_Error"><</span>!ENTITY sys SYSTEM
"http://www.example.com/ent.xml">
+<span class="perl_Error"><</span>!ENTITY pub PUBLIC
"-//Example//Public Entity//EN"
+ "http://www.example.com/pub-ent.xml">
+</pre></div></li><li class="listitem"><div
class="para">
+ In a notation:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_Error"><</span>!NOTATION not SYSTEM
"../not.xml">
+</pre></div></li></ul></div><div
class="para">
+ Originally, these external references were intended as unique identifiers, but by
many XML implementations, they are used for locating the data for the referenced element.
This causes unwanted network traffic, and may disclose file system contents or otherwise
unreachable network resources, so this functionality should be disabled.
+ </div><div class="para">
+ Depending on the XML library, external referenced might be processed not just when
parsing XML, but also when generating it.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-Entities"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.2. Entity
expansion</h3></div></div></div><div
class="para">
+ When external DTD processing is disabled, an internal DTD subset can still contain
entity definitions. Entity declarations can reference other entities. Some XML libraries
expand entities automatically, and this processing cannot be switched off in some places
(such as attribute values or content models). Without limits on the entity nesting level,
this expansion results in data which can grow exponentially in length with size of the
input. (If there is a limit on the nesting level, the growth is still polynomial, unless
further limits are imposed.)
+ </div><div class="para">
+ Consequently, the processing internal DTD subsets should be disabled if possible, and
only trusted DTDs should be processed. If a particular XML application does not permit
such restrictions, then application-specific limits are called for.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.3. XInclude
processing</h3></div></div></div><div
class="para">
+ XInclude processing can reference file and network resources and include them into
the document, much like external entity references. When parsing untrusted XML documents,
XInclude processing should be truned off.
+ </div><div class="para">
+ XInclude processing is also fairly complex and may pull in support for the XPointer
and XPath specifications, considerably increasing the amount of code required for XML
processing.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-Validation"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.4. Algorithmic complexity of XML
validation</h3></div></div></div><div
class="para">
+ DTD-based XML validation uses regular expressions for content models. The XML
specification requires that content models are deterministic, which means that efficient
validation is possible. However, some implementations do not enforce determinism, and
require exponential (or just polynomial) amount of space or time for validating some
DTD/document combinations.
+ </div><div class="para">
+ XML schemas and RELAX NG (via the <code
class="literal">xsd:</code> prefix) directly support textual regular
expressions which are not required to be deterministic.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-Expat"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.5. Using Expat for XML
parsing</h3></div></div></div><div class="para">
+ By default, Expat does not try to resolve external IDs, so no steps are required to
block them. However, internal entity declarations are processed. Installing a callback
which stops parsing as soon as such entities are encountered disables them, see <a
class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler">Example 10.1,
“Disabling XML entity processing with Expat”</a>. Expat does not perform any
validation, so there are no problems related to that.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler"><h6>Example 10.1. Disabling
XML entity processing with Expat</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Stop the parser when an entity declaration
is encountered.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">static</span> <span
class="perl_DataType">void</span>
+EntityDeclHandler(<span class="perl_DataType">void</span>
*userData,
+ <span class="perl_DataType">const</span> XML_Char *entityName,
<span class="perl_DataType">int</span> is_parameter_entity,
+ <span class="perl_DataType">const</span> XML_Char *value,
<span class="perl_DataType">int</span> value_length,
+ <span class="perl_DataType">const</span> XML_Char *base,
<span class="perl_DataType">const</span> XML_Char *systemId,
+ <span class="perl_DataType">const</span> XML_Char *publicId,
<span class="perl_DataType">const</span> XML_Char *notationName)
+{
+ XML_StopParser((XML_Parser)userData, XML_FALSE);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ This handler must be installed when the <code
class="literal">XML_Parser</code> object is created (<a
class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create">Example 10.2,
“Creating an Expat XML parser”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create"><h6>Example 10.2. Creating
an Expat XML parser</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+XML_Parser parser = XML_ParserCreate(<span
class="perl_String">"UTF-8"</span>);
+<span class="perl_Keyword">if</span> (parser == NULL) {
+ fprintf(stderr, <span class="perl_String">"XML_ParserCreate
failed</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ close(fd);
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// EntityDeclHandler needs a reference to the
parser to stop</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// parsing.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>XML_SetUserData(parser, parser);
+<span class="perl_Comment">// Disable entity processing, to inhibit
entity expansion.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>XML_SetEntityDeclHandler(parser,
EntityDeclHandler);
+</pre></div></div><br class="example-break" /><div
class="para">
+ It is also possible to reject internal DTD subsets altogeher, using a suitable
<code class="literal">XML_StartDoctypeDeclHandler</code> handler
installed with <code
class="function">XML_SetDoctypeDeclHandler</code>.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-Qt"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.6. Using Qt for XML
parsing</h3></div></div></div><div class="para">
+ The XML component of Qt, QtXml, does not resolve external IDs by default, so it is
not requred to prevent such resolution. Internal entities are processed, though. To change
that, a custom <code class="literal">QXmlDeclHandler</code> and
<code class="literal">QXmlSimpleReader</code> subclasses are needed.
It is not possible to use the <code
class="function">QDomDocument::setContent(const QByteArray
&)</code> convenience methods.
+ </div><div class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler">Example 10.3,
“A QtXml entity handler which blocks entity processing”</a> shows an entity handler
which always returns errors, causing parsing to stop when encountering entity
declarations.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler"><h6>Example 10.3. A
QtXml entity handler which blocks entity processing</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+class NoEntityHandler : public QXmlDeclHandler {
+public:
+ bool attributeDecl(<span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&,
+ <span class="perl_DataType">const</span> QString&,
<span class="perl_DataType">const</span> QString&);
+ bool internalEntityDecl(<span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&);
+ bool externalEntityDecl(<span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&,
+ <span class="perl_DataType">const</span> QString&);
+ QString errorString() <span class="perl_DataType">const</span>;
+};
+
+ bool
+NoEntityHandler::attributeDecl
+ (<span class="perl_DataType">const</span> QString&,
<span class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&,
+ <span class="perl_DataType">const</span> QString&)
+{
+ <span class="perl_Keyword">return</span> false;
+}
+
+bool
+NoEntityHandler::internalEntityDecl(<span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&)
+{
+ <span class="perl_Keyword">return</span> false;
+}
+
+bool
+NoEntityHandler::externalEntityDecl(<span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span>
+ QString&)
+{
+ <span class="perl_Keyword">return</span> false;
+}
+
+QString
+NoEntityHandler::errorString() <span
class="perl_DataType">const</span>
+{
+ <span class="perl_Keyword">return</span> <span
class="perl_String">"XML declaration not permitted"</span>;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ This handler is used in the custom <code
class="literal">QXmlReader</code> subclass in <a
class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader">Example 10.4,
“A QtXml XML reader which blocks entity processing”</a>. Some parts of QtXml will
call the <code class="function">setDeclHandler(QXmlDeclHandler
*)</code> method. Consequently, we prevent overriding our custom handler by
providing a definition of this method which does nothing. In the constructor, we activate
namespace processing; this part may need adjusting.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader"><h6>Example 10.4. A
QtXml XML reader which blocks entity processing</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+class NoEntityReader : public QXmlSimpleReader {
+ NoEntityHandler handler;
+public:
+ NoEntityReader();
+ <span class="perl_DataType">void</span>
setDeclHandler(QXmlDeclHandler *);
+};
+
+ NoEntityReader::NoEntityReader()
+{
+ QXmlSimpleReader::setDeclHandler(&handler);
+ setFeature(<span
class="perl_String">"http://xml.org/sax/features/namesp...;,
true);
+ setFeature(<span
class="perl_String">"http://xml.org/sax/features/namesp...;,
false);
+ }
+
+<span class="perl_DataType">void</span>
+NoEntityReader::setDeclHandler(QXmlDeclHandler *)
+{
+ <span class="perl_Comment">// Ignore the handler which was passed
in.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Our <code class="literal">NoEntityReader</code> class can be
used with one of the overloaded <code
class="function">QDomDocument::setContent</code> methods. <a
class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument">Example 10.5,
“Parsing an XML document with QDomDocument, without entity expansion”</a> shows how
the <code class="literal">buffer</code> object (of type <code
class="literal">QByteArray</code>) is wrapped as a <code
class="literal">QXmlInputSource</code>. After calling the <code
class="function">setContent</code> method, you should check the return
value and report any error.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument"><h6>Example 10.5. Parsing
an XML document with QDomDocument, without entity expansion</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+NoEntityReader reader;
+QBuffer buffer(&data);
+buffer.open(QIODevice::ReadOnly);
+QXmlInputSource source(&buffer);
+QDomDocument doc;
+QString errorMsg;
+<span class="perl_DataType">int</span> errorLine;
+<span class="perl_DataType">int</span> errorColumn;
+bool okay = doc.setContent
+ (&source, &reader, &errorMsg, &errorLine,
&errorColumn);
+</pre></div></div><br class="example-break"
/></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.7. Using OpenJDK for XML parsing and
validation</h3></div></div></div><div
class="para">
+ OpenJDK contains facilities for DOM-based, SAX-based, and StAX-based document
parsing. Documents can be validated against DTDs or XML schemas.
+ </div><div class="para">
+ The approach taken to deal with entity expansion differs from the general
recommendation in <a class="xref"
href="#sect-Defensive_Coding-Tasks-Serialization-XML-Entities">Section 10.4.2,
“Entity expansion”</a>. We enable the the feature flag <code
class="literal">javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING</code>,
which enforces heuristic restrictions on the number of entity expansions. Note that this
flag alone does not prevent resolution of external references (system IDs or public IDs),
so it is slightly misnamed.
+ </div><div class="para">
+ In the following sections, we use helper classes to prevent external ID resolution.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver"><h6>Example 10.6. Helper
class to prevent DTD external entity resolution in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">class</span> NoEntityResolver <span
class="perl_Keyword">implements</span> EntityResolver {
+ @Override
+ <span class="perl_Keyword">public</span> InputSource <span
class="perl_Function">resolveEntity</span>(String publicId, String
systemId)
+ <span class="perl_Keyword">throws</span> SAXException,
IOException {
+ <span class="perl_Comment">// Throwing an exception stops
validation.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> IOException(String<span
class="perl_Function">.format(</span><span
class="perl_Function"></span>
+<span class="perl_Function"></span> <span
class="perl_String">"attempt to resolve </span><span
class="perl_Char">\"</span><span
class="perl_String">%s</span><span
class="perl_Char">\"</span><span
class="perl_String"> </span><span
class="perl_Char">\"</span><span
class="perl_String">%s</span><span
class="perl_Char">\"</span><span
class="perl_String">"</span>, publicId, systemId));
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver"><h6>Example 10.7. Helper
class to prevent schema resolution in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">class</span> NoResourceResolver <span
class="perl_Keyword">implements</span> LSResourceResolver {
+ @Override
+ <span class="perl_Keyword">public</span> LSInput <span
class="perl_Function">resolveResource</span>(String type, String
namespaceURI,
+ String publicId, String systemId, String baseURI) {
+ <span class="perl_Comment">// Throwing an exception stops
validation.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> RuntimeException(String<span
class="perl_Function">.format(</span><span
class="perl_Function"></span>
+<span class="perl_Function"></span> <span
class="perl_String">"resolution attempt: type=%s namespace=%s
"</span> +
+ <span class="perl_String">"publicId=%s systemId=%s
baseURI=%s"</span>,
+ type, namespaceURI, publicId, systemId, baseURI));
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports">Example 10.8,
“Java imports for OpenJDK XML parsing”</a> shows the imports used by the examples.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports"><h6>Example 10.8. Java
imports for OpenJDK XML parsing</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">import</span> javax.xml.XMLConstants;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.DocumentBuilder;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.DocumentBuilderFactory;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.ParserConfigurationException;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.SAXParser;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.SAXParserFactory;
+<span class="perl_Keyword">import</span>
javax.xml.transform.dom.DOMSource;
+<span class="perl_Keyword">import</span>
javax.xml.transform.sax.SAXSource;
+<span class="perl_Keyword">import</span>
javax.xml.validation.Schema;
+<span class="perl_Keyword">import</span>
javax.xml.validation.SchemaFactory;
+<span class="perl_Keyword">import</span>
javax.xml.validation.Validator;
+
+<span class="perl_Keyword">import</span> org.w3c.dom.Document;
+<span class="perl_Keyword">import</span> org.w3c.dom.ls.LSInput;
+<span class="perl_Keyword">import</span>
org.w3c.dom.ls.LSResourceResolver;
+<span class="perl_Keyword">import</span>
org.xml.sax.EntityResolver;
+<span class="perl_Keyword">import</span> org.xml.sax.ErrorHandler;
+<span class="perl_Keyword">import</span> org.xml.sax.InputSource;
+<span class="perl_Keyword">import</span> org.xml.sax.SAXException;
+<span class="perl_Keyword">import</span>
org.xml.sax.SAXParseException;
+<span class="perl_Keyword">import org.xml.sax.XMLReader;</span>
+</pre></div></div><br class="example-break" /><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">10.4.7.1. DOM-based XML parsing and DTD validation in
OpenJDK</h4></div></div></div><div class="para">
+ This approach produces a <code
class="literal">org.w3c.dom.Document</code> object from an input
stream. <a class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9,
“DOM-based XML parsing in OpenJDK”</a> use the data from the <code
class="literal">java.io.InputStream</code> instance in the <code
class="literal">inputStream</code> variable.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><h6>Example 10.9. DOM-based
XML parsing in OpenJDK</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+DocumentBuilderFactory factory = DocumentBuilderFactory.<span
class="perl_Function">newInstance</span>();
+<span class="perl_Comment">// Impose restrictions on the complexity of
the DTD.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setFeature</span>(XMLConstants.<span
class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// Turn on validation.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// This step can be omitted if validation is not
desired.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setValidating</span>(<span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// Parse the document.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>DocumentBuilder builder =
factory.<span class="perl_Function">newDocumentBuilder</span>();
+builder.<span
class="perl_Function">setEntityResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoEntityResolver</span>());
+builder.<span class="perl_Function">setErrorHandler</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">Errors</span>());
+Document document = builder.<span
class="perl_Function">parse</span>(inputStream);
+</pre></div></div><br class="example-break" /><div
class="para">
+ External entity references are prohibited using the <code
class="literal">NoEntityResolver</code> class in <a
class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver">Example 10.6,
“Helper class to prevent DTD external entity resolution in OpenJDK”</a>. Because
external DTD references are prohibited, DTD validation (if enabled) will only happen
against the internal DTD subset embedded in the XML document.
+ </div><div class="para">
+ To validate the document against an external DTD, use a <code
class="literal">javax.xml.transform.Transformer</code> class to add the
DTD reference to the document, and an entity resolver which whitelists this external
reference.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">10.4.7.2. XML Schema validation in
OpenJDK</h4></div></div></div><div class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX">Example 10.10,
“SAX-based validation against an XML schema in OpenJDK”</a> shows how to validate a
document against an XML Schema, using a SAX-based approach. The XML data is read from an
<code class="literal">java.io.InputStream</code> in the <code
class="literal">inputStream</code> variable.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX"><h6>Example 10.10. SAX-based
validation against an XML schema in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SchemaFactory factory = SchemaFactory.<span
class="perl_Function">newInstance</span>(
+ XMLConstants.<span
class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
+
+<span class="perl_Comment">// This enables restrictions on the schema and
document</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// complexity.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setFeature</span>(XMLConstants.<span
class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// This prevents resource resolution by the
schema itself.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// If the schema is trusted and references additional
files,</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// this line must be omitted, otherwise loading these
files</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// will fail.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+
+Schema schema = factory.<span
class="perl_Function">newSchema</span>(schemaFile);
+Validator validator = schema.<span
class="perl_Function">newValidator</span>();
+
+<span class="perl_Comment">// This prevents external resource
resolution.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>validator.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+
+validator.<span class="perl_Function">validate</span>(<span
class="perl_Keyword">new</span> SAXSource(<span
class="perl_Keyword">new</span> InputSource(inputStream)));
+</pre></div></div><br class="example-break" /><div
class="para">
+ The <code class="literal">NoResourceResolver</code> class is
defined in <a class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver">Example 10.7,
“Helper class to prevent schema resolution in OpenJDK”</a>.
+ </div><div class="para">
+ If you need to validate a document against an XML schema, use the code in <a
class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9,
“DOM-based XML parsing in OpenJDK”</a> to create the document, but do not enable
validation at this point. Then use <a class="xref"
href="#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM">Example 10.11,
“Validation of a DOM document against an XML schema in OpenJDK”</a> to perform the
schema-based validation on the <code
class="literal">org.w3c.dom.Document</code> instance <code
class="literal">document</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM"><h6>Example 10.11. Validation
of a DOM document against an XML schema in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SchemaFactory factory = SchemaFactory.<span
class="perl_Function">newInstance</span>(
+ XMLConstants.<span
class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
+
+<span class="perl_Comment">// This enables restrictions on schema
complexity.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setFeature</span>(XMLConstants.<span
class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// The following line prevents resource
resolution</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// by the schema itself.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+
+Schema schema = factory.<span
class="perl_Function">newSchema</span>(schemaFile);
+
+Validator validator = schema.<span
class="perl_Function">newValidator</span>();
+
+<span class="perl_Comment">// This prevents external resource
resolution.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>validator.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+validator.<span class="perl_Function">validate</span>(<span
class="perl_Keyword">new</span> DOMSource(document));
+</pre></div></div><br class="example-break"
/></div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">10.4.7.3. Other XML parsers in
OpenJDK</h4></div></div></div><div class="para">
+ OpenJDK contains additional XML parsing and processing facilities. Some of them are
insecure.
+ </div><div class="para">
+ The class <span class="type">java.beans.XMLDecoder</span> acts
as a bridge between the Java object serialization format and XML. It is close to
impossible to securely deserialize Java objects in this format from untrusted inputs, so
its use is not recommended, as with the Java object serialization format itself. See <a
class="xref"
href="#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3,
“Library support for deserialization”</a>.
+ </div></div></div></div><div class="section"
id="idm217614300256"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217614300256">10.5. Protocol
Encoders</h2></div></div></div><div class="para">
+ For protocol encoders, you should write bytes to a buffer which grows as needed, using
an exponential sizing policy. Explicit lengths can be patched in later, once they are
known. Allocating the required number of bytes upfront typically requires separate code to
compute the final size, which must be kept in sync with the actual encoding step, or
vulnerabilities may result. In multi-threaded code, parts of the object being deserialized
might change, so that the computed size is out of date.
+ </div><div class="para">
+ You should avoid copying data directly from a received packet during encoding,
disregarding the format. Propagating malformed data could enable attacks on other
recipients of that data.
+ </div><div class="para">
+ When using C or C++ and copying whole data structures directly into the output, make
sure that you do not leak information in padding bytes between fields or at the end of the
<code class="literal">struct</code>.
+ </div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Tasks-Cryptography"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 11. Cryptography</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a href="#idm217608525920">11.1.
Primitives</a></span></dt><dt><span
class="section"><a href="#idm217628358944">11.2.
Randomness</a></span></dt></dl></div><div
class="section" id="idm217608525920"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217608525920">11.1. Primitives</h2></div></div></div><div
class="para">
+ Choosing from the following cryptographic primitives is recommended:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ RSA with 2048 bit keys and OAEP
+ </div></li><li class="listitem"><div
class="para">
+ AES-128 in CBC mode
+ </div></li><li class="listitem"><div
class="para">
+ SHA-256
+ </div></li><li class="listitem"><div
class="para">
+ HMAC-SHA-256
+ </div></li><li class="listitem"><div
class="para">
+ HMAC-SHA-1
+ </div></li></ul></div><div class="para">
+ Other cryptographic algorithms can be used if they are required for interoperability
with existing software:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ RSA with key sizes larger than 1024 and legacy padding
+ </div></li><li class="listitem"><div
class="para">
+ AES-192
+ </div></li><li class="listitem"><div
class="para">
+ AES-256
+ </div></li><li class="listitem"><div
class="para">
+ 3DES (triple DES, with two or three 56 bit keys)
+ </div></li><li class="listitem"><div
class="para">
+ RC4 (but very, very strongly discouraged)
+ </div></li><li class="listitem"><div
class="para">
+ SHA-1
+ </div></li><li class="listitem"><div
class="para">
+ HMAC-MD5
+ </div></li></ul></div><div
class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ These primitives are difficult to use in a secure way. Custom implementation of
security protocols should be avoided. For protecting confidentiality and integrity of
network transmissions, TLS should be used (<a class="xref"
href="#chap-Defensive_Coding-TLS">Chapter 13, <em>Transport Layer
Security</em></a>).
+ </div></div></div></div><div class="section"
id="idm217628358944"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217628358944">11.2. Randomness</h2></div></div></div><div
class="para">
+ The following facilities can be used to generate unpredictable and non-repeating
values. When these functions are used without special safeguards, each individual random
value should be at least 12 bytes long.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">PK11_GenerateRandom</code> in the NSS
library (usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">RAND_bytes</code> in the OpenSSL
library (usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">gnutls_rnd</code> in GNUTLS, with
<code class="literal">GNUTLS_RND_RANDOM</code> as the first argument
(usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <span class="type">java.security.SecureRandom</span> in Java
(usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">os.urandom</code> in Python
+ </div></li><li class="listitem"><div
class="para">
+ Reading from the <code class="filename">/dev/urandom</code>
character device
+ </div></li></ul></div><div class="para">
+ All these functions should be non-blocking, and they should not wait until physical
randomness becomes available. (Some cryptography providers for Java can cause <span
class="type">java.security.SecureRandom</span> to block, however.)
Those functions which do not obtain all bits directly from <code
class="filename">/dev/urandom</code> are suitable for high data rates
because they do not deplete the system-wide entropy pool.
+ </div><div class="important"><div
class="admonition_header"><h2>Difficult to use
API</h2></div><div class="admonition"><div
class="para">
+ Both <code class="function">RAND_bytes</code> and <code
class="function">PK11_GenerateRandom</code> have three-state return
values (with conflicting meanings). Careful error checking is required. Please review the
documentation when using these functions.
+ </div></div></div><div class="para">
+ Other sources of randomness should be considered predictable.
+ </div><div class="para">
+ Generating randomness for cryptographic keys in long-term use may need different steps
and is best left to cryptographic libraries.
+ </div></div></div></div><div class="part"
id="idm217604414304"><div
class="titlepage"><div><div text-align="center"><h1
class="title">Part III. Implementing Security
Features</h1></div></div></div><div
class="toc"><p><strong>Table of
Contents</strong></p><dl class="toc"><dt><span
class="chapter"><a
href="#chap-Defensive_Coding-Authentication">12. Authentication and
Authorization</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating
servers</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Host_based">12.2. Host-based
authentication</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-UNIX_Domain">12.3. UNIX domain
socket authentication</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Netlink">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</a></span></dt></dl></dd><dt>
<span class="chapter"><a
href="#chap-Defensive_Coding-TLS">13. Transport Layer
Security</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common
Pitfalls</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS
Pitfalls</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client">13.2. TLS
Clients</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm217604048736">13.2.1.
Implementation TLS Clients With
OpenSSL</a></span></dt><dt><span
class="section"><a href="#sect-Defensive_Coding-TLS-C
lient-GNUTLS">13.2.2. Implementation TLS Clients With
GNUTLS</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-OpenJDK">13.2.3. Implementing TLS
Clients With OpenJDK</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-NSS">13.2.4. Implementing TLS Clients
With NSS</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-Python">13.2.5. Implementing TLS
Clients With
Python</a></span></dt></dl></dd></dl></dd></dl></div><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Authentication" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 12. Authentication and
Authorization</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Server">12.1. Authenticating
servers</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Host_based">12.2. Host-based au
thentication</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-UNIX_Domain">12.3. UNIX domain
socket authentication</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-Authentication-Netlink">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</a></span></dt></dl></div><div
class="section"
id="sect-Defensive_Coding-Authentication-Server"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.1. Authenticating
servers</h2></div></div></div><div class="para">
+ When connecting to a server, a client has to make sure that it is actually talking to
the server it expects. There are two different aspects, securing the network path, and
making sure that the expected user runs the process on the target host. There are several
ways to ensure that:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The server uses a TLS certificate which is valid according to the web browser public
key infrastructure, and the client verifies the certificate and the host name.
+ </div></li><li class="listitem"><div
class="para">
+ The server uses a TLS certificate which is expectedby the client (perhaps it is
stored in a configuration file read by the client). In this case, no host name checking is
required.
+ </div></li><li class="listitem"><div
class="para">
+ On Linux, UNIX domain sockets (of the <code
class="literal">PF_UNIX</code> protocol family, sometimes called
<code class="literal">PF_LOCAL</code>) are restricted by file system
permissions. If the server socket path is not world-writable, the server identity cannot
be spoofed by local users.
+ </div></li><li class="listitem"><div
class="para">
+ Port numbers less than 1024 (<span
class="emphasis"><em>trusted ports</em></span>) can only be
used by <code class="literal">root</code>, so if a UDP or TCP server
is running on the local host and it uses a trusted port, its identity is assured. (Not all
operating systems enforce the trusted ports concept, and the network might not be trusted,
so it is only useful on the local system.)
+ </div></li></ul></div><div class="para">
+ TLS (<a class="xref"
href="#chap-Defensive_Coding-TLS">Chapter 13, <em>Transport Layer
Security</em></a>) is the recommended way for securing connections over
untrusted networks.
+ </div><div class="para">
+ If the server port number is 1024 is higher, a local user can impersonate the process
by binding to this socket, perhaps after crashing the real server by exploiting a
denial-of-service vulnerability.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Authentication-Host_based"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.2. Host-based
authentication</h2></div></div></div><div
class="para">
+ Host-based authentication uses access control lists (ACLs) to accept or deny requests
from clients. Thsis authentication method comes in two flavors: IP-based (or, more
generally, address-based) and name-based (with the name coming from DNS or <code
class="filename">/etc/hosts</code>). IP-based ACLs often use prefix
notation to extend access to entire subnets. Name-based ACLs sometimes use wildcards for
adding groups of hosts (from entire DNS subtrees). (In the SSH context, host-based
authentication means something completely different and is not covered in this section.)
+ </div><div class="para">
+ Host-based authentication trust the network and may not offer sufficient granularity,
so it has to be considered a weak form of authentication. On the other hand, IP-based
authentication can be made extremely robust and can be applied very early in input
processing, so it offers an opportunity for significantly reducing the number of potential
attackers for many services.
+ </div><div class="para">
+ The names returned by <code
class="function">gethostbyaddr</code> and <code
class="function">getnameinfo</code> functions cannot be trusted. (DNS
PTR records can be set to arbitrary values, not just names belong to the address owner.)
If these names are used for ACL matching, a forward lookup using <code
class="function">gethostbyaddr</code> or <code
class="function">getaddrinfo</code> has to be performed. The name is
only valid if the original address is found among the results of the forward lookup
(<span class="emphasis"><em>double-reverse
lookup</em></span>).
+ </div><div class="para">
+ An empty ACL should deny all access (deny-by-default). If empty ACLs permits all
access, configuring any access list must switch to deny-by-default for all unconfigured
protocols, in both name-based and address-based variants.
+ </div><div class="para">
+ Similarly, if an address or name is not matched by the list, it should be denied.
However, many implementations behave differently, so the actual behavior must be
documented properly.
+ </div><div class="para">
+ IPv6 addresses can embed IPv4 addresses. There is no universally correct way to deal
with this ambiguity. The behavior of the ACL implementation should be documented.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Authentication-UNIX_Domain"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.3. UNIX domain socket
authentication</h2></div></div></div><div
class="para">
+ UNIX domain sockets (with address family <code
class="literal">AF_UNIX</code> or <code
class="literal">AF_LOCAL</code>) are restricted to the local host and
offer a special authentication mechanism: credentials passing.
+ </div><div class="para">
+ Nowadays, most systems support the <code
class="literal">SO_PEERCRED</code> (Linux) or <code
class="literal">LOCAL_PEERCRED</code> (FreeBSD) socket options, or the
<code class="function">getpeereid</code> (other BSDs, MacOS X).
These interfaces provide direct access to the (effective) user ID on the other end of a
domain socket connect, without cooperation from the other end.
+ </div><div class="para">
+ Historically, credentials passing was implemented using ancillary data in the <code
class="function">sendmsg</code> and <code
class="function">recvmsg</code> functions. On some systems, only
credentials data that the peer has explicitly sent can be received, and the kernel checks
the data for correctness on the sending side. This means that both peers need to deal with
ancillary data. Compared to that, the modern interfaces are easier to use. Both sets of
interfaces vary considerably among UNIX-like systems, unfortunately.
+ </div><div class="para">
+ If you want to authenticate based on supplementary groups, you should obtain the user
ID using one of these methods, and look up the list of supplementary groups using <code
class="function">getpwuid</code> (or <code
class="function">getpwuid_r</code>) and <code
class="function">getgrouplist</code>. Using the PID and information
from <code class="filename">/proc/PID/status</code> is prone to race
conditions and insecure.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Authentication-Netlink"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</h2></div></div></div><div class="para">
+ Netlink messages are used as a high-performance data transfer mechanism between the
kernel and the userspace. Traditionally, they are used to exchange information related to
the network statck, such as routing table entries.
+ </div><div class="para">
+ When processing Netlink messages from the kernel, it is important to check that these
messages actually originate from the kernel, by checking that the port ID (or PID) field
<code class="literal">nl_pid</code> in the <code
class="literal">sockaddr_nl</code> structure is <code
class="literal">0</code>. (This structure can be obtained using
<code class="function">recvfrom</code> or <code
class="function">recvmsg</code>, it is different from the <code
class="literal">nlmsghdr</code> structure.) The kernel does not prevent
other processes from sending unicast Netlink messages, but the <code
class="literal">nl_pid</code> field in the sender's socket address
will be non-zero in such cases.
+ </div><div class="para">
+ Applications should not use <code
class="literal">AF_NETLINK</code> sockets as an IPC mechanism among
processes, but prefer UNIX domain sockets for this tasks.
+ </div></div></div><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-TLS"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 13. Transport Layer
Security</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls">13.1. Common
Pitfalls</a></span></dt><dd><dl><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-OpenSSL">13.1.1. OpenSSL
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3. OpenJDK
Pitfalls</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4. NSS
Pitfalls</a></span></dt></dl></dd><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client">13.2. TLS
Clients</a></span></dt><dd><dl><dt><span
class="section"><a href="#idm2176
04048736">13.2.1. Implementation TLS Clients With
OpenSSL</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-GNUTLS">13.2.2. Implementation TLS
Clients With GNUTLS</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-OpenJDK">13.2.3. Implementing TLS
Clients With OpenJDK</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-NSS">13.2.4. Implementing TLS Clients
With NSS</a></span></dt><dt><span
class="section"><a
href="#sect-Defensive_Coding-TLS-Client-Python">13.2.5. Implementing TLS
Clients With
Python</a></span></dt></dl></dd></dl></div><div
class="para">
+ Transport Layer Security (TLS, formerly Secure Sockets Layer/SSL) is the recommended
way to to protect integrity and confidentiality while data is transferred over an
untrusted network connection, and to identify the endpoint.
+ </div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">13.1. Common
Pitfalls</h2></div></div></div><div class="para">
+ TLS implementations are difficult to use, and most of them lack a clean API design.
The following sections contain implementation-specific advice, and some generic pitfalls
are mentioned below.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Most TLS implementations have questionable default TLS cipher suites. Most of them
enable anonymous Diffie-Hellman key exchange (but we generally want servers to
authenticate themselves). Many do not disable ciphers which are subject to brute-force
attacks because of restricted key lengths. Some even disable all variants of AES in the
default configuration.
+ </div><div class="para">
+ When overriding the cipher suite defaults, it is recommended to disable all cipher
suites which are not present on a whitelist, instead of simply enabling a list of cipher
suites. This way, if an algorithm is disabled by default in the TLS implementation in a
future security update, the application will not re-enable it.
+ </div></li><li class="listitem"><div
class="para">
+ The name which is used in certificate validation must match the name provided by the
user or configuration file. No host name canonicalization or IP address lookup must be
performed.
+ </div></li><li class="listitem"><div
class="para">
+ The TLS handshake has very poor performance if the TCP Nagle algorithm is active.
You should switch on the <code class="literal">TCP_NODELAY</code>
socket option (at least for the duration of the handshake), or use the Linux-specific
<code class="literal">TCP_CORK</code> option.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Nagle"><h6>Example 13.1. Deactivating the
TCP Nagle algorithm</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">const</span> <span
class="perl_DataType">int</span> val = <span
class="perl_Float">1</span>;
+<span class="perl_DataType">int</span> ret = setsockopt(sockfd,
IPPROTO_TCP, TCP_NODELAY, &val, <span
class="perl_Keyword">sizeof</span>(val));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ perror(<span
class="perl_String">"setsockopt(TCP_NODELAY)"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break"
/></li><li class="listitem"><div class="para">
+ Implementing proper session resumption decreases handshake overhead considerably.
This is important if the upper-layer protocol uses short-lived connections (like most
application of HTTPS).
+ </div></li><li class="listitem"><div
class="para">
+ Both client and server should work towards an orderly connection shutdown, that is
send <code class="literal">close_notify</code> alerts and respond to
them. This is especially important if the upper-layer protocol does not provide means to
detect connection truncation (like some uses of HTTP).
+ </div></li><li class="listitem"><div
class="para">
+ When implementing a server using event-driven programming, it is important to handle
the TLS handshake properly because it includes multiple network round-trips which can
block when an ordinary TCP <code class="function">accept</code>
would not. Otherwise, a client which fails to complete the TLS handshake for some reason
will prevent the server from handling input from other clients.
+ </div></li><li class="listitem"><div
class="para">
+ Unlike regular file descriptors, TLS connections cannot be passed between processes.
Some TLS implementations add additional restrictions, and TLS connections generally cannot
be used across <code class="function">fork</code> function calls
(see <a class="xref"
href="#sect-Defensive_Coding-Tasks-Processes-Fork-Parallel">Section 9.6,
“<code class="function">fork</code> as a primitive for
parallelism”</a>).
+ </div></li></ul></div><div class="section"
id="sect-Defensive_Coding-TLS-OpenSSL"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.1. OpenSSL
Pitfalls</h3></div></div></div><div class="para">
+ Some OpenSSL function use <span class="emphasis"><em>tri-state
return values</em></span>. Correct error checking is extremely important.
Several functions return <code class="literal">int</code> values
with the following meaning:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The value <code class="literal">1</code> indicates success
(for example, a successful signature verification).
+ </div></li><li class="listitem"><div
class="para">
+ The value <code class="literal">0</code> indicates semantic
failure (for example, a signature verification which was unsuccessful because the signing
certificate was self-signed).
+ </div></li><li class="listitem"><div
class="para">
+ The value <code class="literal">-1</code> indicates a
low-level error in the system, such as failure to allocate memory using <code
class="function">malloc</code>.
+ </div></li></ul></div><div class="para">
+ Treating such tri-state return values as booleans can lead to security
vulnerabilities. Note that some OpenSSL functions return boolean results or yet another
set of status indicators. Each function needs to be checked individually.
+ </div><div class="para">
+ Recovering precise error information is difficult. <a class="xref"
href="#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2, “Obtaining
OpenSSL error codes”</a> shows how to obtain a more precise error code after a
function call on an <code class="literal">SSL</code> object has
failed. However, there are still cases where no detailed error information is available
(e.g., if <code class="function">SSL_shutdown</code> fails due to a
connection teardown by the other end).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Errors"><h6>Example 13.2. Obtaining
OpenSSL error codes</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span
class="perl_DataType">void</span> __attribute__((noreturn))
+ssl_print_error_and_exit(SSL *ssl, <span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *op, <span
class="perl_DataType">int</span> ret)
+{
+ <span class="perl_DataType">int</span> subcode =
SSL_get_error(ssl, ret);
+ <span class="perl_Keyword">switch</span> (subcode) {
+ <span class="perl_Keyword">case</span> SSL_ERROR_NONE:
+ fprintf(stderr, <span class="perl_String">"error: %s: no error
to report</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, op);
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_READ:
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_WRITE:
+ <span class="perl_Keyword">case</span>
SSL_ERROR_WANT_X509_LOOKUP:
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_CONNECT:
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_ACCEPT:
+ fprintf(stderr, <span class="perl_String">"error: %s: invalid
blocking state %d</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, op, subcode);
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> SSL_ERROR_SSL:
+ fprintf(stderr, <span class="perl_String">"error: %s: TLS layer
problem</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, op);
+ <span class="perl_Keyword">case</span> SSL_ERROR_SYSCALL:
+ fprintf(stderr, <span class="perl_String">"error: %s: system
call failed: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, op, strerror(errno));
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> SSL_ERROR_ZERO_RETURN:
+ fprintf(stderr, <span class="perl_String">"error: %s: zero
return</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, op);
+ }
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ The <code class="function">OPENSSL_config</code> function is
documented to never fail. In reality, it can terminate the entire process if there is a
failure accessing the configuration file. An error message is written to standard error,
but which might not be visible if the function is called from a daemon process.
+ </div><div class="para">
+ OpenSSL contains two separate ASN.1 DER decoders. One set of decoders operate on BIO
handles (the input/output stream abstraction provided by OpenSSL); their decoder function
names start with <code class="literal">d2i_</code> and end in
<code class="literal">_fp</code> or <code
class="literal">_bio</code> (e.g., <code
class="function">d2i_X509_fp</code> or <code
class="function">d2i_X509_bio</code>). These decoders must not be used
for parsing data from untrusted sources; instead, the variants without the <code
class="literal">_fp</code> and <code
class="literal">_bio</code> (e.g., <code
class="function">d2i_X509</code>) shall be used. The BIO variants have
received considerably less testing and are not very robust.
+ </div><div class="para">
+ For the same reason, the OpenSSL command line tools (such as <code
class="command">openssl x509</code>) are generally generally less
robust than the actual library code. They use the BIO functions internally, and not the
more robust variants.
+ </div><div class="para">
+ The command line tools do not always indicate failure in the exit status of the
<span
class="application"><strong>openssl</strong></span>
process. For instance, a verification failure in <code
class="command">openssl verify</code> result in an exit status of
zero.
+ </div><div class="para">
+ The OpenSSL server and client applications (<code
class="command">openssl s_client</code> and <code
class="command">openssl s_server</code>) are debugging tools and should
<span class="emphasis"><em>never</em></span> be used as
generic clients. For instance, the <span
class="application"><strong>s_client</strong></span> tool
reacts in a surprisign way to lines starting with <code
class="literal">R</code> and <code
class="literal">Q</code>.
+ </div><div class="para">
+ OpenSSL allows application code to access private key material over documented
interfaces. This can significantly increase the part of the code base which has to undergo
security certification.
+ </div></div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls-GNUTLS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.2. GNUTLS
Pitfalls</h3></div></div></div><div class="para">
+ <code class="filename">libgnutls.so.26</code> links to <code
class="filename">libpthread.so.0</code>. Loading the threading library
too late causes problems, so the main program should be linked with <code
class="literal">-lpthread</code> as well. As a result, it can be
difficult to use GNUTLS in a plugin which is loaded with the <code
class="function">dlopen</code> function. Another side effect is that
applications which merely link against GNUTLS (even without actually using it) may incur a
substantial overhead because other libraries automatically switch to thread-safe
algorithms.
+ </div><div class="para">
+ The <code class="function">gnutls_global_init</code> function
must be called before using any functionality provided by the library. This function is
not thread-safe, so external locking is required, but it is not clear which lock should be
used. Omitting the synchronization does not just lead to a memory leak, as it is suggested
in the GNUTLS documentation, but to undefined behavior because there is no barrier that
would enforce memory ordering.
+ </div><div class="para">
+ The <code class="function">gnutls_global_deinit</code> function
does not actually deallocate all resources allocated by <code
class="function">gnutls_global_init</code>. It is currently not
thread-safe. Therefore, it is best to avoid calling it altogether.
+ </div><div class="para">
+ The X.509 implementation in GNUTLS is rather lenient. For example, it is possible to
create and process X.509 version 1 certificates which carry extensions. These certificates
are (correctly) rejected by other implementations.
+ </div></div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls-OpenJDK"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.3. OpenJDK
Pitfalls</h3></div></div></div><div class="para">
+ The Java cryptographic framework is highly modular. As a result, when you request an
object implementing some cryptographic functionality, you cannot be completely sure that
you end up with the well-tested, reviewed implementation in OpenJDK.
+ </div><div class="para">
+ OpenJDK (in the source code as published by Oracle) and other implementations of the
Java platform require that the system administrator has installed so-called <span
class="emphasis"><em>unlimited strength jurisdiction policy
files</em></span>. Without this step, it is not possible to use the secure
algorithms which offer sufficient cryptographic strength. Most downstream redistributors
of OpenJDK remove this requirement.
+ </div><div class="para">
+ Some versions of OpenJDK use <code
class="filename">/dev/random</code> as the randomness source for nonces
and other random data which is needed for TLS operation, but does not actually require
physical randomness. As a result, TLS applications can block, waiting for more bits to
become available in <code class="filename">/dev/random</code>.
+ </div></div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls-NSS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.4. NSS
Pitfalls</h3></div></div></div><div class="para">
+ NSS was not designed to be used by other libraries which can be linked into
applications without modifying them. There is a lot of global state. There does not seem
to be a way to perform required NSS initialization without race conditions.
+ </div><div class="para">
+ If the NSPR descriptor is in an unexpected state, the <code
class="function">SSL_ForceHandshake</code> function can succeed, but no
TLS handshake takes place, the peer is not authenticated, and subsequent data is exchanged
in the clear.
+ </div><div class="para">
+ NSS disables itself if it detects that the process underwent a <code
class="function">fork</code> after the library has been initialized.
This behavior is required by the PKCS#11 API specification.
+ </div></div></div><div class="section"
id="sect-Defensive_Coding-TLS-Client"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">13.2. TLS
Clients</h2></div></div></div><div class="para">
+ Secure use of TLS in a client generally involves all of the following steps.
(Individual instructions for specific TLS implementations follow in the next sections.)
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The client must configure the TLS library to use a set of trusted root certificates.
These certificates are provided by the system in <code
class="filename">/etc/ssl/certs</code> or files derived from it.
+ </div></li><li class="listitem"><div
class="para">
+ The client selects sufficiently strong cryptographic primitives and disables
insecure ones (such as no-op encryption). Compression and SSL version 2 support must be
disabled (including the SSLv2-compatible handshake).
+ </div></li><li class="listitem"><div
class="para">
+ The client initiates the TLS connection. The Server Name Indication extension should
be used if supported by the TLS implementation. Before switching to the encrypted
connection state, the contents of all input and output buffers must be discarded.
+ </div></li><li class="listitem"><div
class="para">
+ The client needs to validate the peer certificate provided by the server, that is,
the client must check that there is a cryptographically protected chain from a trusted
root certificate to the peer certificate. (Depending on the TLS implementation, a TLS
handshake can succeed even if the certificate cannot be validated.)
+ </div></li><li class="listitem"><div
class="para">
+ The client must check that the configured or user-provided server name matches the
peer certificate provided by the server.
+ </div></li></ul></div><div class="para">
+ It is safe to provide users detailed diagnostics on certificate validation failures.
Other causes of handshake failures and, generally speaking, any details on other errors
reported by the TLS implementation (particularly exception tracebacks), must not be
divulged in ways that make them accessible to potential attackers. Otherwise, it is
possible to create decryption oracles.
+ </div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ Depending on the application, revocation checking (against certificate revocations
lists or via OCSP) and session resumption are important aspects of production-quality
client. These aspects are not yet covered.
+ </div></div></div><div class="section"
id="idm217604048736"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217604048736">13.2.1. Implementation TLS Clients With
OpenSSL</h3></div></div></div><div class="para">
+ In the following code, the error handling is only exploratory. Proper error handling
is required for production use, especially in libraries.
+ </div><div class="para">
+ The OpenSSL library needs explicit initialization (see <a class="xref"
href="#ex-Defensive_Coding-TLS-OpenSSL-Init">Example 13.3, “OpenSSL library
initialization”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Init"><h6>Example 13.3. OpenSSL
library initialization</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// The following call prints an error message
and calls exit() if</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// the OpenSSL configuration file is
unreadable.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>OPENSSL_config(NULL);
+<span class="perl_Comment">// Provide human-readable error
messages.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSL_load_error_strings();
+<span class="perl_Comment">// Register ciphers.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSL_library_init();
+</pre></div></div><br class="example-break" /><div
class="para">
+ After that, a context object has to be created, which acts as a factory for
connection objects (<a class="xref"
href="#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4, “OpenSSL
client context creation”</a>). We use an explicit cipher list so that we do not pick
up any strange ciphers when OpenSSL is upgraded. The actual version requested in the
client hello depends on additional restrictions in the OpenSSL library. If possible, you
should follow the example code and use the default list of trusted root certificate
authorities provided by the system because you would have to maintain your own set
otherwise, which can be cumbersome.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenSSL-CTX"><h6>Example 13.4. OpenSSL
client context creation</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Configure a client connection context.
Send a hendshake for the</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// highest supported TLS version, and disable
compression.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">const</span> SSL_METHOD *<span
class="perl_DataType">const</span> req_method =
SSLv23_client_method();
+SSL_CTX *<span class="perl_DataType">const</span> ctx =
SSL_CTX_new(req_method);
+<span class="perl_Keyword">if</span> (ctx == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_COMPRESSION);
+
+<span class="perl_Comment">// Adjust the ciphers list based on a
whitelist. First enable all</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// ciphers of at least medium strength, to get the list
which is</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// compiled into OpenSSL.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (SSL_CTX_set_cipher_list(ctx, <span
class="perl_String">"HIGH:MEDIUM"</span>) != <span
class="perl_Float">1</span>) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+{
+ <span class="perl_Comment">// Create a dummy SSL session to obtain the
cipher list.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> SSL *ssl = SSL_new(ctx);
+ <span class="perl_Keyword">if</span> (ssl == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+ }
+ STACK_OF(SSL_CIPHER) *active_ciphers = SSL_get_ciphers(ssl);
+ <span class="perl_Keyword">if</span> (active_ciphers == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Comment">// Whitelist of candidate
ciphers.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">static</span> <span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> candidates[] = {
+ <span class="perl_String">"AES128-GCM-SHA256"</span>,
<span class="perl_String">"AES128-SHA256"</span>, <span
class="perl_String">"AES256-SHA256"</span>, <span
class="perl_Comment">// strong ciphers</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_String">"AES128-SHA"</span>, <span
class="perl_String">"AES256-SHA"</span>, <span
class="perl_Comment">// strong ciphers, also in older
versions</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_String">"RC4-SHA"</span>, <span
class="perl_String">"RC4-MD5"</span>, <span
class="perl_Comment">// backwards compatibility, supposed to be
weak</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_String">"DES-CBC3-SHA"</span>, <span
class="perl_String">"DES-CBC3-MD5"</span>, <span
class="perl_Comment">// more backwards compatibility</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> NULL
+ };
+ <span class="perl_Comment">// Actually selected
ciphers.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">char</span> ciphers[<span
class="perl_Float">300</span>];
+ ciphers[0] = '\0';
+ <span class="perl_Keyword">for</span> (<span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> *c = candidates; *c; ++c) {
+ <span class="perl_Keyword">for</span> (<span
class="perl_DataType">int</span> i = 0; i <
sk_SSL_CIPHER_num(active_ciphers); ++i) {
+ <span class="perl_Keyword">if</span>
(strcmp(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(active_ciphers, i)),
+ *c) == 0) {
+ <span class="perl_Keyword">if</span> (*ciphers) {
+ strcat(ciphers, <span
class="perl_String">":"</span>);
+ }
+ strcat(ciphers, *c);
+ <span class="perl_Keyword">break</span>;
+ }
+ }
+ }
+ SSL_free(ssl);
+ <span class="perl_Comment">// Apply final cipher
list.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">if</span> (SSL_CTX_set_cipher_list(ctx, ciphers)
!= <span class="perl_Float">1</span>) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+ }
+}
+
+<span class="perl_Comment">// Load the set of trusted root
certificates.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (!SSL_CTX_set_default_verify_paths(ctx))
{
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ A single context object can be used to create multiple connection objects. It is safe
to use the same <code class="literal">SSL_CTX</code> object for
creating connections concurrently from multiple threads, provided that the <code
class="literal">SSL_CTX</code> object is not modified (e.g., callbacks
must not be changed).
+ </div><div class="para">
+ After creating the TCP socket and disabling the Nagle algorithm (per <a
class="xref" href="#ex-Defensive_Coding-TLS-Nagle">Example 13.1,
“Deactivating the TCP Nagle algorithm”</a>), the actual connection object needs to
be created, as show in <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4, “OpenSSL
client context creation”</a>. If the handshake started by <code
class="function">SSL_connect</code> fails, the <code
class="function">ssl_print_error_and_exit</code> function from <a
class="xref"
href="#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2, “Obtaining
OpenSSL error codes”</a> is called.
+ </div><div class="para">
+ The <code class="function">certificate_validity_override</code>
function provides an opportunity to override the validity of the certificate in case the
OpenSSL check fails. If such functionality is not required, the call can be removed,
otherwise, the application developer has to implement it.
+ </div><div class="para">
+ The host name passed to the functions <code
class="function">SSL_set_tlsext_host_name</code> and <code
class="function">X509_check_host</code> must be the name that was
passed to <code class="function">getaddrinfo</code> or a similar
name resolution function. No host name canonicalization must be performed. The <code
class="function">X509_check_host</code> function used in the final step
for host name matching is currently only implemented in OpenSSL 1.1, which is not released
yet. In case host name matching fails, the function <code
class="function">certificate_host_name_override</code> is called. This
function should check user-specific certificate store, to allow a connection even if the
host name does not match the certificate. This function has to be provided by the
application developer. Note that the override must be keyed by both the certificate
<span class="emphasis"><em>and</em></span> the host
name.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenSSL-Connect"><h6>Example 13.5. Creating
a client connection using OpenSSL</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the connection
object.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSL *ssl = SSL_new(ctx);
+<span class="perl_Keyword">if</span> (ssl == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+SSL_set_fd(ssl, sockfd);
+
+<span class="perl_Comment">// Enable the ServerNameIndication
extension</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (!SSL_set_tlsext_host_name(ssl, host))
{
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Perform the TLS handshake with the
server.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = SSL_connect(ssl);
+<span class="perl_Keyword">if</span> (ret != <span
class="perl_Float">1</span>) {
+ <span class="perl_Comment">// Error status can be 0 or
negative.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> ssl_print_error_and_exit(ssl,
<span class="perl_String">"SSL_connect"</span>, ret);
+}
+
+<span class="perl_Comment">// Obtain the server
certificate.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>X509 *peercert =
SSL_get_peer_certificate(ssl);
+<span class="perl_Keyword">if</span> (peercert == NULL) {
+ fprintf(stderr, <span class="perl_String">"peer certificate
missing"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Check the certificate verification result.
Allow an explicit</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// certificate validation override in case verification
fails.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">int</span> verifystatus =
SSL_get_verify_result(ssl);
+<span class="perl_Keyword">if</span> (verifystatus != X509_V_OK
&& !certificate_validity_override(peercert)) {
+ fprintf(stderr, <span class="perl_String">"SSL_connect: verify
result: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ X509_verify_cert_error_string(verifystatus));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Check if the server certificate matches the
host name used to</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// establish the connection.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// </span><span
class="perl_Alert">FIXME</span><span
class="perl_Comment">: Currently needs OpenSSL 1.1.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (X509_check_host(peercert, (<span
class="perl_DataType">const</span> <span
class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span> *)host, strlen(host),
+ 0) != <span class="perl_Float">1</span>
+ && !certificate_host_name_override(peercert, host)) {
+ fprintf(stderr, <span class="perl_String">"SSL certificate does
not match host name</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+
+X509_free(peercert);
+
+</pre></div></div><br class="example-break" /><div
class="para">
+ The connection object can be used for sending and receiving data, as in <a
class="xref"
href="#ex-Defensive_Coding-TLS-OpenSSL-Connection-Use">Example 13.6, “Using
an OpenSSL connection to send and receive data”</a>. It is also possible to create a
<code class="literal">BIO</code> object and use the <code
class="literal">SSL</code> object as the underlying transport, using
<code class="function">BIO_set_ssl</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Use"><h6>Example 13.6. Using
an OpenSSL connection to send and receive data</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> req = <span
class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>;
+<span class="perl_Keyword">if</span> (SSL_write(ssl, req,
strlen(req)) < 0) {
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_write"</span>, ret);
+}
+<span class="perl_DataType">char</span> buf[4096];
+ret = SSL_read(ssl, buf, <span
class="perl_Keyword">sizeof</span>(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_read"</span>, ret);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ When it is time to close the connection, the <code
class="function">SSL_shutdown</code> function needs to be called twice
for an orderly, synchronous connection termination (<a class="xref"
href="#ex-Defensive_Coding-TLS-OpenSSL-Connection-Close">Example 13.7,
“Closing an OpenSSL connection in an orderly fashion”</a>). This exchanges <code
class="literal">close_notify</code> alerts with the server. The
additional logic is required to deal with an unexpected <code
class="literal">close_notify</code> from the server. Note that is
necessary to explicitly close the underlying socket after the connection object has been
freed.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Close"><h6>Example 13.7. Closing
an OpenSSL connection in an orderly fashion</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Send the close_notify
alert.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = SSL_shutdown(ssl);
+<span class="perl_Keyword">switch</span> (ret) {
+<span class="perl_Keyword">case</span> <span
class="perl_Float">1</span>:
+ <span class="perl_Comment">// A close_notify alert has already been
received.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">break</span>;
+<span class="perl_Keyword">case</span> 0:
+ <span class="perl_Comment">// Wait for the close_notify alert from the
peer.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> ret = SSL_shutdown(ssl);
+ <span class="perl_Keyword">switch</span> (ret) {
+ <span class="perl_Keyword">case</span> 0:
+ fprintf(stderr, <span class="perl_String">"info: second
SSL_shutdown returned zero</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> <span
class="perl_Float">1</span>:
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">default</span>:
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_shutdown 2"</span>, ret);
+ }
+ <span class="perl_Keyword">break</span>;
+<span class="perl_Keyword">default</span>:
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_shutdown 1"</span>, ret);
+}
+SSL_free(ssl);
+close(sockfd);
+</pre></div></div><br class="example-break" /><div
class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-TLS-OpenSSL-Context-Close">Example 13.8, “Closing
an OpenSSL connection in an orderly fashion”</a> shows how to deallocate the context
object when it is no longer needed because no further TLS connections will be
established.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Context-Close"><h6>Example 13.8. Closing
an OpenSSL connection in an orderly fashion</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SSL_CTX_free(ctx);
+</pre></div></div><br class="example-break"
/></div><div class="section"
id="sect-Defensive_Coding-TLS-Client-GNUTLS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.2. Implementation TLS Clients With
GNUTLS</h3></div></div></div><div class="para">
+ This section describes how to implement a TLS client with full certificate validation
(but without certificate revocation checking). Note that the error handling in is only
exploratory and needs to be replaced before production use.
+ </div><div class="para">
+ The GNUTLS library needs explicit initialization:
+ </div><div class="informalexample"
id="ex-Defensive_Coding-TLS-GNUTLS-Init"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+gnutls_global_init();
+</pre></div><div class="para">
+ Failing to do so can result in obscure failures in Base64 decoding. See <a
class="xref"
href="#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">Section 13.1.2, “GNUTLS
Pitfalls”</a> for additional aspects of initialization.
+ </div><div class="para">
+ Before setting up TLS connections, a credentials objects has to be allocated and
initialized with the set of trusted root CAs (<a class="xref"
href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials">Example 13.9,
“Initializing a GNUTLS credentials structure”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials"><h6>Example 13.9. Initializing
a GNUTLS credentials structure</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Load the trusted CA
certificates.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_certificate_credentials_t
cred = NULL;
+<span class="perl_DataType">int</span> ret =
gnutls_certificate_allocate_credentials (&cred);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_certificate_allocate_credentials: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// gnutls_certificate_set_x509_system_trust
needs GNUTLS version 3.0</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// or newer, so we hard-code the path to the certificate
store</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// instead.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">static</span> <span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> ca_bundle[] = <span
class="perl_String">"/etc/ssl/certs/ca-bundle.crt"</span>;
+ret = gnutls_certificate_set_x509_trust_file
+ (cred, ca_bundle, GNUTLS_X509_FMT_PEM);
+<span class="perl_Keyword">if</span> (ret == 0) {
+ fprintf(stderr, <span class="perl_String">"error: no certificates
found in: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, ca_bundle);
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_certificate_set_x509_trust_files(%s): %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ ca_bundle, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the last TLS connection has been closed, this credentials object should be
freed:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+gnutls_certificate_free_credentials(cred);
+</pre></div><div class="para">
+ During its lifetime, the credentials object can be used to initialize TLS session
objects from multiple threads, provided that it is not changed.
+ </div><div class="para">
+ Once the TCP connection has been established, the Nagle algorithm should be disabled
(see <a class="xref"
href="#ex-Defensive_Coding-TLS-Nagle">Example 13.1, “Deactivating the TCP
Nagle algorithm”</a>). After that, the socket can be associated with a new GNUTLS
session object. The previously allocated credentials object provides the set of root CAs.
The <code class="literal">NORMAL</code> set of cipher suites and
protocols provides a reasonable default. Then the TLS handshake must be initiated. This is
shown in <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Connect">Example 13.10,
“Establishing a TLS client connection using GNUTLS”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Connect"><h6>Example 13.10. Establishing
a TLS client connection using GNUTLS</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the session
object.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_session_t session;
+ret = gnutls_init(&session, GNUTLS_CLIENT);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error: gnutls_init:
%s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Configure the cipher
preferences.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *errptr = NULL;
+ret = gnutls_priority_set_direct(session, <span
class="perl_String">"NORMAL"</span>, &errptr);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_priority_set_direct: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>
+ <span class="perl_String">"error: at: </span><span
class="perl_Char">\"</span><span
class="perl_String">%s</span><span
class="perl_Char">\"\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret), errptr);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Install the trusted
certificates.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret =
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cred);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_credentials_set: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Associate the socket with the session
object and set the server</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// name.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_transport_set_ptr(session,
(gnutls_transport_ptr_t)(uintptr_t)sockfd);
+ret = gnutls_server_name_set(session, GNUTLS_NAME_DNS,
+ host, strlen(host));
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_server_name_set: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Establish the session.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = gnutls_handshake(session);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_handshake: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the handshake has been completed, the server certificate needs to be verified
(<a class="xref"
href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Verify">Example 13.11,
“Verifying a server certificate using GNUTLS”</a>). In the example, the user-defined
<code class="function">certificate_validity_override</code> function
is called if the verification fails, so that a separate, user-specific trust store can be
checked. This function call can be omitted if the functionality is not needed.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Verify"><h6>Example 13.11. Verifying
a server certificate using GNUTLS</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Obtain the server certificate chain. The
server certificate</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// itself is stored in the first element of the
array.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">unsigned</span> certslen = 0;
+<span class="perl_DataType">const</span> gnutls_datum_t *<span
class="perl_DataType">const</span> certs =
+ gnutls_certificate_get_peers(session, &certslen);
+<span class="perl_Keyword">if</span> (certs == NULL || certslen ==
0) {
+ fprintf(stderr, <span class="perl_String">"error: could not obtain
peer certificate</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Validate the certificate
chain.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">unsigned</span> status = (<span
class="perl_DataType">unsigned</span>)<span
class="perl_DecVal">-1</span>;
+ret = gnutls_certificate_verify_peers2(session, &status);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_certificate_verify_peers2: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (status != 0
&& !certificate_validity_override(certs[0])) {
+ gnutls_datum_t msg;
+<span class="perl_Others">#if
GNUTLS_VERSION_AT_LEAST_3_1_4</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span> <span
class="perl_DataType">int</span> type = gnutls_certificate_type_get
(session);
+ ret = gnutls_certificate_verification_status_print(status, type, &out, 0);
+<span class="perl_Others">#else</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span> ret = <span
class="perl_DecVal">-1</span>;
+<span class="perl_Others">#endif</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span> <span
class="perl_Keyword">if</span> (ret == 0) {
+ fprintf(stderr, <span class="perl_String">"error:
%s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, msg.data);
+ gnutls_free(msg.data);
+ exit(<span class="perl_Float">1</span>);
+ } <span class="perl_Keyword">else</span> {
+ fprintf(stderr, <span class="perl_String">"error: certificate
validation failed with code 0x%x</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ status);
+ exit(<span class="perl_Float">1</span>);
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ In the next step (<a class="xref"
href="#ex-Defensive_Coding-TLS-Client-GNUTLS-Match">Example 13.12, “Matching
the server host name and certificate in a GNUTLS client”</a>, the certificate must
be matched against the host name (note the unusual return value from <code
class="function">gnutls_x509_crt_check_hostname</code>). Again, an
override function <code
class="function">certificate_host_name_override</code> is called. Note
that the override must be keyed to the certificate <span
class="emphasis"><em>and</em></span> the host name. The
function call can be omitted if the override is not needed.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Match"><h6>Example 13.12. Matching
the server host name and certificate in a GNUTLS client</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Match the peer certificate against the host
name.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// We can only obtain a set of DER-encoded certificates
from the</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// session object, so we have to re-parse the peer
certificate into</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// a certificate object.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_x509_crt_t cert;
+ret = gnutls_x509_crt_init(&cert);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_x509_crt_init: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// The peer certificate is the first
certificate in the list.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret =
gnutls_x509_crt_import(cert, certs, GNUTLS_X509_FMT_DER);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_x509_crt_import: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+ret = gnutls_x509_crt_check_hostname(cert, host);
+<span class="perl_Keyword">if</span> (ret == 0 &&
!certificate_host_name_override(certs[0], host)) {
+ fprintf(stderr, <span class="perl_String">"error: host name does
not match certificate</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+gnutls_x509_crt_deinit(cert);
+</pre></div></div><br class="example-break" /><div
class="para">
+ In newer GNUTLS versions, certificate checking and host name validation can be
combined using the <code
class="function">gnutls_certificate_verify_peers3</code> function.
+ </div><div class="para">
+ An established TLS session can be used for sending and receiving data, as in <a
class="xref"
href="#ex-Defensive_Coding-TLS-GNUTLS-Use">Example 13.13, “Using a GNUTLS
session”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-GNUTLS-Use"><h6>Example 13.13. Using a
GNUTLS session</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[4096];
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n</span><span
class="perl_String">Host: %s</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>, host);
+ret = gnutls_record_send(session, buf, strlen(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_record_send: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+ret = gnutls_record_recv(session, buf, <span
class="perl_Keyword">sizeof</span>(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_record_recv: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ In order to shut down a connection in an orderly manner, you should call the <code
class="function">gnutls_bye</code> function. Finally, the session
object can be deallocated using <code
class="function">gnutls_deinit</code> (see <a class="xref"
href="#ex-Defensive_Coding-TLS-GNUTLS-Disconnect">Example 13.14, “Using a
GNUTLS session”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-GNUTLS-Disconnect"><h6>Example 13.14. Using
a GNUTLS session</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Initiate an orderly connection
shutdown.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = gnutls_bye(session,
GNUTLS_SHUT_RDWR);
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error: gnutls_bye:
%s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// Free the session
object.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_deinit(session);
+</pre></div></div><br class="example-break"
/></div><div class="section"
id="sect-Defensive_Coding-TLS-Client-OpenJDK"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.3. Implementing TLS Clients With
OpenJDK</h3></div></div></div><div class="para">
+ The examples below use the following cryptographic-related classes:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">import</span>
java.security.NoSuchAlgorithmException;
+<span class="perl_Keyword">import</span>
java.security.NoSuchProviderException;
+<span class="perl_Keyword">import</span>
java.security.cert.CertificateEncodingException;
+<span class="perl_Keyword">import</span>
java.security.cert.CertificateException;
+<span class="perl_Keyword">import</span>
java.security.cert.X509Certificate;
+<span class="perl_Keyword">import</span> javax.net.ssl.SSLContext;
+<span class="perl_Keyword">import</span>
javax.net.ssl.SSLParameters;
+<span class="perl_Keyword">import</span> javax.net.ssl.SSLSocket;
+<span class="perl_Keyword">import</span>
javax.net.ssl.TrustManager;
+<span class="perl_Keyword">import</span>
javax.net.ssl.X509TrustManager;
+
+<span class="perl_Keyword">import
sun.security.util.HostnameChecker;</span>
+</pre></div><div class="para">
+ If compatibility with OpenJDK 6 is required, it is necessary to use the internal
class <code
class="literal">sun.security.util.HostnameChecker</code>. (The public
OpenJDK API does not provide any support for dissecting the subject distinguished name of
an X.509 certificate, so a custom-written DER parser is needed—or we have to use an
internal class, which we do below.) In OpenJDK 7, the <code
class="function">setEndpointIdentificationAlgorithm</code> method was
added to the <code
class="literal">javax.net.ssl.SSLParameters</code> class, providing an
official way to implement host name checking.
+ </div><div class="para">
+ TLS connections are established using an <code
class="literal">SSLContext</code> instance. With a properly configured
OpenJDK installation, the <code class="literal">SunJSSE</code>
provider uses the system-wide set of trusted root certificate authorities, so no further
configuration is necessary. For backwards compatibility with OpenJDK 6, the <code
class="literal">TLSv1</code> provider has to be supported as a
fall-back option. This is shown in <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Context">Example 13.15,
“Setting up an <code class="literal">SSLContext</code> for OpenJDK
TLS clients”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenJDK-Context"><h6>Example 13.15. Setting
up an <code class="literal">SSLContext</code> for OpenJDK TLS
clients</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the context. Specify the SunJSSE
provider to avoid</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// picking up third-party providers. Try the TLS 1.2
provider</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// first, then fall back to TLS
1.0.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSLContext ctx;
+<span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1.2"</span>, <span
class="perl_String">"SunJSSE"</span>);
+} <span class="perl_Keyword">catch</span> (NoSuchAlgorithmException
e) {
+ <span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1"</span>, <span
class="perl_String">"SunJSSE"</span>);
+ } <span class="perl_Keyword">catch</span>
(NoSuchAlgorithmException e1) {
+ <span class="perl_Comment">// The TLS 1.0 provider should always
be available.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ } <span class="perl_Keyword">catch</span>
(NoSuchProviderException e1) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ }
+} <span class="perl_Keyword">catch</span> (NoSuchProviderException
e) {
+ <span class="perl_Comment">// The SunJSSE provider should always be
available.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e);
+}
+ctx.<span class="perl_Function">init</span>(<span
class="perl_Keyword">null</span>, <span
class="perl_Keyword">null</span>, <span
class="perl_Keyword">null</span>);
+</pre></div></div><br class="example-break" /><div
class="para">
+ In addition to the context, a TLS parameter object will be needed which adjusts the
cipher suites and protocols (<a class="xref"
href="#ex-Defensive_Coding-TLS-OpenJDK-Parameters">Example 13.16, “Setting up
<code class="literal">SSLParameters</code> for TLS use with
OpenJDK”</a>). Like the context, these parameters can be reused for multiple TLS
connections.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenJDK-Parameters"><h6>Example 13.16. Setting
up <code class="literal">SSLParameters</code> for TLS use with
OpenJDK</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Prepare TLS parameters. These have to
applied to every TLS</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// socket before the handshake is
triggered.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSLParameters params =
ctx.<span class="perl_Function">getDefaultSSLParameters</span>();
+<span class="perl_Comment">// Do not send an SSL-2.0-compatible Client
Hello.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ArrayList<String>
protocols = <span class="perl_Keyword">new</span>
ArrayList<String>(
+ Arrays.<span
class="perl_Function">asList</span>(params.<span
class="perl_Function">getProtocols</span>()));
+protocols.<span class="perl_Function">remove</span>(<span
class="perl_String">"SSLv2Hello"</span>);
+params.<span
class="perl_Function">setProtocols</span>(protocols.<span
class="perl_Function">toArray</span>(<span
class="perl_Keyword">new</span> String[protocols.<span
class="perl_Function">size</span>()]));
+<span class="perl_Comment">// Adjust the supported
ciphers.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ArrayList<String>
ciphers = <span class="perl_Keyword">new</span>
ArrayList<String>(
+ Arrays.<span
class="perl_Function">asList</span>(params.<span
class="perl_Function">getCipherSuites</span>()));
+ciphers.<span
class="perl_Function">retainAll</span>(Arrays.<span
class="perl_Function">asList</span>(
+ <span
class="perl_String">"TLS_RSA_WITH_AES_128_CBC_SHA256"</span>,
+ <span
class="perl_String">"TLS_RSA_WITH_AES_256_CBC_SHA256"</span>,
+ <span
class="perl_String">"TLS_RSA_WITH_AES_256_CBC_SHA"</span>,
+ <span
class="perl_String">"TLS_RSA_WITH_AES_128_CBC_SHA"</span>,
+ <span
class="perl_String">"SSL_RSA_WITH_3DES_EDE_CBC_SHA"</span>,
+ <span
class="perl_String">"SSL_RSA_WITH_RC4_128_SHA1"</span>,
+ <span
class="perl_String">"SSL_RSA_WITH_RC4_128_MD5"</span>,
+ <span
class="perl_String">"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"</span>));
+params.<span
class="perl_Function">setCipherSuites</span>(ciphers.<span
class="perl_Function">toArray</span>(<span
class="perl_Keyword">new</span> String[ciphers.<span
class="perl_Function">size</span>()]));
+</pre></div></div><br class="example-break" /><div
class="para">
+ As initialized above, the parameter object does not yet require host name checking.
This has to be enabled separately, and this is only supported by OpenJDK 7 and later:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+params.<span
class="perl_Function">setEndpointIdentificationAlgorithm</span>(<span
class="perl_String">"HTTPS"</span>);
+</pre></div><div class="para">
+ All application protocols can use the <code
class="literal">"HTTPS"</code> algorithm. (The algorithms
have minor differences with regard to wildcard handling, which should not matter in
practice.)
+ </div><div class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Connect">Example 13.17,
“Establishing a TLS connection with OpenJDK”</a> shows how to establish the
connection. Before the handshake is initialized, the protocol and cipher configuration has
to be performed, by applying the parameter object <code
class="literal">params</code>. (After this point, changes to <code
class="literal">params</code> will not affect this TLS socket.) As
mentioned initially, host name checking requires using an internal API on OpenJDK 6.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenJDK-Connect"><h6>Example 13.17. Establishing
a TLS connection with OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the socket and connect it at the TCP
layer.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSLSocket socket = (SSLSocket)
ctx.<span class="perl_Function">getSocketFactory</span>()
+ .<span class="perl_Function">createSocket</span>(host, port);
+
+<span class="perl_Comment">// Disable the Nagle
algorithm.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>socket.<span
class="perl_Function">setTcpNoDelay</span>(<span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// Adjust ciphers and
protocols.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>socket.<span
class="perl_Function">setSSLParameters</span>(params);
+
+<span class="perl_Comment">// Perform the handshake.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>socket.<span
class="perl_Function">startHandshake</span>();
+
+<span class="perl_Comment">// Validate the host name. The match() method
throws</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// CertificateException on failure.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>X509Certificate peer =
(X509Certificate)
+ socket.<span class="perl_Function">getSession</span>().<span
class="perl_Function">getPeerCertificates</span>()[<span
class="perl_Float">0</span>];
+<span class="perl_Comment">// This is the only way to perform host name
checking on OpenJDK 6.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>HostnameChecker.<span
class="perl_Function">getInstance</span>(HostnameChecker.<span
class="perl_Function">TYPE_TLS</span>).<span
class="perl_Function">match</span>(
+ host, peer);
+</pre></div></div><br class="example-break" /><div
class="para">
+ Starting with OpenJDK 7, the last lines can be omitted, provided that host name
verification has been enabled by calling the <code
class="function">setEndpointIdentificationAlgorithm</code> method on
the <code class="literal">params</code> object (before it was
applied to the socket).
+ </div><div class="para">
+ The TLS socket can be used as a regular socket, as shown in <a
class="xref"
href="#ex-Defensive_Coding-TLS-Client-OpenJDK-Use">Example 13.18, “Using a
TLS client socket in OpenJDK”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenJDK-Use"><h6>Example 13.18. Using
a TLS client socket in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+socket.<span
class="perl_Function">getOutputStream</span>().<span
class="perl_Function">write</span>(<span
class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>
+ .<span class="perl_Function">getBytes</span>(Charset.<span
class="perl_Function">forName</span>(<span
class="perl_String">"UTF-8"</span>)));
+<span class="perl_DataType">byte</span>[] buffer = <span
class="perl_Keyword">new</span> <span
class="perl_DataType">byte</span>[<span
class="perl_Float">4096</span>];
+<span class="perl_DataType">int</span> count = socket.<span
class="perl_Function">getInputStream</span>().<span
class="perl_Function">read</span>(buffer);
+System.<span class="perl_Function">out</span>.<span
class="perl_Function">write</span>(buffer, <span
class="perl_Float">0</span>, count);
+</pre></div></div><br class="example-break" /><div
class="section" id="idm217647167504"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217647167504">13.2.3.1. Overriding server certificate validation with
OpenJDK 6</h4></div></div></div><div
class="para">
+ Overriding certificate validation requires a custom trust manager. With OpenJDK 6,
the trust manager lacks information about the TLS session, and to which server the
connection is made. Certificate overrides have to be tied to specific servers (host
names). Consequently, different <code
class="literal">TrustManager</code> and <code
class="literal">SSLContext</code> objects have to be used for different
servers.
+ </div><div class="para">
+ In the trust manager shown in <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-MyTrustManager">Example 13.19, “A
customer trust manager for OpenJDK TLS clients”</a>, the server certificate is
identified by its SHA-256 hash.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-MyTrustManager"><h6>Example 13.19. A
customer trust manager for OpenJDK TLS clients</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">public</span> <span
class="perl_Keyword">class</span> MyTrustManager <span
class="perl_Keyword">implements</span> X509TrustManager {
+ <span class="perl_Keyword">private</span> <span
class="perl_DataType">final</span> <span
class="perl_DataType">byte</span>[] certHash;
+
+ <span class="perl_Keyword">public</span> <span
class="perl_Function">MyTrustManager</span>(<span
class="perl_DataType">byte</span>[] certHash) <span
class="perl_Keyword">throws</span> Exception {
+ <span class="perl_Keyword">this</span>.<span
class="perl_Function">certHash</span> = certHash;
+ }
+
+ @Override
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">void</span> <span
class="perl_Function">checkClientTrusted</span>(X509Certificate[]
chain, String authType)
+ <span class="perl_Keyword">throws</span>
CertificateException {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> UnsupportedOperationException();
+ }
+
+ @Override
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">void</span> <span
class="perl_Function">checkServerTrusted</span>(X509Certificate[]
chain,
+ String authType) <span
class="perl_Keyword">throws</span> CertificateException {
+ <span class="perl_DataType">byte</span>[] digest = <span
class="perl_Function">getCertificateDigest</span>(chain[<span
class="perl_Float">0</span>]);
+ String digestHex = <span
class="perl_Function">formatHex</span>(digest);
+
+ <span class="perl_Keyword">if</span> (Arrays.<span
class="perl_Function">equals</span>(digest, certHash)) {
+ System.<span class="perl_Function">err</span>.<span
class="perl_Function">println</span>(<span
class="perl_String">"info: accepting certificate: "</span> +
digestHex);
+ } <span class="perl_Keyword">else</span> {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> CertificateException(<span
class="perl_String">"certificate rejected: "</span> +
+ digestHex);
+ }
+ }
+
+ @Override
+ <span class="perl_Keyword">public</span> X509Certificate[]
<span class="perl_Function">getAcceptedIssuers</span>() {
+ <span class="perl_Keyword">return</span> <span
class="perl_Keyword">new</span> X509Certificate[<span
class="perl_Float">0</span>];
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ This trust manager has to be passed to the <code
class="literal">init</code> method of the <code
class="literal">SSLContext</code> object, as show in <a
class="xref"
href="#ex-Defensive_Coding-TLS-Client-Context_For_Cert">Example 13.20, “Using
a custom TLS trust manager with OpenJDK”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-Context_For_Cert"><h6>Example 13.20. Using
a custom TLS trust manager with OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SSLContext ctx;
+<span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1.2"</span>, <span
class="perl_String">"SunJSSE"</span>);
+} <span class="perl_Keyword">catch</span> (NoSuchAlgorithmException
e) {
+ <span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1"</span>, <span
class="perl_String">"SunJSSE"</span>);
+ } <span class="perl_Keyword">catch</span>
(NoSuchAlgorithmException e1) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ } <span class="perl_Keyword">catch</span>
(NoSuchProviderException e1) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ }
+} <span class="perl_Keyword">catch</span> (NoSuchProviderException
e) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e);
+}
+MyTrustManager tm = <span class="perl_Keyword">new</span> <span
class="perl_Function">MyTrustManager</span>(certHash);
+ctx.<span class="perl_Function">init</span>(<span
class="perl_Keyword">null</span>, <span
class="perl_Keyword">new</span> TrustManager[] {tm}, <span
class="perl_Keyword">null</span>);
+</pre></div></div><br class="example-break" /><div
class="para">
+ When certificate overrides are in place, host name verification should not be
performed because there is no security requirement that the host name in the certificate
matches the host name used to establish the connection (and it often will not). However,
without host name verification, it is not possible to perform transparent fallback to
certification validation using the system certificate store.
+ </div><div class="para">
+ The approach described above works with OpenJDK 6 and later versions. Starting with
OpenJDK 7, it is possible to use a custom subclass of the <code
class="literal">javax.net.ssl.X509ExtendedTrustManager</code> class.
The OpenJDK TLS implementation will call the new methods, passing along TLS session
information. This can be used to implement certificate overrides as a fallback (if
certificate or host name verification fails), and a trust manager object can be used for
multiple servers because the server address is available to the trust manager.
+ </div></div></div><div class="section"
id="sect-Defensive_Coding-TLS-Client-NSS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.4. Implementing TLS Clients With
NSS</h3></div></div></div><div class="para">
+ The following code shows how to implement a simple TLS client using NSS. These
instructions apply to NSS version 3.14 and later. Versions before 3.14 need different
initialization code.
+ </div><div class="para">
+ Keep in mind that the error handling needs to be improved before the code can be used
in production.
+ </div><div class="para">
+ Using NSS needs several header files, as shown in <a class="xref"
href="#ex-Defensive_Coding-TLS-NSS-Includes">Example 13.21, “Include files
for NSS”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-NSS-Includes"><h6>Example 13.21. Include
files for NSS</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// NSPR include files</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Others">#include <prerror.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <prinit.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Comment">// NSS include files</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Others">#include <nss.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <pk11pub.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <secmod.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <ssl.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <sslproto.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Comment">// Private API, no other way to turn a POSIX
file descriptor into an</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// NSPR handle.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>NSPR_API(PRFileDesc*)
PR_ImportTCPSocket(<span class="perl_DataType">int</span>);
+</pre></div></div><br class="example-break" /><div
class="para">
+ Initializing the NSS library is shown in <a class="xref"
href="#ex-Defensive_Coding-TLS-NSS-Init">Example 13.22, “Initializing the NSS
library”</a>. This initialization procedure overrides global state. We only call
<code class="function">NSS_SetDomesticPolicy</code> if there are no
strong ciphers available, assuming that it has already been called otherwise. This avoids
overriding the process-wide cipher suite policy unnecessarily.
+ </div><div class="para">
+ The simplest way to configured the trusted root certificates involves loading the
<code class="filename">libnssckbi.so</code> NSS module with a call
to the <code class="function">SECMOD_LoadUserModule</code> function.
The root certificates are compiled into this module. (The PEM module for NSS, <code
class="filename">libnsspem.so</code>, offers a way to load trusted CA
certificates from a file.)
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-NSS-Init"><h6>Example 13.22. Initializing
the NSS library</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 0);
+NSSInitContext *<span class="perl_DataType">const</span> ctx =
+ NSS_InitContext(<span
class="perl_String">"sql:/etc/pki/nssdb"</span>, <span
class="perl_String">""</span>, <span
class="perl_String">""</span>, <span
class="perl_String">""</span>, NULL,
+ NSS_INIT_READONLY | NSS_INIT_PK11RELOAD);
+<span class="perl_Keyword">if</span> (ctx == NULL) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: NSPR error code
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Ciphers to enable.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">static</span> <span
class="perl_DataType">const</span> PRUint16 good_ciphers[] = {
+ TLS_RSA_WITH_AES_128_CBC_SHA,
+ TLS_RSA_WITH_AES_256_CBC_SHA,
+ SSL_RSA_WITH_3DES_EDE_CBC_SHA,
+ SSL_NULL_WITH_NULL_NULL <span class="perl_Comment">//
sentinel</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>};
+
+<span class="perl_Comment">// Check if the current policy allows any
strong ciphers. If it</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// doesn't, set the cipher suite policy. This is
not thread-safe</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// and has global impact. Consequently, we only do it
if absolutely</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// necessary.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">int</span> found_good_cipher = 0;
+<span class="perl_Keyword">for</span> (<span
class="perl_DataType">const</span> PRUint16 *p = good_ciphers; *p !=
SSL_NULL_WITH_NULL_NULL;
+ ++p) {
+ PRInt32 policy;
+ <span class="perl_Keyword">if</span> (SSL_CipherPolicyGet(*p,
&policy) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: policy for
cipher %u: error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ (<span class="perl_DataType">unsigned</span>)*p, err,
PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Keyword">if</span> (policy == SSL_ALLOWED) {
+ fprintf(stderr, <span class="perl_String">"info: found cipher
%x</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, (<span
class="perl_DataType">unsigned</span>)*p);
+ found_good_cipher = <span class="perl_Float">1</span>;
+ <span class="perl_Keyword">break</span>;
+ }
+}
+<span class="perl_Keyword">if</span> (!found_good_cipher) {
+ <span class="perl_Keyword">if</span> (NSS_SetDomesticPolicy() !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
NSS_SetDomesticPolicy: error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+}
+
+<span class="perl_Comment">// Initialize the trusted certificate
store.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">char</span> module_name[] = <span
class="perl_String">"library=libnssckbi.so name=</span><span
class="perl_Char">\"</span><span
class="perl_String">Root Certs</span><span
class="perl_Char">\"</span><span
class="perl_String">"</span>;
+SECMODModule *module = SECMOD_LoadUserModule(module_name, NULL, PR_FALSE);
+<span class="perl_Keyword">if</span> (module == NULL ||
!module->loaded) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: NSPR error code
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Some of the effects of the initialization can be reverted with the following function
calls:
+ </div><div class="informalexample"
id="ex-Defensive_Coding-TLS-NSS-Close"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SECMOD_DestroyModule(module);
+NSS_ShutdownContext(ctx);
+</pre></div><div class="para">
+ After NSS has been initialized, the TLS connection can be created (<a
class="xref"
href="#ex-Defensive_Coding-TLS-Client-NSS-Connect">Example 13.23, “Creating a
TLS connection with NSS”</a>). The internal <code
class="function">PR_ImportTCPSocket</code> function is used to turn the
POSIX file descriptor <code class="literal">sockfd</code> into an
NSPR file descriptor. (This function is de-facto part of the NSS public ABI, so it will
not go away.) Creating the TLS-capable file descriptor requires a <span
class="emphasis"><em>model</em></span> descriptor, which is
configured with the desired set of protocols. The model descriptor is not needed anymore
after TLS support has been activated for the existing connection descriptor.
+ </div><div class="para">
+ The call to <code class="function">SSL_BadCertHook</code> can
be omitted if no mechanism to override certificate verification is needed. The <code
class="literal">bad_certificate</code> function must check both the
host name specified for the connection and the certificate before granting the override.
+ </div><div class="para">
+ Triggering the actual handshake requires three function calls, <code
class="function">SSL_ResetHandshake</code>, <code
class="function">SSL_SetURL</code>, and <code
class="function">SSL_ForceHandshake</code>. (If <code
class="function">SSL_ResetHandshake</code> is omitted, <code
class="function">SSL_ForceHandshake</code> will succeed, but the data
will not be encrypted.) During the handshake, the certificate is verified and matched
against the host name.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-NSS-Connect"><h6>Example 13.23. Creating
a TLS connection with NSS</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Wrap the POSIX file descriptor. This is an
internal NSPR</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// function, but it is very unlikely to
change.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>PRFileDesc* nspr =
PR_ImportTCPSocket(sockfd);
+sockfd = <span class="perl_DecVal">-1</span>; <span
class="perl_Comment">// Has been taken over by NSPR.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>
+<span class="perl_Comment">// Add the SSL layer.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>{
+ PRFileDesc *model = PR_NewTCPSocket();
+ PRFileDesc *newfd = SSL_ImportFD(NULL, model);
+ <span class="perl_Keyword">if</span> (newfd == NULL) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: NSPR error
code %d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ model = newfd;
+ newfd = NULL;
+ <span class="perl_Keyword">if</span> (SSL_OptionSet(model,
SSL_ENABLE_SSL2, PR_FALSE) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: set
SSL_ENABLE_SSL2 error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Keyword">if</span> (SSL_OptionSet(model,
SSL_V2_COMPATIBLE_HELLO, PR_FALSE) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: set
SSL_V2_COMPATIBLE_HELLO error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Keyword">if</span> (SSL_OptionSet(model,
SSL_ENABLE_DEFLATE, PR_FALSE) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: set
SSL_ENABLE_DEFLATE error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+
+ <span class="perl_Comment">// Allow overriding invalid
certificate.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">if</span> (SSL_BadCertHook(model, bad_certificate,
(<span class="perl_DataType">char</span> *)host) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
SSL_BadCertHook error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+
+ newfd = SSL_ImportFD(model, nspr);
+ <span class="perl_Keyword">if</span> (newfd == NULL) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: SSL_ImportFD
error %d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ nspr = newfd;
+ PR_Close(model);
+}
+
+<span class="perl_Comment">// Perform the handshake.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (SSL_ResetHandshake(nspr, PR_FALSE) !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
SSL_ResetHandshake error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (SSL_SetURL(nspr, host) !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: SSL_SetURL error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (SSL_ForceHandshake(nspr) !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
SSL_ForceHandshake error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the connection has been established, <a class="xref"
href="#ex-Defensive_Coding-TLS-NSS-Use">Example 13.24, “Using NSS for sending
and receiving data”</a> shows how to use the NSPR descriptor to communicate with the
server.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-NSS-Use"><h6>Example 13.24. Using NSS for
sending and receiving data</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[4096];
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n</span><span
class="perl_String">Host: %s</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>, host);
+PRInt32 ret = PR_Write(nspr, buf, strlen(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: PR_Write error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+ret = PR_Read(nspr, buf, <span
class="perl_Keyword">sizeof</span>(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: PR_Read error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-NSS-Close">Example 13.25, “Closing NSS
client connections”</a> shows how to close the connection.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-NSS-Close"><h6>Example 13.25. Closing
NSS client connections</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Send close_notify
alert.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (PR_Shutdown(nspr, PR_SHUTDOWN_BOTH) !=
PR_SUCCESS) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: PR_Read error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// Closes the underlying POSIX file
descriptor, too.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>PR_Close(nspr);
+</pre></div></div><br class="example-break"
/></div><div class="section"
id="sect-Defensive_Coding-TLS-Client-Python"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.5. Implementing TLS Clients With
Python</h3></div></div></div><div class="para">
+ The Python distribution provides a TLS implementation in the <code
class="literal">ssl</code> module (actually a wrapper around OpenSSL).
The exported interface is somewhat restricted, so that the client code shown below does
not fully implement the recommendations in <a class="xref"
href="#sect-Defensive_Coding-TLS-OpenSSL">Section 13.1.1, “OpenSSL
Pitfalls”</a>.
+ </div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ Currently, most Python function which accept <code
class="literal">https://</code> URLs or otherwise implement HTTPS
support do not perform certificate validation at all. (For example, this is true for the
<code class="literal">httplib</code> and <code
class="literal">xmlrpclib</code> modules.) If you use HTTPS, you should
not use the built-in HTTP clients. The <code
class="literal">Curl</code> class in the <code
class="literal">curl</code> module, as provided by the <code
class="literal">python-pycurl</code> package implements proper
certificate validation.
+ </div></div></div><div class="para">
+ The <code class="literal">ssl</code> module currently does not
perform host name checking on the server certificate. <a class="xref"
href="#ex-Defensive_Coding-TLS-Client-Python-check_host_name">Example 13.26,
“Implementing TLS host name checking Python (without wildcard support)”</a> shows
how to implement certificate matching, using the parsed certificate returned by <code
class="function">getpeercert</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-Python-check_host_name"><h6>Example 13.26. Implementing
TLS host name checking Python (without wildcard support)</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">def</span> check_host_name<span
class="perl_Char">(peercert</span>, name<span
class="perl_Char">):</span>
+ <span class="perl_Comment">"""Simple certificate/host
name checker. Returns True if the</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment"> certificate matches, False otherwise. Does not
support</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment"> wildcards."""</span>
+ # Check that the peer has supplied a certificate.
+ # <span class="perl_Others">None</span><span
class="perl_Char">/{}</span> <span
class="perl_Keyword">is</span> <span
class="perl_Keyword">not</span> acceptable.
+ <span class="perl_Keyword">if</span> <span
class="perl_Keyword">not</span> peercert<span
class="perl_Char">:</span>
+ <span class="perl_Keyword">return</span> <span
class="perl_Others">False</span>
+ <span class="perl_Keyword">if</span> peercert.has_key<span
class="perl_Char">(</span><span
class="perl_String">"subjectAltName"</span><span
class="perl_Char">):</span>
+ <span class="perl_Keyword">for</span> typ, val <span
class="perl_Keyword">in</span> peercert<span
class="perl_Char">[</span><span
class="perl_String">"subjectAltName"</span><span
class="perl_Char">]:</span>
+ <span class="perl_Keyword">if</span> typ <span
class="perl_Char">==</span> <span
class="perl_String">"DNS"</span> <span
class="perl_Keyword">and</span> val <span
class="perl_Char">==</span> name<span
class="perl_Char">:</span>
+ <span class="perl_Keyword">return</span> <span
class="perl_Others">True</span>
+ <span class="perl_Keyword">else</span><span
class="perl_Char">:</span>
+ # Only check the subject DN <span
class="perl_Keyword">if</span> there <span
class="perl_Keyword">is</span> no subject alternative
+ # name.
+ cn <span class="perl_Char">=</span> <span
class="perl_Others">None</span>
+ <span class="perl_Keyword">for</span> attr, val <span
class="perl_Keyword">in</span> peercert<span
class="perl_Char">[</span><span
class="perl_String">"subject"</span><span
class="perl_Char">]:</span>
+ # Use most<span class="perl_Char">-specific</span>
<span class="perl_Char">(last)</span> commonName attribute.
+ <span class="perl_Keyword">if</span> attr <span
class="perl_Char">==</span> <span
class="perl_String">"commonName"</span><span
class="perl_Char">:</span>
+ cn <span class="perl_Char">=</span> val
+ <span class="perl_Keyword">if</span> cn <span
class="perl_Keyword">is</span> <span
class="perl_Keyword">not</span> <span
class="perl_Others">None</span><span
class="perl_Char">:</span>
+ <span class="perl_Keyword">return</span> cn <span
class="perl_Char">==</span> name
+ <span class="perl_Keyword">return</span> <span
class="perl_Others">False</span>
+</pre></div></div><br class="example-break" /><div
class="para">
+ To turn a regular, connected TCP socket into a TLS-enabled socket, use the <code
class="function">ssl.wrap_socket</code> function. The function call in
<a class="xref"
href="#ex-Defensive_Coding-TLS-Client-Python-Connect">Example 13.27,
“Establishing a TLS client connection with Python”</a> provides additional arguments
to override questionable defaults in OpenSSL and in the Python module.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code
class="literal">ciphers="HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</code>
selects relatively strong cipher suites with certificate-based authentication. (The call
to <code class="function">check_host_name</code> function provides
additional protection against anonymous cipher suites.)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">ssl_version=ssl.PROTOCOL_TLSv1</code>
disables SSL 2.0 support. By default, the <code
class="literal">ssl</code> module sends an SSL 2.0 client hello, which
is rejected by some servers. Ideally, we would request OpenSSL to negotiated the most
recent TLS version supported by the server and the client, but the Python module does not
allow this.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">cert_reqs=ssl.CERT_REQUIRED</code>
turns on certificate validation.
+ </div></li><li class="listitem"><div
class="para">
+ <code
class="literal">ca_certs='/etc/ssl/certs/ca-bundle.crt'</code>
initializes the certificate store with a set of trusted root CAs. Unfortunately, it is
necessary to hard-code this path into applications because the default path in OpenSSL is
not available through the Python <code class="literal">ssl</code>
module.
+ </div></li></ul></div><div class="para">
+ The <code class="literal">ssl</code> module (and OpenSSL)
perform certificate validation, but the certificate must be compared manually against the
host name, by calling the <code
class="function">check_host_name</code> defined above.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-Python-Connect"><h6>Example 13.27. Establishing
a TLS client connection with Python</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+sock <span class="perl_Char">=</span> ssl.wrap_socket<span
class="perl_Char">(sock</span>,
+ ciphers<span
class="perl_Char">=</span><span
class="perl_String">"HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</span>,
+ ssl_version<span
class="perl_Char">=ssl</span>.PROTOCOL_TLSv1,
+ cert_reqs<span
class="perl_Char">=ssl</span>.CERT_REQUIRED,
+ ca_certs<span
class="perl_Char">=</span><span
class="perl_String">'/etc/ssl/certs/ca-bundle.crt'</span><span
class="perl_Char">)</span>
+# getpeercert<span class="perl_Char">()</span> triggers the
handshake <span class="perl_Char">as</span> a side effect.
+<span class="perl_Keyword">if</span> <span
class="perl_Keyword">not</span> check_host_name<span
class="perl_Char">(sock</span>.getpeercert<span
class="perl_Char">()</span>, host<span
class="perl_Char">):</span>
+ <span class="perl_Keyword">raise</span> IOError<span
class="perl_Char">(</span><span
class="perl_String">"peer certificate does not match host
name"</span><span class="perl_Char">)</span>
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the connection has been established, the TLS socket can be used like a regular
socket:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+sock.write<span class="perl_Char">(</span><span
class="perl_String">"GET / HTTP/1.1\r\nHost: "</span>
<span class="perl_Char">+</span> host <span
class="perl_Char">+</span> <span
class="perl_String">"\r\n\r\n"</span><span
class="perl_Char">)</span>
+<span class="perl_Keyword">print</span> sock.read<span
class="perl_Char">()</span>
+</pre></div><div class="para">
+ Closing the TLS socket is straightforward as well:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+sock.close<span class="perl_Char">()</span>
+</pre></div></div></div></div></div><div
xml:lang="en-US" class="appendix"
id="appe-UEFI_Secure_Boot_Guide-Revision_History"
lang="en-US"><div
class="titlepage"><div><div><h1
class="title">Revision
History</h1></div></div></div><div class="para">
+ <div class="revhistory"><table summary="Revision
History"><tr><th align="left" valign="top"
colspan="3"><strong>Revision
History</strong></th></tr><tr><td
align="left">Revision 1.0-1</td><td align="left">Thu
May 09 2013</td><td align="left"><span
class="author"><span class="firstname">Eric</span>
<span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Added more C and C++
examples.</td></tr><tr><td>TLS Client NSS: Rely on NSS 3.14 cipher
suite defaults.</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0-1</td><td align="left">Thu Mar 7 2013</td><td
align="left"><span class="author"><span
class="firstname">Eric</span> <span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Initial
publication.</td></tr></table>
+
+ </td></tr></table></div>
+
+ </div></div></div></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/common.css
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/common.css
new file mode 100644
index 0000000..d7dc3f2
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/common.css
@@ -0,0 +1,1528 @@
+* {
+ widows: 2 !important;
+ orphans: 2 !important;
+}
+
+body, h1, h2, h3, h4, h5, h6, pre, li, div {
+ line-height: 1.29em;
+}
+
+body {
+ background-color: white;
+ margin:0 auto;
+ font-family: "liberation sans", "Myriad ", "Bitstream Vera
Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS",
helvetica, verdana, arial, sans-serif;
+ font-size:12px;
+ max-width:55em;
+ color:black;
+}
+
+body.toc_embeded {
+ /*for web hosting system only*/
+ margin-left: 300px;
+}
+
+object.toc, iframe.toc {
+ /*for web hosting system only*/
+ border-style:none;
+ position:fixed;
+ width:290px;
+ height:99.99%;
+ top:0;
+ left:0;
+ z-index: 100;
+ border-style:none;
+ border-right:1px solid #999;
+}
+
+/* Hide web menu */
+
+body.notoc {
+ margin-left: 3em;
+}
+
+iframe.notoc {
+ border-style:none;
+ border: none;
+ padding: 0em;
+ position:fixed;
+ width: 21px;
+ height: 29px;
+ top: 0px;
+ left:0;
+ overflow: hidden;
+ margin: 0em;
+ margin-left: -3px;
+}
+/* End hide web menu */
+
+/* desktop styles */
+body.desktop {
+ margin-left: 26em;
+}
+
+body.desktop .book > .toc {
+ display:block;
+ width:24em;
+ height:99%;
+ position:fixed;
+ overflow:auto;
+ top:0px;
+ left:0px;
+ padding-left:1em;
+ background-color:#EEEEEE;
+}
+
+.toc {
+ line-height:1.35em;
+}
+
+.toc .glossary,
+.toc .chapter, .toc .appendix {
+ margin-top:1em;
+}
+
+.toc .part {
+ margin-top:1em;
+ display:block;
+}
+
+span.glossary,
+span.appendix {
+ display:block;
+ margin-top:0.5em;
+}
+
+div {
+ padding-top:0px;
+}
+
+div.section {
+ padding-top:1em;
+}
+
+p, div.para, div.formalpara {
+ padding-top:0px;
+ margin-top:0.3em;
+ padding-bottom:0px;
+ margin-bottom:1em;
+}
+
+/*Links*/
+a {
+ outline: none;
+}
+
+a:link {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#3366cc;
+}
+
+a:visited {
+ text-decoration:none;
+ border-bottom: 1px dotted ;
+ color:#003366;
+}
+
+div.longdesc-link {
+ float:right;
+ color:#999;
+}
+
+.toc a, .qandaset a {
+ font-weight:normal;
+ border:none;
+}
+
+.toc a:hover, .qandaset a:hover
+{
+ border-bottom: 1px dotted;
+}
+
+/*headings*/
+h1, h2, h3, h4, h5, h6 {
+ color: #336699;
+ margin-top: 0em;
+ margin-bottom: 0em;
+ background-color: transparent;
+ page-break-inside: avoid;
+ page-break-after: avoid;
+}
+
+h1 {
+ font-size:2.0em;
+}
+
+.titlepage h1.title {
+ font-size: 3.0em;
+ padding-top: 1em;
+ text-align:left;
+}
+
+.book > .titlepage h1.title {
+ text-align:center;
+}
+
+.article > .titlepage h1.title {
+ text-align:center;
+}
+
+.set .titlepage > div > div > h1.title {
+ text-align:center;
+}
+
+.producttitle {
+ margin-top: 0em;
+ margin-bottom: 0em;
+ font-size: 3.0em;
+ font-weight: bold;
+ background: #003d6e url(../images/h1-bg.png) top left repeat-x;
+ color: white;
+ text-align: center;
+ padding: 0.7em;
+}
+
+.titlepage .corpauthor {
+ margin-top: 1em;
+ text-align: center;
+}
+
+.section h1.title {
+ font-size: 1.6em;
+ padding: 0em;
+ color: #336699;
+ text-align: left;
+ background: white;
+}
+
+h2 {
+ font-size:1.6em;
+}
+
+
+h2.subtitle, h3.subtitle {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ text-align: center;
+}
+
+.preface > div > div > div > h2.title {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+.appendix h2 {
+ margin-top: 1em;
+ font-size: 2.0em;
+}
+
+
+
+h3 {
+ font-size:1.3em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+h4 {
+ font-size:1.1em;
+ padding-top:0em;
+ padding-bottom:0em;
+}
+
+h5 {
+ font-size:1em;
+}
+
+h6 {
+ font-size:1em;
+}
+
+h5.formalpara {
+ font-size:1em;
+ margin-top:2em;
+ margin-bottom:.8em;
+}
+
+.abstract h6 {
+ margin-top:1em;
+ margin-bottom:.5em;
+ font-size:2em;
+}
+
+/*element rules*/
+hr {
+ border-collapse: collapse;
+ border-style:none;
+ border-top: 1px dotted #ccc;
+ width:100%;
+ margin-top: 3em;
+}
+
+/* web site rules */
+ul.languages, .languages li {
+ display:inline;
+ padding:0em;
+}
+
+.languages li a {
+ padding:0em .5em;
+ text-decoration: none;
+}
+
+.languages li p, .languages li div.para {
+ display:inline;
+}
+
+.languages li a:link, .languages li a:visited {
+ color:#444;
+}
+
+.languages li a:hover, .languages li a:focus, .languages li a:active {
+ color:black;
+}
+
+ul.languages {
+ display:block;
+ background-color:#eee;
+ padding:.5em;
+}
+
+/*supporting stylesheets*/
+
+/*unique to the webpage only*/
+.books {
+ position:relative;
+}
+
+.versions li {
+ width:100%;
+ clear:both;
+ display:block;
+}
+
+a.version {
+ font-size:2em;
+ text-decoration:none;
+ width:100%;
+ display:block;
+ padding:1em 0em .2em 0em;
+ clear:both;
+}
+
+a.version:before {
+ content:"Version";
+ font-size:smaller;
+}
+
+a.version:visited, a.version:link {
+ color:#666;
+}
+
+a.version:focus, a.version:hover {
+ color:black;
+}
+
+.books {
+ display:block;
+ position:relative;
+ clear:both;
+ width:100%;
+}
+
+.books li {
+ display:block;
+ width:200px;
+ float:left;
+ position:relative;
+ clear: none ;
+}
+
+.books .html {
+ width:170px;
+ display:block;
+}
+
+.books .pdf {
+ position:absolute;
+ left:170px;
+ top:0px;
+ font-size:smaller;
+}
+
+.books .pdf:link, .books .pdf:visited {
+ color:#555;
+}
+
+.books .pdf:hover, .books .pdf:focus {
+ color:#000;
+}
+
+.books li a {
+ text-decoration:none;
+}
+
+.books li a:hover {
+ color:black;
+}
+
+/*products*/
+.products li {
+ display: block;
+ width:300px;
+ float:left;
+}
+
+.products li a {
+ width:300px;
+ padding:.5em 0em;
+}
+
+.products ul {
+ clear:both;
+}
+
+/*revision history*/
+.revhistory {
+ display:block;
+}
+
+.revhistory table {
+ background-color:transparent;
+ border-color:#fff;
+ padding:0em;
+ margin: 0;
+ border-collapse:collapse;
+ border-style:none;
+}
+
+.revhistory td {
+ text-align :left;
+ padding:0em;
+ border: none;
+ border-top: 1px solid #fff;
+ font-weight: bold;
+}
+
+.revhistory .simplelist td {
+ font-weight: normal;
+}
+
+.revhistory .simplelist {
+ margin-bottom: 1.5em;
+ margin-left: 1em;
+}
+
+.revhistory table th {
+ display: none;
+}
+
+
+/*credits*/
+.authorgroup div {
+ clear:both;
+ text-align: center;
+}
+
+h3.author {
+ margin: 0em;
+ padding: 0em;
+ padding-top: 1em;
+}
+
+.authorgroup h4 {
+ padding: 0em;
+ margin: 0em;
+ padding-top: 1em;
+ margin-top: 1em;
+}
+
+.author,
+.editor,
+.translator,
+.othercredit,
+.contrib {
+ display: block;
+}
+
+.revhistory .author {
+ display: inline;
+}
+
+.othercredit h3 {
+ padding-top: 1em;
+}
+
+
+.othercredit {
+ margin:0em;
+ padding:0em;
+}
+
+.releaseinfo {
+ clear: both;
+}
+
+.copyright {
+ margin-top: 1em;
+}
+
+/* qanda sets */
+.answer {
+ margin-bottom:1em;
+ border-bottom:1px dotted #ccc;
+}
+
+.qandaset .toc {
+ border-bottom:1px dotted #ccc;
+}
+
+.question {
+ font-weight:bold;
+}
+
+.answer .data, .question .data {
+ padding-left: 2.6em;
+}
+
+.answer label, .question label {
+ float:left;
+ font-weight:bold;
+}
+
+/* inline syntax highlighting */
+.perl_Alert {
+ color: #0000ff;
+}
+
+.perl_BaseN {
+ color: #007f00;
+}
+
+.perl_BString {
+ color: #5C3566;
+}
+
+.perl_Char {
+ color: #ff00ff;
+}
+
+.perl_Comment {
+ color: #FF00FF;
+}
+
+
+.perl_DataType {
+ color: #0000ff;
+}
+
+
+.perl_DecVal {
+ color: #00007f;
+}
+
+
+.perl_Error {
+ color: #ff0000;
+}
+
+
+.perl_Float {
+ color: #00007f;
+}
+
+
+.perl_Function {
+ color: #007f00;
+}
+
+
+.perl_IString {
+ color: #5C3566;
+}
+
+
+.perl_Keyword {
+ color: #002F5D;
+}
+
+
+.perl_Operator {
+ color: #ffa500;
+}
+
+
+.perl_Others {
+ color: #b03060;
+}
+
+
+.perl_RegionMarker {
+ color: #96b9ff;
+}
+
+
+.perl_Reserved {
+ color: #9b30ff;
+}
+
+
+.perl_String {
+ color: #5C3566;
+}
+
+
+.perl_Variable {
+ color: #0000ff;
+}
+
+
+.perl_Warning {
+ color: #0000ff;
+}
+
+/*Lists*/
+ul {
+ padding-left:1.6em;
+ list-style-image:url(../images/dot.png);
+ list-style-type: circle;
+}
+
+ul ul {
+ list-style-image:url(../images/dot2.png);
+ list-style-type: circle;
+}
+
+ol {
+ list-style-image:none;
+ list-style-type: decimal;
+}
+
+ol ol {
+ list-style-type: lower-alpha;
+}
+
+ol.arabic {
+ list-style-type: decimal;
+}
+
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+dt {
+ font-weight:bold;
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+dd {
+ margin:0em;
+ margin-left:2em;
+ padding-top:0em;
+ padding-bottom: 1em;
+}
+
+li {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.4em;
+}
+
+li p, li div.para {
+ padding-top:0px;
+ margin-top:0em;
+ padding-bottom:0px;
+ margin-bottom:0.3em;
+}
+
+/*images*/
+img {
+ display:block;
+ margin: 2em 0;
+}
+
+.inlinemediaobject, .inlinemediaobject img {
+ display:inline;
+ margin:0em;
+}
+
+.figure img {
+ display:block;
+ margin:0;
+ page-break-inside: avoid;
+}
+
+.figure .title {
+ margin:0em;
+ margin-bottom:2em;
+ padding:0px;
+}
+
+/*document modes*/
+.confidential {
+ background-color:#900;
+ color:White;
+ padding:.5em .5em;
+ text-transform:uppercase;
+ text-align:center;
+}
+
+.longdesc-link {
+ display:none;
+}
+
+.longdesc {
+ display:none;
+}
+
+.prompt {
+ padding:0em .3em;
+}
+
+/*user interface styles*/
+.screen .replaceable {
+}
+
+.guibutton, .guilabel {
+ font-family: "liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight: bold;
+ white-space: nowrap;
+}
+
+.example {
+ background-color: #ffffff;
+ border-left: 3px solid #aaaaaa;
+ padding-top: 1em;
+ padding-bottom: 0.1em;
+}
+
+.example h6 {
+ padding-left: 10px;
+}
+
+.example-contents {
+ padding-left: 10px;
+ background-color: #ffffff;
+}
+
+.example-contents .para {
+/* padding: 10px;*/
+}
+
+/*terminal/console text*/
+.computeroutput,
+.option {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+.replaceable {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-style: italic;
+}
+
+.command, .filename, .keycap, .classname, .literal {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ font-weight:bold;
+}
+
+/* no bold in toc */
+.toc * {
+ font-weight: inherit;
+}
+
+pre {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+ display:block;
+ background-color: #f5f5f5;
+ color: #000000;
+ border: 1px solid #aaaaaa;
+ margin-bottom: 0.3em;
+ padding:.5em 1em;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+ font-size: 0.9em;
+}
+
+pre .replaceable,
+pre .keycap {
+}
+
+code {
+ font-family:"liberation mono", "bitstream vera mono", "dejavu
mono", monospace;
+/* white-space: nowrap;*/
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ font-weight:bold;
+}
+
+.parameter code {
+ display: inline;
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+
+/*Notifications*/
+div.warning:before {
+ content:url(../images/warning.png);
+ padding-left: 5px;
+}
+
+div.note:before {
+ content:url(../images/note.png);
+ padding-left: 5px;
+}
+
+div.important:before {
+ content:url(../images/important.png);
+ padding-left: 5px;
+}
+
+div.warning, div.note, div.important {
+ color: black;
+ margin: 0em;
+ padding: 0em;
+ background: none;
+ background-color: white;
+ margin-bottom: 1em;
+ border-bottom: 1px solid #aaaaaa;
+ page-break-inside: avoid;
+}
+
+div.warning h2, div.note h2,div.important h2 {
+ margin: 0em;
+ padding: 0em;
+ color: #eeeeec;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: 1.4em;
+ line-height: 1.4em;
+ font-size: 1.4em;
+ display:inline;
+}
+
+div.admonition_header {
+ clear: both;
+ margin: 0em;
+ padding: 0em;
+ margin-top: -3.3em;
+ padding-left: 58px;
+ line-height: 1.0em;
+ font-size: 1.0em;
+}
+
+div.warning div.admonition_header {
+ background: url(../images/red.png) top left repeat-x;
+ background-color: #590000;
+}
+
+div.note div.admonition_header {
+ background: url(../images/green.png) top right repeat-x;
+ background-color: #597800;
+}
+
+div.important div.admonition_header {
+ background: url(../images/yellow.png) top right repeat-x;
+ background-color: #a6710f;
+}
+
+div.warning p, div.warning div.para,
+div.note p, div.note div.para,
+div.important p, div.important div.para {
+ padding: 0em;
+ margin: 0em;
+}
+
+div.admonition {
+ border: none;
+ border-left: 1px solid #aaaaaa;
+ border-right: 1px solid #aaaaaa;
+ padding:0em;
+ margin:0em;
+ padding-top: 1.5em;
+ padding-bottom: 1em;
+ padding-left: 2em;
+ padding-right: 1em;
+ background-color: #eeeeec;
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+
+/*Page Title*/
+#title {
+ display:block;
+ height:45px;
+ padding-bottom:1em;
+ margin:0em;
+}
+
+#title a.left{
+ display:inline;
+ border:none;
+}
+
+#title a.left img{
+ border:none;
+ float:left;
+ margin:0em;
+ margin-top:.7em;
+}
+
+#title a.right {
+ padding-bottom:1em;
+}
+
+#title a.right img {
+ border:none;
+ float:right;
+ margin:0em;
+ margin-top:.7em;
+}
+
+/*Table*/
+div.table {
+ page-break-inside: avoid;
+}
+
+table {
+ border:1px solid #6c614b;
+ width:100%;
+ border-collapse:collapse;
+}
+
+table.simplelist, .calloutlist table {
+ border-style: none;
+}
+
+table th {
+ text-align:left;
+ background-color:#6699cc;
+ padding:.3em .5em;
+ color:white;
+}
+
+table td {
+ padding:.15em .5em;
+}
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+table th p:first-child, table td p:first-child, table li p:first-child,
+table th div.para:first-child, table td div.para:first-child, table li
div.para:first-child {
+ margin-top:0em;
+ padding-top:0em;
+ display:inline;
+}
+
+th, td {
+ border-style:none;
+ vertical-align: top;
+ border: 1px solid #000;
+}
+
+.simplelist th, .simplelist td {
+ border: none;
+}
+
+table table td {
+ border-bottom:1px dotted #aaa;
+ background-color:white;
+ padding:.6em 0em;
+}
+
+table table {
+ border:1px solid white;
+}
+
+td.remarkval {
+ color:#444;
+}
+
+td.fieldval {
+ font-weight:bold;
+}
+
+.lbname, .lbtype, .lbdescr, .lbdriver, .lbhost {
+ color:white;
+ font-weight:bold;
+ background-color:#999;
+ width:120px;
+}
+
+td.remarkval {
+ width:230px;
+}
+
+td.tname {
+ font-weight:bold;
+}
+
+th.dbfield {
+ width:120px;
+}
+
+th.dbtype {
+ width:70px;
+}
+
+th.dbdefault {
+ width:70px;
+}
+
+th.dbnul {
+ width:70px;
+}
+
+th.dbkey {
+ width:70px;
+}
+
+span.book {
+ margin-top:4em;
+ display:block;
+ font-size:11pt;
+}
+
+span.book a{
+ font-weight:bold;
+}
+span.chapter {
+ display:block;
+ margin-top:0.5em;
+}
+
+table.simplelist td, .calloutlist table td {
+ border-style: none;
+}
+
+/*Breadcrumbs*/
+#breadcrumbs ul li.first:before {
+ content:" ";
+}
+
+#breadcrumbs {
+ color:#900;
+ padding:3px;
+ margin-bottom:25px;
+}
+
+#breadcrumbs ul {
+ margin-left:0;
+ padding-left:0;
+ display:inline;
+ border:none;
+}
+
+#breadcrumbs ul li {
+ margin-left:0;
+ padding-left:2px;
+ border:none;
+ list-style:none;
+ display:inline;
+}
+
+#breadcrumbs ul li:before {
+ content:"\0020 \0020 \0020 \00BB \0020";
+ color:#333;
+}
+
+/*index*/
+.glossary h3,
+.index h3 {
+ font-size: 2em;
+ color:#aaa;
+ margin:0em;
+}
+
+.indexdiv {
+ margin-bottom:1em;
+}
+
+.glossary dt,
+.index dt {
+ color:#444;
+ padding-top:.5em;
+}
+
+.glossary dl dl dt,
+.index dl dl dt {
+ color:#777;
+ font-weight:normal;
+ padding-top:0em;
+}
+
+.index dl dl dt:before {
+ content:"- ";
+ color:#ccc;
+}
+
+/*changes*/
+.footnote {
+ font-size: .7em;
+ margin:0em;
+ color:#222;
+}
+
+table .footnote {
+}
+
+sup {
+ color:#999;
+ margin:0em;
+ padding:0em;
+ line-height: .4em;
+ font-size: 1em;
+ padding-left:0em;
+}
+
+.footnote {
+ position:relative;
+}
+
+.footnote sup {
+ color:#e3dcc0;
+ position:absolute;
+ left: .4em;
+}
+
+.footnote sup a:link,
+.footnote sup a:visited {
+ color:#92917d;
+ text-decoration:none;
+}
+
+.footnote:hover sup a {
+ text-decoration:none;
+}
+
+.footnote p,.footnote div.para {
+ padding-left:2em;
+}
+
+.footnote a:link,
+.footnote a:visited {
+ color:#00537c;
+}
+
+.footnote a:hover {
+}
+
+/**/
+div.chapter {
+ margin-top:3em;
+ page-break-inside: avoid;
+}
+
+div.preface {
+ page-break-inside: avoid;
+}
+
+div.section {
+ margin-top:1em;
+ page-break-inside: auto;
+}
+
+div.note .replaceable,
+div.important .replaceable,
+div.warning .replaceable,
+div.note .keycap,
+div.important .keycap,
+div.warning .keycap
+{
+}
+
+ul li p:last-child, ul li div.para:last-child {
+ margin-bottom:0em;
+ padding-bottom:0em;
+}
+
+/*document navigation*/
+.docnav a, .docnav strong {
+ border:none;
+ text-decoration:none;
+ font-weight:normal;
+}
+
+.docnav {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ position:relative;
+ width:100%;
+ padding-bottom:2em;
+ padding-top:1em;
+ border-top:1px dotted #ccc;
+}
+
+.docnav li {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+ display:inline;
+ font-size:.8em;
+}
+
+.docnav li:before {
+ content:" ";
+}
+
+.docnav li.previous, .docnav li.next {
+ position:absolute;
+ top:1em;
+}
+
+.docnav li.up, .docnav li.home {
+ margin:0em 1.5em;
+}
+
+.docnav li.previous {
+ left:0px;
+ text-align:left;
+}
+
+.docnav li.next {
+ right:0px;
+ text-align:right;
+}
+
+.docnav li.previous strong, .docnav li.next strong {
+ height:22px;
+ display:block;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+.docnav li.next a strong {
+ background: url(../images/stock-go-forward.png) top right no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-right:28px;
+ font-size:1.2em;
+}
+
+.docnav li.previous a strong {
+ background: url(../images/stock-go-back.png) top left no-repeat;
+ padding-top:3px;
+ padding-bottom:4px;
+ padding-left:28px;
+ padding-right:0.5em;
+ font-size:1.2em;
+}
+
+.docnav li.home a strong {
+ background: url(../images/stock-home.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav li.up a strong {
+ background: url(../images/stock-go-up.png) top left no-repeat;
+ padding:5px;
+ padding-left:28px;
+ font-size:1.2em;
+}
+
+.docnav a:link, .docnav a:visited {
+ color:#666;
+}
+
+.docnav a:hover, .docnav a:focus, .docnav a:active {
+ color:black;
+}
+
+.docnav a {
+ max-width: 10em;
+ overflow:hidden;
+}
+
+.docnav a:link strong {
+ text-decoration:none;
+}
+
+.docnav {
+ margin:0 auto;
+ text-align:center;
+}
+
+ul.docnav {
+ margin-bottom: 1em;
+}
+/* Reports */
+.reports ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.reports li{
+ margin:0em;
+ padding:0em;
+}
+
+.reports li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.reports dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.reports dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.reports h2, .reports h3{
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.reports div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/*uniform*/
+body.results, body.reports {
+ max-width:57em ;
+ padding:0em;
+}
+
+/*Progress Bar*/
+div.progress {
+ display:block;
+ float:left;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ height:1em;
+}
+
+div.progress span {
+ height:1em;
+ float:left;
+}
+
+div.progress span.translated {
+ background:#6c3 url(../images/shine.png) top left repeat-x;
+}
+
+div.progress span.fuzzy {
+ background:#ff9f00 url(../images/shine.png) top left repeat-x;
+}
+
+
+/*Results*/
+
+.results ul {
+ list-style:none;
+ margin:0em;
+ padding:0em;
+}
+
+.results li{
+ margin:0em;
+ padding:0em;
+}
+
+.results li.odd {
+ background-color: #eeeeee;
+ margin:0em;
+ padding:0em;
+}
+
+.results dl {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ float:right;
+ margin-right: 17em;
+ margin-top:-1.3em;
+}
+
+.results dt {
+ display:inline;
+ margin:0em;
+ padding:0em;
+}
+
+.results dd {
+ display:inline;
+ margin:0em;
+ padding:0em;
+ padding-right:.5em;
+}
+
+.results h2, .results h3 {
+ display:inline;
+ padding-right:.5em;
+ font-size:10pt;
+ font-weight:normal;
+}
+
+.results div.progress {
+ display:inline;
+ float:right;
+ width:16em;
+ background:#c00 url(../images/shine.png) top left repeat-x;
+ margin:0em;
+ margin-top:-1.3em;
+ padding:0em;
+ border:none;
+}
+
+/* Dirty EVIL Mozilla hack for round corners */
+pre {
+ -moz-border-radius:11px;
+ -webkit-border-radius:11px;
+ border-radius: 11px;
+ page-break-inside: avoid;
+}
+
+.example {
+ -moz-border-radius:0px;
+ -webkit-border-radius:0px;
+ border-radius: 0px;
+ page-break-inside: avoid;
+}
+
+.package, .citetitle {
+ font-style: italic;
+}
+
+.titlepage .edition {
+ color: #336699;
+ background-color: transparent;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ font-size: 1.4em;
+ font-weight: bold;
+ text-align: center;
+}
+
+span.remark {
+ background-color: #ff00ff;
+}
+
+.draft {
+ background-image: url(../images/watermark-draft.png);
+ background-repeat: repeat-y;
+ background-position: center;
+}
+
+.foreignphrase {
+ font-style: inherit;
+}
+
+dt {
+ clear:both;
+}
+
+dt img {
+ border-style: none;
+ max-width: 112px;
+}
+
+dt object {
+ max-width: 112px;
+}
+
+dt .inlinemediaobject, dt object {
+ display: inline;
+ float: left;
+ margin-bottom: 1em;
+ padding-right: 1em;
+ width: 112px;
+}
+
+dl:after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.toc dd {
+ padding-bottom: 0em;
+ margin-bottom: 1em;
+ padding-left: 1.3em;
+ margin-left: 0em;
+}
+
+div.toc > dl > dt {
+ padding-bottom: 0em;
+ margin-bottom: 0em;
+ margin-top: 1em;
+}
+
+
+.strikethrough {
+ text-decoration: line-through;
+}
+
+.underline {
+ text-decoration: underline;
+}
+
+.calloutlist img, .callout {
+ padding: 0em;
+ margin: 0em;
+ width: 12pt;
+ display: inline;
+ vertical-align: middle;
+}
+
+.stepalternatives {
+ list-style-image: none;
+ list-style-type: none;
+}
+
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/default.css
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/default.css
new file mode 100644
index 0000000..bf38ebb
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/default.css
@@ -0,0 +1,3 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/lang.css
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/lang.css
new file mode 100644
index 0000000..81c3115
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/lang.css
@@ -0,0 +1,2 @@
+/* place holder */
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/overrides.css
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/overrides.css
new file mode 100644
index 0000000..057be29
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/overrides.css
@@ -0,0 +1,51 @@
+a:link {
+ color:#0066cc;
+}
+
+a:hover, a:active {
+ color:#003366;
+}
+
+a:visited {
+ color:#6699cc;
+}
+
+
+h1 {
+ color:#3c6eb4
+}
+
+.producttitle {
+ background: #3c6eb4 url(../images/h1-bg.png) top left repeat;
+}
+
+.section h1.title {
+ color:#3c6eb4;
+}
+
+
+h2,h3,h4,h5,h6 {
+ color:#3c6eb4;
+}
+
+table {
+ border:1px solid #3c6eb4;
+}
+
+table th {
+ background-color:#3c6eb4;
+}
+
+
+table tr.even td {
+ background-color:#f5f5f5;
+}
+
+.revhistory table th {
+ color:#3c6eb4;
+}
+
+.titlepage .edition {
+ color: #3c6eb4;
+}
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/print.css
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/print.css
new file mode 100644
index 0000000..773d8ae
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/css/print.css
@@ -0,0 +1,16 @@
+@import url("common.css");
+@import url("overrides.css");
+@import url("lang.css");
+
+#tocframe {
+ display: none;
+}
+
+body.toc_embeded {
+ margin-left: 30px;
+}
+
+.producttitle {
+ color: #336699;
+}
+
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/1.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/1.png
new file mode 100644
index 0000000..c21d7a3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/1.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/1.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/1.svg
new file mode 100644
index 0000000..a2b3903
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/1.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 17.853468,22.008438 -2.564941,0 0,-7.022461 c -5e-6,-0.143873
-5e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224122,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08854,0.08302 -0.17432,0.157723 -0.257324,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/10.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/10.png
new file mode 100644
index 0000000..15b81da
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/10.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/10.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/10.svg
new file mode 100644
index 0000000..af015ab
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/10.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/11.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/11.png
new file mode 100644
index 0000000..2fcc2dd
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/11.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/11.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/11.svg
new file mode 100644
index 0000000..cb82b70
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/11.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/12.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/12.png
new file mode 100644
index 0000000..edebe20
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/12.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/12.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/12.svg
new file mode 100644
index 0000000..3b6d822
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/12.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/13.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/13.png
new file mode 100644
index 0000000..ec48cef
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/13.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/13.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/13.svg
new file mode 100644
index 0000000..226e461
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/13.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/14.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/14.png
new file mode 100644
index 0000000..33d5637
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/14.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/14.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/14.svg
new file mode 100644
index 0000000..5aaa3a3
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/15.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/15.png
new file mode 100644
index 0000000..f1a4eb2
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/15.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/15.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/15.svg
new file mode 100644
index 0000000..f51dd96
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/15.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2839"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2841"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/16.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/16.png
new file mode 100644
index 0000000..d38a155
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/16.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/16.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/16.svg
new file mode 100644
index 0000000..cb7e2f5
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/16.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/17.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/17.png
new file mode 100644
index 0000000..d83e898
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/17.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/17.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/17.svg
new file mode 100644
index 0000000..5d6f0ad
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/17.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/18.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/18.png
new file mode 100644
index 0000000..9e39de4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/18.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/18.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/18.svg
new file mode 100644
index 0000000..9ea672c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/18.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/19.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/19.png
new file mode 100644
index 0000000..9eeedfb
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/19.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/19.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/19.svg
new file mode 100644
index 0000000..80d1d09
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/19.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 13.215925,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141118,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168787,0.157724
-0.257325,0.240723 -0.08854,0.08302 -0.1743194,0.157723 -0.2573238,0.224121 L
8.442976,14.529434 7.1978588,12.985489 11.107527,9.8726959 l 2.108398,0
0,12.1357421"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/2.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/2.png
new file mode 100644
index 0000000..ff9cc57
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/2.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/2.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/2.svg
new file mode 100644
index 0000000..8e94260
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/2.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.89546,22.008438 -8.143066,0 0,-1.784668 2.855468,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979493,-1.0708 0.293289,-0.326492
0.545079,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.373529,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.17431,-0.666821 0.174316,-1.037598 -6e-6,-0.409496
-0.124517,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827313,0.522958 -1.270019,0.921386 l -1.394531,-1.651855 c
0.249022,-0.226877 0.509113,-0.442698 0.780273,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079102,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319824,-0.1494141
0.58105,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860507,0.3901488
1.187012,0.6889648 0.326489,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583
0.265617,0.893727 0.265625,1.41
9433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648
-0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083
-1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l
-1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/20.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/20.png
new file mode 100644
index 0000000..b28b4aa
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/20.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/20.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/20.svg
new file mode 100644
index 0000000..409ac6e
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/20.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/21.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/21.png
new file mode 100644
index 0000000..eda952c
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/21.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/21.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/21.svg
new file mode 100644
index 0000000..7bc03af
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/21.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/22.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/22.png
new file mode 100644
index 0000000..90b14b0
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/22.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/22.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/22.svg
new file mode 100644
index 0000000..fe086f6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/22.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/23.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/23.png
new file mode 100644
index 0000000..8b35a74
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/23.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/23.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/23.svg
new file mode 100644
index 0000000..f17ec29
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/23.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/24.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/24.png
new file mode 100644
index 0000000..6041b02
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/24.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/24.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/24.svg
new file mode 100644
index 0000000..42a5333
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/24.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/25.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/25.png
new file mode 100644
index 0000000..ecb15e6
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/25.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/25.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/25.svg
new file mode 100644
index 0000000..a8d4672
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/25.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/26.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/26.png
new file mode 100644
index 0000000..4b2f560
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/26.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/26.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/26.svg
new file mode 100644
index 0000000..3cf00ec
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/26.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/27.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/27.png
new file mode 100644
index 0000000..ecf058e
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/27.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/27.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/27.svg
new file mode 100644
index 0000000..c8d6440
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/27.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/28.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/28.png
new file mode 100644
index 0000000..e64efb2
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/28.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/28.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/28.svg
new file mode 100644
index 0000000..5acce93
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/28.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/29.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/29.png
new file mode 100644
index 0000000..dbbca1b
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/29.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/29.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/29.svg
new file mode 100644
index 0000000..507dd44
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/29.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c
0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492
0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318
0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598
-6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878
-0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792
-1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L
7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782
8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916
9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918
11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227
0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305
0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.89
3727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629
-0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044
-0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315
-1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/3.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/3.png
new file mode 100644
index 0000000..4febe43
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/3.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/3.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/3.svg
new file mode 100644
index 0000000..5e87e1f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/3.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.422316,12.587051 c -9e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.23243,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315437,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.392911,0.332031 -0.890957,0.592122 -1.494141,0.780273 -0.597661,0.182617
-1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267255,-0.05534 -1.842773,-0.166016
-0.575523,-0.105143 -1.112306,-0.268392 -1.610352,-0.489746 l 0,-2.183105 c
0.249023,0.132815 0.511881,0.249025 0.788574,0.348632 0.276692,0.09961 0.553384,0.185387
0.830079,0.257325 0.27669,0.06641 0.547848,0.116212 0.813476,0.149414 0.271156,0.0332
0.525713,0.04981 0.763672,0.0498 0.475907,2e-6 0.871577,-0.04427 1.187012,-0.132812
0.315424,-
0.08854 0.567214,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320957,-0.351397
0.398437,-0.572754 0.083,-0.226885 0.124506,-0.473141 0.124512,-0.73877 -6e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.265631,-0.376297
-0.498047,-0.514648 -0.226893,-0.143876 -0.525721,-0.254553 -0.896484,-0.332032
-0.370773,-0.07747 -0.827315,-0.116205 -1.369629,-0.116211 l -0.863281,0 0,-1.801269
0.846679,0 c 0.509111,7e-6 0.932451,-0.04426 1.27002,-0.132813 0.33756,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.43164,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.68897,-0.365224
-1.27002,-0.365234 -0.265629,10e-6 -0.514652,0.02768 -0.74707,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193688,0.07748 -0.373538,0.166026
-0.539551,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439941,0.282227 l
-1.294922,-1.70
9961 c 0.232421,-0.171538 0.484211,-0.329253 0.755371,-0.473145 0.276691,-0.143868
0.575519,-0.26838 0.896484,-0.373535 0.320961,-0.1106647 0.666827,-0.1964393
1.037598,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492506,0.1272911
0.913079,0.3154421 1.261718,0.5644531 0.348626,0.243501 0.617017,0.545096
0.805176,0.904786 0.193677,0.354177 0.290519,0.760914 0.290528,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/30.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/30.png
new file mode 100644
index 0000000..f4ffb14
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/30.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/30.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/30.svg
new file mode 100644
index 0000000..434e663
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/30.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/31.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/31.png
new file mode 100644
index 0000000..0b29e87
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/31.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/31.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/31.svg
new file mode 100644
index 0000000..08c3f2d
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/31.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873
-4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086
0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331
0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642
-0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724
-0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l
-1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/32.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/32.png
new file mode 100644
index 0000000..a4740a3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/32.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/32.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/32.svg
new file mode 100644
index 0000000..aa099c3
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/32.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c
0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688
0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289
0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496
-0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322
-0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731
-0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c
0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275
0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488
1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141
0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938
0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801
0.177075,0.420583 0.265616,0.893727 0.265625,1.419
433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648
-0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083
-1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l
-1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/33.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/33.png
new file mode 100644
index 0000000..f23ccea
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/33.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/33.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/33.svg
new file mode 100644
index 0000000..fce979c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/33.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651
-0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883
-0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022
-0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579
2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253
-0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838
-0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273
-0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534
-1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l
0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961
0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414
0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427
1.187012,-0.132812 0.315425,
-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397
0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019
-0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289
-0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032
-0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269
0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407
0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858
0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632
-0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224
-1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981
-0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026
-0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l
-1.294922,-1.7
09961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868
0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393
1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309
0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911
0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096
0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/34.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/34.png
new file mode 100644
index 0000000..7e2ab31
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/34.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/34.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/34.svg
new file mode 100644
index 0000000..c67f8ec
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/34.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m
-3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/35.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/35.png
new file mode 100644
index 0000000..02118e3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/35.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/35.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/35.svg
new file mode 100644
index 0000000..da7780a
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/35.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723
0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272
0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892
-0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512
-0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301
-0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641
0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811
0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048
,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641
-0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051
-4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211
0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/36.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/36.png
new file mode 100644
index 0000000..30f4fdf
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/36.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/36.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/36.svg
new file mode 100644
index 0000000..348549a
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/36.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856
0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274
0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853
-0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5
-1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951
-1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243487,-0.384596 0.398438,-0
.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271
0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902
0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557
0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614
0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887
-0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125
-0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151
-1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543
-0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173
-0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933
-0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512
0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.3984
34 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289
-6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094
-0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414
-0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487
-0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551
0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/37.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/37.png
new file mode 100644
index 0000000..6174706
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/37.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/37.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/37.svg
new file mode 100644
index 0000000..7bc04d9
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/37.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035
8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/38.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/38.png
new file mode 100644
index 0000000..161661d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/38.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/38.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/38.svg
new file mode 100644
index 0000000..ec2ad98
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/38.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118
0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017
-0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247
0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501
0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761
-0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.93799
1,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328
0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543
-0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866
-0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585
0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527
0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334
0.31543,0.473145 0.143876,0.132814 0.32096,0.23
7957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6
1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844
-0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223
-0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6
-0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723
-0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.315438 0.282227,0
.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962
0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527
0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338
0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993
0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938
-0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374
-0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/39.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/39.png
new file mode 100644
index 0000000..2d46b24
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/39.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/39.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/39.svg
new file mode 100644
index 0000000..664ffdd
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/39.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207
-0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031
-0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933
-1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485
0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766
-0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411
-0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617
-1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C
7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c
0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961
0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212
0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6
0.871578,-0.04427 1.187012,-0.132
812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048
0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877
-6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748
-0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323
11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l
-0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426
1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535
0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278
0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197
-0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234
-0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981
-0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026
-0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0
.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253
0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535
0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086
0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419
1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531
0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914
0.290527,1.220214"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719
-0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083
-0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151
0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766
0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c
-0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.1549
53,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892
-0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6
-0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568
-1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614
-0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875
0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824
0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727
1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224
1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185
0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722
m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512
-0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.2379
59,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289
-3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654
1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996
0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325
0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218
-0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008
-0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851
-0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/4.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/4.png
new file mode 100644
index 0000000..9b9dd88
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/4.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/4.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/4.svg
new file mode 100644
index 0000000..bc06c73
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/4.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 20.078077,19.493301 -1.460937,0 0,2.515137 -2.498535,0 0,-2.515137
-5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460937,0 0,1.992187 m
-3.959472,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09962,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.12175,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.025391,3.071289 2.75586,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/40.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/40.png
new file mode 100644
index 0000000..fe2a68f
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/40.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/40.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/40.svg
new file mode 100644
index 0000000..5a94d1b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/40.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.440535,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137
-5.0136719,0 0,-1.784668 5.1547849,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187
m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129
0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625
0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007
0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l
-0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601
-0.262863,0.520191 -0.42334,0.780274 l -2.0253904,3.071289 2.7558594,0"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ <path
+ d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047
-0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785
-0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334
-0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731
-1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984
-0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566
0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285
0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487
1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334
0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555
0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c
-3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.6
97268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863
1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899
-0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188
-1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625
-0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642
-0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146
-0.08301,1.817871"
+ id="path2820"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/5.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/5.png
new file mode 100644
index 0000000..f239fb6
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/5.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/5.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/5.svg
new file mode 100644
index 0000000..82fb03d
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/5.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 16.035597,14.255508 c 0.520177,8e-6 1.004388,0.08025 1.452637,0.240723
0.448235,0.160489 0.838371,0.395678 1.17041,0.705566 0.332023,0.309903 0.592114,0.697272
0.780273,1.16211 0.188143,0.459315 0.282218,0.987797 0.282227,1.585449 -9e-6,0.658532
-0.102385,1.250654 -0.307129,1.776367 -0.204761,0.520184 -0.506356,0.962892
-0.904785,1.328125 -0.398445,0.359701 -0.893724,0.636394 -1.48584,0.830078
-0.586594,0.193685 -1.261724,0.290528 -2.025391,0.290528 -0.304365,0 -0.60596,-0.01384
-0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863281,-0.124512
-0.271161,-0.04981 -0.531252,-0.116211 -0.780274,-0.199219 -0.24349,-0.08301
-0.464844,-0.17985 -0.664062,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823
0.672363,0.31543 0.254556,0.09408 0.517414,0.177086 0.788574,0.249024 0.276691,0.06641
0.553383,0.121746 0.830078,0.166015 0.27669,0.03874 0.539548,0.05811 0.788575,0.05811
0.741532,2e-6 1.305984,-0.152179 1.693359,-0.456543 0.387364,-0.309893 0.5810
49,-0.799639 0.581055,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328
-0.376307,-0.315424 -0.960128,-0.473139 -1.751465,-0.473144 -0.143884,5e-6
-0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320966,0.03874 -0.481445,0.06641
-0.154951,0.02768 -0.304365,0.05811 -0.448242,0.09131 -0.143883,0.02767 -0.268394,0.05811
-0.373535,0.09131 l -1.020996,-0.547852 0.456542,-6.1840821 6.408204,0 0,2.1748051
-4.183594,0 -0.199219,2.382324 c 0.17708,-0.03873 0.381832,-0.07747 0.614258,-0.116211
0.237951,-0.03873 0.542313,-0.0581 0.913086,-0.05811"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/6.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/6.png
new file mode 100644
index 0000000..18866e6
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/6.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/6.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/6.svg
new file mode 100644
index 0000000..e2f62af
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/6.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 11.702589,16.853653 c -10e-7,-0.581049 0.03044,-1.159336
0.09131,-1.734863 0.0664,-0.575514 0.179849,-1.126132 0.340332,-1.651856
0.166014,-0.531241 0.387368,-1.023753 0.664062,-1.477539 0.282225,-0.453765
0.636391,-0.846669 1.0625,-1.178711 0.431638,-0.337553 0.946285,-0.600411
1.543945,-0.788574 0.603186,-0.1936727 1.305984,-0.2905151 2.108399,-0.2905274
0.116204,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.138339,0.00555 0.276685,0.013847
0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614
0.251782,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210295,-0.04979 -0.434416,-0.08853
-0.672364,-0.116211 -0.232429,-0.03319 -0.467617,-0.04979 -0.705566,-0.0498 -0.747076,1e-5
-1.361334,0.09408 -1.842774,0.282226 -0.481449,0.182627 -0.863285,0.439951
-1.145507,0.771973 -0.28223,0.33204 -0.484216,0.730477 -0.605957,1.195312
-0.116214,0.464852 -0.188154,0.9795 -0.215821,1.543946 l 0.09961,0 c 0.110674,-0.199212
0.243486,-0.384596 0.39843
7,-0.556153 0.160478,-0.177076 0.345862,-0.32649 0.556153,-0.448242 0.210282,-0.127271
0.44547,-0.22688 0.705566,-0.298828 0.26562,-0.07193 0.561681,-0.107902 0.888184,-0.10791
0.52571,8e-6 0.998854,0.08578 1.419433,0.257324 0.420566,0.171557 0.774732,0.42058
1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614 0.15494,0.475916
0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887 -0.282226,1.768066
-0.182626,0.520184 -0.445484,0.962892 -0.788575,1.328125 -0.343106,0.359701
-0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151 -1.034836,0.282227
-1.643554,0.282227 -0.597661,0 -1.15658,-0.105144 -1.676758,-0.31543 -0.520185,-0.21582
-0.973961,-0.542317 -1.361328,-0.979492 -0.381838,-0.437173 -0.683433,-0.987791
-0.904785,-1.651856 -0.215822,-0.669593 -0.323732,-1.460933 -0.323731,-2.374023 m
4.216797,3.270508 c 0.226883,2e-6 0.431635,-0.0415 0.614258,-0.124512 0.188145,-0.08854
0.348627,-0.218585 0.481445,-0.390137 0.13834,-0.17708 0.243483,-0.3
98434 0.31543,-0.664062 0.07747,-0.265622 0.116204,-0.581051 0.116211,-0.946289
-7e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243496,-0.343094
-0.617031,-0.514643 -1.120606,-0.514649 -0.254562,6e-6 -0.486984,0.04981
-0.697266,0.149414 -0.21029,0.09962 -0.39014,0.229661 -0.53955,0.390137 -0.149418,0.160487
-0.265629,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209
-0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696
0.17708,0.528486 0.31543,0.755371 0.143876,0.221357 0.318193,0.401207 0.522949,0.539551
0.210282,0.138349 0.453772,0.207522 0.730469,0.20752"
+ id="path2846"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/7.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/7.png
new file mode 100644
index 0000000..52c3a18
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/7.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/7.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/7.svg
new file mode 100644
index 0000000..a43460f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/7.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 12.789991,22.008438 4.316407,-9.960937 -5.578125,0 0,-2.1582035
8.367187,0 0,1.6103515 -4.424316,10.508789 -2.681153,0"
+ id="path2832"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/8.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/8.png
new file mode 100644
index 0000000..8a8cb21
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/8.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/8.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/8.svg
new file mode 100644
index 0000000..2c82d3f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/8.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 15.761671,9.7149811 c 0.503576,1.23e-5 0.979487,0.060885
1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517
0.337558,0.243501 0.60595,0.547862 0.805176,0.913086 0.199211,0.365244 0.29882,0.794118
0.298828,1.286621 -8e-6,0.365243 -0.05535,0.697274 -0.166015,0.996094 -0.110686,0.293302
-0.262866,0.561694 -0.456543,0.805175 -0.193693,0.237963 -0.423348,0.451017
-0.688965,0.639161 -0.265632,0.188157 -0.553392,0.359707 -0.863281,0.514648
0.320957,0.171556 0.633619,0.362473 0.937988,0.572754 0.309888,0.210292 0.583814,0.448247
0.821777,0.713867 0.237948,0.260096 0.428866,0.55339 0.572754,0.879883 0.143872,0.326501
0.215812,0.691735 0.21582,1.095703 -8e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629
-0.199227,0.409506 -0.478686,0.758139 -0.838379,1.045898 -0.359707,0.287761
-0.791348,0.509115 -1.294921,0.664063 -0.498053,0.154948 -1.048671,0.232422
-1.651856,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414
-0.9379
9,-0.362467 -1.286621,-0.639161 -0.348634,-0.276691 -0.614259,-0.617023
-0.796875,-1.020996 -0.177084,-0.403969 -0.265626,-0.857744 -0.265625,-1.361328
-10e-7,-0.415035 0.06087,-0.78857 0.182617,-1.120605 0.121744,-0.332027 0.287759,-0.630855
0.498047,-0.896485 0.210285,-0.265619 0.456541,-0.500808 0.73877,-0.705566
0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271162,-0.171543
-0.525719,-0.356927 -0.763672,-0.556152 -0.237958,-0.204746 -0.445477,-0.428866
-0.622559,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778
-0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -10e-7,-0.481435
0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478677,-0.669585
0.821778,-0.913086 0.343096,-0.249012 0.738766,-0.434396 1.187011,-0.5561527
0.448239,-0.1217326 0.918616,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c
-3e-6,0.221357 0.03597,0.42611 0.107911,0.614258 0.07194,0.18262 0.17708,0.340334
0.315429,0.473145 0.143877,0.132814 0.32
096,0.237957 0.53125,0.315429 0.210283,0.07194 0.453772,0.107912 0.730469,0.10791
0.581049,2e-6 1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157
0.43164,-1.087402 -6e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559
-0.09408,-0.188147 -0.218593,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478
-0.320969,-0.307125 -0.514648,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086
-0.581055,-0.381836 L 15.662062,16.72084 c -0.243494,0.12175 -0.464848,0.254563
-0.664063,0.398438 -0.199222,0.138351 -0.370772,0.293299 -0.514648,0.464844
-0.13835,0.16602 -0.24626,0.348637 -0.323731,0.547851 -0.07748,0.199223 -0.116214,0.415043
-0.116211,0.647461 m 1.701661,-7.188476 c -0.182622,10e-6 -0.354171,0.02768
-0.514649,0.08301 -0.154952,0.05535 -0.290531,0.13559 -0.406738,0.240723
-0.110681,0.105153 -0.199223,0.235199 -0.265625,0.390137 -0.06641,0.154957
-0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957
0.07194,0.166024 0.166012,0.31543
8 0.282226,0.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633
0.160478,0.09962 0.32926,0.199226 0.506348,0.298828 0.171545,-0.08853 0.334793,-0.185376
0.489746,-0.290527 0.154943,-0.105135 0.290522,-0.224113 0.406738,-0.356934
0.12174,-0.138338 0.218582,-0.293286 0.290528,-0.464843 0.07193,-0.171541
0.107904,-0.367993 0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949
-0.06641,-0.154938 -0.157721,-0.284984 -0.273926,-0.390137 -0.116217,-0.105133
-0.254563,-0.185374 -0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083
-0.522949,-0.08301"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/9.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/9.png
new file mode 100644
index 0000000..0ae412f
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/9.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/9.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/9.svg
new file mode 100644
index 0000000..b0f04c4
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/9.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg2">
+ <defs
+ id="defs15" />
+ <circle
+ cx="16"
+ cy="16"
+ r="14"
+ id="circle"
+ style="fill:#3c6eb4" />
+ <g
+ id="text2820"
+
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid
Sans;-inkscape-font-specification:Droid Sans">
+ <path
+ d="m 19.829054,15.052383 c -9e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164
-0.06088,0.575526 -0.174325,1.126144 -0.340333,1.651856 -0.160489,0.525719
-0.381843,1.018232 -0.664062,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711
-0.426113,0.332032 -0.940761,0.59489 -1.543945,0.788574 -0.597661,0.188151
-1.30046,0.282227 -2.108399,0.282227 -0.116214,0 -0.243492,-0.0028 -0.381836,-0.0083
-0.138348,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273927,-0.0166
-0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c
0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237954,0.02767 0.478676,0.04151
0.722168,0.0415 0.747067,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.481441,-0.188149
0.863276,-0.44824 1.145508,-0.780274 0.282221,-0.337562 0.481439,-0.738766
0.597657,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.107911,0 c
-0.110683,0.199225 -0.243495,0.384609 -0.398437,0.556153 -0.
154954,0.171554 -0.337571,0.320968 -0.547852,0.448242 -0.210291,0.127283
-0.448247,0.226892 -0.713867,0.298828 -0.265629,0.07194 -0.56169,0.107914
-0.888183,0.10791 -0.52572,4e-6 -0.998864,-0.08577 -1.419434,-0.257324 -0.420575,-0.171545
-0.777508,-0.420568 -1.070801,-0.74707 -0.287761,-0.326492 -0.509115,-0.727696
-0.664062,-1.203614 -0.154949,-0.475904 -0.232423,-1.020988 -0.232422,-1.635253
-10e-7,-0.65852 0.09131,-1.247875 0.273926,-1.768067 0.18815,-0.520172 0.453774,-0.960113
0.796875,-1.319824 0.343097,-0.365223 0.758135,-0.644682 1.245117,-0.838379
0.49251,-0.1936727 1.043127,-0.2905151 1.651855,-0.2905274 0.597651,1.23e-5
1.15657,0.1079224 1.676758,0.3237304 0.520176,0.210298 0.971184,0.534028 1.353027,0.971192
0.381829,0.437185 0.683423,0.990569 0.904786,1.660156 0.221345,0.669605 0.332022,1.458178
0.332031,2.365722 m -4.216797,-3.262207 c -0.226892,1.1e-5 -0.434412,0.04151
-0.622559,0.124512 -0.188154,0.08302 -0.351403,0.213063 -0.489746,0.390137
-0.132815,0.17155
9 -0.237959,0.392913 -0.315429,0.664062 -0.07194,0.265634 -0.107914,0.581063
-0.107911,0.946289 -3e-6,0.586596 0.124509,1.05144 0.373536,1.394532 0.249019,0.343105
0.625321,0.514654 1.128906,0.514648 0.254552,6e-6 0.486974,-0.0498 0.697266,-0.149414
0.210281,-0.0996 0.390131,-0.229648 0.53955,-0.390137 0.149408,-0.160475
0.262852,-0.340325 0.340332,-0.53955 0.083,-0.199212 0.124506,-0.401197 0.124512,-0.605958
-6e-6,-0.282218 -0.03598,-0.561677 -0.10791,-0.838378 -0.06641,-0.282218
-0.171556,-0.534008 -0.31543,-0.755372 -0.138352,-0.226878 -0.312668,-0.409495
-0.522949,-0.547851 -0.204758,-0.138336 -0.44548,-0.207509 -0.722168,-0.20752"
+ id="path2818"
+
style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream
Vera Sans Bold" />
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/bkgrnd_greydots.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/bkgrnd_greydots.png
new file mode 100644
index 0000000..2333a6d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/bkgrnd_greydots.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/bullet_arrowblue.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/bullet_arrowblue.png
new file mode 100644
index 0000000..c235534
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/bullet_arrowblue.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/documentation.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/documentation.png
new file mode 100644
index 0000000..79d0a80
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/documentation.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/dot.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/dot.png
new file mode 100644
index 0000000..36a6859
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/dot.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/dot2.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/dot2.png
new file mode 100644
index 0000000..40aff92
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/dot2.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/green.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/green.png
new file mode 100644
index 0000000..ebb3c24
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/green.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/h1-bg.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/h1-bg.png
new file mode 100644
index 0000000..a2aad24
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/h1-bg.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/image_left.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/image_left.png
new file mode 100644
index 0000000..e8fe7a4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/image_left.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/image_right.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/image_right.png
new file mode 100644
index 0000000..5b67443
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/image_right.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/important.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/important.png
new file mode 100644
index 0000000..f7594a3
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/important.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/important.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/important.svg
new file mode 100644
index 0000000..2d33045
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/important.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="important.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/important.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2611">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="681"
+ inkscape:window-width="738"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2613" />
+ </defs>
+ <g
+ transform="matrix(0.4626799,0,0,0.4626799,-5.2934127,-3.3160376)"
+ id="g5485">
+ <path
+ d="M 29.97756,91.885882 L 55.586992,80.409826 L 81.231619,91.807015 L
78.230933,63.90468 L 96.995009,43.037218 L 69.531053,37.26873 L 55.483259,12.974592 L
41.510292,37.311767 L 14.064204,43.164717 L 32.892392,63.97442 L 29.97756,91.885882
z"
+ id="path6799"
+ style="fill:#f3de82;fill-opacity:1;enable-background:new" />
+ <path
+ d="M 55.536215,56.538729 L 55.48324,12.974601 L 41.51028,37.311813 L
55.536215,56.538729 z"
+ id="path6824"
+
style="opacity:0.91005291;fill:#f9f2cb;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 78.241135,63.937979 L 96.976198,43.044318 L
55.57947,56.614318 z"
+ id="use6833"
+ style="opacity:1;fill:#d0bc64;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 55.667994,80.684281 L 81.379011,91.931065 L
55.523838,56.869126 z"
+ id="use6835"
+ style="opacity:1;fill:#e0c656;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 13.877363,43.200977 L 32.640089,64.069652 L
55.283346,56.742618 z"
+ id="use6831"
+ style="opacity:1;fill:#d1ba59;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 55.32792,80.684281 L 29.616903,91.931065 L
55.472076,56.869126 z"
+ id="use6837"
+ style="opacity:1;fill:#d2b951;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.57947,56.614318 L 96.976198,43.044318 L 69.504294,37.314027 L
55.57947,56.614318 z"
+ id="path7073"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.523838,56.869126 L 81.379011,91.931065 L 78.214821,64.046881 L
55.523838,56.869126 z"
+ id="path7075"
+ style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.283346,56.742618 L 41.341708,37.434209 L 13.877363,43.200977 L
55.283346,56.742618 z"
+ id="path7077"
+ style="opacity:1;fill:#f6e59d;fill-opacity:1;enable-background:new"
/>
+ <path
+ d="M 55.472076,56.869126 L 29.616903,91.931065 L 32.781093,64.046881 L
55.472076,56.869126 z"
+ id="path7079"
+ style="opacity:1;fill:#f3df8b;fill-opacity:1;enable-background:new"
/>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/logo.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/logo.png
new file mode 100644
index 0000000..66a3104
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/logo.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/note.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/note.png
new file mode 100644
index 0000000..d6c4518
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/note.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/note.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/note.svg
new file mode 100644
index 0000000..70e43b6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/note.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="note.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/note.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata16">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="1024"
+ inkscape:window-width="1205"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="22.217181"
+ inkscape:cy="20"
+ inkscape:window-x="334"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective18" />
+ </defs>
+ <g
+ transform="matrix(0.468275,0,0,0.468275,-5.7626904,-7.4142703)"
+ id="layer1">
+ <g
+ transform="matrix(0.115136,0,0,0.115136,9.7283,21.77356)"
+ id="g8014"
+ style="enable-background:new">
+ <g
+ id="g8518"
+ style="opacity:1">
+ <path
+ d="M -2512.4524,56.33197 L 3090.4719,56.33197 L 3090.4719,4607.3813 L
-2512.4524,4607.3813 L -2512.4524,56.33197 z"
+
transform="matrix(0.1104659,-2.3734892e-2,2.2163258e-2,0.1031513,308.46782,74.820675)"
+ id="rect8018"
+
style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ <g
+
transform="matrix(0.5141653,-7.1944682e-2,7.1944682e-2,0.5141653,146.04015,-82.639785)"
+ id="g8020">
+ <path
+ d="M 511.14114,441.25315 C 527.3248,533.52772 464.31248,622.82928
370.39916,640.71378 C 276.48584,658.59828 187.23462,598.29322 171.05095,506.01865 C
154.86728,413.74408 217.8796,324.44253 311.79292,306.55803 C 405.70624,288.67353
494.95747,348.97858 511.14114,441.25315 z"
+ id="path8022"
+
style="opacity:1;fill:#e0c96f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(1.2585415,-0.2300055,0.2168789,1.1867072,-248.76141,68.254424)"
+ id="path8024"
+
style="opacity:1;fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 358.5625,281.15625 C 348.09597,281.05155 337.43773,281.94729
326.71875,283.90625 C 240.96686,299.57789 183.37901,377.92385 198.15625,458.78125 C
209.70749,521.98673 262.12957,567.92122 325.40625,577.5625 L 357.25,433.6875 L
509.34375,405.875 C 509.14405,404.58166 509.0804,403.29487 508.84375,402 C
495.91366,331.24978 431.82821,281.88918 358.5625,281.15625 z"
+ id="path8026"
+
style="opacity:1;fill:#b60000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 294.2107,361.9442 L 282.79367,370.38482 L 261.73414,386.13346 C
253.13706,404.40842 254.3359,423.7989 259.7176,444.39774 C 273.6797,497.83861
313.42636,523.96124 369.50989,517.58957 C 398.21848,514.32797 424.51832,504.67345
440.64696,484.15958 L 469.89512,447.48298 L 294.2107,361.9442 z"
+ id="path8028"
+
style="fill:#750000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.09999999;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-78.013985,79.234385)"
+ id="path8030"
+
style="opacity:1;fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ <path
+ d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625
404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C
280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695
527.8214,324.97052 527.8214,393.1416 z"
+
transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-69.306684,71.273294)"
+ id="path8032"
+
style="opacity:1;fill:#e11212;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/red.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/red.png
new file mode 100644
index 0000000..d32d5e2
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/red.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/shade.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/shade.png
new file mode 100644
index 0000000..a73afdf
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/shade.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/shine.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/shine.png
new file mode 100644
index 0000000..a18f7c4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/shine.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-back.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-back.png
new file mode 100644
index 0000000..d320f26
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-back.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-forward.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-forward.png
new file mode 100644
index 0000000..1ee5a29
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-forward.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-up.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-up.png
new file mode 100644
index 0000000..1cd7332
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-go-up.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-home.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-home.png
new file mode 100644
index 0000000..122536d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/stock-home.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/title_logo.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/title_logo.png
new file mode 100644
index 0000000..d5182b4
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/title_logo.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/title_logo.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/title_logo.svg
new file mode 100644
index 0000000..e8fd52b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/title_logo.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+
+<svg
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="220"
+ height="70"
+ id="svg6180">
+ <defs
+ id="defs6182" />
+ <g
+ transform="translate(-266.55899,-345.34488)"
+ id="layer1">
+ <path
+ d="m 316.7736,397.581 c 0,0 0,0 -20.53889,0 0.3327,4.45245 3.92157,7.77609
8.70715,7.77609 3.38983,0 6.31456,-1.39616 8.64094,-3.65507 0.46553,-0.46679
0.99726,-0.59962 1.59519,-0.59962 0.79781,0 1.59561,0.39932 2.12692,1.06388 0.3327,0.46553
0.53216,0.99726 0.53216,1.52857 0,0.73118 -0.3327,1.52857 -0.93106,2.12734 -2.7919,2.99052
-7.51086,4.98503 -12.16403,4.98503 -8.44149,0 -15.22074,-6.77967 -15.22074,-15.22158
0,-8.44149 6.58022,-15.22074 15.02171,-15.22074 8.37529,0 14.62323,6.51317
14.62323,15.08749 0,1.26418 -1.12924,2.12861 -2.39258,2.12861 z m -12.23065,-11.76512 c
-4.45329,0 -7.51085,2.92473 -8.17499,7.17731 10.03626,0 16.35083,0 16.35083,0
-0.59836,-4.05355 -3.78874,-7.17731 -8.17584,-7.17731 z"
+ id="path11"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 375.46344,410.80807 c -8.44106,0 -15.22074,-6.77968 -15.22074,-15.22159
0,-8.44149 6.77968,-15.22074 15.22074,-15.22074 8.44234,0 15.22159,6.77925
15.22159,15.22074 -4.2e-4,8.44149 -6.77968,15.22159 -15.22159,15.22159 z m 0,-24.65992 c
-5.31688,0 -8.77377,4.25427 -8.77377,9.43833 0,5.18364 3.45689,9.43833 8.77377,9.43833
5.31731,0 8.77504,-4.25469 8.77504,-9.43833 -4.2e-4,-5.18406 -3.45773,-9.43833
-8.77504,-9.43833 z"
+ id="path13"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 412.66183,380.36574 c -4.45963,0 -7.40966,1.319 -10.01391,4.62956 l
-0.24036,-1.53995 0,0 c -0.20198,-1.60743 -1.57326,-2.84926 -3.23382,-2.84926 -1.80139,0
-3.26206,1.459 -3.26206,3.26081 0,0.003 0,0.005 0,0.008 l 0,0 0,0.003 0,0 0,23.40712 c
0,1.79464 1.46194,3.25743 3.257,3.25743 1.79465,0 3.25744,-1.46279 3.25744,-3.25743 l
0,-12.56209 c 0,-5.71621 4.98502,-8.57432 10.23613,-8.57432 1.59519,0 2.85726,-1.32953
2.85726,-2.92515 0,-1.59561 -1.26207,-2.85726 -2.85768,-2.85726 z"
+ id="path15"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 447.02614,395.58648 c 0.0666,-8.17541 -5.78326,-15.22074
-15.222,-15.22074 -8.44192,0 -15.28779,6.77925 -15.28779,15.22074 0,8.44191
6.64684,15.22159 14.68985,15.22159 4.01434,0 7.62682,-2.06621 9.23846,-4.22518 l
0.79359,2.01434 0,0 c 0.42589,1.13177 1.5176,1.93717 2.7978,1.93717 1.65001,0
2.98756,-1.33671 2.99009,-2.98545 l 0,0 0,-7.80687 0,0 0,-4.1556 z m -15.222,9.43833 c
-5.31773,0 -8.77419,-4.25469 -8.77419,-9.43833 0,-5.18406 3.45604,-9.43833
8.77419,-9.43833 5.3173,0 8.77419,4.25427 8.77419,9.43833 0,5.18364 -3.45689,9.43833
-8.77419,9.43833 z"
+ id="path17"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 355.01479,368.3337 c 0,-1.7938 -1.46194,-3.18997 -3.25659,-3.18997
-1.79422,0 -3.25743,1.39659 -3.25743,3.18997 l 0,17.1499 c -1.66097,-3.05756
-5.25026,-5.11786 -9.50495,-5.11786 -8.64052,0 -14.42336,6.51318 -14.42336,15.22074
0,8.70757 5.98229,15.22159 14.42336,15.22159 3.76555,0 7.03057,-1.55429 8.98587,-4.25554 l
0.72317,1.83428 c 0.44782,1.25912 1.64917,2.16024 3.06051,2.16024 1.78621,0
3.24984,-1.45435 3.24984,-3.24815 0,-0.005 0,-0.009 0,-0.0139 l 0,0 0,-38.95128 -4.2e-4,0
z m -15.22116,36.69111 c -5.31731,0 -8.70715,-4.25469 -8.70715,-9.43833 0,-5.18406
3.38984,-9.43833 8.70715,-9.43833 5.31773,0 8.70714,4.0544 8.70714,9.43833 0,5.38309
-3.38941,9.43833 -8.70714,9.43833 z"
+ id="path19"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 287.21553,365.34023 c -0.59414,-0.0877 -1.19966,-0.13198
-1.80097,-0.13198 -6.73118,0 -12.20746,5.4767 -12.20746,12.20788 l 0,3.8132 -3.98903,0 c
-1.46237,0 -2.65908,1.19671 -2.65908,2.65781 0,1.46321 1.19671,2.93738 2.65908,2.93738 l
3.98819,0 0,20.46004 c 0,1.79464 1.46236,3.25743 3.25658,3.25743 1.79507,0
3.25744,-1.46279 3.25744,-3.25743 l 0,-20.46004 4.40986,0 c 1.46194,0 2.65823,-1.47417
2.65823,-2.93738 0,-1.46152 -1.19629,-2.65823 -2.65823,-2.65823 l -4.40733,0 0,-3.8132 c
0,-3.13852 2.55323,-6.11469 5.69175,-6.11469 0.28294,0 0.56757,0.0211 0.84672,0.062
1.78031,0.26355 3.4358,-0.54269 3.70019,-2.32342 0.2627,-1.77904 -0.96606,-3.43538
-2.74594,-3.69935 z"
+ id="path21"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 482.01243,363.57426 c 0,-10.06788 -8.16108,-18.22938 -18.22897,-18.22938
-10.06282,0 -18.22179,8.15475 -18.22854,18.21631 l -4.2e-4,-4.2e-4 0,14.1071 4.2e-4,4.2e-4
c 0.005,2.28463 1.85832,4.13409 4.14463,4.13409 0.007,0 0.0127,-8.4e-4 0.0194,-8.4e-4 l
0.001,8.4e-4 14.07083,0 0,0 c 10.06409,-0.004 18.22138,-8.16276 18.22138,-18.22812
z"
+ id="path25"
+ style="fill:#294172" />
+ <path
+ d="m 469.13577,349.66577 c -4.72528,0 -8.55576,3.83049 -8.55576,8.55577
0,0.002 0,0.004 0,0.006 l 0,4.52836 -4.51444,0 c -8.5e-4,0 -8.5e-4,0 -0.001,0 -4.72528,0
-8.55576,3.81193 -8.55576,8.53678 0,4.72528 3.83048,8.55577 8.55576,8.55577 4.72486,0
8.55534,-3.83049 8.55534,-8.55577 0,-0.002 0,-0.004 0,-0.006 l 0,-4.54733 4.51444,0 c
8.5e-4,0 0.001,0 0.002,0 4.72486,0 8.55534,-3.79296 8.55534,-8.51781 0,-4.72528
-3.83048,-8.55577 -8.55534,-8.55577 z m -8.55576,21.63483 c -0.004,2.48998
-2.02446,4.50811 -4.51571,4.50811 -2.49378,0 -4.53426,-2.02193 -4.53426,-4.5157 0,-2.49421
2.04048,-4.55366 4.53426,-4.55366 0.002,0 0.004,4.2e-4 0.006,4.2e-4 l 3.86971,0 c 0.001,0
0.002,-4.2e-4 0.003,-4.2e-4 0.35209,0 0.63799,0.28505 0.63799,0.63715 0,4.2e-4
-4.2e-4,8.4e-4 -4.2e-4,0.001 l 0,3.92284 -4.2e-4,0 z m 8.55534,-8.5448 c -0.001,0 -0.003,0
-0.004,0 l -3.87223,0 c -8.4e-4,0 -0.002,0 -0.002,0 -0.35252,0 -0.63757,-0.28506
-0.63757,-0.63758 l 0,-4.2e-4 0,-3.90343 c 0.004,-2.49083 2.02
446,-4.50854 4.51571,-4.50854 2.49378,0 4.53468,2.02193 4.53468,4.51613 4.2e-4,2.49336
-2.04048,4.53384 -4.53426,4.53384 z"
+ id="path29"
+ style="fill:#3c6eb4" />
+ <path
+ d="m 460.58001,362.7558 0,-4.52836 c 0,-0.002 0,-0.004 0,-0.006 0,-4.72528
3.83048,-8.55577 8.55576,-8.55577 0.71685,0 1.22623,0.0805 1.88952,0.25469 0.96774,0.25385
1.75796,1.04618 1.75838,1.96922 4.2e-4,1.11575 -0.80919,1.92621 -2.0194,1.92621 -0.57642,0
-0.78473,-0.11048 -1.62892,-0.11048 -2.49125,0 -4.51149,2.01771 -4.51571,4.50854 l
0,3.90385 0,4.2e-4 c 0,0.35252 0.28505,0.63758 0.63757,0.63758 4.3e-4,0 0.001,0 0.002,0 l
2.96521,0 c 1.10521,0 1.99747,0.88467 1.99832,1.99283 0,1.10816 -0.89353,1.99114
-1.99832,1.99114 l -3.60489,0 0,4.54733 c 0,0.002 0,0.004 0,0.006 0,4.72485
-3.83048,8.55534 -8.55534,8.55534 -0.71684,0 -1.22623,-0.0805 -1.88952,-0.25469
-0.96774,-0.25343 -1.75838,-1.04618 -1.7588,-1.9688 0,-1.11575 0.80919,-1.92663
2.01982,-1.92663 0.576,0 0.78473,0.11048 1.6285,0.11048 2.49125,0 4.51191,-2.01771
4.51613,-4.50811 0,0 0,-3.92368 0,-3.9241 0,-0.35168 -0.2859,-0.63673 -0.63799,-0.63673
-4.3e-4,0 -8.5e-4,0 -0.002,0 l -2.96521,-4.2e-4 c -1.10521,0 -1.
99831,-0.88214 -1.99831,-1.9903 -4.3e-4,-1.11533 0.90238,-1.99367 2.01939,-1.99367 l
3.58339,0 0,0 z"
+ id="path31"
+ style="fill:#ffffff" />
+ <path
+ d="m 477.41661,378.55292 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="text6223"
+ style="fill:#294172;enable-background:new" />
+ </g>
+ <path
+ d="m 181.98344,61.675273 2.81558,0 0,0.37898 -1.18152,0 0,2.94935 -0.45254,0
0,-2.94935 -1.18152,0 0,-0.37898 m 3.26144,0 0.67101,0 0.84937,2.26496 0.85381,-2.26496
0.67102,0 0,3.32833 -0.43917,0 0,-2.9226 -0.85828,2.28279 -0.45255,0 -0.85827,-2.28279
0,2.9226 -0.43694,0 0,-3.32833"
+ id="path2391"
+ style="fill:#294172;enable-background:new" />
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/warning.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/warning.png
new file mode 100644
index 0000000..ce09951
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/warning.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/warning.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/warning.svg
new file mode 100644
index 0000000..5f2612c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/warning.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://creativecommons.org/ns#"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg5921"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="warning.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+
inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/warning.png"
+ inkscape:export-xdpi="111.32"
+ inkscape:export-ydpi="111.32">
+ <metadata
+ id="metadata2482">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="910"
+ inkscape:window-width="1284"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="11.5"
+ inkscape:cx="20"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="51"
+ inkscape:current-layer="svg5921" />
+ <defs
+ id="defs5923">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 20 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="40 : 20 : 1"
+ inkscape:persp3d-origin="20 : 13.333333 : 1"
+ id="perspective2484" />
+ </defs>
+ <g
+ transform="matrix(0.4536635,0,0,0.4536635,-5.1836431,-4.6889387)"
+ id="layer1">
+ <g
+ transform="translate(2745.6887,-1555.5977)"
+ id="g8304"
+ style="enable-background:new">
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.8233528,8.9983906e-3,-8.9983906e-3,0.8233528,-1398.5561,740.7914)"
+ id="path8034"
+
style="opacity:1;fill:#efd259;fill-opacity:1;stroke:#efd259;stroke-opacity:1"
/>
+ <path
+ d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L
-1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L
-1602.5477,1091.5306 L -1603,1054.4387 z"
+
transform="matrix(0.6467652,7.0684723e-3,-7.0684723e-3,0.6467652,-1675.7492,927.16391)"
+ id="path8036"
+
style="opacity:1;fill:#a42324;fill-opacity:1;stroke:#a42324;stroke-opacity:1"
/>
+ <path
+ d="M -2686.7886,1597.753 C -2686.627,1596.5292 -2686.5462,1595.6987
-2686.5462,1595.218 C -2686.5462,1593.1637 -2688.0814,1592.0711 -2690.9899,1592.0711 C
-2693.8985,1592.0711 -2695.4336,1593.12 -2695.4336,1595.218 C -2695.4336,1595.961
-2695.3528,1596.7914 -2695.1912,1597.753 L -2692.929,1614.4491 L -2689.0508,1614.4491 L
-2686.7886,1597.753"
+ id="path8038"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ <path
+ d="M -2690.9899,1617.8197 C -2693.6124,1617.8197 -2695.8118,1619.9346
-2695.8118,1622.6416 C -2695.8118,1625.3486 -2693.6124,1627.4635 -2690.9899,1627.4635 C
-2688.2829,1627.4635 -2686.168,1625.264 -2686.168,1622.6416 C -2686.168,1619.9346
-2688.2829,1617.8197 -2690.9899,1617.8197"
+ id="path8040"
+
style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream
Charter" />
+ </g>
+ </g>
+</svg>
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/watermark-draft.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/watermark-draft.png
new file mode 100644
index 0000000..0ead5af
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/watermark-draft.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/yellow.png
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/yellow.png
new file mode 100644
index 0000000..223865d
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/Common_Content/images/yellow.png
differ
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/appe-UEFI_Secure_Boot_Guide-Revision_History.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/appe-UEFI_Secure_Boot_Guide-Revision_History.html
new file mode 100644
index 0000000..834b9d3
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/appe-UEFI_Secure_Boot_Guide-Revision_History.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Appendix A. Revision History</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="index.html" title="Defensive Coding" /><link
rel="prev" href="sect-Defensive_Coding-TLS-Client-Python.html"
title="13.2.5. Implementing TLS Clients With Python" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Prev</strong></a></li><li
class="next"></li></ul><div xml:lang="en-US"
class="appendix" id="appe-UEFI_Secure_B
oot_Guide-Revision_History" lang="en-US"><div
class="titlepage"><div><div><h1
class="title">Revision
History</h1></div></div></div><div class="para">
+ <div class="revhistory"><table summary="Revision
History"><tr><th align="left" valign="top"
colspan="3"><strong>Revision
History</strong></th></tr><tr><td
align="left">Revision 1.0-1</td><td align="left">Thu
May 09 2013</td><td align="left"><span
class="author"><span class="firstname">Eric</span>
<span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Added more C and C++
examples.</td></tr><tr><td>TLS Client NSS: Rely on NSS 3.14 cipher
suite defaults.</td></tr></table>
+
+ </td></tr><tr><td align="left">Revision
0-1</td><td align="left">Thu Mar 7 2013</td><td
align="left"><span class="author"><span
class="firstname">Eric</span> <span
class="surname">Christensen</span></span></td></tr><tr><td
align="left" colspan="3">
+ <table border="0" summary="Simple list"
class="simplelist"><tr><td>Initial
publication.</td></tr></table>
+
+ </td></tr></table></div>
+
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Prev</strong>13.2.5. Implementing
TLS Clients With Python</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s05.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s05.html
new file mode 100644
index 0000000..a940718
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s05.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3.5. strlcpy and strlcat</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="prev" href="sect-Defensive_Coding-C-Libc-strncat.html"
title="1.2.3.4. strncat" /><link rel="next"
href="ch01s02s03s06.html" title="1.2.3.6. ISO C11 Annex K *_s
functions" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding
-C-Libc-strncat.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s02s03s06.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217652925952"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217652925952">1.2.3.5. <code
class="function">strlcpy</code> and <code
class="function">strlcat</code></h4></div></div></div><div
class="para">
+ Some systems support <code class="function">strlcpy</code> and
<code class="function">strlcat</code> functions which behave this
way, but these functions are not part of GNU libc. <code
class="function">strlcpy</code> is often replaced with <code
class="function">snprintf</code> with a <code
class="literal">"%s"</code> format string. See <a
class="xref"
href="sect-Defensive_Coding-C-Libc-strncpy.html">Section 1.2.3.3, “<code
class="function">strncpy</code>”</a> for a caveat related to the
<code class="function">snprintf</code> return value.
+ </div><div class="para">
+ To emulate <code class="function">strlcat</code>, use the
approach described in <a class="xref"
href="sect-Defensive_Coding-C-Libc-strncat.html">Section 1.2.3.4, “<code
class="function">strncat</code>”</a>.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Libc-strncat.html"><strong>Prev</strong>1.2.3.4. strncat</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s02s03s06.html"><strong>Next</strong>1.2.3.6. ISO C11
Annex K *_s functions</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s06.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s06.html
new file mode 100644
index 0000000..bb182b0
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s06.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3.6. ISO C11 Annex K *_s functions</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="prev" href="ch01s02s03s05.html" title="1.2.3.5. strlcpy and
strlcat" /><link rel="next" href="ch01s02s03s07.html"
title="1.2.3.7. Other strn* and stpn* functions" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s02s03s05.html"><strong>Pr
ev</strong></a></li><li class="next"><a
accesskey="n"
href="ch01s02s03s07.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217610453824"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217610453824">1.2.3.6. ISO C11 Annex K *<code
class="function">_s</code>
functions</h4></div></div></div><div
class="para">
+ ISO C11 adds another set of length-checking functions, but GNU libc currently does
not implement them.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s02s03s05.html"><strong>Prev</strong>1.2.3.5. strlcpy
and strlcat</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s02s03s07.html"><strong>Next</strong>1.2.3.7. Other
strn* and stpn* functions</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s07.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s07.html
new file mode 100644
index 0000000..c58c0d9
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s02s03s07.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3.7. Other strn* and stpn* functions</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="prev" href="ch01s02s03s06.html" title="1.2.3.6. ISO C11
Annex K *_s functions" /><link rel="next"
href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory
allocators" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="ch01s02s03s06.htm
l"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Allocators.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217650196384"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217650196384">1.2.3.7. Other <code
class="function">strn</code>* and <code
class="function">stpn</code>*
functions</h4></div></div></div><div
class="para">
+ GNU libc contains additional functions with different variants of length checking.
Consult the documentation before using them to find out what the length actually means.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s02s03s06.html"><strong>Prev</strong>1.2.3.6. ISO C11
Annex K *_s functions</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Allocators.html"><strong>Next</strong>1.3. Memory
allocators</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s03s04.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s03s04.html
new file mode 100644
index 0000000..7e86977
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s03s04.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.3.4. Custom memory allocators</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory
allocators" /><link rel="prev"
href="sect-Defensive_Coding-C-Allocators-Arrays.html" title="1.3.3. Array
allocation" /><link rel="next" href="ch01s03s05.html"
title="1.3.5. Conservative garbage collection" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Allocators-Arrays.html"><strong>P
rev</strong></a></li><li class="next"><a
accesskey="n"
href="ch01s03s05.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217622261344"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217622261344">1.3.4. Custom memory
allocators</h3></div></div></div><div
class="para">
+ Custom memory allocates come in two forms: replacements for <code
class="function">malloc</code>, and completely different interfaces for
memory management. Both approaches can reduce the effectiveness of <span
class="application"><strong>valgrind</strong></span> and
similar tools, and the heap corruption detection provided by GNU libc, so they should be
avoided.
+ </div><div class="para">
+ Memory allocators are difficult to write and contain many performance and security
pitfalls.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ When computing array sizes or rounding up allocation requests (to the next
allocation granularity, or for alignment purposes), checks for arithmetic overflow are
required.
+ </div></li><li class="listitem"><div
class="para">
+ Size computations for array allocations need overflow checking. See <a
class="xref"
href="sect-Defensive_Coding-C-Allocators-Arrays.html">Section 1.3.3, “Array
allocation”</a>.
+ </div></li><li class="listitem"><div
class="para">
+ It can be difficult to beat well-tuned general-purpose allocators. In
micro-benchmarks, pool allocators can show huge wins, and size-specific pools can reduce
internal fragmentation. But often, utilization of individual pools is poor, and
+ </div></li></ul></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-C-Allocators-Arrays.html"><strong>Prev</strong>1.3.3. Array
allocation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s03s05.html"><strong>Next</strong>1.3.5. Conservative
garbage collection</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s03s05.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s03s05.html
new file mode 100644
index 0000000..7a21403
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch01s03s05.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.3.5. Conservative garbage collection</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory
allocators" /><link rel="prev" href="ch01s03s04.html"
title="1.3.4. Custom memory allocators" /><link rel="next"
href="sect-Defensive_Coding-C-Other.html" title="1.4. Other C-related
topics" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s03s04.html"><strong>Prev</strong></a></li><li
class="next"><a acces
skey="n"
href="sect-Defensive_Coding-C-Other.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217619127040"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217619127040">1.3.5. Conservative garbage
collection</h3></div></div></div><div
class="para">
+ Garbage collection can be an alternative to explicit memory management using <code
class="function">malloc</code> and <code
class="function">free</code>. The Boehm-Dehmers-Weiser allocator can be
used from C programs, with minimal type annotations. Performance is competitive with
<code class="function">malloc</code> on 64-bit architectures,
especially for multi-threaded programs. The stop-the-world pauses may be problematic for
some real-time applications, though.
+ </div><div class="para">
+ However, using a conservative garbage collector may reduce opertunities for code
reduce because once one library in a program uses garbage collection, the whole process
memory needs to be subject to it, so that no pointers are missed. The Boehm-Dehmers-Weiser
collector also reserves certain signals for internal use, so it is not fully transparent
to the rest of the program.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s03s04.html"><strong>Prev</strong>1.3.4. Custom memory
allocators</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Other.html"><strong>Next</strong>1.4. Other
C-related topics</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch04s02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch04s02.html
new file mode 100644
index 0000000..dd3bb75
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch04s02.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>4.2. Run-time compilation and code generation</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python
Programming Language" /><link rel="prev"
href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python
Programming Language" /><link rel="next"
href="ch04s03.html" title="4.3. Sandboxing" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Python.html"><strong>Prev</strong></a><
/li><li class="next"><a accesskey="n"
href="ch04s03.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217617439792"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217617439792">4.2. Run-time compilation and code
generation</h2></div></div></div><div
class="para">
+ The following Python functions and statements related to code execution should be
avoided:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">compile</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">eval</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">exec</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">execfile</code>
+ </div></li></ul></div><div class="para">
+ If you need to parse integers or floating point values, use the <code
class="function">int</code> and <code
class="function">float</code> functions instead of <code
class="function">eval</code>. Sandboxing untrusted Python code does not
work reliably.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Python.html"><strong>Prev</strong>Chapter 4. The
Python Programming Language</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch04s03.html"><strong>Next</strong>4.3. Sandboxing</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch04s03.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch04s03.html
new file mode 100644
index 0000000..cb80e20
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch04s03.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>4.3. Sandboxing</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python
Programming Language" /><link rel="prev"
href="ch04s02.html" title="4.2. Run-time compilation and code
generation" /><link rel="next" href="pt02.html"
title="Part II. Specific Programming Tasks" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch04s02.html"><strong>Prev</strong></a></li><li
class="next"><
a accesskey="n"
href="pt02.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217620859936"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217620859936">4.3. Sandboxing</h2></div></div></div><div
class="para">
+ The <code class="literal">rexec</code> Python module cannot
safely sandbox untrusted code and should not be used. The standard CPython implementation
is not suitable for sandboxing.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch04s02.html"><strong>Prev</strong>4.2. Run-time
compilation and code generation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="pt02.html"><strong>Next</strong>Part II. Specific
Programming Tasks</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch05s02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch05s02.html
new file mode 100644
index 0000000..410b0e3
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch05s02.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>5.2. Object orientation</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Library_Design.html"
title="Chapter 5. Library Design" /><link rel="prev"
href="chap-Defensive_Coding-Tasks-Library_Design.html"
title="Chapter 5. Library Design" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"
title="5.3. Callbacks" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-T
asks-Library_Design.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217622135152"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217622135152">5.2. Object
orientation</h2></div></div></div><div
class="para">
+ Classes should be either designed as base classes, or it should be impossible to use
them as base classes (like <code class="literal">final</code>
classes in Java). Classes which are not designed for inheritance and are used as base
classes nevertheless create potential maintenance hazards because it is difficult to
predict how client code will react when calls to virtual methods are added, reordered or
removed.
+ </div><div class="para">
+ Virtual member functions can be used as callbacks. See <a class="xref"
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">Section 5.3,
“Callbacks”</a> for some of the challenges involved.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-Library_Design.html"><strong>Prev</strong>Chapter 5. Library
Design</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Next</strong>5.3. Callbacks</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch05s04.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch05s04.html
new file mode 100644
index 0000000..bf514bd
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch05s04.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>5.4. Process attributes</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Library_Design.html"
title="Chapter 5. Library Design" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"
title="5.3. Callbacks" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File
Descriptor Management" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Defensive
_Coding-Tasks-Library_Design-Callbacks.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217625130784"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217625130784">5.4. Process
attributes</h2></div></div></div><div
class="para">
+ Several attributes are global and affect all code in the process, not just the library
that manipulates them.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ environment variables (see <a class="xref"
href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1,
“Accessing environment variables”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ umask
+ </div></li><li class="listitem"><div
class="para">
+ user IDs, group IDs and capabilities
+ </div></li><li class="listitem"><div
class="para">
+ current working directory
+ </div></li><li class="listitem"><div
class="para">
+ signal handlers, signal masks and signal delivery
+ </div></li><li class="listitem"><div
class="para">
+ file locks (especially <code class="function">fcntl</code>
locks behave in surprising ways, not just in a multi-threaded environment)
+ </div></li></ul></div><div class="para">
+ Library code should avoid manipulating these global process attributes. It should not
rely on environment variables, umask, the current working directory and signal masks
because these attributes can be inherted from an untrusted source.
+ </div><div class="para">
+ In addition, there are obvious process-wide aspects such as the virtual memory layout,
the set of open files and dynamic shared objects, but with the exception of shared
objects, these can be manipulated in a relatively isolated way.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html"><strong>Prev</strong>5.3. Callbacks</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Next</strong>Chapter 6. File
Descriptor Management</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s02.html
new file mode 100644
index 0000000..abb6e31
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s02.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.2. Named temporary files</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"
title="Chapter 8. Temporary files" /><link rel="prev"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"
title="Chapter 8. Temporary files" /><link rel="next"
href="ch08s03.html" title="8.3. Temporary files without names"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-Temporary_Files.
html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch08s03.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217625929008"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217625929008">8.2. Named temporary
files</h2></div></div></div><div class="para">
+ The <code class="function">mkostemp</code> function creates a
named temporary file. You should specify the <code
class="literal">O_CLOEXEC</code> flag to avoid file descriptor leaks to
subprocesses. (Applications which do not use multiple threads can also use <code
class="function">mkstemp</code>, but libraries should use <code
class="function">mkostemp</code>.) For determining the directory part
of the file name pattern, see <a class="xref"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1,
“Obtaining the location of temporary directory”</a>.
+ </div><div class="para">
+ The file is not removed automatically. It is not safe to rename or delete the file
before processing, or transform the name in any way (for example, by adding a file
extension). If you need multiple temporary files, call <code
class="function">mkostemp</code> multiple times. Do not create
additional file names derived from the name provided by a previous <code
class="function">mkostemp</code> call. However, it is safe to close the
descriptor returned by <code class="function">mkostemp</code> and
reopen the file using the generated name.
+ </div><div class="para">
+ The Python class <code
class="literal">tempfile.NamedTemporaryFile</code> provides similar
functionality, except that the file is deleted automatically by default. Note that you may
have to use the <code class="literal">file</code> attribute to
obtain the actual file object because some programming interfaces cannot deal with
file-like objects. The C function <code
class="function">mkostemp</code> is also available as <code
class="function">tempfile.mkstemp</code>.
+ </div><div class="para">
+ In Java, you can use the <code
class="function">java.io.File.createTempFile(String, String,
File)</code> function, using the temporary file location determined according to
<a class="xref"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1,
“Obtaining the location of temporary directory”</a>. Do not use <code
class="function">java.io.File.deleteOnExit()</code> to delete temporary
files, and do not register a shutdown hook for each temporary file you create. In both
cases, the deletion hint cannot be removed from the system if you delete the temporary
file prior to termination of the VM, causing a memory leak.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Prev</strong>Chapter 8. Temporary
files</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch08s03.html"><strong>Next</strong>8.3. Temporary files
without names</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s03.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s03.html
new file mode 100644
index 0000000..a723481
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s03.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.3. Temporary files without names</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"
title="Chapter 8. Temporary files" /><link rel="prev"
href="ch08s02.html" title="8.2. Named temporary files" /><link
rel="next" href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"
title="8.4. Temporary directories" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch08s02.html"><strong>Prev</strong></a></li><li
c
lass="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217596878992"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217596878992">8.3. Temporary files without
names</h2></div></div></div><div class="para">
+ The <code class="function">tmpfile</code> function creates a
temporary file and immediately deletes it, while keeping the file open. As a result, the
file lacks a name and its space is deallocated as soon as the file descriptor is closed
(including the implicit close when the process terminates). This avoids cluttering the
temporary directory with orphaned files.
+ </div><div class="para">
+ Alternatively, if the maximum size of the temporary file is known beforehand, the
<code class="function">fmemopen</code> function can be used to
create a <code class="literal">FILE *</code> object which is backed
by memory.
+ </div><div class="para">
+ In Python, unnamed temporary files are provided by the <code
class="literal">tempfile.TemporaryFile</code> class, and the <code
class="literal">tempfile.SpooledTemporaryFile</code> class provides a
way to avoid creation of small temporary files.
+ </div><div class="para">
+ Java does not support unnamed temporary files.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch08s02.html"><strong>Prev</strong>8.2. Named temporary
files</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"><strong>Next</strong>8.4. Temporary
directories</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s05.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s05.html
new file mode 100644
index 0000000..baec9c9
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch08s05.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.5. Compensating for unsafe file creation</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"
title="Chapter 8. Temporary files" /><link rel="prev"
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"
title="8.4. Temporary directories" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Ta
sks-Temporary_Directory.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217653861600"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217653861600">8.5. Compensating for unsafe file
creation</h2></div></div></div><div class="para">
+ There are two ways to make a function or program which excepts a file name safe for
use with temporary files. See <a class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1,
“Safe process creation”</a>, for details on subprocess creation.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Create a temporary directory and place the file there. If possible, run the program
in a subprocess which uses the temporary directory as its current directory, with a
restricted environment. Use generated names for all files in that temporary directory.
(See <a class="xref"
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">Section 8.4,
“Temporary directories”</a>.)
+ </div></li><li class="listitem"><div
class="para">
+ Create the temporary file and pass the generated file name to the function or
program. This only works if the function or program can cope with a zero-length existing
file. It is safe only under additional assumptions:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The function or program must not create additional files whose name is derived
from the specified file name or are otherwise predictable.
+ </div></li><li class="listitem"><div
class="para">
+ The function or program must not delete the file before processing it.
+ </div></li><li class="listitem"><div
class="para">
+ It must not access any existing files in the same directory.
+ </div></li></ul></div><div class="para">
+ It is often difficult to check whether these additional assumptions are matched,
therefore this approach is not recommended.
+ </div></li></ul></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html"><strong>Prev</strong>8.4. Temporary
directories</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Next</strong>Chapter 9. Processes</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s02.html
new file mode 100644
index 0000000..47b2d1a
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s02.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>9.2. Handling child process termination</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /><link rel="next"
href="ch09s03.html" title="9.3. SUID/SGID processes"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch09s03.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217626602928"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217626602928">9.2. Handling child process
termination</h2></div></div></div><div
class="para">
+ When child processes terminate, the parent process is signalled. A stub of the
terminated processes (a <span
class="emphasis"><em>zombie</em></span>, shown as <code
class="literal"><defunct></code> by <span
class="application"><strong>ps</strong></span>) is kept
around until the status information is collected (<span
class="emphasis"><em>reaped</em></span>) by the parent
process. Over the years, several interfaces for this have been invented:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The parent process calls <code class="function">wait</code>,
<code class="function">waitpid</code>, <code
class="function">waitid</code>, <code
class="function">wait3</code> or <code
class="function">wait4</code>, without specifying a process ID. This
will deliver any matching process ID. This approach is typically used from within event
loops.
+ </div></li><li class="listitem"><div
class="para">
+ The parent process calls <code
class="function">waitpid</code>, <code
class="function">waitid</code>, or <code
class="function">wait4</code>, with a specific process ID. Only data
for the specific process ID is returned. This is typically used in code which spawns a
single subprocess in a synchronous manner.
+ </div></li><li class="listitem"><div
class="para">
+ The parent process installs a handler for the <code
class="literal">SIGCHLD</code> signal, using <code
class="function">sigaction</code>, and specifies to the <code
class="literal">SA_NOCLDWAIT</code> flag. This approach could be used
by event loops as well.
+ </div></li></ul></div><div class="para">
+ None of these approaches can be used to wait for child process terminated in a
completely thread-safe manner. The parent process might execute an event loop in another
thread, which could pick up the termination signal. This means that libraries typically
cannot make free use of child processes (for example, to run problematic code with reduced
privileges in a separate address space).
+ </div><div class="para">
+ At the moment, the parent process should explicitly wait for termination of the child
process using <code class="function">waitpid</code> or <code
class="function">waitpid</code>, and hope that the status is not
collected by an event loop first.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Processes.html"><strong>Prev</strong>Chapter 9. Processes</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch09s03.html"><strong>Next</strong>9.3. SUID/SGID
processes</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s03.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s03.html
new file mode 100644
index 0000000..38e5624
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s03.html
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>9.3. SUID/SGID processes</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /><link rel="prev"
href="ch09s02.html" title="9.2. Handling child process termination"
/><link rel="next"
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"
title="9.4. Daemons" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch09s02.html"><strong>Prev</strong></a></li><li
class="next"><a
accesskey="n"
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217599915424"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217599915424">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</h2></div></div></div><div
class="para">
+ Programs can be marked in the file system to indicate to the kernel that a trust
transition should happen if the program is run. The <code
class="literal">SUID</code> file permission bit indicates that an
executable should run with the effective user ID equal to the owner of the executable
file. Similarly, with the <code class="literal">SGID</code> bit, the
effective group ID is set to the group of the executable file.
+ </div><div class="para">
+ Linux supports <span
class="emphasis"><em>fscaps</em></span>, which can grant
additional capabilities to a process in a finer-grained manner. Additional mechanisms can
be provided by loadable security modules.
+ </div><div class="para">
+ When such a trust transition has happened, the process runs in a potentially hostile
environment. Additional care is necessary not to rely on any untrusted information. These
concerns also apply to libraries which can be linked into such processes.
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-secure_getenv"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.3.1. Accessing environment
variables</h3></div></div></div><div
class="para">
+ The following steps are required so that a program does not accidentally pick up
untrusted data from environment variables.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Compile your C/C++ sources with <code
class="literal">-D_GNU_SOURCE</code>. The Autoconf macro <code
class="literal">AC_GNU_SOURCE</code> ensures this.
+ </div></li><li class="listitem"><div
class="para">
+ Check for the presence of the <code
class="function">secure_getenv</code> and <code
class="function">__secure_getenv</code> function. The Autoconf
directive <code class="literal">AC_CHECK_FUNCS([__secure_getenv
secure_getenv])</code> performs these checks.
+ </div></li><li class="listitem"><div
class="para">
+ Arrange for a proper definition of the <code
class="function">secure_getenv</code> function. See <a
class="xref"
href="ch09s03.html#ex-Defensive_Coding-Tasks-secure_getenv">Example 9.1,
“Obtaining a definition for <code
class="function">secure_getenv</code>”</a>.
+ </div></li><li class="listitem"><div
class="para">
+ Use <code class="function">secure_getenv</code> instead of
<code class="function">getenv</code> to obtain the value of critical
environment variables. <code class="function">secure_getenv</code>
will pretend the variable has not bee set if the process environment is not trusted.
+ </div></li></ul></div><div class="para">
+ Critical environment variables are debugging flags, configuration file locations,
plug-in and log file locations, and anything else that might be used to bypass security
restrictions or cause a privileged process to behave in an unexpected way.
+ </div><div class="para">
+ Either the <code class="function">secure_getenv</code> function
or the <code class="function">__secure_getenv</code> is available
from GNU libc.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-secure_getenv"><h6>Example 9.1. Obtaining
a definition for <code
class="function">secure_getenv</code></h6><div
class="example-contents"><pre class="programlisting">
+
+<span class="perl_Others">#include
<stdlib.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Others">#ifndef HAVE_SECURE_GETENV</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># ifdef HAVE__SECURE_GETENV</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># define secure_getenv
__secure_getenv</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># else</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># error neither secure_getenv nor __secure_getenv are
available</span><span class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others"># endif</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#endif</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+</pre></div></div><br class="example-break"
/></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch09s02.html"><strong>Prev</strong>9.2. Handling child
process termination</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Next</strong>9.4. Daemons</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s05.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s05.html
new file mode 100644
index 0000000..e6fcd9a
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch09s05.html
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>9.5. Semantics of command line arguments</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"
title="9.4. Daemons" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"
title="9.6. fork as a primitive for parallelism" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Codi
ng-Tasks-Processes-Daemons.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217624860912"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217624860912">9.5. Semantics of command line
arguments</h2></div></div></div><div
class="para">
+ After process creation and option processing, it is up to the child process to
interpret the arguments. Arguments can be file names, host names, or URLs, and many other
things. URLs can refer to the local network, some server on the Internet, or to the local
file system. Some applications even accept arbitrary code in arguments (for example,
<span class="application"><strong>python</strong></span>
with the <code class="option">-c</code> option).
+ </div><div class="para">
+ Similar concerns apply to environment variables, the contents of the current directory
and its subdirectories.
+ </div><div class="para">
+ Consequently, careful analysis is required if it is safe to pass untrusted data to
another program.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html"><strong>Prev</strong>9.4. Daemons</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Next</strong>9.6. fork
as a primitive for parallelism</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s02.html
new file mode 100644
index 0000000..ed077dc
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s02.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.2. Protocol design</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Serialization.html"
title="Chapter 10. Serialization and Deserialization" /><link
rel="prev" href="chap-Defensive_Coding-Tasks-Serialization.html"
title="Chapter 10. Serialization and Deserialization" /><link
rel="next" href="ch10s03.html" title="10.3. Library support for
deserialization" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="cha
p-Defensive_Coding-Tasks-Serialization.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch10s03.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217574437568"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217574437568">10.2. Protocol
design</h2></div></div></div><div class="para">
+ Binary formats with explicit length fields are more difficult to parse robustly than
those where the length of dynamically-sized elements is derived from sentinel values. A
protocol which does not use length fields and can be written in printable ASCII characters
simplifies testing and debugging. However, binary protocols with length fields may be more
efficient to parse.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Prev</strong>Chapter 10. Serialization
and Deserialization</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch10s03.html"><strong>Next</strong>10.3. Library support
for deserialization</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s03.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s03.html
new file mode 100644
index 0000000..4dbf116
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s03.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.3. Library support for deserialization</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Serialization.html"
title="Chapter 10. Serialization and Deserialization" /><link
rel="prev" href="ch10s02.html" title="10.2. Protocol design"
/><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch10s02.html"><strong>Prev</strong></a></l
i><li class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217619318032"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217619318032">10.3. Library support for
deserialization</h2></div></div></div><div
class="para">
+ For some languages, generic libraries are available which allow to serialize and
deserialize user-defined objects. The deserialization part comes in one of two flavors,
depending on the library. The first kind uses type information in the data stream to
control which objects are instantiated. The second kind uses type definitions supplied by
the programmer. The first one allows arbitrary object instantiation, the second one
generally does not.
+ </div><div class="para">
+ The following serialization frameworks are in the first category, are known to be
unsafe, and must not be used for untrusted data:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Python's <span class="package">pickle</span> and <span
class="package">cPickle</span> modules
+ </div></li><li class="listitem"><div
class="para">
+ Perl's <span class="package">Storable</span> package
+ </div></li><li class="listitem"><div
class="para">
+ Java serialization (<span
class="type">java.io.ObjectInputStream</span>), even if encoded in
other formats (as with <span
class="type">java.beans.XMLDecoder</span>)
+ </div></li><li class="listitem"><div
class="para">
+ PHP serialization (<code class="function">unserialize</code>)
+ </div></li><li class="listitem"><div
class="para">
+ Most implementations of YAML
+ </div></li></ul></div><div class="para">
+ When using a type-directed deserialization format where the types of the deserialized
objects are specified by the programmer, make sure that the objects which can be
instantiated cannot perform any destructive actions in their destructors, even when the
data members have been manipulated.
+ </div><div class="para">
+ In general, JSON decoders do not suffer from this problem. But you must not use the
<code class="function">eval</code> function to parse JSON objects in
Javascript; even with the regular expression filter from RFC 4627, there are still
information leaks remaining. JSON-based formats can still turn out risky if they serve as
an encoding form for any if the serialization frameworks listed above.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch10s02.html"><strong>Prev</strong>10.2. Protocol
design</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Next</strong>10.4. XML
serialization</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s05.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s05.html
new file mode 100644
index 0000000..856a0af
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch10s05.html
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.5. Protocol Encoders</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Serialization.html"
title="Chapter 10. Serialization and Deserialization" /><link
rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"
title="10.4.7.3. Other XML parsers in OpenJDK" /><link
rel="next" href="chap-Defensive_Coding-Tasks-Cryptography.html"
title="Chapter 11. Cryptography" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li class="pre
vious"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217646545984"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217646545984">10.5. Protocol
Encoders</h2></div></div></div><div class="para">
+ For protocol encoders, you should write bytes to a buffer which grows as needed, using
an exponential sizing policy. Explicit lengths can be patched in later, once they are
known. Allocating the required number of bytes upfront typically requires separate code to
compute the final size, which must be kept in sync with the actual encoding step, or
vulnerabilities may result. In multi-threaded code, parts of the object being deserialized
might change, so that the computed size is out of date.
+ </div><div class="para">
+ You should avoid copying data directly from a received packet during encoding,
disregarding the format. Propagating malformed data could enable attacks on other
recipients of that data.
+ </div><div class="para">
+ When using C or C++ and copying whole data structures directly into the output, make
sure that you do not leak information in padding bytes between fields or at the end of the
<code class="literal">struct</code>.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Prev</strong>10.4.7.3. Other
XML parsers in OpenJDK</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Next</strong>Chapter 11. Cryptography</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch11s02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch11s02.html
new file mode 100644
index 0000000..d9c84dc
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/ch11s02.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>11.2. Randomness</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Cryptography.html"
title="Chapter 11. Cryptography" /><link rel="prev"
href="chap-Defensive_Coding-Tasks-Cryptography.html"
title="Chapter 11. Cryptography" /><link rel="next"
href="pt03.html" title="Part III. Implementing Security Features"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-Cryptography.html"><st
rong>Prev</strong></a></li><li class="next"><a
accesskey="n"
href="pt03.html"><strong>Next</strong></a></li></ul><div
class="section" id="idm217615478096"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217615478096">11.2. Randomness</h2></div></div></div><div
class="para">
+ The following facilities can be used to generate unpredictable and non-repeating
values. When these functions are used without special safeguards, each individual random
value should be at least 12 bytes long.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">PK11_GenerateRandom</code> in the NSS
library (usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">RAND_bytes</code> in the OpenSSL
library (usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">gnutls_rnd</code> in GNUTLS, with
<code class="literal">GNUTLS_RND_RANDOM</code> as the first argument
(usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <span class="type">java.security.SecureRandom</span> in Java
(usable for high data rates)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">os.urandom</code> in Python
+ </div></li><li class="listitem"><div
class="para">
+ Reading from the <code class="filename">/dev/urandom</code>
character device
+ </div></li></ul></div><div class="para">
+ All these functions should be non-blocking, and they should not wait until physical
randomness becomes available. (Some cryptography providers for Java can cause <span
class="type">java.security.SecureRandom</span> to block, however.)
Those functions which do not obtain all bits directly from <code
class="filename">/dev/urandom</code> are suitable for high data rates
because they do not deplete the system-wide entropy pool.
+ </div><div class="important"><div
class="admonition_header"><h2>Difficult to use
API</h2></div><div class="admonition"><div
class="para">
+ Both <code class="function">RAND_bytes</code> and <code
class="function">PK11_GenerateRandom</code> have three-state return
values (with conflicting meanings). Careful error checking is required. Please review the
documentation when using these functions.
+ </div></div></div><div class="para">
+ Other sources of randomness should be considered predictable.
+ </div><div class="para">
+ Generating randomness for cryptographic keys in long-term use may need different steps
and is best left to cryptographic libraries.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-Cryptography.html"><strong>Prev</strong>Chapter 11. Cryptography</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="pt03.html"><strong>Next</strong>Part III. Implementing
Security Features</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html
new file mode 100644
index 0000000..22450a1
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Authentication.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 12. Authentication and Authorization</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt03.html" title="Part III. Implementing Security Features"
/><link rel="prev" href="pt03.html"
title="Part III. Implementing Security Features" /><link
rel="next" href="sect-Defensive_Coding-Authentication-Host_based.html"
title="12.2. Host-based authentication" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="pt03.html"><strong>Prev</strong></a></li><li
class="next"
<a accesskey="n"
href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Authentication" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 12. Authentication and
Authorization</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">12.1.
Authenticating servers</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-Host_based.html">12.2. Host-based
authentication</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">12.3. UNIX
domain socket authentication</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-Netlink.html">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</a></span></dt></dl></div>
<div
class="section"
id="sect-Defensive_Coding-Authentication-Server"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.1. Authenticating
servers</h2></div></div></div><div class="para">
+ When connecting to a server, a client has to make sure that it is actually talking to
the server it expects. There are two different aspects, securing the network path, and
making sure that the expected user runs the process on the target host. There are several
ways to ensure that:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The server uses a TLS certificate which is valid according to the web browser public
key infrastructure, and the client verifies the certificate and the host name.
+ </div></li><li class="listitem"><div
class="para">
+ The server uses a TLS certificate which is expectedby the client (perhaps it is
stored in a configuration file read by the client). In this case, no host name checking is
required.
+ </div></li><li class="listitem"><div
class="para">
+ On Linux, UNIX domain sockets (of the <code
class="literal">PF_UNIX</code> protocol family, sometimes called
<code class="literal">PF_LOCAL</code>) are restricted by file system
permissions. If the server socket path is not world-writable, the server identity cannot
be spoofed by local users.
+ </div></li><li class="listitem"><div
class="para">
+ Port numbers less than 1024 (<span
class="emphasis"><em>trusted ports</em></span>) can only be
used by <code class="literal">root</code>, so if a UDP or TCP server
is running on the local host and it uses a trusted port, its identity is assured. (Not all
operating systems enforce the trusted ports concept, and the network might not be trusted,
so it is only useful on the local system.)
+ </div></li></ul></div><div class="para">
+ TLS (<a class="xref"
href="chap-Defensive_Coding-TLS.html">Chapter 13, <em>Transport Layer
Security</em></a>) is the recommended way for securing connections over
untrusted networks.
+ </div><div class="para">
+ If the server port number is 1024 is higher, a local user can impersonate the process
by binding to this socket, perhaps after crashing the real server by exploiting a
denial-of-service vulnerability.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="pt03.html"><strong>Prev</strong>Part III. Implementing
Security Features</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Next</strong>12.2. Host-based
authentication</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-C.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-C.html
new file mode 100644
index 0000000..6a06a4f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-C.html
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 1. The C Programming Language</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt01.html" title="Part I. Programming Languages" /><link
rel="prev" href="pt01.html" title="Part I. Programming
Languages" /><link rel="next"
href="sect-Defensive_Coding-C-Libc.html" title="1.2. The C standard
library" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="pt01.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="sect-Defensive_Coding
-C-Libc.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-C" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 1. The C Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The
core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1.
Undefined behavior</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2.
Recommendations for pointers and array
handling</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3.
Recommendations for integer
arithmetic</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard l
ibrary</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1.
Absolutely banned interfaces</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to
avoid</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String
Functions With Explicit Length
Arguments</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory
allocators</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators.html#idm217614761120">1.3.1.
<code class="function">malloc</code> and related
functions</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</a></span></dt><dt><span
class="section"><a href="s
ect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array
allocation</a></span></dt><dt><span
class="section"><a href="ch01s03s04.html">1.3.4. Custom
memory allocators</a></span></dt><dt><span
class="section"><a href="ch01s03s05.html">1.3.5. Conservative
garbage
collection</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related
topics</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1.
Wrapper
functions</a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-C-Language" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.1. The core
language</h2></div></div></div><div class="para">
+ C provides no memory safety. Most recommendations in this section deal with this aspect
of the language.
+ </div><div class="section"
id="sect-Defensive_Coding-C-Undefined"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.1.1. Undefined
behavior</h3></div></div></div><div class="para">
+ Some C constructs are defined to be undefined by the C standard. This does not only
mean that the standard does not describe what happens when the construct is executed. It
also allows optimizing compilers such as GCC to assume that this particular construct is
never reached. In some cases, this has caused GCC to optimize security checks away. (This
is not a flaw in GCC or the C language. But C certainly has some areas which are more
difficult to use than others.)
+ </div><div class="para">
+ Common sources of undefined behavior are:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ out-of-bounds array accesses
+ </div></li><li class="listitem"><div
class="para">
+ null pointer dereferences
+ </div></li><li class="listitem"><div
class="para">
+ overflow in signed integer arithmetic
+ </div></li></ul></div></div><div
class="section" id="sect-Defensive_Coding-C-Pointers"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.1.2. Recommendations for pointers and array
handling</h3></div></div></div><div class="para">
+ Always keep track of the size of the array you are working with. Often, code is more
obviously correct when you keep a pointer past the last element of the array, and
calculate the number of remaining elements by substracting the current position from that
pointer. The alternative, updating a separate variable every time when the position is
advanced, is usually less obviously correct.
+ </div><div class="para">
+ <a class="xref"
href="chap-Defensive_Coding-C.html#ex-Defensive_Coding-C-Pointers-remaining">Example 1.1,
“Array processing in C”</a> shows how to extract Pascal-style strings from a
character buffer. The two pointers kept for length checks are <code
class="varname">inend</code> and <code
class="varname">outend</code>. <code
class="varname">inp</code> and <code
class="varname">outp</code> are the respective positions. The number of
input bytes is checked using the expression <code class="literal">len
> (size_t)(inend - inp)</code>. The cast silences a compiler warning;
<code class="varname">inend</code> is always larger than <code
class="varname">inp</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-C-Pointers-remaining"><h6>Example 1.1. Array
processing in C</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+ssize_t
+extract_strings(<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *in, size_t inlen, <span
class="perl_DataType">char</span> **out, size_t outlen)
+{
+ <span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *inp = in;
+ <span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *inend = in + inlen;
+ <span class="perl_DataType">char</span> **outp = out;
+ <span class="perl_DataType">char</span> **outend = out + outlen;
+
+ <span class="perl_Keyword">while</span> (inp != inend) {
+ size_t len;
+ <span class="perl_DataType">char</span> *s;
+ <span class="perl_Keyword">if</span> (outp == outend) {
+ errno = ENOSPC;
+ <span class="perl_Keyword">goto</span> err;
+ }
+ len = (<span class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span>)*inp;
+ ++inp;
+ <span class="perl_Keyword">if</span> (len >
(size_t)(inend - inp)) {
+ errno = EINVAL;
+ <span class="perl_Keyword">goto</span> err;
+ }
+ s = malloc(len + <span class="perl_Float">1</span>);
+ <span class="perl_Keyword">if</span> (s == NULL) {
+ <span class="perl_Keyword">goto</span> err;
+ }
+ memcpy(s, inp, len);
+ inp += len;
+ s[len] = '\0';
+ *outp = s;
+ ++outp;
+ }
+ <span class="perl_Keyword">return</span> outp - out;
+err:
+ {
+ <span class="perl_DataType">int</span> errno_old = errno;
+ <span class="perl_Keyword">while</span> (out != outp) {
+ free(*out);
+ ++out;
+ }
+ errno = errno_old;
+ }
+ <span class="perl_Keyword">return</span> <span
class="perl_DecVal">-1</span>;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ It is important that the length checks always have the form <code
class="literal">len > (size_t)(inend - inp)</code>, where
<code class="varname">len</code> is a variable of type <span
class="type">size_t</span> which denotes the <span
class="emphasis"><em>total</em></span> number of bytes
which are about to be read or written next. In general, it is not safe to fold multiple
such checks into one, as in <code class="literal">len1 + len2 >
(size_t)(inend - inp)</code>, because the expression on the left can overflow or
wrap around (see <a class="xref"
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3,
“Recommendations for integer arithmetic”</a>), and it no longer reflects the number
of bytes to be processed.
+ </div></div><div class="section"
id="sect-Defensive_Coding-C-Arithmetic"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.1.3. Recommendations for integer
arithmetic</h3></div></div></div><div
class="para">
+ Overflow in signed integer arithmetic is undefined. This means that it is not possible
to check for overflow after it happened, see <a class="xref"
href="chap-Defensive_Coding-C.html#ex-Defensive_Coding-C-Arithmetic-bad">Example 1.2,
“Incorrect overflow detection in C”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-C-Arithmetic-bad"><h6>Example 1.2. Incorrect
overflow detection in C</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">void</span> report_overflow(<span
class="perl_DataType">void</span>);
+
+<span class="perl_DataType">int</span>
+add(<span class="perl_DataType">int</span> a, <span
class="perl_DataType">int</span> b)
+{
+ <span class="perl_DataType">int</span> result = a + b;
+ <span class="perl_Keyword">if</span> (a < 0 || b <
0) {
+ <span class="perl_Keyword">return</span> <span
class="perl_DecVal">-1</span>;
+ }
+ <span class="perl_Comment">// The compiler can optimize away the
following if statement.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">if</span> (result < 0) {
+ report_overflow();
+ }
+ <span class="perl_Keyword">return</span> result;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ The following approaches can be used to check for overflow, without actually causing
it.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Use a wider type to perform the calculation, check that the result is within bounds,
and convert the result to the original type. All intermediate results must be checked in
this way.
+ </div></li><li class="listitem"><div
class="para">
+ Perform the calculation in the corresponding unsigned type and use bit fiddling to
detect the overflow.
+ </div></li><li class="listitem"><div
class="para">
+ Compute bounds for acceptable input values which are known to avoid overflow, and
reject other values. This is the preferred way for overflow checking on multiplications,
see <a class="xref"
href="chap-Defensive_Coding-C.html#ex-Defensive_Coding-C-Arithmetic-mult">Example 1.3,
“Overflow checking for unsigned multiplication”</a>.
+ </div></li></ul></div><div class="example"
id="ex-Defensive_Coding-C-Arithmetic-mult"><h6>Example 1.3. Overflow
checking for unsigned multiplication</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_DataType">unsigned</span>
+mul(<span class="perl_DataType">unsigned</span> a, <span
class="perl_DataType">unsigned</span> b)
+{
+ <span class="perl_Keyword">if</span> (b && a
> ((<span class="perl_DataType">unsigned</span>)<span
class="perl_DecVal">-1</span>) / b) {
+ report_overflow();
+ }
+ <span class="perl_Keyword">return</span> a * b;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Basic arithmetic operations a commutative, so for bounds checks, there are two
different but mathematically equivalent expressions. Sometimes, one of the expressions
results in better code because parts of it can be reduced to a constant. This applies to
overflow checks for multiplication <code class="literal">a *
b</code> involving a constant <code class="literal">a</code>,
where the expression is reduced to <code class="literal">b >
C</code> for some constant <code class="literal">C</code>
determined at compile time. The other expression, <code class="literal">b
&& a > ((unsigned)-1) / b</code>, is more difficult to
optimize at compile time.
+ </div><div class="para">
+ When a value is converted to a signed integer, GCC always chooses the result based on
2's complement arithmetic. This GCC extension (which is also implemented by other
compilers) helps a lot when implementing overflow checks.
+ </div><div class="para">
+ Legacy code should be compiled with the <code
class="option">-fwrapv</code> GCC option. As a result, GCC will provide
2's complement semantics for integer arithmetic, including defined behavior on integer
overflow.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="pt01.html"><strong>Prev</strong>Part I. Programming
Languages</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Libc.html"><strong>Next</strong>1.2. The
C standard library</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-CXX.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-CXX.html
new file mode 100644
index 0000000..ffe3a29
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-CXX.html
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 2. The C++ Programming Language</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt01.html" title="Part I. Programming Languages" /><link
rel="prev" href="sect-Defensive_Coding-C-Other.html"
title="1.4. Other C-related topics" /><link rel="next"
href="sect-Defensive_Coding-CXX-Std.html" title="2.2. The C++ standard
library" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Other.html"><strong>Prev</strong></a></li><li
class="
next"><a accesskey="n"
href="sect-Defensive_Coding-CXX-Std.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-CXX" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 2. The C++ Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1.
The core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217609231952">2.1.1. Array allocation
with <code class="literal">operator
new[]</code></a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217629800976">2.1.2.
Overloading</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217609919680">2.1.3. ABI
compatibility and preparing for security
updates</a></span></dt><dt><span
class="section"><a href="chap-Defensive_Coding-CXX.html
#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4. C++0X and C++11
support</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-CXX-Std.html#idm217623779280">2.2.1. Containers
and <code
class="literal">operator[]</code></a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-CXX-Language" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">2.1. The core
language</h2></div></div></div><div class="para">
+ C++ includes a large subset of the C language. As far as the C subset is used, the
recommendations in <a class="xref"
href="chap-Defensive_Coding-C.html">Chapter 1, <em>The C Programming
Language</em></a> apply.
+ </div><div class="section" id="idm217609231952"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217609231952">2.1.1. Array allocation with <code
class="literal">operator
new[]</code></h3></div></div></div><div
class="para">
+ For very large values of <code class="literal">n</code>, an
expression like <code class="literal">new T[n]</code> can return a
pointer to a heap region which is too small. In other words, not all array elements are
actually backed with heap memory reserved to the array. Current GCC versions generate code
that performs a computation of the form <code class="literal">sizeof(T) *
size_t(n) + cookie_size</code>, where <code
class="literal">cookie_size</code> is currently at most 8. This
computation can overflow, and GCC-generated code does not detect this.
+ </div><div class="para">
+ The <code class="literal">std::vector</code> template can be
used instead an explicit array allocation. (The GCC implementation detects overflow
internally.)
+ </div><div class="para">
+ If there is no alternative to <code class="literal">operator
new[]</code>, code which allocates arrays with a variable length must check for
overflow manually. For the <code class="literal">new T[n]</code>
example, the size check could be <code class="literal">n || (n > 0
&& n > (size_t(-1) - 8) / sizeof(T))</code>. (See <a
class="xref"
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3,
“Recommendations for integer arithmetic”</a>.) If there are additional dimensions
(which must be constants according to the C++ standard), these should be included as
factors in the divisor.
+ </div><div class="para">
+ These countermeasures prevent out-of-bounds writes and potential code execution. Very
large memory allocations can still lead to a denial of service. <a
class="xref"
href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1,
“Recommendations for manually written decoders”</a> contains suggestions for
mitigating this problem when processing untrusted data.
+ </div><div class="para">
+ See <a class="xref"
href="sect-Defensive_Coding-C-Allocators-Arrays.html">Section 1.3.3, “Array
allocation”</a> for array allocation advice for C-style memory allocation.
+ </div></div><div class="section"
id="idm217629800976"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217629800976">2.1.2. Overloading</h3></div></div></div><div
class="para">
+ Do not overload functions with versions that have different security characteristics.
For instance, do not implement a function <code
class="function">strcat</code> which works on <span
class="type">std::string</span> arguments. Similarly, do not name
methods after such functions.
+ </div></div><div class="section"
id="idm217609919680"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217609919680">2.1.3. ABI compatibility and preparing for security
updates</h3></div></div></div><div class="para">
+ A stable binary interface (ABI) is vastly preferred for security updates. Without a
stable ABI, all reverse dependencies need recompiling, which can be a lot of work and
could even be impossible in some cases. Ideally, a security update only updates a single
dynamic shared object, and is picked up automatically after restarting affected
processes.
+ </div><div class="para">
+ Outside of extremely performance-critical code, you should ensure that a wide range of
changes is possible without breaking ABI. Some very basic guidelines are:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Avoid inline functions.
+ </div></li><li class="listitem"><div
class="para">
+ Use the pointer-to-implementation idiom.
+ </div></li><li class="listitem"><div
class="para">
+ Try to avoid templates. Use them if the increased type safety provides a benefit to
the programmer.
+ </div></li><li class="listitem"><div
class="para">
+ Move security-critical code out of templated code, so that it can be patched in a
central place if necessary.
+ </div></li></ul></div><div class="para">
+ The KDE project publishes a document with more extensive guidelines on ABI-preserving
changes to C++ code, <a
href="http://techbase.kde.org/Policies/Binary_Compatibility_Issues_W...
Compatibility Issues With C++</a> (<span
class="emphasis"><em>d-pointer</em></span> refers to the
pointer-to-implementation idiom).
+ </div></div><div class="section"
id="sect-Defensive_Coding-CXX-Language-CXX11"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">2.1.4. C++0X and C++11
support</h3></div></div></div><div class="para">
+ GCC offers different language compatibility modes:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="option">-std=c++98</code> for the original 1998
C++ standard
+ </div></li><li class="listitem"><div
class="para">
+ <code class="option">-std=c++03</code> for the 1998 standard
with the changes from the TR1 technical report
+ </div></li><li class="listitem"><div
class="para">
+ <code class="option">-std=c++11</code> for the 2011 C++
standard. This option should not be used.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="option">-std=c++0x</code> for several different
versions of C++11 support in development, depending on the GCC version. This option should
not be used.
+ </div></li></ul></div><div class="para">
+ For each of these flags, there are variants which also enable GNU extensions (mostly
language features also found in C99 or C11): <code
class="option">-std=gnu++98</code>, <code
class="option">-std=gnu++03</code>, <code
class="option">-std=gnu++11</code>. Again, <code
class="option">-std=gnu++11</code> should not be used.
+ </div><div class="para">
+ If you enable C++11 support, the ABI of the standard C++ library <code
class="literal">libstdc++</code> will change in subtle ways. Currently,
no C++ libraries are compiled in C++11 mode, so if you compile your code in C++11 mode, it
will be incompatible with the rest of the system. Unfortunately, this is also the case if
you do not use any C++11 features. Currently, there is no safe way to enable C++11 mode
(except for freestanding applications).
+ </div><div class="para">
+ The meaning of C++0X mode changed from GCC release to GCC release. Earlier versions
were still ABI-compatible with C++98 mode, but in the most recent versions, switching to
C++0X mode activates C++11 support, with its compatibility problems.
+ </div><div class="para">
+ Some C++11 features (or approximations thereof) are available with TR1 support, that
is, with <code class="option">-std=c++03</code> or <code
class="option">-std=gnu++03</code> and in the <code
class="literal"><tr1/*></code> header files. This
includes <code class="literal">std::tr1::shared_ptr</code> (from
<code class="literal"><tr1/memory></code>) and
<code class="literal">std::tr1::function</code> (from <code
class="literal"><tr1/functional></code>). For other C++11
features, the Boost C++ library contains replacements.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-C-Other.html"><strong>Prev</strong>1.4. Other
C-related topics</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-CXX-Std.html"><strong>Next</strong>2.2. The
C++ standard library</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Java.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Java.html
new file mode 100644
index 0000000..425209d
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Java.html
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 3. The Java Programming Language</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt01.html" title="Part I. Programming Languages" /><link
rel="prev" href="sect-Defensive_Coding-CXX-Std.html"
title="2.2. The C++ standard library" /><link rel="next"
href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level
features of the virtual machine" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-CXX-Std.html"><strong>Prev</st
rong></a></li><li class="next"><a
accesskey="n"
href="sect-Defensive_Coding-Java-LowLevel.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Java" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 3. The Java Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language">3.1.
The core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1.
Inceasing robustness when reading
arrays</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">3.1.2.
Resource management</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3.
Finalizers</a></span>
</dt><dt><span class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4.
Recovering from exceptions and
errors</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-LowLevel.html">3.2. Low-level features of
the virtual
machine</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-LowLevel.html#sect-Defensive_Coding-Java-Reflection">3.2.1.
<code class="literal">Reflection and private
parts</code></a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-JNI.html">3.2.2. Java Native Interface
(JNI)</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-MiscUnsafe.html">3.2.3. <code
class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager.html">3.3. Interacting with
the security
manager</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager.html#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1.
Security manager compatibility</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">3.3.2.
Activating the security manager</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">3.3.3.
Reducing trust in code</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">3.3.4.
Re-gaining
privileges</a></span></dt></dl></dd></dl></div><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-Java-Language" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">3.1. The core
language</h2></div></div></div><div class="para">
+ Implementations of the Java programming language provide strong memory safety, even in
the presence of data races in concurrent code. This prevents a large range of security
vulnerabilities from occurring, unless certain low-level features are used; see <a
class="xref"
href="sect-Defensive_Coding-Java-LowLevel.html">Section 3.2, “Low-level
features of the virtual machine”</a>.
+ </div><div class="section"
id="sect-Defensive_Coding-Java-Language-ReadArray"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.1. Inceasing robustness when reading
arrays</h3></div></div></div><div class="para">
+ External data formats often include arrays, and the data is stored as an integer
indicating the number of array elements, followed by this number of elements in the file
or protocol data unit. This length specified can be much larger than what is actually
available in the data source.
+ </div><div class="para">
+ To avoid allocating extremely large amounts of data, you can allocate a small array
initially and grow it as you read more data, implementing an exponential growth policy.
See the <code class="function">readBytes(InputStream, int)</code>
function in <a class="xref"
href="chap-Defensive_Coding-Java.html#ex-Defensive_Coding-Java-Language-ReadArray">Example 3.1,
“Incrementally reading a byte array”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-Language-ReadArray"><h6>Example 3.1. Incrementally
reading a byte array</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span
class="perl_DataType">byte</span>[] <span
class="perl_Function">readBytes</span>(InputStream in, <span
class="perl_DataType">int</span> length) <span
class="perl_Keyword">throws</span> IOException {
+ <span class="perl_DataType">final</span> <span
class="perl_DataType">int</span> startSize = <span
class="perl_Float">65536</span>;
+ <span class="perl_DataType">byte</span>[] b = <span
class="perl_Keyword">new</span> <span
class="perl_DataType">byte</span>[Math.<span
class="perl_Function">min</span>(length, startSize)];
+ <span class="perl_DataType">int</span> filled = <span
class="perl_Float">0</span>;
+ <span class="perl_Keyword">while</span> (<span
class="perl_Keyword">true</span>) {
+ <span class="perl_DataType">int</span> remaining =
b.<span class="perl_Function">length</span> - filled;
+ <span class="perl_Function">readFully</span>(in, b, filled,
remaining);
+ <span class="perl_Keyword">if</span> (b.<span
class="perl_Function">length</span> == length) {
+ <span class="perl_Keyword">break</span>;
+ }
+ filled = b.<span class="perl_Function">length</span>;
+ <span class="perl_Keyword">if</span> (length - b.<span
class="perl_Function">length</span> <= b.<span
class="perl_Function">length</span>) {
+ <span class="perl_Comment">// Allocate final length.
Condition avoids overflow.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> b = Arrays.<span
class="perl_Function">copyOf</span>(b, length);
+ } <span class="perl_Keyword">else</span> {
+ b = Arrays.<span class="perl_Function">copyOf</span>(b,
b.<span class="perl_Function">length</span> * <span
class="perl_Float">2</span>);
+ }
+ }
+ <span class="perl_Keyword">return</span> b;
+}
+
+<span class="perl_DataType">static</span> <span
class="perl_DataType">void</span> <span
class="perl_Function">readFully</span>(InputStream in,<span
class="perl_DataType">byte</span>[] b, <span
class="perl_DataType">int</span> off, <span
class="perl_DataType">int</span> len)
+ <span class="perl_Keyword">throws</span> IOException {
+ <span class="perl_DataType">int</span> startlen = len;
+ <span class="perl_Keyword">while</span> (len > <span
class="perl_Float">0</span>) {
+ <span class="perl_DataType">int</span> count = in.<span
class="perl_Function">read</span>(b, off, len);
+ <span class="perl_Keyword">if</span> (count <
<span class="perl_Float">0</span>) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> EOFException();
+ }
+ off += count;
+ len -= count;
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ When reading data into arrays, hash maps or hash sets, use the default constructor and
do not specify a size hint. You can simply add the elements to the collection as you read
them.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-Language-Resources"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.2. Resource
management</h3></div></div></div><div
class="para">
+ Unlike C++, Java does not offer destructors which can deallocate resources in a
predictable fashion. All resource management has to be manual, at the usage site.
(Finalizers are generally not usable for resource management, especially in
high-performance code; see <a class="xref"
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3,
“Finalizers”</a>.)
+ </div><div class="para">
+ The first option is the <code
class="literal">try</code>-<code
class="literal">finally</code> construct, as shown in <a
class="xref"
href="chap-Defensive_Coding-Java.html#ex-Defensive_Coding-Java-Language-Finally">Example 3.2,
“Resource management with a <code
class="literal">try</code>-<code
class="literal">finally</code> block”</a>. The code in the
<code class="literal">finally</code> block should be as short as
possible and should not throw any exceptions.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-Language-Finally"><h6>Example 3.2. Resource
management with a <code class="literal">try</code>-<code
class="literal">finally</code> block</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+InputStream in = <span class="perl_Keyword">new</span>
BufferedInputStream(<span class="perl_Keyword">new</span>
FileInputStream(path));
+<span class="perl_Keyword">try</span> {
+ <span class="perl_Function">readFile</span>(in);
+} <span class="perl_Keyword">finally</span> {
+ in.<span class="perl_Function">close</span>();
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Note that the resource allocation happens <span
class="emphasis"><em>outside</em></span> the <code
class="literal">try</code> block, and that there is no <code
class="literal">null</code> check in the <code
class="literal">finally</code> block. (Both are common artifacts
stemming from IDE code templates.)
+ </div><div class="para">
+ If the resource object is created freshly and implements the <code
class="literal">java.lang.AutoCloseable</code> interface, the code in
<a class="xref"
href="chap-Defensive_Coding-Java.html#ex-Defensive_Coding-Java-Language-TryWithResource">Example 3.3,
“Resource management using the <code
class="literal">try</code>-with-resource construct”</a> can be
used instead. The Java compiler will automatically insert the <code
class="function">close()</code> method call in a synthetic <code
class="literal">finally</code> block.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-Language-TryWithResource"><h6>Example 3.3. Resource
management using the <code class="literal">try</code>-with-resource
construct</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">try</span> (InputStream in = <span
class="perl_Keyword">new</span> BufferedInputStream(<span
class="perl_Keyword">new</span> FileInputStream(path))) {
+ <span class="perl_Function">readFile</span>(in);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ To be compatible with the <code
class="literal">try</code>-with-resource construct, new classes should
name the resource deallocation method <code
class="function">close()</code>, and implement the <code
class="literal">AutoCloseable</code> interface (the latter breaking
backwards compatibility with Java 6). However, using the <code
class="literal">try</code>-with-resource construct with objects that
are not freshly allocated is at best awkward, and an explicit <code
class="literal">finally</code> block is usually the better approach.
+ </div><div class="para">
+ In general, it is best to design the programming interface in such a way that resource
deallocation methods like <code class="function">close()</code>
cannot throw any (checked or unchecked) exceptions, but this should not be a reason to
ignore any actual error conditions.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-Language-Finalizers"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.3. Finalizers</h3></div></div></div><div
class="para">
+ Finalizers can be used a last-resort approach to free resources which would otherwise
leak. Finalization is unpredictable, costly, and there can be a considerable delay between
the last reference to an object going away and the execution of the finalizer. Generally,
manual resource management is required; see <a class="xref"
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2,
“Resource management”</a>.
+ </div><div class="para">
+ Finalizers should be very short and should only deallocate native or other external
resources held directly by the object being finalized. In general, they must use
synchronization: Finalization necessarily happens on a separate thread because it is
inherently concurrent. There can be multiple finalization threads, and despite each object
being finalized at most once, the finalizer must not assume that it has exclusive access
to the object being finalized (in the <code
class="literal">this</code> pointer).
+ </div><div class="para">
+ Finalizers should not deallocate resources held by other objects, especially if those
objects have finalizers on their own. In particular, it is a very bad idea to define a
finalizer just to invoke the resource deallocation method of another object, or overwrite
some pointer fields.
+ </div><div class="para">
+ Finalizers are not guaranteed to run at all. For instance, the virtual machine (or the
machine underneath) might crash, preventing their execution.
+ </div><div class="para">
+ Objects with finalizers are garbage-collected much later than objects without them, so
using finalizers to zero out key material (to reduce its undecrypted lifetime in memory)
may have the opposite effect, keeping objects around for much longer and prevent them from
being overwritten in the normal course of program execution.
+ </div><div class="para">
+ For the same reason, code which allocates objects with finalizers at a high rate will
eventually fail (likely with a <code
class="literal">java.lang.OutOfMemoryError</code> exception) because
the virtual machine has finite resources for keeping track of objects pending
finalization. To deal with that, it may be necessary to recycle objects with finalizers.
+ </div><div class="para">
+ The remarks in this section apply to finalizers which are implemented by overriding
the <code class="function">finalize()</code> method, and to custom
finalization using reference queues.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Java-Language-Exceptions"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.1.4. Recovering from exceptions and
errors</h3></div></div></div><div class="para">
+ Java exceptions come in three kinds, all ultimately deriving from <code
class="literal">java.lang.Throwable</code>:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <span class="emphasis"><em>Run-time
exceptions</em></span> do not have to be declared explicitly and can be
explicitly thrown from any code, by calling code which throws them, or by triggering an
error condition at run time, like division by zero, or an attempt at an out-of-bounds
array access. These exceptions derive from from the <code
class="literal">java.lang.RuntimeException</code> class (perhaps
indirectly).
+ </div></li><li class="listitem"><div
class="para">
+ <span class="emphasis"><em>Checked
exceptions</em></span> have to be declared explicitly by functions that throw
or propagate them. They are similar to run-time exceptions in other regards, except that
there is no language construct to throw them (except the <code
class="literal">throw</code> statement itself). Checked exceptions are
only present at the Java language level and are only enforced at compile time. At run
time, the virtual machine does not know about them and permits throwing exceptions from
any code. Checked exceptions must derive (perhaps indirectly) from the <code
class="literal">java.lang.Exception</code> class, but not from <code
class="literal">java.lang.RuntimeException</code>.
+ </div></li><li class="listitem"><div
class="para">
+ <span class="emphasis"><em>Errors</em></span> are
exceptions which typically reflect serious error conditions. They can be thrown at any
point in the program, and do not have to be declared (unlike checked exceptions). In
general, it is not possible to recover from such errors; more on that below, in <a
class="xref"
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions-Errors">Section 3.1.4.1,
“The difficulty of catching errors”</a>. Error classes derive (perhaps indirectly)
from <code class="literal">java.lang.Error</code>, or from <code
class="literal">java.lang.Throwable</code>, but not from <code
class="literal">java.lang.Exception</code>.
+ </div></li></ul></div><div class="para">
+ The general expection is that run-time errors are avoided by careful programming
(e.g., not dividing by zero). Checked exception are expected to be caught as they happen
(e.g., when an input file is unexpectedly missing). Errors are impossible to predict and
can happen at any point and reflect that something went wrong beyond all expectations.
+ </div><div class="section"
id="sect-Defensive_Coding-Java-Language-Exceptions-Errors"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">3.1.4.1. The difficulty of catching
errors</h4></div></div></div><div class="para">
+ Errors (that is, exceptions which do not (indirectly) derive from <code
class="literal">java.lang.Exception</code>), have the peculiar property
that catching them is problematic. There are several reasons for this:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The error reflects a failed consistenty check, for example, <code
class="literal">java.lang.AssertionError</code>.
+ </div></li><li class="listitem"><div
class="para">
+ The error can happen at any point, resulting in inconsistencies due to half-updated
objects. Examples are <code
class="literal">java.lang.ThreadDeath</code>, <code
class="literal">java.lang.OutOfMemoryError</code> and <code
class="literal">java.lang.StackOverflowError</code>.
+ </div></li><li class="listitem"><div
class="para">
+ The error indicates that virtual machine failed to provide some semantic guarantees
by the Java programming language. <code
class="literal">java.lang.ExceptionInInitializerError</code> is an
example—it can leave behind a half-initialized class.
+ </div></li></ul></div><div class="para">
+ In general, if an error is thrown, the virtual machine should be restarted as soon as
possible because it is in an inconsistent state. Continuing running as before can have
unexpected consequences. However, there are legitimate reasons for catching errors because
not doing so leads to even greater problems.
+ </div><div class="para">
+ Code should be written in a way that avoids triggering errors. See <a
class="xref"
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">Section 3.1.1,
“Inceasing robustness when reading arrays”</a> for an example.
+ </div><div class="para">
+ It is usually necessary to log errors. Otherwise, no trace of the problem might be
left anywhere, making it very difficult to diagnose realted failures. Consequently, if you
catch <code class="literal">java.lang.Exception</code> to log and
suppress all unexpected exceptions (for example, in a request dispatching loop), you
should consider switching to <code
class="literal">java.lang.Throwable</code> instead, to also cover
errors.
+ </div><div class="para">
+ The other reason mainly applies to such request dispatching loops: If you do not
catch errors, the loop stops looping, resulting in a denial of service.
+ </div><div class="para">
+ However, if possible, catching errors should be coupled with a way to signal the
requirement of a virtual machine restart.
+ </div></div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-CXX-Std.html"><strong>Prev</strong>2.2. The
C++ standard library</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-LowLevel.html"><strong>Next</strong>3.2. Low-level
features of the virtual machine</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Python.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Python.html
new file mode 100644
index 0000000..8e35fef
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Python.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 4. The Python Programming Language</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt01.html" title="Part I. Programming Languages" /><link
rel="prev"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"
title="3.3.4. Re-gaining privileges" /><link rel="next"
href="ch04s02.html" title="4.2. Run-time compilation and code
generation" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html
"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch04s02.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Python" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 4. The Python Programming
Language</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Python.html#idm217625452800">4.1. Dangerous
standard library features</a></span></dt><dt><span
class="section"><a href="ch04s02.html">4.2. Run-time
compilation and code generation</a></span></dt><dt><span
class="section"><a href="ch04s03.html">4.3.
Sandboxing</a></span></dt></dl></div><div
class="para">
+ Python provides memory safety by default, so low-level security vulnerabilities are
rare and typically needs fixing the Python interpreter or standard library itself.
+ </div><div class="para">
+ Other sections with Python-specific advice include:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <a class="xref"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html">Chapter 8,
<em>Temporary files</em></a>
+ </div></li><li class="listitem"><div
class="para">
+ <a class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">Section 9.1,
“Safe process creation”</a>
+ </div></li><li class="listitem"><div
class="para">
+ <a class="xref"
href="chap-Defensive_Coding-Tasks-Serialization.html">Chapter 10,
<em>Serialization and Deserialization</em></a>, in particular <a
class="xref"
href="ch10s03.html#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3,
“Library support for deserialization”</a>
+ </div></li><li class="listitem"><div
class="para">
+ <a class="xref"
href="ch11s02.html#sect-Defensive_Coding-Tasks-Cryptography-Randomness">Section 11.2,
“Randomness”</a>
+ </div></li></ul></div><div class="section"
id="idm217625452800"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217625452800">4.1. Dangerous standard library
features</h2></div></div></div><div class="para">
+ Some areas of the standard library, notably the <code
class="literal">ctypes</code> module, do not provide memory safety
guarantees comparable to the rest of Python. If such functionality is used, the advice in
<a class="xref"
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">Section 1.1,
“The core language”</a> should be followed.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"><strong>Prev</strong>3.3.4. Re-gaining
privileges</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch04s02.html"><strong>Next</strong>4.2. Run-time
compilation and code generation</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-TLS.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-TLS.html
new file mode 100644
index 0000000..ca74981
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-TLS.html
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 13. Transport Layer Security</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt03.html" title="Part III. Implementing Security Features"
/><link rel="prev"
href="sect-Defensive_Coding-Authentication-Netlink.html"
title="12.4. AF_NETLINK authentication of origin" /><link
rel="next" href="sect-Defensive_Coding-TLS-Client.html"
title="13.2. TLS Clients" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Authentication-Netlink.h
tml"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-TLS" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 13. Transport Layer
Security</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">13.1.
Common Pitfalls</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">13.1.1.
OpenSSL Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2.
GNUTLS Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3.
OpenJDK Pitfalls</a></span></dt><dt><span
class="section"><
a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4.
NSS Pitfalls</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client.html">13.2. TLS
Clients</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client.html#idm217622790960">13.2.1.
Implementation TLS Clients With
OpenSSL</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">13.2.2. Implementation
TLS Clients With GNUTLS</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">13.2.3. Implementing TLS
Clients With OpenJDK</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-NSS.html">13.2.4. Implementing TLS
Clients With NSS</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-Python.html">13.2.5. Implementing TLS
Clients With
Python</a></span></dt></dl></dd></dl></div><div
class="p
ara">
+ Transport Layer Security (TLS, formerly Secure Sockets Layer/SSL) is the recommended
way to to protect integrity and confidentiality while data is transferred over an
untrusted network connection, and to identify the endpoint.
+ </div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">13.1. Common
Pitfalls</h2></div></div></div><div class="para">
+ TLS implementations are difficult to use, and most of them lack a clean API design.
The following sections contain implementation-specific advice, and some generic pitfalls
are mentioned below.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Most TLS implementations have questionable default TLS cipher suites. Most of them
enable anonymous Diffie-Hellman key exchange (but we generally want servers to
authenticate themselves). Many do not disable ciphers which are subject to brute-force
attacks because of restricted key lengths. Some even disable all variants of AES in the
default configuration.
+ </div><div class="para">
+ When overriding the cipher suite defaults, it is recommended to disable all cipher
suites which are not present on a whitelist, instead of simply enabling a list of cipher
suites. This way, if an algorithm is disabled by default in the TLS implementation in a
future security update, the application will not re-enable it.
+ </div></li><li class="listitem"><div
class="para">
+ The name which is used in certificate validation must match the name provided by the
user or configuration file. No host name canonicalization or IP address lookup must be
performed.
+ </div></li><li class="listitem"><div
class="para">
+ The TLS handshake has very poor performance if the TCP Nagle algorithm is active.
You should switch on the <code class="literal">TCP_NODELAY</code>
socket option (at least for the duration of the handshake), or use the Linux-specific
<code class="literal">TCP_CORK</code> option.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Nagle"><h6>Example 13.1. Deactivating the
TCP Nagle algorithm</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">const</span> <span
class="perl_DataType">int</span> val = <span
class="perl_Float">1</span>;
+<span class="perl_DataType">int</span> ret = setsockopt(sockfd,
IPPROTO_TCP, TCP_NODELAY, &val, <span
class="perl_Keyword">sizeof</span>(val));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ perror(<span
class="perl_String">"setsockopt(TCP_NODELAY)"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break"
/></li><li class="listitem"><div class="para">
+ Implementing proper session resumption decreases handshake overhead considerably.
This is important if the upper-layer protocol uses short-lived connections (like most
application of HTTPS).
+ </div></li><li class="listitem"><div
class="para">
+ Both client and server should work towards an orderly connection shutdown, that is
send <code class="literal">close_notify</code> alerts and respond to
them. This is especially important if the upper-layer protocol does not provide means to
detect connection truncation (like some uses of HTTP).
+ </div></li><li class="listitem"><div
class="para">
+ When implementing a server using event-driven programming, it is important to handle
the TLS handshake properly because it includes multiple network round-trips which can
block when an ordinary TCP <code class="function">accept</code>
would not. Otherwise, a client which fails to complete the TLS handshake for some reason
will prevent the server from handling input from other clients.
+ </div></li><li class="listitem"><div
class="para">
+ Unlike regular file descriptors, TLS connections cannot be passed between processes.
Some TLS implementations add additional restrictions, and TLS connections generally cannot
be used across <code class="function">fork</code> function calls
(see <a class="xref"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">Section 9.6,
“<code class="function">fork</code> as a primitive for
parallelism”</a>).
+ </div></li></ul></div><div class="section"
id="sect-Defensive_Coding-TLS-OpenSSL"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.1. OpenSSL
Pitfalls</h3></div></div></div><div class="para">
+ Some OpenSSL function use <span class="emphasis"><em>tri-state
return values</em></span>. Correct error checking is extremely important.
Several functions return <code class="literal">int</code> values
with the following meaning:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The value <code class="literal">1</code> indicates success
(for example, a successful signature verification).
+ </div></li><li class="listitem"><div
class="para">
+ The value <code class="literal">0</code> indicates semantic
failure (for example, a signature verification which was unsuccessful because the signing
certificate was self-signed).
+ </div></li><li class="listitem"><div
class="para">
+ The value <code class="literal">-1</code> indicates a
low-level error in the system, such as failure to allocate memory using <code
class="function">malloc</code>.
+ </div></li></ul></div><div class="para">
+ Treating such tri-state return values as booleans can lead to security
vulnerabilities. Note that some OpenSSL functions return boolean results or yet another
set of status indicators. Each function needs to be checked individually.
+ </div><div class="para">
+ Recovering precise error information is difficult. <a class="xref"
href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2,
“Obtaining OpenSSL error codes”</a> shows how to obtain a more precise error code
after a function call on an <code class="literal">SSL</code> object
has failed. However, there are still cases where no detailed error information is
available (e.g., if <code class="function">SSL_shutdown</code> fails
due to a connection teardown by the other end).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Errors"><h6>Example 13.2. Obtaining
OpenSSL error codes</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">static</span> <span
class="perl_DataType">void</span> __attribute__((noreturn))
+ssl_print_error_and_exit(SSL *ssl, <span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *op, <span
class="perl_DataType">int</span> ret)
+{
+ <span class="perl_DataType">int</span> subcode =
SSL_get_error(ssl, ret);
+ <span class="perl_Keyword">switch</span> (subcode) {
+ <span class="perl_Keyword">case</span> SSL_ERROR_NONE:
+ fprintf(stderr, <span class="perl_String">"error: %s: no error
to report</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, op);
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_READ:
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_WRITE:
+ <span class="perl_Keyword">case</span>
SSL_ERROR_WANT_X509_LOOKUP:
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_CONNECT:
+ <span class="perl_Keyword">case</span> SSL_ERROR_WANT_ACCEPT:
+ fprintf(stderr, <span class="perl_String">"error: %s: invalid
blocking state %d</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, op, subcode);
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> SSL_ERROR_SSL:
+ fprintf(stderr, <span class="perl_String">"error: %s: TLS layer
problem</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, op);
+ <span class="perl_Keyword">case</span> SSL_ERROR_SYSCALL:
+ fprintf(stderr, <span class="perl_String">"error: %s: system
call failed: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, op, strerror(errno));
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> SSL_ERROR_ZERO_RETURN:
+ fprintf(stderr, <span class="perl_String">"error: %s: zero
return</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, op);
+ }
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ The <code class="function">OPENSSL_config</code> function is
documented to never fail. In reality, it can terminate the entire process if there is a
failure accessing the configuration file. An error message is written to standard error,
but which might not be visible if the function is called from a daemon process.
+ </div><div class="para">
+ OpenSSL contains two separate ASN.1 DER decoders. One set of decoders operate on BIO
handles (the input/output stream abstraction provided by OpenSSL); their decoder function
names start with <code class="literal">d2i_</code> and end in
<code class="literal">_fp</code> or <code
class="literal">_bio</code> (e.g., <code
class="function">d2i_X509_fp</code> or <code
class="function">d2i_X509_bio</code>). These decoders must not be used
for parsing data from untrusted sources; instead, the variants without the <code
class="literal">_fp</code> and <code
class="literal">_bio</code> (e.g., <code
class="function">d2i_X509</code>) shall be used. The BIO variants have
received considerably less testing and are not very robust.
+ </div><div class="para">
+ For the same reason, the OpenSSL command line tools (such as <code
class="command">openssl x509</code>) are generally generally less
robust than the actual library code. They use the BIO functions internally, and not the
more robust variants.
+ </div><div class="para">
+ The command line tools do not always indicate failure in the exit status of the
<span
class="application"><strong>openssl</strong></span>
process. For instance, a verification failure in <code
class="command">openssl verify</code> result in an exit status of
zero.
+ </div><div class="para">
+ The OpenSSL server and client applications (<code
class="command">openssl s_client</code> and <code
class="command">openssl s_server</code>) are debugging tools and should
<span class="emphasis"><em>never</em></span> be used as
generic clients. For instance, the <span
class="application"><strong>s_client</strong></span> tool
reacts in a surprisign way to lines starting with <code
class="literal">R</code> and <code
class="literal">Q</code>.
+ </div><div class="para">
+ OpenSSL allows application code to access private key material over documented
interfaces. This can significantly increase the part of the code base which has to undergo
security certification.
+ </div></div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls-GNUTLS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.2. GNUTLS
Pitfalls</h3></div></div></div><div class="para">
+ <code class="filename">libgnutls.so.26</code> links to <code
class="filename">libpthread.so.0</code>. Loading the threading library
too late causes problems, so the main program should be linked with <code
class="literal">-lpthread</code> as well. As a result, it can be
difficult to use GNUTLS in a plugin which is loaded with the <code
class="function">dlopen</code> function. Another side effect is that
applications which merely link against GNUTLS (even without actually using it) may incur a
substantial overhead because other libraries automatically switch to thread-safe
algorithms.
+ </div><div class="para">
+ The <code class="function">gnutls_global_init</code> function
must be called before using any functionality provided by the library. This function is
not thread-safe, so external locking is required, but it is not clear which lock should be
used. Omitting the synchronization does not just lead to a memory leak, as it is suggested
in the GNUTLS documentation, but to undefined behavior because there is no barrier that
would enforce memory ordering.
+ </div><div class="para">
+ The <code class="function">gnutls_global_deinit</code> function
does not actually deallocate all resources allocated by <code
class="function">gnutls_global_init</code>. It is currently not
thread-safe. Therefore, it is best to avoid calling it altogether.
+ </div><div class="para">
+ The X.509 implementation in GNUTLS is rather lenient. For example, it is possible to
create and process X.509 version 1 certificates which carry extensions. These certificates
are (correctly) rejected by other implementations.
+ </div></div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls-OpenJDK"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.3. OpenJDK
Pitfalls</h3></div></div></div><div class="para">
+ The Java cryptographic framework is highly modular. As a result, when you request an
object implementing some cryptographic functionality, you cannot be completely sure that
you end up with the well-tested, reviewed implementation in OpenJDK.
+ </div><div class="para">
+ OpenJDK (in the source code as published by Oracle) and other implementations of the
Java platform require that the system administrator has installed so-called <span
class="emphasis"><em>unlimited strength jurisdiction policy
files</em></span>. Without this step, it is not possible to use the secure
algorithms which offer sufficient cryptographic strength. Most downstream redistributors
of OpenJDK remove this requirement.
+ </div><div class="para">
+ Some versions of OpenJDK use <code
class="filename">/dev/random</code> as the randomness source for nonces
and other random data which is needed for TLS operation, but does not actually require
physical randomness. As a result, TLS applications can block, waiting for more bits to
become available in <code class="filename">/dev/random</code>.
+ </div></div><div class="section"
id="sect-Defensive_Coding-TLS-Pitfalls-NSS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.1.4. NSS
Pitfalls</h3></div></div></div><div class="para">
+ NSS was not designed to be used by other libraries which can be linked into
applications without modifying them. There is a lot of global state. There does not seem
to be a way to perform required NSS initialization without race conditions.
+ </div><div class="para">
+ If the NSPR descriptor is in an unexpected state, the <code
class="function">SSL_ForceHandshake</code> function can succeed, but no
TLS handshake takes place, the peer is not authenticated, and subsequent data is exchanged
in the clear.
+ </div><div class="para">
+ NSS disables itself if it detects that the process underwent a <code
class="function">fork</code> after the library has been initialized.
This behavior is required by the PKCS#11 API specification.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Prev</strong>12.4. AF_NETLINK
authentication of origin</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client.html"><strong>Next</strong>13.2. TLS
Clients</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html
new file mode 100644
index 0000000..c042511
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Cryptography.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 11. Cryptography</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev" href="ch10s05.html"
title="10.5. Protocol Encoders" /><link rel="next"
href="ch11s02.html" title="11.2. Randomness"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch10s05.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch11s02.html"><strong>Next</strong></a></li></ul
<div xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Tasks-Cryptography" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 11. Cryptography</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Cryptography.html#idm217622866992">11.1.
Primitives</a></span></dt><dt><span
class="section"><a href="ch11s02.html">11.2.
Randomness</a></span></dt></dl></div><div
class="section" id="idm217622866992"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217622866992">11.1. Primitives</h2></div></div></div><div
class="para">
+ Choosing from the following cryptographic primitives
is recommended:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ RSA with 2048 bit keys and OAEP
+ </div></li><li class="listitem"><div
class="para">
+ AES-128 in CBC mode
+ </div></li><li class="listitem"><div
class="para">
+ SHA-256
+ </div></li><li class="listitem"><div
class="para">
+ HMAC-SHA-256
+ </div></li><li class="listitem"><div
class="para">
+ HMAC-SHA-1
+ </div></li></ul></div><div class="para">
+ Other cryptographic algorithms can be used if they are required for interoperability
with existing software:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ RSA with key sizes larger than 1024 and legacy padding
+ </div></li><li class="listitem"><div
class="para">
+ AES-192
+ </div></li><li class="listitem"><div
class="para">
+ AES-256
+ </div></li><li class="listitem"><div
class="para">
+ 3DES (triple DES, with two or three 56 bit keys)
+ </div></li><li class="listitem"><div
class="para">
+ RC4 (but very, very strongly discouraged)
+ </div></li><li class="listitem"><div
class="para">
+ SHA-1
+ </div></li><li class="listitem"><div
class="para">
+ HMAC-MD5
+ </div></li></ul></div><div
class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ These primitives are difficult to use in a secure way. Custom implementation of
security protocols should be avoided. For protecting confidentiality and integrity of
network transmissions, TLS should be used (<a class="xref"
href="chap-Defensive_Coding-TLS.html">Chapter 13, <em>Transport Layer
Security</em></a>).
+ </div></div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="ch10s05.html"><strong>Prev</strong>10.5. Protocol
Encoders</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch11s02.html"><strong>Next</strong>11.2. Randomness</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html
new file mode 100644
index 0000000..374febe
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-File_System.html
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 7. File system manipulation</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"
title="6.3. Dealing with the select limit" /><link rel="next"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"
title="7.2. Accessing the file system as a different user"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Defe
nsive_Coding-Tasks-Descriptors-Limit.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Tasks-File_System" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 7. File system
manipulation</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1.
Working with files and directories owned by other
users</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">7.2. Accessing
the file system as a different user</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Limits.html">7.3. File system
limits</a></span></dt><dt><span
class="section"><a href="sect-Defensive_Coding-Tas
ks-File_System-Features.html">7.4. File system
features</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">7.5. Checking
free space</a></span></dt></dl></div><div
class="para">
+ In this chapter, we discuss general file system manipulation, with a focus on access
files and directories to which an other, potentially untrusted user has write access.
+ </div><div class="para">
+ Temporary files are covered in their own chapter, <a class="xref"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html">Chapter 8,
<em>Temporary files</em></a>.
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-File_System-Unowned"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.1. Working with files and directories owned by other
users</h2></div></div></div><div class="para">
+ Sometimes, it is necessary to operate on files and directories owned by other
(potentially untrusted) users. For example, a system administrator could remove the home
directory of a user, or a package manager could update a file in a directory which is
owned by an application-specific user. This differs from accessing the file system as a
specific user; see <a class="xref"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">Section 7.2,
“Accessing the file system as a different user”</a>.
+ </div><div class="para">
+ Accessing files across trust boundaries faces several challenges, particularly if an
entire directory tree is being traversed:
+ </div><div class="orderedlist"><ol><li
class="listitem"><div class="para">
+ Another user might add file names to a writable directory at any time. This can
interfere with file creation and the order of names returned by <code
class="function">readdir</code>.
+ </div></li><li class="listitem"><div
class="para">
+ Merely opening and closing a file can have side effects. For instance, an
automounter can be triggered, or a tape device rewound. Opening a file on a local file
system can block indefinitely, due to mandatory file locking, unless the <code
class="literal">O_NONBLOCK</code> flag is specified.
+ </div></li><li class="listitem"><div
class="para">
+ Hard links and symbolic links can redirect the effect of file system operations in
unexpected ways. The <code class="literal">O_NOFOLLOW</code> and
<code class="literal">AT_SYMLINK_NOFOLLOW</code> variants of system
calls only affected final path name component.
+ </div></li><li class="listitem"><div
class="para">
+ The structure of a directory tree can change. For example, the parent directory of
what used to be a subdirectory within the directory tree being processed could suddenly
point outside that directory tree.
+ </div></li></ol></div><div class="para">
+ Files should always be created with the <code
class="literal">O_CREAT</code> and <code
class="literal">O_EXCL</code> flags, so that creating the file will
fail if it already exists. This guards against the unexpected appearance of file names,
either due to creation of a new file, or hard-linking of an existing file. In
multi-threaded programs, rather than manipulating the umask, create the files with mode
<code class="literal">000</code> if possible, and adjust it
afterwards with <code class="function">fchmod</code>.
+ </div><div class="para">
+ To avoid issues related to symbolic links and directory tree restructuring, the
“<code class="literal">at</code>” variants of system calls have to
be used (that is, functions like <code
class="function">openat</code>, <code
class="function">fchownat</code>, <code
class="function">fchmodat</code>, and <code
class="function">unlinkat</code>, together with <code
class="literal">O_NOFOLLOW</code> or <code
class="literal">AT_SYMLINK_NOFOLLOW</code>). Path names passed to these
functions must have just a single component (that is, without a slash). When descending,
the descriptors of parent directories must be kept open. The missing <code
class="literal">opendirat</code> function can be emulated with <code
class="literal">openat</code> (with an <code
class="literal">O_DIRECTORY</code> flag, to avoid opening special files
with side effects), followed by <code
class="literal">fdopendir</code>.
+ </div><div class="para">
+ If the “<code class="literal">at</code>” functions are not
available, it is possible to emulate them by changing the current directory. (Obviously,
this only works if the process is not multi-threaded.) <code
class="function">fchdir</code> has to be used to change the current
directory, and the descriptors of the parent directories have to be kept open, just as
with the “<code class="literal">at</code>”-based approach. <code
class="literal">chdir("...")</code> is unsafe because it
might ascend outside the intended directory tree.
+ </div><div class="para">
+ This “<code class="literal">at</code>” function emulation is
currently required when manipulating extended attributes. In this case, the <code
class="function">lsetxattr</code> function can be used, with a relative
path name consisting of a single component. This also applies to SELinux contexts and the
<code class="function">lsetfilecon</code> function.
+ </div><div class="para">
+ Currently, it is not possible to avoid opening special files <span
class="emphasis"><em>and</em></span> changes to files with
hard links if the directory containing them is owned by an untrusted user. (Device nodes
can be hard-linked, just as regular files.) <code
class="function">fchmodat</code> and <code
class="function">fchownat</code> affect files whose link count is
greater than one. But opening the files, checking that the link count is one with <code
class="function">fstat</code>, and using <code
class="function">fchmod</code> and <code
class="function">fchown</code> on the file descriptor may have unwanted
side effects, due to item 2 above. When creating directories, it is therefore important to
change the ownership and permissions only after it has been fully created. Until that
point, file names are stable, and no files with unexpected hard links can be introduced.
+ </div><div class="para">
+ Similarly, when just reading a directory owned by an untrusted user, it is currently
impossible to reliably avoid opening special files.
+ </div><div class="para">
+ There is no workaround against the instability of the file list returned by <code
class="function">readdir</code>. Concurrent modification of the
directory can result in a list of files being returned which never actually existed on
disk.
+ </div><div class="para">
+ Hard links and symbolic links can be safely deleted using <code
class="function">unlinkat</code> without further checks because
deletion only affects the name within the directory tree being processed.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Prev</strong>6.3. Dealing
with the select limit</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Next</strong>7.2. Accessing
the file system as a different
user</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html
new file mode 100644
index 0000000..559f51c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Library_Design.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 5. Library Design</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev" href="pt02.html"
title="Part II. Specific Programming Tasks" /><link rel="next"
href="ch05s02.html" title="5.2. Object orientation"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="pt02.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch05s02.html"><strong>Next</strong
</a></li></ul><div xml:lang="en-US"
class="chapter" id="chap-Defensive_Coding-Tasks-Library_Design"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 5. Library
Design</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217610107056">5.1.
State management</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217650952240">5.1.1.
Global state</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217599341328">5.1.2.
Handles</a></span></dt></dl></dd><dt><span
class="section"><a href="ch05s02.html">5.2. Object
orientation</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">5.3.
Callbacks</a></span></dt><dt><span
class="section"><a href="ch05s04.html">5.4. Process
attributes</a></span></dt></dl></div><div class
="para">
+ Throught this section, the term <span class="emphasis"><em>client
code</em></span> refers to applications and other libraries using the
library.
+ </div><div class="section" id="idm217610107056"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217610107056">5.1. State
management</h2></div></div></div><div
class="para">
+
+ </div><div class="section" id="idm217650952240"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217650952240">5.1.1. Global
state</h3></div></div></div><div class="para">
+ Global state should be avoided.
+ </div><div class="para">
+ If this is impossible, the global state must be protected with a lock. For C/C++, you
can use the <code class="function">pthread_mutex_lock</code> and
<code class="function">pthread_mutex_unlock</code> functions without
linking against <code class="literal">-lpthread</code> because the
system provides stubs for non-threaded processes.
+ </div><div class="para">
+ For compatibility with <code class="function">fork</code>,
these locks should be acquired and released in helpers registered with <code
class="function">pthread_atfork</code>. This function is not available
without <code class="literal">-lpthread</code>, so you need to use
<code class="function">dlsym</code> or a weak symbol to obtain its
address.
+ </div><div class="para">
+ If you need <code class="function">fork</code> protection for
other reasons, you should store the process ID and compare it to the value returned by
<code class="function">getpid</code> each time you access the global
state. (<code class="function">getpid</code> is not implemented as a
system call and is fast.) If the value changes, you know that you have to re-create the
state object. (This needs to be combined with locking, of course.)
+ </div></div><div class="section"
id="idm217599341328"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217599341328">5.1.2. Handles</h3></div></div></div><div
class="para">
+ Library state should be kept behind a curtain. Client code should receive only a
handle. In C, the handle can be a pointer to an incomplete <code
class="literal">struct</code>. In C++, the handle can be a pointer to
an abstract base class, or it can be hidden using the pointer-to-implementation idiom.
+ </div><div class="para">
+ The library should provide functions for creating and destroying handles. (In C++, it
is possible to use virtual destructors for the latter.) Consistency between creation and
destruction of handles is strongly recommended: If the client code created a handle, it is
the responsibility of the client code to destroy it. (This is not always possible or
convenient, so sometimes, a transfer of ownership has to happen.)
+ </div><div class="para">
+ Using handles ensures that it is possible to change the way the library represents
state in a way that is transparent to client code. This is important to facilitate
security updates and many other code changes.
+ </div><div class="para">
+ It is not always necessary to protect state behind a handle with a lock. This depends
on the level of thread safety the library provides.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="pt02.html"><strong>Prev</strong>Part II. Specific
Programming Tasks</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch05s02.html"><strong>Next</strong>5.2. Object
orientation</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html
new file mode 100644
index 0000000..57b165f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Serialization.html
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 10. Serialization and Deserialization</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"
title="9.6. fork as a primitive for parallelism" /><link
rel="next" href="ch10s02.html" title="10.2. Protocol design"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>
Prev</strong></a></li><li class="next"><a
accesskey="n"
href="ch10s02.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Tasks-Serialization" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 10. Serialization and
Deserialization</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1.
Recommendations for manually written
decoders</a></span></dt><dt><span
class="section"><a href="ch10s02.html">10.2. Protocol
design</a></span></dt><dt><span
class="section"><a href="ch10s03.html">10.3. Library support
for deserialization</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML.html">10.4. XML
serialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensiv
e_Coding-Tasks-Serialization-XML-External">10.4.1. External
references</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">10.4.2.
Entity expansion</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">10.4.3.
XInclude processing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">10.4.4.
Algorithmic complexity of XML
validation</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">10.4.5. Using
Expat for XML parsing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">10.4.6. Using Qt for
XML parsing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">10.4.7.
Using OpenJDK for XML parsing and
validation</a></span></dt></dl></dd><dt><span
class="section"><a href="ch10s05.html">10.5. Protocol
Encoders</a></span></dt></dl></div><div
class="para">
+ Protocol decoders and file format parsers are often the most-exposed part of an
application because they are exposed with little or no user interaction and before any
authentication and security checks are made. They are also difficult to write robustly in
languages which are not memory-safe.
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-Decoders"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">10.1. Recommendations for manually written
decoders</h2></div></div></div><div class="para">
+ For C and C++, the advice in <a class="xref"
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">Section 1.1.2,
“Recommendations for pointers and array handling”</a> applies. In addition, avoid
non-character pointers directly into input buffers. Pointer misalignment causes crashes on
some architectures.
+ </div><div class="para">
+ When reading variable-sized objects, do not allocate large amounts of data solely
based on the value of a size field. If possible, grow the data structure as more data is
read from the source, and stop when no data is available. This helps to avoid
denial-of-service attacks where little amounts of input data results in enormous memory
allocations during decoding. Alternatively, you can impose reasonable bounds on memory
allocations, but some protocols do not permit this.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html"><strong>Prev</strong>9.6. fork
as a primitive for parallelism</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch10s02.html"><strong>Next</strong>10.2. Protocol
design</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html
new file mode 100644
index 0000000..1d20070
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Directory.html
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>8.4. Temporary directories</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"
title="Chapter 8. Temporary files" /><link rel="prev"
href="ch08s03.html" title="8.3. Temporary files without names"
/><link rel="next" href="ch08s05.html"
title="8.5. Compensating for unsafe file creation" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch08s03.html"><strong>Prev</strong></a></li><li
class="next"><a a
ccesskey="n"
href="ch08s05.html"><strong>Next</strong></a></li></ul><div
class="section"
id="chap-Defensive_Coding-Tasks-Temporary_Directory"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">8.4. Temporary
directories</h2></div></div></div><div
class="para">
+ The <code class="function">mkdtemp</code> function can be used
to create a temporary directory. (For determining the directory part of the file name
pattern, see <a class="xref"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">Section 8.1,
“Obtaining the location of temporary directory”</a>.) The directory is not
automatically removed. In Python, this function is available as <code
class="function">tempfile.mkdtemp</code>. In Java 7, temporary
directories can be created using the <code
class="function">java.nio.file.Files.createTempDirectory(Path, String,
FileAttribute...)</code> function.
+ </div><div class="para">
+ When creating files in the temporary directory, use automatically generated names,
e.g., derived from a sequential counter. Files with externally provided names could be
picked up in unexpected contexts, and crafted names could actually point outside of the
tempoary directory (due to <span class="emphasis"><em>directory
traversal</em></span>).
+ </div><div class="para">
+ Removing a directory tree in a completely safe manner is complicated. Unless there are
overriding performance concerns, the <span
class="application"><strong>rm</strong></span> program
should be used, with the <code class="option">-rf</code> and
<code class="option">--</code> options.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch08s03.html"><strong>Prev</strong>8.3. Temporary files
without names</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch08s05.html"><strong>Next</strong>8.5. Compensating for
unsafe file creation</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html
new file mode 100644
index 0000000..4dc7366
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/chap-Defensive_Coding-Tasks-Temporary_Files.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 8. Temporary files</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev"
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"
title="7.5. Checking free space" /><link rel="next"
href="ch08s02.html" title="8.2. Named temporary files"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Prev</strong>
</a></li><li class="next"><a accesskey="n"
href="ch08s02.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="chap-Defensive_Coding-Tasks-Temporary_Files"
lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 8. Temporary
files</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1.
Obtaining the location of temporary
directory</a></span></dt><dt><span
class="section"><a href="ch08s02.html">8.2. Named temporary
files</a></span></dt><dt><span
class="section"><a href="ch08s03.html">8.3. Temporary files
without names</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">8.4. Temporary
directories</a></span></dt><dt><span
class="section"><a href="ch08s05.html">8.5. Compensating for
unsafe file creation</a></span></dt></dl></div><div
class="p
ara">
+ In this chapter, we describe how to create temporary files and directories, how to
remove them, and how to work with programs which do not create files in ways that a safe
with a shared directory for temporary files. General file system manipulation is treated
in a separate chapter, <a class="xref"
href="chap-Defensive_Coding-Tasks-File_System.html">Chapter 7, <em>File
system manipulation</em></a>.
+ </div><div class="para">
+ Secure creation of temporary files has four different aspects.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The location of the directory for temporary files must be obtained in a secure manner
(that is, untrusted environment variables must be ignored, see <a
class="xref"
href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1,
“Accessing environment variables”</a>).
+ </div></li><li class="listitem"><div
class="para">
+ A new file must be created. Reusing an existing file must be avoided (the <code
class="filename">/tmp</code> race condition). This is tricky because
traditionally, system-wide temporary directories shared by all users are used.
+ </div></li><li class="listitem"><div
class="para">
+ The file must be created in a way that makes it impossible for other users to open
it.
+ </div></li><li class="listitem"><div
class="para">
+ The descriptor for the temporary file should not leak to subprocesses.
+ </div></li></ul></div><div class="para">
+ All functions mentioned below will take care of these aspects.
+ </div><div class="para">
+ Traditionally, temporary files are often used to reduce memory usage of programs. More
and more systems use RAM-based file systems such as <code
class="literal">tmpfs</code> for storing temporary files, to increase
performance and decrease wear on Flash storage. As a result, spooling data to temporary
files does not result in any memory savings, and the related complexity can be avoided if
the data is kept in process memory.
+ </div><div class="section"
id="chap-Defensive_Coding-Tasks-Temporary_Files-Location"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">8.1. Obtaining the location of temporary
directory</h2></div></div></div><div
class="para">
+ Some functions below need the location of a directory which stores temporary files.
For C/C++ programs, use the following steps to obtain that directory:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Use <code class="function">secure_getenv</code> to obtain the
value of the <code class="literal">TMPDIR</code> environment
variable. If it is set, convert the path to a fully-resolved absolute path, using <code
class="literal">realpath(path, NULL)</code>. Check if the new path
refers to a directory and is writeable. In this case, use it as the temporary directory.
+ </div></li><li class="listitem"><div
class="para">
+ Fall back to <code class="filename">/tmp</code>.
+ </div></li></ul></div><div class="para">
+ In Python, you can use the <code
class="varname">tempfile.tempdir</code> variable.
+ </div><div class="para">
+ Java does not support SUID/SGID programs, so you can use the <code
class="function">java.lang.System.getenv(String)</code> method to
obtain the value of the <code class="literal">TMPDIR</code>
environment variable, and follow the two steps described above. (Java's default
directory selection does not honor <code
class="literal">TMPDIR</code>.)
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Prev</strong>7.5. Checking
free space</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch08s02.html"><strong>Next</strong>8.2. Named temporary
files</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/images/icon.svg
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/images/icon.svg
new file mode 100644
index 0000000..c471a60
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/images/icon.svg
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://web.resource.org/cc/"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+
style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)"
/>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)"
/>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504
381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C
372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504
390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504
424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C
415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504
433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504
500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C
491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504
509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504
464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C
455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504
473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93
471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49
473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49
475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05
471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04
469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+
transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875
L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C
31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L
32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375
C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+
style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L
287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091
301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C
307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432
309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C
581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C
574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363
314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124
292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363
293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html
new file mode 100644
index 0000000..32f3767
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/index.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Defensive Coding</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><meta
name="description" content="This document provides guidelines for improving
software security through secure coding. It covers common programming languages and
libraries, and focuses on concrete recommendations." /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="next"
href="pt01.html" title="Part I. Programming Languages"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"></li><li class="next"><a
accesskey="n"
href="pt01.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="book" id="idm217621944128"
lang="en-US"><div class="titlepage"><div><div
class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt" t
ext-align="center"><span class="productname">Fedora Security
Team</span> <span
class="productnumber"></span></div><div
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><h1
id="idm217621944128" class="title">Defensive
Coding</h1></div><div
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><h2
class="subtitle">A Guide to Improving Software
Security</h2></div><p class="edition">Edition
</p><div font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt"
text-align="center"><h3 class="corpauthor">
+ <span class="inlinemediaobject"><object
data="Common_Content/images/title_logo.svg" type="image/svg+xml">
</object></span>
+
+ </h3></div><div font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt"
text-align="center"><div xml:lang="en-US"
class="authorgroup" lang="en-US"><div
class="author"><h3 class="author"><span
class="firstname">Florian</span> <span
class="surname">Weimer</span></h3><div
class="affiliation"><span class="orgname">Red
Hat</span> <span class="orgdiv">Product Security
Team</span></div><code class="email"><a
class="email"
href="mailto:fweimer@redhat.com">fweimer@redhat.com</a></code></div></div></div><hr
/><div font-family="sans-serif,Symbol,ZapfDingbats"
font-weight="bold" font-size="12pt"
text-align="center"><div id="idm217650700208"
class="legalnotice"><h1 class="legalnotice">Legal
Notice</h1><div class="para">
+ Copyright <span class="trademark"></span>© 2012 Red Hat, Inc.
+ </div><div class="para">
+ The text of and illustrations in this document are licensed by Red Hat under a Creative
Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An
explanation of CC-BY-SA is available at <a
href="http://creativecommons.org/licenses/by-sa/3.0/">http:/...;.
The original authors of this document, and Red Hat, designate the Fedora Project as the
"Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if
you distribute this document or an adaptation of it, you must provide the URL for the
original version.
+ </div><div class="para">
+ Red Hat, as the licensor of this document, waives the right to enforce, and agrees not
to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
+ </div><div class="para">
+ Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the
Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
+ </div><div class="para">
+ For guidelines on the permitted uses of the Fedora trademarks, refer to <a
href="https://fedoraproject.org/wiki/Legal:Trademark_guidelines"...;.
+ </div><div class="para">
+ <span class="trademark">Linux</span>® is the registered trademark
of Linus Torvalds in the United States and other countries.
+ </div><div class="para">
+ <span class="trademark">Java</span>® is a registered trademark of
Oracle and/or its affiliates.
+ </div><div class="para">
+ <span class="trademark">XFS</span>® is a trademark of Silicon
Graphics International Corp. or its subsidiaries in the United States and/or other
countries.
+ </div><div class="para">
+ <span class="trademark">MySQL</span>® is a registered trademark
of MySQL AB in the United States, the European Union and other countries.
+ </div><div class="para">
+ All other trademarks are the property of their respective owners.
+ </div></div></div><div
font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"
font-size="12pt" text-align="center"><div
class="abstract"><h6>Abstract</h6><div
class="para">
+ This document provides guidelines for improving software security through secure
coding. It covers common programming languages and libraries, and focuses on concrete
recommendations.
+ </div></div></div></div><hr /></div><div
class="toc"><dl class="toc"><dt><span
class="part"><a href="pt01.html">I. Programming
Languages</a></span></dt><dd><dl><dt><span
class="chapter"><a href="chap-Defensive_Coding-C.html">1. The
C Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The
core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1.
Undefined behavior</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2.
Recommendations for pointers and array
handling</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3.
Recommendations for integer
arithmetic</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Libc.html">1.2. The C stand
ard library</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1.
Absolutely banned interfaces</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to
avoid</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String
Functions With Explicit Length
Arguments</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory
allocators</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators.html#idm217614761120">1.3.1.
<code class="function">malloc</code> and related
functions</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</a></span></dt><dt><span
class="section"><a hr
ef="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array
allocation</a></span></dt><dt><span
class="section"><a href="ch01s03s04.html">1.3.4. Custom
memory allocators</a></span></dt><dt><span
class="section"><a href="ch01s03s05.html">1.3.5. Conservative
garbage
collection</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related
topics</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1.
Wrapper
functions</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="chap-Defensive_Coding-CXX.html">2.
The C++ Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1.
The core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217609231952">2.1.1. Array allocation
with <code
class="literal">operator
new[]</code></a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217629800976">2.1.2.
Overloading</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217609919680">2.1.3. ABI
compatibility and preparing for security
updates</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4.
C++0X and C++11
support</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-CXX-Std.html#idm217623779280">2.2.1. Containers
and <code
class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="chap-Defensive_Coding-Java.html">3.
The Java Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a href="chap-Defensive_Coding-Java.htm
l#sect-Defensive_Coding-Java-Language">3.1. The core
language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1.
Inceasing robustness when reading
arrays</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">3.1.2.
Resource management</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3.
Finalizers</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4.
Recovering from exceptions and
errors</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-LowLevel.html">3.2. Low-level features of
the virtual
machine</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-LowLevel.html#sect-Defensive_
Coding-Java-Reflection">3.2.1. <code class="literal">Reflection
and private parts</code></a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-JNI.html">3.2.2. Java Native Interface
(JNI)</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-MiscUnsafe.html">3.2.3. <code
class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager.html">3.3. Interacting with
the security
manager</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager.html#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1.
Security manager compatibility</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">3.3.2.
Activating the security manager</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">3.3.3.
Reducing trust
in code</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">3.3.4.
Re-gaining
privileges</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Python.html">4. The Python Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Python.html#idm217625452800">4.1. Dangerous
standard library features</a></span></dt><dt><span
class="section"><a href="ch04s02.html">4.2. Run-time
compilation and code generation</a></span></dt><dt><span
class="section"><a href="ch04s03.html">4.3.
Sandboxing</a></span></dt></dl></dd></dl></dd><dt><span
class="part"><a href="pt02.html">II. Specific Programming
Tasks</a></span></dt><dd><dl><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html">5. Library
Design</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217610107056">5.1.
State management</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217650952240">5.1.1.
Global state</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217599341328">5.1.2.
Handles</a></span></dt></dl></dd><dt><span
class="section"><a href="ch05s02.html">5.2. Object
orientation</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html">5.3.
Callbacks</a></span></dt><dt><span
class="section"><a href="ch05s04.html">5.4. Process
attributes</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html">6. File Descriptor
Management</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217651037600">6.1.
Closing
descriptors</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm21
7622290176">6.1.1. Error handling during descriptor
close</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217615274224">6.1.2.
Closing descriptors and race
conditions</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217617186816">6.1.3.
Lingering state after
close</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">6.2.
Preventing file descriptor leaks to child
processes</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">6.3. Dealing with
the <code class="function">select</code>
limit</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-File_System.html">7. File system
manipulation</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Un
owned">7.1. Working with files and directories owned by other
users</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">7.2. Accessing
the file system as a different user</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Limits.html">7.3. File system
limits</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Features.html">7.4. File system
features</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">7.5. Checking
free space</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Temporary_Files.html">8. Temporary
files</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1.
Obtaining the location of temporary
directory</a></span></dt><dt><span class="sec
tion"><a href="ch08s02.html">8.2. Named temporary
files</a></span></dt><dt><span
class="section"><a href="ch08s03.html">8.3. Temporary files
without names</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">8.4. Temporary
directories</a></span></dt><dt><span
class="section"><a href="ch08s05.html">8.5. Compensating for
unsafe file
creation</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="sect-Defensive_Coding-Tasks-Processes.html">9.
Processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">9.1.
Safe process
creation</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#idm217610205904">9.1.1.
Obtaining the program path and the command line
template</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-
Processes-execve">9.1.2. Bypassing the
shell</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3.
Specifying the process environment</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#idm217621505504">9.1.4.
Robust argument list processing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5.
Passing secrets to
subprocesses</a></span></dt></dl></dd><dt><span
class="section"><a href="ch09s02.html">9.2. Handling child
process termination</a></span></dt><dt><span
class="section"><a href="ch09s03.html">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1.
Accessing environment variables</a><
/span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">9.4.
Daemons</a></span></dt><dt><span
class="section"><a href="ch09s05.html">9.5. Semantics of
command line arguments</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">9.6. <code
class="function">fork</code> as a primitive for
parallelism</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Serialization.html">10. Serialization and
Deserialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1.
Recommendations for manually written
decoders</a></span></dt><dt><span
class="section"><a href="ch10s02.html">10.2. Protocol
design</a></span></dt><dt><span
class="section"><a href="ch10s03.html">10.3. Library support
for deserialization</a></span></dt><dt><span class="secti
on"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML.html">10.4. XML
serialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1.
External references</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">10.4.2.
Entity expansion</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">10.4.3.
XInclude processing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">10.4.4.
Algorithmic complexity of XML
validation</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">10.4.5. Using
Expat for XML parsing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">10.4.6. Using Qt for
XML
parsing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">10.4.7.
Using OpenJDK for XML parsing and
validation</a></span></dt></dl></dd><dt><span
class="section"><a href="ch10s05.html">10.5. Protocol
Encoders</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Cryptography.html">11.
Cryptography</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Cryptography.html#idm217622866992">11.1.
Primitives</a></span></dt><dt><span
class="section"><a href="ch11s02.html">11.2.
Randomness</a></span></dt></dl></dd></dl></dd><dt><span
class="part"><a href="pt03.html">III. Implementing Security
Features</a></span></dt><dd><dl><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Authentication.html">12. Authentication and
Authorization</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Codi
ng-Authentication-Server">12.1. Authenticating
servers</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-Host_based.html">12.2. Host-based
authentication</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">12.3. UNIX
domain socket authentication</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-Netlink.html">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</a></span></dt></dl></dd><dt><span
class="chapter"><a href="chap-Defensive_Coding-TLS.html">13.
Transport Layer
Security</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">13.1.
Common Pitfalls</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">13.1.1.
OpenSSL Pitfalls</a></span></dt><dt><span
class="section"><a href="chap-Defensive
_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2. GNUTLS
Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3.
OpenJDK Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4.
NSS Pitfalls</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client.html">13.2. TLS
Clients</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client.html#idm217622790960">13.2.1.
Implementation TLS Clients With
OpenSSL</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">13.2.2. Implementation
TLS Clients With GNUTLS</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">13.2.3. Implementing TLS
Clients With OpenJDK</a></span></dt><dt><span
class="section"><a href=
"sect-Defensive_Coding-TLS-Client-NSS.html">13.2.4. Implementing TLS Clients
With NSS</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-Python.html">13.2.5. Implementing TLS
Clients With
Python</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span
class="appendix"><a
href="appe-UEFI_Secure_Boot_Guide-Revision_History.html">A. Revision
History</a></span></dt></dl></div></div><ul
class="docnav"><li class="previous"></li><li
class="next"><a accesskey="n"
href="pt01.html"><strong>Next</strong>Part I. Programming
Languages</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt01.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt01.html
new file mode 100644
index 0000000..90f24e4
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt01.html
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Part I. Programming Languages</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="index.html" title="Defensive Coding" /><link
rel="prev" href="index.html" title="Defensive Coding"
/><link rel="next" href="chap-Defensive_Coding-C.html"
title="Chapter 1. The C Programming Language" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="index.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-C.html"><strong>Next
</strong></a></li></ul><div class="part"
id="idm217621940624"><div
class="titlepage"><div><div text-align="center"><h1
class="title">Part I. Programming
Languages</h1></div></div></div><div
class="toc"><p><strong>Table of
Contents</strong></p><dl class="toc"><dt><span
class="chapter"><a href="chap-Defensive_Coding-C.html">1. The
C Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Language">1.1. The
core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Undefined">1.1.1.
Undefined behavior</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Pointers">1.1.2.
Recommendations for pointers and array
handling</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">1.1.3.
Recommendations for integer arithmetic</a></span></
dt></dl></dd><dt><span class="section"><a
href="sect-Defensive_Coding-C-Libc.html">1.2. The C standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Libc.html#sect-Defensive_Coding-C-Absolutely-Banned">1.2.1.
Absolutely banned interfaces</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Avoid.html">1.2.2. Functions to
avoid</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-String-Functions-Length.html">1.2.3. String
Functions With Explicit Length
Arguments</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators.html">1.3. Memory
allocators</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators.html#idm217614761120">1.3.1.
<code class="function">malloc</code> and related
functions</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators-alloca.html">1.3.2. <code
class="function">all
oca</code> and other forms of stack-based
allocation</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Allocators-Arrays.html">1.3.3. Array
allocation</a></span></dt><dt><span
class="section"><a href="ch01s03s04.html">1.3.4. Custom
memory allocators</a></span></dt><dt><span
class="section"><a href="ch01s03s05.html">1.3.5. Conservative
garbage
collection</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Other.html">1.4. Other C-related
topics</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-C-Other.html#sect-Defensive_Coding-C-Wrapper-Functions">1.4.1.
Wrapper
functions</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="chap-Defensive_Coding-CXX.html">2.
The C++ Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language">2.1.
The core language</a></span></dt><dd><dl><dt><span
class="se
ction"><a
href="chap-Defensive_Coding-CXX.html#idm217609231952">2.1.1. Array allocation
with <code class="literal">operator
new[]</code></a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217629800976">2.1.2.
Overloading</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#idm217609919680">2.1.3. ABI
compatibility and preparing for security
updates</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-CXX.html#sect-Defensive_Coding-CXX-Language-CXX11">2.1.4.
C++0X and C++11
support</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-CXX-Std.html">2.2. The C++ standard
library</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-CXX-Std.html#idm217623779280">2.2.1. Containers
and <code
class="literal">operator[]</code></a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a href="chap-Defensive_Coding-Java.html">3.
The Java Programmin
g Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language">3.1.
The core language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-ReadArray">3.1.1.
Inceasing robustness when reading
arrays</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">3.1.2.
Resource management</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">3.1.3.
Finalizers</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Exceptions">3.1.4.
Recovering from exceptions and
errors</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-LowLevel.html">3.2. Low-level features of
the virtual machine</a></span></dt>
<dd><dl><dt><span class="section"><a
href="sect-Defensive_Coding-Java-LowLevel.html#sect-Defensive_Coding-Java-Reflection">3.2.1.
<code class="literal">Reflection and private
parts</code></a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-JNI.html">3.2.2. Java Native Interface
(JNI)</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-MiscUnsafe.html">3.2.3. <code
class="literal">sun.misc.Unsafe</code></a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager.html">3.3. Interacting with
the security
manager</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager.html#sect-Defensive_Coding-Java-SecurityManager-Compatible">3.3.1.
Security manager compatibility</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">3.3.2.
Activating the security manager</a></span></dt><dt><span
class="sec
tion"><a
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">3.3.3.
Reducing trust in code</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">3.3.4.
Re-gaining
privileges</a></span></dt></dl></dd></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Python.html">4. The Python Programming
Language</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Python.html#idm217625452800">4.1. Dangerous
standard library features</a></span></dt><dt><span
class="section"><a href="ch04s02.html">4.2. Run-time
compilation and code generation</a></span></dt><dt><span
class="section"><a href="ch04s03.html">4.3.
Sandboxing</a></span></dt></dl></dd></dl></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="index.html"><strong>Prev</strong>Defensive
Coding</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="
h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-C.html"><strong>Next</strong>Chapter 1. The
C Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt02.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt02.html
new file mode 100644
index 0000000..8f0a105
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt02.html
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Part II. Specific Programming Tasks</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="index.html" title="Defensive Coding" /><link
rel="prev" href="ch04s03.html" title="4.3. Sandboxing"
/><link rel="next"
href="chap-Defensive_Coding-Tasks-Library_Design.html"
title="Chapter 5. Library Design" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch04s03.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Lib
rary_Design.html"><strong>Next</strong></a></li></ul><div
class="part" id="idm217610281072"><div
class="titlepage"><div><div text-align="center"><h1
class="title">Part II. Specific Programming
Tasks</h1></div></div></div><div
class="toc"><p><strong>Table of
Contents</strong></p><dl class="toc"><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html">5. Library
Design</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217610107056">5.1.
State management</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217650952240">5.1.1.
Global state</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Library_Design.html#idm217599341328">5.1.2.
Handles</a></span></dt></dl></dd><dt><span
class="section"><a href="ch05s02.html">5.2. Object
orientation</a></span></dt><dt><span
class="section"><a href="sect-Defensive_Coding-Ta
sks-Library_Design-Callbacks.html">5.3.
Callbacks</a></span></dt><dt><span
class="section"><a href="ch05s04.html">5.4. Process
attributes</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html">6. File Descriptor
Management</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217651037600">6.1.
Closing
descriptors</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217622290176">6.1.1.
Error handling during descriptor close</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217615274224">6.1.2.
Closing descriptors and race
conditions</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217617186816">6.1.3.
Lingering state after
close</a></span></dt></dl></dd><dt><span
class="section"><a href="sect-Defensive_Coding-Tasks-Descriptor
s-Child_Processes.html">6.2. Preventing file descriptor leaks to child
processes</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">6.3. Dealing with
the <code class="function">select</code>
limit</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-File_System.html">7. File system
manipulation</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-File_System.html#sect-Defensive_Coding-Tasks-File_System-Unowned">7.1.
Working with files and directories owned by other
users</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">7.2. Accessing
the file system as a different user</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Limits.html">7.3. File system
limits</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Features.html">7.4. Fi
le system features</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html">7.5. Checking
free space</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Temporary_Files.html">8. Temporary
files</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Temporary_Files.html#chap-Defensive_Coding-Tasks-Temporary_Files-Location">8.1.
Obtaining the location of temporary
directory</a></span></dt><dt><span
class="section"><a href="ch08s02.html">8.2. Named temporary
files</a></span></dt><dt><span
class="section"><a href="ch08s03.html">8.3. Temporary files
without names</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Temporary_Directory.html">8.4. Temporary
directories</a></span></dt><dt><span
class="section"><a href="ch08s05.html">8.5. Compensating for
unsafe file
creation</a></span></dt></dl></dd><dt><span
class="chapter"><a href="sect-Defe
nsive_Coding-Tasks-Processes.html">9.
Processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">9.1.
Safe process
creation</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#idm217610205904">9.1.1.
Obtaining the program path and the command line
template</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2.
Bypassing the shell</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3.
Specifying the process environment</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#idm217621505504">9.1.4.
Robust argument list processing</a></span></dt><dt><span
class="section"><a href="sect-Defensive_Coding-Tasks-Processe
s.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5.
Passing secrets to
subprocesses</a></span></dt></dl></dd><dt><span
class="section"><a href="ch09s02.html">9.2. Handling child
process termination</a></span></dt><dt><span
class="section"><a href="ch09s03.html">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1.
Accessing environment
variables</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">9.4.
Daemons</a></span></dt><dt><span
class="section"><a href="ch09s05.html">9.5. Semantics of
command line arguments</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">9.6. <code
class="function">fork</code> as a primitive for
parallelism</a></span></dt></dl></dd><dt><span
class="chapter"><a hre
f="chap-Defensive_Coding-Tasks-Serialization.html">10. Serialization and
Deserialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">10.1.
Recommendations for manually written
decoders</a></span></dt><dt><span
class="section"><a href="ch10s02.html">10.2. Protocol
design</a></span></dt><dt><span
class="section"><a href="ch10s03.html">10.3. Library support
for deserialization</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML.html">10.4. XML
serialization</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML.html#sect-Defensive_Coding-Tasks-Serialization-XML-External">10.4.1.
External references</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">10.4.2.
Entity expansion</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html">10.4.3.
XInclude processing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html">10.4.4.
Algorithmic complexity of XML
validation</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html">10.4.5. Using
Expat for XML parsing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html">10.4.6. Using Qt for
XML parsing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html">10.4.7.
Using OpenJDK for XML parsing and
validation</a></span></dt></dl></dd><dt><span
class="section"><a href="ch10s05.html">10.5. Protocol
Encoders</a></span></dt></dl></dd><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Tasks-Cryptography.html">11.
Cryptography</a></span></dt><dd><dl><dt><span
class="section"><a href="chap-
Defensive_Coding-Tasks-Cryptography.html#idm217622866992">11.1.
Primitives</a></span></dt><dt><span
class="section"><a href="ch11s02.html">11.2.
Randomness</a></span></dt></dl></dd></dl></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="ch04s03.html"><strong>Prev</strong>4.3. Sandboxing</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Library_Design.html"><strong>Next</strong>Chapter 5. Library
Design</a></li></ul></body></html>
\ No newline at end of file
diff --git a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt03.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt03.html
new file mode 100644
index 0000000..fc1c99c
--- /dev/null
+++ b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/pt03.html
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Part III. Implementing Security Features</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="index.html" title="Defensive Coding" /><link
rel="prev" href="ch11s02.html" title="11.2. Randomness"
/><link rel="next"
href="chap-Defensive_Coding-Authentication.html"
title="Chapter 12. Authentication and Authorization" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch11s02.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="chap-Defensive_Co
ding-Authentication.html"><strong>Next</strong></a></li></ul><div
class="part" id="idm217599891712"><div
class="titlepage"><div><div text-align="center"><h1
class="title">Part III. Implementing Security
Features</h1></div></div></div><div
class="toc"><p><strong>Table of
Contents</strong></p><dl class="toc"><dt><span
class="chapter"><a
href="chap-Defensive_Coding-Authentication.html">12. Authentication and
Authorization</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-Authentication.html#sect-Defensive_Coding-Authentication-Server">12.1.
Authenticating servers</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-Host_based.html">12.2. Host-based
authentication</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html">12.3. UNIX
domain socket authentication</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Authentication-Netlink.html">12.4. <c
ode class="literal">AF_NETLINK</code> authentication of
origin</a></span></dt></dl></dd><dt><span
class="chapter"><a href="chap-Defensive_Coding-TLS.html">13.
Transport Layer
Security</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls">13.1.
Common Pitfalls</a></span></dt><dd><dl><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">13.1.1.
OpenSSL Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">13.1.2.
GNUTLS Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-OpenJDK">13.1.3.
OpenJDK Pitfalls</a></span></dt><dt><span
class="section"><a
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-NSS">13.1.4.
NSS Pitfalls</a></span></dt></dl></dd><dt><span
class="section"><a href="sect-Defe
nsive_Coding-TLS-Client.html">13.2. TLS
Clients</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client.html#idm217622790960">13.2.1.
Implementation TLS Clients With
OpenSSL</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html">13.2.2. Implementation
TLS Clients With GNUTLS</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html">13.2.3. Implementing TLS
Clients With OpenJDK</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-NSS.html">13.2.4. Implementing TLS
Clients With NSS</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-TLS-Client-Python.html">13.2.5. Implementing TLS
Clients With
Python</a></span></dt></dl></dd></dl></dd></dl></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="ch11s02.html"><strong>Prev</strong>11.2. Randomness</a></li><li
class="up"><a accesskey="u" href="#"><
strong>Up</strong></a></li><li class="home"><a
accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Authentication.html"><strong>Next</strong>Chapter 12. Authentication
and Authorization</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html
new file mode 100644
index 0000000..3ee4323
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Host_based.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>12.2. Host-based authentication</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Authentication.html"
title="Chapter 12. Authentication and Authorization" /><link
rel="prev" href="chap-Defensive_Coding-Authentication.html"
title="Chapter 12. Authentication and Authorization" /><link
rel="next"
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"
title="12.3. UNIX domain socket authentication" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"
<a accesskey="p"
href="chap-Defensive_Coding-Authentication.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Authentication-Host_based"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.2. Host-based
authentication</h2></div></div></div><div
class="para">
+ Host-based authentication uses access control lists
(ACLs) to accept or deny requests from clients. Thsis authentication method comes in two
flavors: IP-based (or, more generally, address-based) and name-based (with the name coming
from DNS or <code class="filename">/etc/hosts</code>). IP-based ACLs
often use prefix notation to extend access to entire subnets. Name-based ACLs sometimes
use wildcards for adding groups of hosts (from entire DNS subtrees). (In the SSH context,
host-based authentication means something completely different and is not covered in this
section.)
+ </div><div class="para">
+ Host-based authentication trust the network and may not offer sufficient granularity,
so it has to be considered a weak form of authentication. On the other hand, IP-based
authentication can be made extremely robust and can be applied very early in input
processing, so it offers an opportunity for significantly reducing the number of potential
attackers for many services.
+ </div><div class="para">
+ The names returned by <code
class="function">gethostbyaddr</code> and <code
class="function">getnameinfo</code> functions cannot be trusted. (DNS
PTR records can be set to arbitrary values, not just names belong to the address owner.)
If these names are used for ACL matching, a forward lookup using <code
class="function">gethostbyaddr</code> or <code
class="function">getaddrinfo</code> has to be performed. The name is
only valid if the original address is found among the results of the forward lookup
(<span class="emphasis"><em>double-reverse
lookup</em></span>).
+ </div><div class="para">
+ An empty ACL should deny all access (deny-by-default). If empty ACLs permits all
access, configuring any access list must switch to deny-by-default for all unconfigured
protocols, in both name-based and address-based variants.
+ </div><div class="para">
+ Similarly, if an address or name is not matched by the list, it should be denied.
However, many implementations behave differently, so the actual behavior must be
documented properly.
+ </div><div class="para">
+ IPv6 addresses can embed IPv4 addresses. There is no universally correct way to deal
with this ambiguity. The behavior of the ACL implementation should be documented.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Authentication.html"><strong>Prev</strong>Chapter 12. Authentication
and Authorization</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Next</strong>12.3. UNIX
domain socket authentication</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html
new file mode 100644
index 0000000..da411f6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-Netlink.html
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>12.4. AF_NETLINK authentication of origin</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Authentication.html"
title="Chapter 12. Authentication and Authorization" /><link
rel="prev"
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"
title="12.3. UNIX domain socket authentication" /><link
rel="next" href="chap-Defensive_Coding-TLS.html"
title="Chapter 13. Transport Layer Security" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" h
ref="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-TLS.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Authentication-Netlink"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.4. <code
class="literal">AF_NETLINK</code> authentication of
origin</h2></div></div></div><div class="para">
+ Netlink messages are used as a high-performance data transfer mechanism between the
kernel and the userspace. Traditionally, they are used to exchange information related to
the network statck, such as routing table entries.
+ </div><div class="para">
+ When processing Netlink messages from the kernel, it is important to check that these
messages actually originate from the kernel, by checking that the port ID (or PID) field
<code class="literal">nl_pid</code> in the <code
class="literal">sockaddr_nl</code> structure is <code
class="literal">0</code>. (This structure can be obtained using
<code class="function">recvfrom</code> or <code
class="function">recvmsg</code>, it is different from the <code
class="literal">nlmsghdr</code> structure.) The kernel does not prevent
other processes from sending unicast Netlink messages, but the <code
class="literal">nl_pid</code> field in the sender's socket address
will be non-zero in such cases.
+ </div><div class="para">
+ Applications should not use <code
class="literal">AF_NETLINK</code> sockets as an IPC mechanism among
processes, but prefer UNIX domain sockets for this tasks.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Authentication-UNIX_Domain.html"><strong>Prev</strong>12.3. UNIX
domain socket authentication</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-TLS.html"><strong>Next</strong>Chapter 13. Transport
Layer Security</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html
new file mode 100644
index 0000000..cc75d69
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Authentication-UNIX_Domain.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>12.3. UNIX domain socket authentication</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Authentication.html"
title="Chapter 12. Authentication and Authorization" /><link
rel="prev" href="sect-Defensive_Coding-Authentication-Host_based.html"
title="12.2. Host-based authentication" /><link rel="next"
href="sect-Defensive_Coding-Authentication-Netlink.html"
title="12.4. AF_NETLINK authentication of origin" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a a
ccesskey="p"
href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Authentication-UNIX_Domain"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">12.3. UNIX domain socket
authentication</h2></div></div></div><div
class="para">
+ UNIX domain sockets (with address family <code
class="literal">AF_UNIX</code> or <code
class="literal">AF_LOCAL</code>) are restricted to the local host and
offer a special authentication mechanism: credentials passing.
+ </div><div class="para">
+ Nowadays, most systems support the <code
class="literal">SO_PEERCRED</code> (Linux) or <code
class="literal">LOCAL_PEERCRED</code> (FreeBSD) socket options, or the
<code class="function">getpeereid</code> (other BSDs, MacOS X).
These interfaces provide direct access to the (effective) user ID on the other end of a
domain socket connect, without cooperation from the other end.
+ </div><div class="para">
+ Historically, credentials passing was implemented using ancillary data in the <code
class="function">sendmsg</code> and <code
class="function">recvmsg</code> functions. On some systems, only
credentials data that the peer has explicitly sent can be received, and the kernel checks
the data for correctness on the sending side. This means that both peers need to deal with
ancillary data. Compared to that, the modern interfaces are easier to use. Both sets of
interfaces vary considerably among UNIX-like systems, unfortunately.
+ </div><div class="para">
+ If you want to authenticate based on supplementary groups, you should obtain the user
ID using one of these methods, and look up the list of supplementary groups using <code
class="function">getpwuid</code> (or <code
class="function">getpwuid_r</code>) and <code
class="function">getgrouplist</code>. Using the PID and information
from <code class="filename">/proc/PID/status</code> is prone to race
conditions and insecure.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Authentication-Host_based.html"><strong>Prev</strong>12.2. Host-based
authentication</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Authentication-Netlink.html"><strong>Next</strong>12.4. AF_NETLINK
authentication of origin</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html
new file mode 100644
index 0000000..3e48d2b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-Arrays.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.3.3. Array allocation</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory
allocators" /><link rel="prev"
href="sect-Defensive_Coding-C-Allocators-alloca.html" title="1.3.2. alloca
and other forms of stack-based allocation" /><link rel="next"
href="ch01s03s04.html" title="1.3.4. Custom memory allocators"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Allocato
rs-alloca.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s03s04.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-C-Allocators-Arrays"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.3.3. Array
allocation</h3></div></div></div><div
class="para">
+ When allocating arrays, it is important to check for overflows. The <code
class="function">calloc</code> function performs such checks.
+ </div><div class="para">
+ If <code class="function">malloc</code> or <code
class="function">realloc</code> is used, the size check must be written
manually. For instance, to allocate an array of <code
class="literal">n</code> elements of type <code
class="literal">T</code>, check that the requested size is not greater
than <code class="literal">n / sizeof(T)</code>. See <a
class="xref"
href="chap-Defensive_Coding-C.html#sect-Defensive_Coding-C-Arithmetic">Section 1.1.3,
“Recommendations for integer arithmetic”</a>.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Prev</strong>1.3.2. alloca
and other forms of stack-based allo...</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s03s04.html"><strong>Next</strong>1.3.4. Custom memory
allocators</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-alloca.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-alloca.html
new file mode 100644
index 0000000..e3ccfbb
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators-alloca.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.3.2. alloca and other forms of stack-based
allocation</title><link rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory
allocators" /><link rel="prev"
href="sect-Defensive_Coding-C-Allocators.html" title="1.3. Memory
allocators" /><link rel="next"
href="sect-Defensive_Coding-C-Allocators-Arrays.html" title="1.3.3. Array
allocation" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Allocators.html"><strong>
Prev</strong></a></li><li class="next"><a
accesskey="n"
href="sect-Defensive_Coding-C-Allocators-Arrays.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-C-Allocators-alloca"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.3.2. <code
class="function">alloca</code> and other forms of stack-based
allocation</h3></div></div></div><div
class="para">
+ Allocation on the stack is risky because stack overflow checking is implicit. There is
a guard page at the end of the memory area reserved for the stack. If the program attempts
to read from or write to this guard page, a <code
class="literal">SIGSEGV</code> signal is generated and the program
typically terminates.
+ </div><div class="para">
+ This is sufficient for detecting typical stack overflow situations such as unbounded
recursion, but it fails when the stack grows in increments larger than the size of the
guard page. In this case, it is possible that the stack pointer ends up pointing into a
memory area which has been allocated for a different purposes. Such misbehavior can be
exploitable.
+ </div><div class="para">
+ A common source for large stack growth are calls to <code
class="function">alloca</code> and related functions such as <code
class="function">strdupa</code>. These functions should be avoided
because of the lack of error checking. (They can be used safely if the allocated size is
less than the page size (typically, 4096 bytes), but this case is relatively rare.)
Additionally, relying on <code class="function">alloca</code> makes
it more difficult to reorgnize the code because it is not allowed to use the pointer after
the function calling <code class="function">alloca</code> has
returned, even if this function has been inlined into its caller.
+ </div><div class="para">
+ Similar concerns apply to <span
class="emphasis"><em>variable-length arrays</em></span>
(VLAs), a feature of the C99 standard which started as a GNU extension. For large objects
exceeding the page size, there is no error checking, either.
+ </div><div class="para">
+ In both cases, negative or very large sizes can trigger a stack-pointer wraparound,
and the stack pointer and end up pointing into caller stack frames, which is fatal and can
be exploitable.
+ </div><div class="para">
+ If you want to use <code class="function">alloca</code> or VLAs
for performance reasons, consider using a small on-stack array (less than the page size,
large enough to fulfill most requests). If the requested size is small enough, use the
on-stack array. Otherwise, call <code
class="function">malloc</code>. When exiting the function, check if
<code class="function">malloc</code> had been called, and free the
buffer as needed.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Allocators.html"><strong>Prev</strong>1.3. Memory
allocators</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Allocators-Arrays.html"><strong>Next</strong>1.3.3. Array
allocation</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html
new file mode 100644
index 0000000..ff29699
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Allocators.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.3. Memory allocators</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming
Language" /><link rel="prev" href="ch01s02s03s07.html"
title="1.2.3.7. Other strn* and stpn* functions" /><link
rel="next" href="sect-Defensive_Coding-C-Allocators-alloca.html"
title="1.3.2. alloca and other forms of stack-based allocation"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="ch01s02s03s07.h
tml"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-C-Allocators" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.3. Memory
allocators</h2></div></div></div><div class="section"
id="idm217614761120"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217614761120">1.3.1. <code
class="function">malloc</code> and related
functions</h3></div></div></div><div
class="para">
+ The C library interfaces for memory allocation are provided by <code
class="function">malloc</code>, <code
class="function">free</code> and <code
class="function">realloc</code>, and the <code
class="function">calloc</code> function. In addition to these generic
functions, there are derived functions such as <code
class="function">strdup</code> which perform allocation using <code
class="function">malloc</code> internally, but do not return untyped
heap memory (which could be used for any object).
+ </div><div class="para">
+ The C compiler knows about these functions and can use their expected behavior for
optimizations. For instance, the compiler assumes that an existing pointer (or a pointer
derived from an existing pointer by arithmetic) will not point into the memory area
returned by <code class="function">malloc</code>.
+ </div><div class="para">
+ If the allocation fails, <code class="function">realloc</code>
does not free the old pointer. Therefore, the idiom <code
class="literal">ptr = realloc(ptr, size);</code> is wrong because the
memory pointed to by <code class="literal">ptr</code> leaks in case
of an error.
+ </div><div class="section" id="idm217617402064"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217617402064">1.3.1.1. Use-after-free
errors</h4></div></div></div><div class="para">
+ After <code class="function">free</code>, the pointer is
invalid. Further pointer dereferences are not allowed (and are usually detected by
<span
class="application"><strong>valgrind</strong></span>). Less
obvious is that any <span
class="emphasis"><em>use</em></span> of the old pointer
value is not allowed, either. In particular, comparisons with any other pointer (or the
null pointer) are undefined according to the C standard.
+ </div><div class="para">
+ The same rules apply to <code class="function">realloc</code>
if the memory area cannot be enlarged in-place. For instance, the compiler may assume that
a comparison between the old and new pointer will always return false, so it is impossible
to detect movement this way.
+ </div></div><div class="section"
id="idm217619665680"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217619665680">1.3.1.2. Handling memory allocation
errors</h4></div></div></div><div class="para">
+ Recovering from out-of-memory errors is often difficult or even impossible. In these
cases, <code class="function">malloc</code> and other allocation
functions return a null pointer. Dereferencing this pointer lead to a crash. Such
dereferences can even be exploitable for code execution if the dereference is combined
with an array subscript.
+ </div><div class="para">
+ In general, if you cannot check all allocation calls and handle failure, you should
abort the program on allocation failure, and not rely on the null pointer dereference to
terminate the process. See <a class="xref"
href="chap-Defensive_Coding-Tasks-Serialization.html#sect-Defensive_Coding-Tasks-Serialization-Decoders">Section 10.1,
“Recommendations for manually written decoders”</a> for related memory allocation
concerns.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="ch01s02s03s07.html"><strong>Prev</strong>1.2.3.7. Other
strn* and stpn* functions</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Allocators-alloca.html"><strong>Next</strong>1.3.2. alloca
and other forms of stack-based
allo...</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html
new file mode 100644
index 0000000..3f6e1a4
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Avoid.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.2. Functions to avoid</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-Libc.html" title="1.2. The C standard
library" /><link rel="prev"
href="sect-Defensive_Coding-C-Libc.html" title="1.2. The C standard
library" /><link rel="next"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Defensive
_Coding-C-Libc.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-String-Functions-Length.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-C-Avoid"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.2.2. Functions to
avoid</h3></div></div></div><div class="para">
+ The following string manipulation functions can be used securely in principle, but
their use should be avoided because they are difficult to use correctly. Calls to these
functions can be replaced with <code
class="function">asprintf</code> or <code
class="function">vasprintf</code>. (For non-GNU targets, these
functions are available from Gnulib.) In some cases, the <code
class="function">snprintf</code> function might be a suitable
replacement, see <a class="xref"
href="sect-Defensive_Coding-C-String-Functions-Length.html">Section 1.2.3,
“String Functions With Explicit Length Arguments”</a>.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">sprintf</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strcat</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strcpy</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">vsprintf</code>
+ </div></li></ul></div><div class="para">
+ Use the indicated replacements for the functions below.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">alloca</code> ⟶ <code
class="function">malloc</code> and <code
class="function">free</code> (see <a class="xref"
href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2,
“<code class="function">alloca</code> and other forms of stack-based
allocation”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">putenv</code> ⟶ explicit <code
class="varname">envp</code> argument in process creation (see <a
class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">setenv</code> ⟶ explicit <code
class="varname">envp</code> argument in process creation (see <a
class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strdupa</code> ⟶ <code
class="function">strdup</code> and <code
class="function">free</code> (see <a class="xref"
href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2,
“<code class="function">alloca</code> and other forms of stack-based
allocation”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">strndupa</code> ⟶ <code
class="function">strndup</code> and <code
class="function">free</code> (see <a class="xref"
href="sect-Defensive_Coding-C-Allocators-alloca.html">Section 1.3.2,
“<code class="function">alloca</code> and other forms of stack-based
allocation”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">system</code> ⟶ <code
class="function">posix_spawn</code> or <code
class="function">fork</code>/<code
class="function">execve</code>/ (see <a class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">Section 9.1.2,
“Bypassing the shell”</a>)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">unsetenv</code> ⟶ explicit <code
class="varname">envp</code> argument in process creation (see <a
class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>)
+ </div></li></ul></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-C-Libc.html"><strong>Prev</strong>1.2. The
C standard library</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-String-Functions-Length.html"><strong>Next</strong>1.2.3. String
Functions With Explicit Length
Argu...</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html
new file mode 100644
index 0000000..a398b34
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncat.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3.4. strncat</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="prev" href="sect-Defensive_Coding-C-Libc-strncpy.html"
title="1.2.3.3. strncpy" /><link rel="next"
href="ch01s02s03s05.html" title="1.2.3.5. strlcpy and strlcat"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Libc-st
rncpy.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s02s03s05.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-C-Libc-strncat"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.4. <code
class="function">strncat</code></h4></div></div></div><div
class="para">
+ The length argument of the <code
class="function">strncat</code> function specifies the maximum number
of characters copied from the source buffer, excluding the terminating NUL character. This
means that the required number of bytes in the destination buffer is the length of the
original string, plus the length argument in the <code
class="function">strncat</code> call, plus one. Consequently, this
function is rarely appropriate for performing a length-checked string operation, with the
notable exception of the <code class="function">strcpy</code>
emulation described in <a class="xref"
href="sect-Defensive_Coding-C-Libc-strncpy.html">Section 1.2.3.3, “<code
class="function">strncpy</code>”</a>.
+ </div><div class="para">
+ To implement a length-checked string append, you can use an approach similar to <a
class="xref"
href="sect-Defensive_Coding-C-String-Functions-Length.html#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4,
“Repeatedly writing to a buffer using <code
class="function">snprintf</code>”</a>:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[<span
class="perl_Float">10</span>];
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"%s"</span>, prefix);
+snprintf(buf + strlen(buf), <span
class="perl_Keyword">sizeof</span>(buf) - strlen(buf), <span
class="perl_String">"%s"</span>, data);
+</pre></div><div class="para">
+ In many cases, including this one, the string concatenation can be avoided by
combining everything into a single format string:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"%s%s"</span>, prefix, data);
+</pre></div><div class="para">
+ But you should must not dynamically construct format strings to avoid concatenation
because this would prevent GCC from type-checking the argument lists.
+ </div><div class="para">
+ It is not possible to use format strings like <code
class="literal">"%s%s"</code> to implement concatenation,
unless you use separate buffers. <code
class="function">snprintf</code> does not support overlapping source
and target strings.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Libc-strncpy.html"><strong>Prev</strong>1.2.3.3. strncpy</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch01s02s03s05.html"><strong>Next</strong>1.2.3.5. strlcpy
and strlcat</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncpy.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncpy.html
new file mode 100644
index 0000000..9f36bb8
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-strncpy.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3.3. strncpy</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="prev" href="sect-Defensive_Coding-C-Libc-vsnprintf.html"
title="1.2.3.2. vsnprintf and format strings" /><link rel="next"
href="sect-Defensive_Coding-C-Libc-strncat.html"
title="1.2.3.4. strncat" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" hre
f="sect-Defensive_Coding-C-Libc-vsnprintf.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Libc-strncat.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-C-Libc-strncpy"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.3. <code
class="function">strncpy</code></h4></div></div></div><div
class="para">
+ The <code class="function">strncpy</code> function does not
ensure that the target buffer is NUL-terminated. A common idiom for ensuring NUL
termination is:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[<span
class="perl_Float">10</span>];
+strncpy(buf, data, <span class="perl_Keyword">sizeof</span>(buf));
+buf[<span class="perl_Keyword">sizeof</span>(buf) - <span
class="perl_Float">1</span>] = '\0';
+</pre></div><div class="para">
+ Another approach uses the <code class="function">strncat</code>
function for this purpose:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+buf[0] = '\0';
+strncpy(buf, data, <span class="perl_Keyword">sizeof</span>(buf) -
<span class="perl_Float">1</span>);
+</pre></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Libc-vsnprintf.html"><strong>Prev</strong>1.2.3.2. vsnprintf
and format strings</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Libc-strncat.html"><strong>Next</strong>1.2.3.4. strncat</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html
new file mode 100644
index 0000000..9f0a672
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc-vsnprintf.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3.2. vsnprintf and format strings</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="prev" href="sect-Defensive_Coding-C-String-Functions-Length.html"
title="1.2.3. String Functions With Explicit Length Arguments" /><link
rel="next" href="sect-Defensive_Coding-C-Libc-strncpy.html"
title="1.2.3.3. strncpy" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li class="prev
ious"><a accesskey="p"
href="sect-Defensive_Coding-C-String-Functions-Length.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Libc-strncpy.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-C-Libc-vsnprintf"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.2. <code
class="literal">vsnprintf</code> and format
strings</h4></div></div></div><div class="para">
+ If you use <code class="function">vsnprintf</code> (or <code
class="function">vasprintf</code> or even <code
class="function">snprintf</code>) with a format string which is not a
constant, but a function argument, it is important to annotate the function with a
<code class="literal">format</code> function attribute, so that GCC
can warn about misuse of your function (see <a class="xref"
href="sect-Defensive_Coding-C-Libc-vsnprintf.html#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5,
“The <code class="literal">format</code> function
attribute”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-C-String-Functions-format-Attribute"><h6>Example 1.5. The
<code class="literal">format</code> function
attribute</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">void</span> log_format(<span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *format, ...)
__attribute__((format(printf, <span class="perl_Float">1</span>,
<span class="perl_Float">2</span>)));
+
+<span class="perl_DataType">void</span>
+log_format(<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *format, ...)
+{
+ <span class="perl_DataType">char</span> buf[<span
class="perl_Float">1000</span>];
+ va_list ap;
+ va_start(ap, format);
+ vsnprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
format, ap);
+ va_end(ap);
+ log_string(buf);
+}
+</pre></div></div><br class="example-break"
/></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-String-Functions-Length.html"><strong>Prev</strong>1.2.3. String
Functions With Explicit Length Argu...</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Libc-strncpy.html"><strong>Next</strong>1.2.3.3. strncpy</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc.html
new file mode 100644
index 0000000..a71dbfb
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Libc.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2. The C standard library</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming
Language" /><link rel="prev"
href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming
Language" /><link rel="next"
href="sect-Defensive_Coding-C-Avoid.html" title="1.2.2. Functions to
avoid" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-C.html"><strong>Prev</stron
g></a></li><li class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Avoid.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-C-Libc" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.2. The C standard
library</h2></div></div></div><div class="para">
+ Parts of the C standard library (and the UNIX and GNU extensions) are difficult to use,
so you shoud avoid them.
+ </div><div class="para">
+ Please check the applicable documentation before using the recommended replacements.
Many of these functions allocate buffers using <code
class="function">malloc</code> which your code must deallocate
explicitly using <code class="function">free</code>.
+ </div><div class="section"
id="sect-Defensive_Coding-C-Absolutely-Banned"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.2.1. Absolutely banned
interfaces</h3></div></div></div><div
class="para">
+ The functions listed below must not be used because they are almost always unsafe. Use
the indicated replacements instead.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="function">gets</code> ⟶ <code
class="function">fgets</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">getwd</code> ⟶ <code
class="function">getcwd</code> or <code
class="function">get_current_dir_name</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">readdir_r</code> ⟶ <code
class="function">readdir</code>
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">realpath</code> (with a non-NULL second
parameter) ⟶ <code class="function">realpath</code> with NULL as the
second parameter, or <code
class="function">canonicalize_file_name</code>
+ </div></li></ul></div><div class="para">
+ The constants listed below must not be used, either. Instead, code must allocate
memory dynamically and use interfaces with length checking.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="literal">NAME_MAX</code> (limit not actually
enforced by the kernel)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">PATH_MAX</code> (limit not actually
enforced by the kernel)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">_PC_NAME_MAX</code> (This limit,
returned by the <code class="function">pathconf</code> function, is
not enforced by the kernel.)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">_PC_PATH_MAX</code> (This limit,
returned by the <code class="function">pathconf</code> function, is
not enforced by the kernel.)
+ </div></li></ul></div><div class="para">
+ The following structure members must not be used.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="literal">f_namemax</code> in <code
class="literal">struct statvfs</code> (limit not actually enforced by
the kernel, see <code class="literal">_PC_NAME_MAX</code> above)
+ </div></li></ul></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="chap-Defensive_Coding-C.html"><strong>Prev</strong>Chapter 1. The
C Programming Language</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Avoid.html"><strong>Next</strong>1.2.2. Functions
to avoid</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html
new file mode 100644
index 0000000..2a671c0
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-Other.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.4. Other C-related topics</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-C.html" title="Chapter 1. The C Programming
Language" /><link rel="prev" href="ch01s03s05.html"
title="1.3.5. Conservative garbage collection" /><link
rel="next" href="chap-Defensive_Coding-CXX.html"
title="Chapter 2. The C++ Programming Language" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s03s05.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-CXX.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-C-Other" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">1.4. Other C-related
topics</h2></div></div></div><div class="section"
id="sect-Defensive_Coding-C-Wrapper-Functions"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.4.1. Wrapper
functions</h3></div></div></div><div
class="para">
+ Some libraries provide wrappers for standard library functions. Common cases include
allocation functions such as <code class="function">xmalloc</code>
which abort the process on allocation failure (instead of returning a <code
class="literal">NULL</code> pointer), or alternatives to relatively
recent library additions such as <code
class="function">snprintf</code> (along with implementations for
systems which lack them).
+ </div><div class="para">
+ In general, such wrappers are a bad idea, particularly if they are not implemented as
inline functions or preprocessor macros. The compiler lacks knowledge of such wrappers
outside the translation unit which defines them, which means that some optimizations and
security checks are not performed. Adding <code
class="literal">__attribute__</code> annotations to function
declarations can remedy this to some extent, but these annotations have to be maintained
carefully for feature parity with the standard implementation.
+ </div><div class="para">
+ At the minimum, you should apply these attributes:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ If you wrap function which accepts are GCC-recognized format string (for example, a
<code class="function">printf</code>-style function used for
logging), you should add a suitable <code
class="literal">format</code> attribute, as in <a
class="xref"
href="sect-Defensive_Coding-C-Libc-vsnprintf.html#ex-Defensive_Coding-C-String-Functions-format-Attribute">Example 1.5,
“The <code class="literal">format</code> function
attribute”</a>.
+ </div></li><li class="listitem"><div
class="para">
+ If you wrap a function which carries a <code
class="literal">warn_unused_result</code> attribute and you propagate
its return value, your wrapper should be declared with <code
class="literal">warn_unused_result</code> as well.
+ </div></li><li class="listitem"><div
class="para">
+ Duplicating the buffer length checks based on the <code
class="function">__builtin_object_size</code> GCC builtin is desirable
if the wrapper processes arrays. (This functionality is used by the <code
class="literal">-D_FORTIFY_SOURCE=2</code> checks to guard against
static buffer overflows.) However, designing appropriate interfaces and implementing the
checks may not be entirely straightforward.
+ </div></li></ul></div><div class="para">
+ For other attributes (such as <code
class="literal">malloc</code>), careful analysis and comparison with
the compiler documentation is required to check if propagating the attribute is
appropriate. Incorrectly applied attributes can result in undesired behavioral changes in
the compiled code.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch01s03s05.html"><strong>Prev</strong>1.3.5. Conservative
garbage collection</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-CXX.html"><strong>Next</strong>Chapter 2. The
C++ Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html
new file mode 100644
index 0000000..4dff84b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-C-String-Functions-Length.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>1.2.3. String Functions With Explicit Length
Arguments</title><link rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-C-Libc.html" title="1.2. The C standard
library" /><link rel="prev"
href="sect-Defensive_Coding-C-Avoid.html" title="1.2.2. Functions to
avoid" /><link rel="next"
href="sect-Defensive_Coding-C-Libc-vsnprintf.html"
title="1.2.3.2. vsnprintf and format strings" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Avoid.html"><stro
ng>Prev</strong></a></li><li class="next"><a
accesskey="n"
href="sect-Defensive_Coding-C-Libc-vsnprintf.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-C-String-Functions-Length"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">1.2.3. String Functions With Explicit Length
Arguments</h3></div></div></div><div
class="para">
+ The C run-time library provides string manipulation functions which not just look for
NUL characters for string termination, but also honor explicit lengths provided by the
caller. However, these functions evolved over a long period of time, and the lengths mean
different things depending on the function.
+ </div><div class="section"
id="sect-Defensive_Coding-C-Libc-snprintf"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">1.2.3.1. <code
class="literal">snprintf</code></h4></div></div></div><div
class="para">
+ The <code class="function">snprintf</code> function provides a
way to construct a string in a statically-sized buffer. (If the buffer size is allocated
on the heap, consider use <code class="function">asprintf</code>
instead.)
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> fraction[<span
class="perl_Float">30</span>];
+snprintf(fraction, <span
class="perl_Keyword">sizeof</span>(fraction), <span
class="perl_String">"%d/%d"</span>, numerator, denominator);
+</pre></div><div class="para">
+ The second argument to the <code
class="function">snprintf</code> call should always be the size of the
buffer in the first argument (which should be a character array). Elaborate pointer and
length arithmetic can introduce errors and nullify the security benefits of <code
class="function">snprintf</code>.
+ </div><div class="para">
+ In particular, <code class="literal">snprintf</code> is not
well-suited to constructing a string iteratively, by appending to an existing buffer.
<code class="function">snprintf</code> returns one of two values,
<code class="literal">-1</code> on errors, or the number of
characters which <span class="emphasis"><em>would have been written
to the buffer if the buffer were large enough</em></span>. This means that
adding the result of <code class="function">snprintf</code> to the
buffer pointer to skip over the characters just written is incorrect and risky. However,
as long as the length argument is not zero, the buffer will remain NUL-terminated. <a
class="xref"
href="sect-Defensive_Coding-C-String-Functions-Length.html#ex-Defensive_Coding-C-String-Functions-snprintf-incremental">Example 1.4,
“Repeatedly writing to a buffer using <code
class="function">snprintf</code>”</a> works because <code
class="literal">end -current > 0</code> is a loop invariant.
After the l
oop, the result string is in the <code class="varname">buf</code>
variable.
+ </div><div class="example"
id="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"><h6>Example 1.4. Repeatedly
writing to a buffer using <code
class="function">snprintf</code></h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[<span
class="perl_Float">512</span>];
+<span class="perl_DataType">char</span> *current = buf;
+<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> end = buf + <span
class="perl_Keyword">sizeof</span>(buf);
+<span class="perl_Keyword">for</span> (<span
class="perl_Keyword">struct</span> item *it = data; it->key;
++it) {
+ snprintf(current, end - current, <span
class="perl_String">"%s%s=%d"</span>,
+ current == buf ? <span
class="perl_String">""</span> : <span
class="perl_String">", "</span>, it->key,
it->value);
+ current += strlen(current);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ If you want to avoid the call to <code
class="function">strlen</code> for performance reasons, you have to
check for a negative return value from <code
class="function">snprintf</code> and also check if the return value is
equal to the specified buffer length or larger. Only if neither condition applies, you may
advance the pointer to the start of the write buffer by the number return by <code
class="function">snprintf</code>. However, this optimization is rarely
worthwhile.
+ </div><div class="para">
+ Note that it is not permitted to use the same buffer both as the destination and as a
source argument.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-C-Avoid.html"><strong>Prev</strong>1.2.2. Functions
to avoid</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-C-Libc-vsnprintf.html"><strong>Next</strong>1.2.3.2. vsnprintf
and format strings</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html
new file mode 100644
index 0000000..b1b473e
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-CXX-Std.html
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>2.2. The C++ standard library</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-CXX.html" title="Chapter 2. The C++ Programming
Language" /><link rel="prev"
href="chap-Defensive_Coding-CXX.html" title="Chapter 2. The C++ Programming
Language" /><link rel="next"
href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java
Programming Language" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-CXX.ht
ml"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Java.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-CXX-Std" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">2.2. The C++ standard
library</h2></div></div></div><div class="para">
+ The C++ standard library includes most of its C counterpart by reference, see <a
class="xref" href="sect-Defensive_Coding-C-Libc.html">Section 1.2,
“The C standard library”</a>.
+ </div><div class="section" id="idm217623779280"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217623779280">2.2.1. Containers and <code
class="literal">operator[]</code></h3></div></div></div><div
class="para">
+ Many containers similar to <code
class="literal">std::vector</code> provide both <code
class="literal">operator[](size_type)</code> and a member function
<code class="literal">at(size_type)</code>. This applies to <code
class="literal">std::vector</code> itself, <code
class="literal">std::array</code>, <code
class="literal">std::string</code> and other instances of <code
class="literal">std::basic_string</code>.
+ </div><div class="para">
+ <code class="literal">operator[](size_type)</code> is not
required by the standard to perform bounds checking (and the implementation in GCC does
not). In contrast, <code class="literal">at(size_type)</code> must
perform such a check. Therefore, in code which is not performance-critical, you should
prefer <code class="literal">at(size_type)</code> over <code
class="literal">operator[](size_type)</code>, even though it is
slightly more verbose.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-CXX.html"><strong>Prev</strong>Chapter 2. The
C++ Programming Language</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Java.html"><strong>Next</strong>Chapter 3. The
Java Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-JNI.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-JNI.html
new file mode 100644
index 0000000..7a19b4d
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-JNI.html
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.2.2. Java Native Interface (JNI)</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level
features of the virtual machine" /><link rel="prev"
href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level
features of the virtual machine" /><link rel="next"
href="sect-Defensive_Coding-Java-MiscUnsafe.html"
title="3.2.3. sun.misc.Unsafe" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect
-Defensive_Coding-Java-LowLevel.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-MiscUnsafe.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-Java-JNI"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2.2. Java Native Interface
(JNI)</h3></div></div></div><div class="para">
+ The Java Native Interface allows calling from Java code functions specifically written
for this purpose, usually in C or C++.
+ </div><div class="para">
+ The transition between the Java world and the C world is not fully type-checked, and
the C code can easily break the Java virtual machine semantics. Therefore, extra care is
needed when using this functionality.
+ </div><div class="para">
+ To provide a moderate amount of type safety, it is recommended to recreate the
class-specific header file using <span
class="application"><strong>javah</strong></span> during
the build process, include it in the implementation, and use the <code
class="option">-Wmissing-declarations</code> option.
+ </div><div class="para">
+ Ideally, the required data is directly passed to static JNI methods and returned from
them, and the code and the C side does not have to deal with accessing Java fields (or
even methods).
+ </div><div class="para">
+ When using <code
class="function">GetPrimitiveArrayCritical</code> or <code
class="function">GetStringCritical</code>, make sure that you only
perform very little processing between the get and release operations. Do not access the
file system or the network, and not perform locking, because that might introduce
blocking. When processing large strings or arrays, consider splitting the computation into
multiple sub-chunks, so that you do not prevent the JVM from reaching a safepoint for
extended periods of time.
+ </div><div class="para">
+ If necessary, you can use the Java <code
class="literal">long</code> type to store a C pointer in a field of a
Java class. On the C side, when casting between the <code
class="literal">jlong</code> value and the pointer on the C side,
+ </div><div class="para">
+ You should not try to perform pointer arithmetic on the Java side (that is, you should
treat pointer-carrying <code class="literal">long</code> values as
opaque). When passing a slice of an array to the native code, follow the Java convention
and pass it as the base array, the integer offset of the start of the slice, and the
integer length of the slice. On the native side, check the offset/length combination
against the actual array length, and use the offset to compute the pointer to the
beginning of the array.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-JNI-Pointers"><h6>Example 3.4. Array
length checking in JNI code</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+JNIEXPORT jint JNICALL Java_sum
+ (JNIEnv *jEnv, jclass clazz, jbyteArray buffer, jint offset, jint length)
+{
+ assert(<span class="perl_Keyword">sizeof</span>(jint) == <span
class="perl_Keyword">sizeof</span>(<span
class="perl_DataType">unsigned</span>));
+ <span class="perl_Keyword">if</span> (offset < 0 || length
< 0) {
+ (*jEnv)->ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+ <span class="perl_String">"negative
offset/length"</span>);
+ <span class="perl_Keyword">return</span> 0;
+ }
+ <span class="perl_DataType">unsigned</span> uoffset = offset;
+ <span class="perl_DataType">unsigned</span> ulength = length;
+ <span class="perl_Comment">// This cannot overflow because of the check
above.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">unsigned</span> totallength = uoffset + ulength;
+ <span class="perl_DataType">unsigned</span> actuallength =
(*jEnv)->GetArrayLength(jEnv, buffer);
+ <span class="perl_Keyword">if</span> (totallength >
actuallength) {
+ (*jEnv)->ThrowNew(jEnv, arrayIndexOutOfBoundsExceptionClass,
+ <span class="perl_String">"offset + length too
large"</span>);
+ <span class="perl_Keyword">return</span> 0;
+ }
+ <span class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span> *ptr =
(*jEnv)->GetPrimitiveArrayCritical(jEnv, buffer, 0);
+ <span class="perl_Keyword">if</span> (ptr == NULL) {
+ <span class="perl_Keyword">return</span> 0;
+ }
+ <span class="perl_DataType">unsigned</span> <span
class="perl_DataType">long</span> <span
class="perl_DataType">long</span> sum = 0;
+ <span class="perl_Keyword">for</span> (<span
class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span> *p = ptr + uoffset, *end = p +
ulength; p != end; ++p) {
+ sum += *p;
+ }
+ (*jEnv)->ReleasePrimitiveArrayCritical(jEnv, buffer, ptr, 0);
+ <span class="perl_Keyword">return</span> sum;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ In any case, classes referring to native resources must be declared <code
class="literal">final</code>, and must not be serializeable or
cloneable. Initialization and mutation of the state used by the native side must be
controlled carefully. Otherwise, it might be possible to create an object with
inconsistent native state which results in a crash (or worse) when used (or perhaps only
finalized) later. If you need both Java inheritance and native resources, you should
consider moving the native state to a separate class, and only keep a reference to objects
of that class. This way, cloning and serialization issues can be avoided in most cases.
+ </div><div class="para">
+ If there are native resources associated with an object, the class should have an
explicit resource deallocation method (<a class="xref"
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Resources">Section 3.1.2,
“Resource management”</a>) and a finalizer (<a class="xref"
href="chap-Defensive_Coding-Java.html#sect-Defensive_Coding-Java-Language-Finalizers">Section 3.1.3,
“Finalizers”</a>) as a last resort. The need for finalization means that a minimum
amount of synchronization is needed. Code on the native side should check that the object
is not in a closed/freed state.
+ </div><div class="para">
+ Many JNI functions create local references. By default, these persist until the
JNI-implemented method returns. If you create many such references (e.g., in a loop), you
may have to free them using <code
class="function">DeleteLocalRef</code>, or start using <code
class="function">PushLocalFrame</code> and <code
class="function">PopLocalFrame</code>. Global references must be
deallocated with <code class="function">DeleteGlobalRef</code>,
otherwise there will be a memory leak, just as with <code
class="function">malloc</code> and <code
class="function">free</code>.
+ </div><div class="para">
+ When throwing exceptions using <code
class="function">Throw</code> or <code
class="function">ThrowNew</code>, be aware that these functions return
regularly. You have to return control manually to the JVM.
+ </div><div class="para">
+ Technically, the <code class="literal">JNIEnv</code> pointer is
not necessarily constant during the lifetime of your JNI module. Storing it in a global
variable is therefore incorrect. Particularly if you are dealing with callbacks, you may
have to store the pointer in a thread-local variable (defined with <code
class="literal">__thread</code>). It is, however, best to avoid the
complexity of calling back into Java code.
+ </div><div class="para">
+ Keep in mind that C/C++ and Java are different languages, despite very similar syntax
for expressions. The Java memory model is much more strict than the C or C++ memory
models, and native code needs more synchronization, usually using JVM facilities or POSIX
threads mutexes. Integer overflow in Java is defined, but in C/C++ it is not (for the
<code class="literal">jint</code> and <code
class="literal">jlong</code> types).
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-LowLevel.html"><strong>Prev</strong>3.2. Low-level
features of the virtual machine</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-MiscUnsafe.html"><strong>Next</strong>3.2.3. sun.misc.Unsafe</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-LowLevel.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-LowLevel.html
new file mode 100644
index 0000000..41ee17c
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-LowLevel.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.2. Low-level features of the virtual machine</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java
Programming Language" /><link rel="prev"
href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java
Programming Language" /><link rel="next"
href="sect-Defensive_Coding-Java-JNI.html" title="3.2.2. Java Native
Interface (JNI)" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Java.
html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-JNI.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-Java-LowLevel" lang="en-US"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">3.2. Low-level features of the virtual
machine</h2></div></div></div><div class="section"
id="sect-Defensive_Coding-Java-Reflection"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2.1. <code class="literal">Reflection and
private parts</code></h3></div></div></div><div
class="para">
+ The <code class="function">setAccessible(boolean)</code> method
of the <code
class="literal">java.lang.reflect.AccessibleObject</code> class allows
a program to disable language-defined access rules for specific constructors, methods, or
fields. Once the access checks are disabled, any code can use the <code
class="literal">java.lang.reflect.Constructor</code>, <code
class="literal">java.lang.reflect.Method</code>, or <code
class="literal">java.lang.reflect.Field</code> object to access the
underlying Java entity, without further permission checks. This breaks encapsulation and
can undermine the stability of the virtual machine. (In contrast, without using the
<code class="function">setAccessible(boolean)</code> method, this
should not happen because all the language-defined checks still apply.)
+ </div><div class="para">
+ This feature should be avoided if possible.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Java.html"><strong>Prev</strong>Chapter 3. The
Java Programming Language</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-JNI.html"><strong>Next</strong>3.2.2. Java
Native Interface (JNI)</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-MiscUnsafe.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-MiscUnsafe.html
new file mode 100644
index 0000000..3bc0c67
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-MiscUnsafe.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.2.3. sun.misc.Unsafe</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Java-LowLevel.html" title="3.2. Low-level
features of the virtual machine" /><link rel="prev"
href="sect-Defensive_Coding-Java-JNI.html" title="3.2.2. Java Native
Interface (JNI)" /><link rel="next"
href="sect-Defensive_Coding-Java-SecurityManager.html"
title="3.3. Interacting with the security manager" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" hr
ef="sect-Defensive_Coding-Java-JNI.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-Java-MiscUnsafe"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.2.3. <code
class="literal">sun.misc.Unsafe</code></h3></div></div></div><div
class="para">
+ The <code class="literal">sun.misc.Unsafe</code> class is
unportable and contains many functions explicitly designed to break Java memory safety
(for performance and debugging). If possible, avoid using this class.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-JNI.html"><strong>Prev</strong>3.2.2. Java
Native Interface (JNI)</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Next</strong>3.3. Interacting
with the security manager</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Activate.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Activate.html
new file mode 100644
index 0000000..d5934f8
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Activate.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.3.2. Activating the security manager</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Java-SecurityManager.html"
title="3.3. Interacting with the security manager" /><link
rel="prev" href="sect-Defensive_Coding-Java-SecurityManager.html"
title="3.3. Interacting with the security manager" /><link
rel="next"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"
title="3.3.3. Reducing trust in code" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li class="previo
us"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Activate"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.2. Activating the security
manager</h3></div></div></div><div class="para">
+ The usual command to launch a Java application, <code
class="command">java</code>, does not activate the security manager.
Therefore, the virtual machine does not enforce any sandboxing restrictions, even if
explicitly requested by the code (for example, as described in <a
class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html">Section 3.3.3,
“Reducing trust in code”</a>).
+ </div><div class="para">
+ The <code class="option">-Djava.security.manager</code> option
activates the security manager, with the fairly restrictive default policy. With a very
permissive policy, most Java code will run unchanged. Assuming the policy in <a
class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html#ex-Defensive_Coding-Java-SecurityManager-GrantAll">Example 3.5,
“Most permissve OpenJDK policy file”</a> has been saved in a file <code
class="filename">grant-all.policy</code>, this policy can be activated
using the option <code
class="option">-Djava.security.policy=grant-all.policy</code> (in
addition to the <code class="option">-Djava.security.manager</code>
option).
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-GrantAll"><h6>Example 3.5. Most
permissve OpenJDK policy file</h6><div
class="example-contents"><pre class="programlisting">
+grant {
+ permission java.security.AllPermission;
+};
+</pre></div></div><br class="example-break" /><div
class="para">
+ With this most permissive policy, the security manager is still active, and explicit
requests to drop privileges will be honored.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager.html"><strong>Prev</strong>3.3. Interacting
with the security manager</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Next</strong>3.3.3. Reducing
trust in code</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Privileged.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Privileged.html
new file mode 100644
index 0000000..d8e1886
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Privileged.html
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.3.4. Re-gaining privileges</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Java-SecurityManager.html"
title="3.3. Interacting with the security manager" /><link
rel="prev"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"
title="3.3.3. Reducing trust in code" /><link rel="next"
href="chap-Defensive_Coding-Python.html" title="Chapter 4. The Python
Programming Language" /></head><body class="toc_embeded
"><div id="tocdiv" class="toc"><iframe
id="tocframe" class="toc" src="../../../../toc.html">This
is an iframe, to view it upgrade your browser or enable iframe
display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a access
key="p"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Python.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Privileged"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.4. Re-gaining
privileges</h3></div></div></div><div
class="para">
+ Ordinarily, when trusted code is called from untrusted code, it loses its privileges
(because of the untrusted stack frames visible to stack inspection). The <code
class="function">java.security.AccessController.doPrivileged()</code>
family of methods provides a controlled backdoor from untrusted to trusted code.
+ </div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ By design, this feature can undermine the Java security model and the sandbox. It has
to be used very carefully. Most sandbox vulnerabilities can be traced back to its misuse.
+ </div></div></div><div class="para">
+ In essence, the <code class="function">doPrivileged()</code>
methods cause the stack inspection to end at their call site. Untrusted code further down
the call stack becomes invisible to security checks.
+ </div><div class="para">
+ The following operations are common and safe to perform with elevated privileges.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Reading custom system properties with fixed names, especially if the value is not
propagated to untrusted code. (File system paths including installation paths, host names
and user names are sometimes considered private information and need to be protected.)
+ </div></li><li class="listitem"><div
class="para">
+ Reading from the file system at fixed paths, either determined at compile time or by
a system property. Again, leaking the file contents to the caller can be problematic.
+ </div></li><li class="listitem"><div
class="para">
+ Accessing network resources under a fixed address, name or URL, derived from a
system property or configuration file, information leaks not withstanding.
+ </div></li></ul></div><div class="para">
+ <a class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html#ex-Defensive_Coding-Java-SecurityManager-Privileged">Example 3.7,
“Using the security manager to run code with increased privileges”</a> shows how to
request additional privileges.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-Privileged"><h6>Example 3.7. Using
the security manager to run code with increased privileges</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// This is expected to
fail.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">try</span> {
+ System.<span class="perl_Function">out</span>.<span
class="perl_Function">println</span>(System.<span
class="perl_Function">getProperty</span>(<span
class="perl_String">"user.home"</span>));
+} <span class="perl_Keyword">catch</span> (SecurityException e) {
+ e.<span
class="perl_Function">printStackTrace</span>(System.<span
class="perl_Function">err</span>);
+}
+AccessController.<span
class="perl_Function">doPrivileged</span>(<span
class="perl_Keyword">new</span> PrivilegedAction<<span
class="perl_DataType">Void</span>>() {
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">Void</span> <span
class="perl_Function">run</span>() {
+ <span class="perl_Comment">// This should
work.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> System.<span
class="perl_Function">out</span>.<span
class="perl_Function">println</span>(System.<span
class="perl_Function">getProperty</span>(<span
class="perl_String">"user.home"</span>));
+ <span class="perl_Keyword">return</span> <span
class="perl_Keyword">null</span>;
+ }
+ });
+</pre></div></div><br class="example-break" /><div
class="para">
+ Obviously, this only works if the class containing the call to <code
class="function">doPrivileged()</code> is marked trusted (usually
because it is loaded from a trusted class loader).
+ </div><div class="para">
+ When writing code that runs with elevated privileges, make sure that you follow the
rules below.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Make the privileged code as small as possible. Perform as many computations as
possible before and after the privileged code section, even if it means that you have to
define a new class to pass the data around.
+ </div></li><li class="listitem"><div
class="para">
+ Make sure that you either control the inputs to the privileged code, or that the
inputs are harmless and cannot affect security properties of the privileged code.
+ </div></li><li class="listitem"><div
class="para">
+ Data that is returned from or written by the privileged code must either be
restricted (that is, it cannot be accessed by untrusted code), or must be harmless.
Otherwise, privacy leaks or information disclosures which affect security properties can
be the result.
+ </div></li></ul></div><div class="para">
+ If the code calls back into untrusted code at a later stage (or performs other actions
under control from the untrusted caller), you must obtain the original security context
and restore it before performing the callback, as in <a class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html#ex-Defensive_Coding-Java-SecurityManager-Callback">Example 3.8,
“Restoring privileges when invoking callbacks”</a>. (In this example, it would be
much better to move the callback invocation out of the privileged code section, of
course.)
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-Callback"><h6>Example 3.8. Restoring
privileges when invoking callbacks</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">interface</span>
Callback<T> {
+ T <span class="perl_Function">call</span>(<span
class="perl_DataType">boolean</span> flag);
+}
+
+<span class="perl_Keyword">class</span>
CallbackInvoker<T> {
+ <span class="perl_Keyword">private</span> <span
class="perl_DataType">final</span> AccessControlContext context;
+ Callback<T> callback;
+
+ <span
class="perl_Function">CallbackInvoker</span>(Callback<T>
callback) {
+ context = AccessController.<span
class="perl_Function">getContext</span>();
+ <span class="perl_Keyword">this</span>.<span
class="perl_Function">callback</span> = callback;
+ }
+
+ <span class="perl_Keyword">public</span> T <span
class="perl_Function">invoke</span>() {
+ <span class="perl_Comment">// Obtain increased
privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">return</span> AccessController.<span
class="perl_Function">doPrivileged</span>(<span
class="perl_Keyword">new</span> PrivilegedAction<T>() {
+ @Override
+ <span class="perl_Keyword">public</span> T <span
class="perl_Function">run</span>() {
+ <span class="perl_Comment">// This operation would fail
without</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Comment">// additional privileges.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">final</span> <span
class="perl_DataType">boolean</span> flag = <span
class="perl_DataType">Boolean</span>.<span
class="perl_Function">getBoolean</span>(<span
class="perl_String">"some.property"</span>);
+
+ <span class="perl_Comment">// Restore the original
privileges.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">return</span> AccessController.<span
class="perl_Function">doPrivileged</span>(
+ <span class="perl_Keyword">new</span>
PrivilegedAction<T>() {
+ @Override
+ <span class="perl_Keyword">public</span> T <span
class="perl_Function">run</span>() {
+ <span class="perl_Keyword">return</span> callback.<span
class="perl_Function">call</span>(flag);
+ }
+ }, context);
+ }
+ });
+ }
+}
+</pre></div></div><br class="example-break"
/></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html"><strong>Prev</strong>3.3.3. Reducing
trust in code</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Python.html"><strong>Next</strong>Chapter 4. The
Python Programming Language</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html
new file mode 100644
index 0000000..566cc02
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.3.3. Reducing trust in code</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Java-SecurityManager.html"
title="3.3. Interacting with the security manager" /><link
rel="prev"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"
title="3.3.2. Activating the security manager" /><link
rel="next"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"
title="3.3.4. Re-gaining privileges" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li class="prev
ious"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Unprivileged"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.3. Reducing trust in
code</h3></div></div></div><div class="para">
+ <a class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6,
“Using the security manager to run code with reduced privileges”</a> shows how to
run a piece code of with reduced privileges.
+ </div><div class="example"
id="ex-Defensive_Coding-Java-SecurityManager-Unprivileged"><h6>Example 3.6. Using
the security manager to run code with reduced privileges</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+Permissions permissions = <span class="perl_Keyword">new</span>
Permissions();
+ ProtectionDomain protectionDomain =
+ <span class="perl_Keyword">new</span> ProtectionDomain(<span
class="perl_Keyword">null</span>, permissions);
+ AccessControlContext context = <span
class="perl_Keyword">new</span> AccessControlContext(
+ <span class="perl_Keyword">new</span>
ProtectionDomain[] { protectionDomain });
+
+<span class="perl_Comment">// This is expected to
succeed.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">try</span> (FileInputStream in = <span
class="perl_Keyword">new</span> FileInputStream(path)) {
+ System.<span class="perl_Function">out.format(</span><span
class="perl_String">"FileInputStream: </span><span
class="perl_Char">%s%n</span><span
class="perl_String">", in)</span>;
+}
+
+AccessController.<span
class="perl_Function">doPrivileged</span>(<span
class="perl_Keyword">new</span>
PrivilegedExceptionAction<<span
class="perl_DataType">Void</span>>() {
+ @Override
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">Void</span> <span
class="perl_Function">run</span>() <span
class="perl_Keyword">throws</span> Exception {
+ <span class="perl_Comment">// This code runs with reduced privileges
and is</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Comment">// expected to fail.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">try</span> (FileInputStream in = <span
class="perl_Keyword">new</span> FileInputStream(path)) {
+ System.<span class="perl_Function">out.format(</span><span
class="perl_String">"FileInputStream: </span><span
class="perl_Char">%s%n</span><span
class="perl_String">", in)</span>;
+ }
+ <span class="perl_Keyword">return</span> <span
class="perl_Keyword">null</span>;
+ }
+ }, context);
+</pre></div></div><br class="example-break" /><div
class="para">
+ The example above does not add any additional permissions to the <code
class="literal">permissions</code> object. If such permissions are
necessary, code like the following (which grants read permission on all files in the
current directory) can be used:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+permissions.<span class="perl_Function">add</span>(<span
class="perl_Keyword">new</span> FilePermission(
+ System.<span
class="perl_Function">getProperty</span>(<span
class="perl_String">"user.dir"</span>) + <span
class="perl_String">"/-"</span>, <span
class="perl_String">"read"</span>));
+</pre></div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ Calls to the <code
class="function">java.security.AccessController.doPrivileged()</code>
methods do not enforce any additional restriction if no security manager has been set.
Except for a few special exceptions, the restrictions no longer apply if the <code
class="function">doPrivileged()</code> has returned, even to objects
created by the code which ran with reduced privileges. (This applies to object
finalization in particular.)
+ </div><div class="para">
+ The example code above does not prevent the called code from calling the <code
class="function">java.security.AccessController.doPrivileged()</code>
methods. This mechanism should be considered an additional safety net, but it still can be
used to prevent unexpected behavior of trusted code. As long as the executed code is not
dynamic and came with the original application or library, the sandbox is fairly
effective.
+ </div><div class="para">
+ The <code class="literal">context</code> argument in <a
class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Unprivileged.html#ex-Defensive_Coding-Java-SecurityManager-Unprivileged">Example 3.6,
“Using the security manager to run code with reduced privileges”</a> is extremely
important—otherwise, this code would increase privileges instead of reducing them.
+ </div></div></div><div class="para">
+ For activating the security manager, see <a class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html">Section 3.3.2,
“Activating the security manager”</a>. Unfortunately, this affects the virtual
machine as a whole, so it is not possible to do this from a library.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Prev</strong>3.3.2. Activating
the security manager</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html"><strong>Next</strong>3.3.4. Re-gaining
privileges</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager.html
new file mode 100644
index 0000000..47ff56b
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Java-SecurityManager.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>3.3. Interacting with the security manager</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Java.html" title="Chapter 3. The Java
Programming Language" /><link rel="prev"
href="sect-Defensive_Coding-Java-MiscUnsafe.html"
title="3.2.3. sun.misc.Unsafe" /><link rel="next"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"
title="3.3.2. Activating the security manager" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Defen
sive_Coding-Java-MiscUnsafe.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="section"
id="sect-Defensive_Coding-Java-SecurityManager"
lang="en-US"><div class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">3.3. Interacting with the security
manager</h2></div></div></div><div class="para">
+ The Java platform is largely implemented in the Java language itself. Therefore, within
the same JVM, code runs which is part of the Java installation and which is trusted, but
there might also be code which comes from untrusted sources and is restricted by the Java
sandbox (to varying degrees). The <span
class="emphasis"><em>security manager</em></span> draws a
line between fully trusted, partially trusted and untrusted code.
+ </div><div class="para">
+ The type safety and accessibility checks provided by the Java language and JVM would be
sufficient to implement a sandbox. However, only some Java APIs employ such a
capabilities-based approach. (The Java SE library contains many public classes with public
constructors which can break any security policy, such as <code
class="literal">java.io.FileOutputStream</code>.) Instead, critical
functionality is protected by <span class="emphasis"><em>stack
inspection</em></span>: At a security check, the stack is walked from top
(most-nested) to bottom. The security check fails if a stack frame for a method is
encountered whose class lacks the permission which the security check requires.
+ </div><div class="para">
+ This simple approach would not allow untrusted code (which lacks certain permissions)
to call into trusted code while the latter retains trust. Such trust transitions are
desirable because they enable Java as an implementation language for most parts of the
Java platform, including security-relevant code. Therefore, there is a mechanism to mark
certain stack frames as trusted (<a class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">Section 3.3.4,
“Re-gaining privileges”</a>).
+ </div><div class="para">
+ In theory, it is possible to run a Java virtual machine with a security manager that
acts very differently from this approach, but a lot of code expects behavior very close to
the platform default (including many classes which are part of the OpenJDK
implementation).
+ </div><div class="section"
id="sect-Defensive_Coding-Java-SecurityManager-Compatible"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">3.3.1. Security manager
compatibility</h3></div></div></div><div
class="para">
+ A lot of code can run without any additional permissions at all, with little changes.
The following guidelines should help to increase compatibility with a restrictive security
manager.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ When retrieving system properties using <code
class="function">System.getProperty(String)</code> or similar methods,
catch <code class="literal">SecurityException</code> exceptions and
treat the property as unset.
+ </div></li><li class="listitem"><div
class="para">
+ Avoid unnecessary file system or network access.
+ </div></li><li class="listitem"><div
class="para">
+ Avoid explicit class loading. Access to a suitable class loader might not be
available when executing as untrusted code.
+ </div></li></ul></div><div class="para">
+ If the functionality you are implementing absolutely requires privileged access and
this functionality has to be used from untrusted code (hopefully in a restricted and
secure manner), see <a class="xref"
href="sect-Defensive_Coding-Java-SecurityManager-Privileged.html">Section 3.3.4,
“Re-gaining privileges”</a>.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Java-MiscUnsafe.html"><strong>Prev</strong>3.2.3. sun.misc.Unsafe</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Java-SecurityManager-Activate.html"><strong>Next</strong>3.3.2. Activating
the security manager</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html
new file mode 100644
index 0000000..00cf506
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-GNUTLS.html
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>13.2.2. Implementation TLS Clients With GNUTLS</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients"
/><link rel="prev" href="sect-Defensive_Coding-TLS-Client.html"
title="13.2. TLS Clients" /><link rel="next"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"
title="13.2.3. Implementing TLS Clients With OpenJDK" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client.html"><st
rong>Prev</strong></a></li><li class="next"><a
accesskey="n"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-TLS-Client-GNUTLS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.2. Implementation TLS Clients With
GNUTLS</h3></div></div></div><div class="para">
+ This section describes how to implement a TLS client with full certificate validation
(but without certificate revocation checking). Note that the error handling in is only
exploratory and needs to be replaced before production use.
+ </div><div class="para">
+ The GNUTLS library needs explicit initialization:
+ </div><div class="informalexample"
id="ex-Defensive_Coding-TLS-GNUTLS-Init"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+gnutls_global_init();
+</pre></div><div class="para">
+ Failing to do so can result in obscure failures in Base64 decoding. See <a
class="xref"
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-Pitfalls-GNUTLS">Section 13.1.2,
“GNUTLS Pitfalls”</a> for additional aspects of initialization.
+ </div><div class="para">
+ Before setting up TLS connections, a credentials objects has to be allocated and
initialized with the set of trusted root CAs (<a class="xref"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials">Example 13.9,
“Initializing a GNUTLS credentials structure”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Credentials"><h6>Example 13.9. Initializing
a GNUTLS credentials structure</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Load the trusted CA
certificates.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_certificate_credentials_t
cred = NULL;
+<span class="perl_DataType">int</span> ret =
gnutls_certificate_allocate_credentials (&cred);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_certificate_allocate_credentials: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// gnutls_certificate_set_x509_system_trust
needs GNUTLS version 3.0</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// or newer, so we hard-code the path to the certificate
store</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// instead.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">static</span> <span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> ca_bundle[] = <span
class="perl_String">"/etc/ssl/certs/ca-bundle.crt"</span>;
+ret = gnutls_certificate_set_x509_trust_file
+ (cred, ca_bundle, GNUTLS_X509_FMT_PEM);
+<span class="perl_Keyword">if</span> (ret == 0) {
+ fprintf(stderr, <span class="perl_String">"error: no certificates
found in: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, ca_bundle);
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_certificate_set_x509_trust_files(%s): %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ ca_bundle, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the last TLS connection has been closed, this credentials object should be
freed:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+gnutls_certificate_free_credentials(cred);
+</pre></div><div class="para">
+ During its lifetime, the credentials object can be used to initialize TLS session
objects from multiple threads, provided that it is not changed.
+ </div><div class="para">
+ Once the TCP connection has been established, the Nagle algorithm should be disabled
(see <a class="xref"
href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-Nagle">Example 13.1,
“Deactivating the TCP Nagle algorithm”</a>). After that, the socket can be
associated with a new GNUTLS session object. The previously allocated credentials object
provides the set of root CAs. The <code
class="literal">NORMAL</code> set of cipher suites and protocols
provides a reasonable default. Then the TLS handshake must be initiated. This is shown in
<a class="xref"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Connect">Example 13.10,
“Establishing a TLS client connection using GNUTLS”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Connect"><h6>Example 13.10. Establishing
a TLS client connection using GNUTLS</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the session
object.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_session_t session;
+ret = gnutls_init(&session, GNUTLS_CLIENT);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error: gnutls_init:
%s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Configure the cipher
preferences.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *errptr = NULL;
+ret = gnutls_priority_set_direct(session, <span
class="perl_String">"NORMAL"</span>, &errptr);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_priority_set_direct: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>
+ <span class="perl_String">"error: at: </span><span
class="perl_Char">\"</span><span
class="perl_String">%s</span><span
class="perl_Char">\"\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret), errptr);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Install the trusted
certificates.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret =
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cred);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_credentials_set: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Associate the socket with the session
object and set the server</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// name.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_transport_set_ptr(session,
(gnutls_transport_ptr_t)(uintptr_t)sockfd);
+ret = gnutls_server_name_set(session, GNUTLS_NAME_DNS,
+ host, strlen(host));
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_server_name_set: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Establish the session.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = gnutls_handshake(session);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_handshake: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the handshake has been completed, the server certificate needs to be verified
(<a class="xref"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Verify">Example 13.11,
“Verifying a server certificate using GNUTLS”</a>). In the example, the user-defined
<code class="function">certificate_validity_override</code> function
is called if the verification fails, so that a separate, user-specific trust store can be
checked. This function call can be omitted if the functionality is not needed.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Verify"><h6>Example 13.11. Verifying
a server certificate using GNUTLS</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Obtain the server certificate chain. The
server certificate</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// itself is stored in the first element of the
array.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">unsigned</span> certslen = 0;
+<span class="perl_DataType">const</span> gnutls_datum_t *<span
class="perl_DataType">const</span> certs =
+ gnutls_certificate_get_peers(session, &certslen);
+<span class="perl_Keyword">if</span> (certs == NULL || certslen ==
0) {
+ fprintf(stderr, <span class="perl_String">"error: could not obtain
peer certificate</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Validate the certificate
chain.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">unsigned</span> status = (<span
class="perl_DataType">unsigned</span>)<span
class="perl_DecVal">-1</span>;
+ret = gnutls_certificate_verify_peers2(session, &status);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_certificate_verify_peers2: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (status != 0
&& !certificate_validity_override(certs[0])) {
+ gnutls_datum_t msg;
+<span class="perl_Others">#if
GNUTLS_VERSION_AT_LEAST_3_1_4</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span> <span
class="perl_DataType">int</span> type = gnutls_certificate_type_get
(session);
+ ret = gnutls_certificate_verification_status_print(status, type, &out, 0);
+<span class="perl_Others">#else</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span> ret = <span
class="perl_DecVal">-1</span>;
+<span class="perl_Others">#endif</span><span
class="perl_Others"></span>
+<span class="perl_Others"></span> <span
class="perl_Keyword">if</span> (ret == 0) {
+ fprintf(stderr, <span class="perl_String">"error:
%s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, msg.data);
+ gnutls_free(msg.data);
+ exit(<span class="perl_Float">1</span>);
+ } <span class="perl_Keyword">else</span> {
+ fprintf(stderr, <span class="perl_String">"error: certificate
validation failed with code 0x%x</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ status);
+ exit(<span class="perl_Float">1</span>);
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ In the next step (<a class="xref"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-Client-GNUTLS-Match">Example 13.12,
“Matching the server host name and certificate in a GNUTLS client”</a>, the
certificate must be matched against the host name (note the unusual return value from
<code class="function">gnutls_x509_crt_check_hostname</code>).
Again, an override function <code
class="function">certificate_host_name_override</code> is called. Note
that the override must be keyed to the certificate <span
class="emphasis"><em>and</em></span> the host name. The
function call can be omitted if the override is not needed.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-GNUTLS-Match"><h6>Example 13.12. Matching
the server host name and certificate in a GNUTLS client</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Match the peer certificate against the host
name.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// We can only obtain a set of DER-encoded certificates
from the</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// session object, so we have to re-parse the peer
certificate into</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// a certificate object.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_x509_crt_t cert;
+ret = gnutls_x509_crt_init(&cert);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_x509_crt_init: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// The peer certificate is the first
certificate in the list.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret =
gnutls_x509_crt_import(cert, certs, GNUTLS_X509_FMT_DER);
+<span class="perl_Keyword">if</span> (ret != GNUTLS_E_SUCCESS) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_x509_crt_import: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+ret = gnutls_x509_crt_check_hostname(cert, host);
+<span class="perl_Keyword">if</span> (ret == 0 &&
!certificate_host_name_override(certs[0], host)) {
+ fprintf(stderr, <span class="perl_String">"error: host name does
not match certificate</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+gnutls_x509_crt_deinit(cert);
+</pre></div></div><br class="example-break" /><div
class="para">
+ In newer GNUTLS versions, certificate checking and host name validation can be
combined using the <code
class="function">gnutls_certificate_verify_peers3</code> function.
+ </div><div class="para">
+ An established TLS session can be used for sending and receiving data, as in <a
class="xref"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-GNUTLS-Use">Example 13.13,
“Using a GNUTLS session”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-GNUTLS-Use"><h6>Example 13.13. Using a
GNUTLS session</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[4096];
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n</span><span
class="perl_String">Host: %s</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>, host);
+ret = gnutls_record_send(session, buf, strlen(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_record_send: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+ret = gnutls_record_recv(session, buf, <span
class="perl_Keyword">sizeof</span>(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error:
gnutls_record_recv: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ In order to shut down a connection in an orderly manner, you should call the <code
class="function">gnutls_bye</code> function. Finally, the session
object can be deallocated using <code
class="function">gnutls_deinit</code> (see <a class="xref"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html#ex-Defensive_Coding-TLS-GNUTLS-Disconnect">Example 13.14,
“Using a GNUTLS session”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-GNUTLS-Disconnect"><h6>Example 13.14. Using
a GNUTLS session</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Initiate an orderly connection
shutdown.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = gnutls_bye(session,
GNUTLS_SHUT_RDWR);
+<span class="perl_Keyword">if</span> (ret < 0) {
+ fprintf(stderr, <span class="perl_String">"error: gnutls_bye:
%s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, gnutls_strerror(ret));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// Free the session
object.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>gnutls_deinit(session);
+</pre></div></div><br class="example-break"
/></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client.html"><strong>Prev</strong>13.2. TLS
Clients</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Next</strong>13.2.3. Implementing
TLS Clients With OpenJDK</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html
new file mode 100644
index 0000000..72996f6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>13.2.4. Implementing TLS Clients With NSS</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients"
/><link rel="prev"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"
title="13.2.3. Implementing TLS Clients With OpenJDK" /><link
rel="next" href="sect-Defensive_Coding-TLS-Client-Python.html"
title="13.2.5. Implementing TLS Clients With Python" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Def
ensive_Coding-TLS-Client-OpenJDK.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-TLS-Client-NSS"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.4. Implementing TLS Clients With
NSS</h3></div></div></div><div class="para">
+ The following code shows how to implement a simple TLS client using NSS. These
instructions apply to NSS version 3.14 and later. Versions before 3.14 need different
initialization code.
+ </div><div class="para">
+ Keep in mind that the error handling needs to be improved before the code can be used
in production.
+ </div><div class="para">
+ Using NSS needs several header files, as shown in <a class="xref"
href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Includes">Example 13.21,
“Include files for NSS”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-NSS-Includes"><h6>Example 13.21. Include
files for NSS</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// NSPR include files</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Others">#include <prerror.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <prinit.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Comment">// NSS include files</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Others">#include <nss.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <pk11pub.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <secmod.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <ssl.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span><span
class="perl_Others">#include <sslproto.h></span><span
class="perl_Others"></span>
+<span class="perl_Others"></span>
+<span class="perl_Comment">// Private API, no other way to turn a POSIX
file descriptor into an</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// NSPR handle.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>NSPR_API(PRFileDesc*)
PR_ImportTCPSocket(<span class="perl_DataType">int</span>);
+</pre></div></div><br class="example-break" /><div
class="para">
+ Initializing the NSS library is shown in <a class="xref"
href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Init">Example 13.22,
“Initializing the NSS library”</a>. This initialization procedure overrides global
state. We only call <code
class="function">NSS_SetDomesticPolicy</code> if there are no strong
ciphers available, assuming that it has already been called otherwise. This avoids
overriding the process-wide cipher suite policy unnecessarily.
+ </div><div class="para">
+ The simplest way to configured the trusted root certificates involves loading the
<code class="filename">libnssckbi.so</code> NSS module with a call
to the <code class="function">SECMOD_LoadUserModule</code> function.
The root certificates are compiled into this module. (The PEM module for NSS, <code
class="filename">libnsspem.so</code>, offers a way to load trusted CA
certificates from a file.)
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-NSS-Init"><h6>Example 13.22. Initializing
the NSS library</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 0);
+NSSInitContext *<span class="perl_DataType">const</span> ctx =
+ NSS_InitContext(<span
class="perl_String">"sql:/etc/pki/nssdb"</span>, <span
class="perl_String">""</span>, <span
class="perl_String">""</span>, <span
class="perl_String">""</span>, NULL,
+ NSS_INIT_READONLY | NSS_INIT_PK11RELOAD);
+<span class="perl_Keyword">if</span> (ctx == NULL) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: NSPR error code
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Ciphers to enable.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">static</span> <span
class="perl_DataType">const</span> PRUint16 good_ciphers[] = {
+ TLS_RSA_WITH_AES_128_CBC_SHA,
+ TLS_RSA_WITH_AES_256_CBC_SHA,
+ SSL_RSA_WITH_3DES_EDE_CBC_SHA,
+ SSL_NULL_WITH_NULL_NULL <span class="perl_Comment">//
sentinel</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>};
+
+<span class="perl_Comment">// Check if the current policy allows any
strong ciphers. If it</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// doesn't, set the cipher suite policy. This is
not thread-safe</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// and has global impact. Consequently, we only do it
if absolutely</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// necessary.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">int</span> found_good_cipher = 0;
+<span class="perl_Keyword">for</span> (<span
class="perl_DataType">const</span> PRUint16 *p = good_ciphers; *p !=
SSL_NULL_WITH_NULL_NULL;
+ ++p) {
+ PRInt32 policy;
+ <span class="perl_Keyword">if</span> (SSL_CipherPolicyGet(*p,
&policy) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: policy for
cipher %u: error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ (<span class="perl_DataType">unsigned</span>)*p, err,
PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Keyword">if</span> (policy == SSL_ALLOWED) {
+ fprintf(stderr, <span class="perl_String">"info: found cipher
%x</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>, (<span
class="perl_DataType">unsigned</span>)*p);
+ found_good_cipher = <span class="perl_Float">1</span>;
+ <span class="perl_Keyword">break</span>;
+ }
+}
+<span class="perl_Keyword">if</span> (!found_good_cipher) {
+ <span class="perl_Keyword">if</span> (NSS_SetDomesticPolicy() !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
NSS_SetDomesticPolicy: error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+}
+
+<span class="perl_Comment">// Initialize the trusted certificate
store.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">char</span> module_name[] = <span
class="perl_String">"library=libnssckbi.so name=</span><span
class="perl_Char">\"</span><span
class="perl_String">Root Certs</span><span
class="perl_Char">\"</span><span
class="perl_String">"</span>;
+SECMODModule *module = SECMOD_LoadUserModule(module_name, NULL, PR_FALSE);
+<span class="perl_Keyword">if</span> (module == NULL ||
!module->loaded) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: NSPR error code
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Some of the effects of the initialization can be reverted with the following function
calls:
+ </div><div class="informalexample"
id="ex-Defensive_Coding-TLS-NSS-Close"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SECMOD_DestroyModule(module);
+NSS_ShutdownContext(ctx);
+</pre></div><div class="para">
+ After NSS has been initialized, the TLS connection can be created (<a
class="xref"
href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-Client-NSS-Connect">Example 13.23,
“Creating a TLS connection with NSS”</a>). The internal <code
class="function">PR_ImportTCPSocket</code> function is used to turn the
POSIX file descriptor <code class="literal">sockfd</code> into an
NSPR file descriptor. (This function is de-facto part of the NSS public ABI, so it will
not go away.) Creating the TLS-capable file descriptor requires a <span
class="emphasis"><em>model</em></span> descriptor, which is
configured with the desired set of protocols. The model descriptor is not needed anymore
after TLS support has been activated for the existing connection descriptor.
+ </div><div class="para">
+ The call to <code class="function">SSL_BadCertHook</code> can
be omitted if no mechanism to override certificate verification is needed. The <code
class="literal">bad_certificate</code> function must check both the
host name specified for the connection and the certificate before granting the override.
+ </div><div class="para">
+ Triggering the actual handshake requires three function calls, <code
class="function">SSL_ResetHandshake</code>, <code
class="function">SSL_SetURL</code>, and <code
class="function">SSL_ForceHandshake</code>. (If <code
class="function">SSL_ResetHandshake</code> is omitted, <code
class="function">SSL_ForceHandshake</code> will succeed, but the data
will not be encrypted.) During the handshake, the certificate is verified and matched
against the host name.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-NSS-Connect"><h6>Example 13.23. Creating
a TLS connection with NSS</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Wrap the POSIX file descriptor. This is an
internal NSPR</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// function, but it is very unlikely to
change.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>PRFileDesc* nspr =
PR_ImportTCPSocket(sockfd);
+sockfd = <span class="perl_DecVal">-1</span>; <span
class="perl_Comment">// Has been taken over by NSPR.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>
+<span class="perl_Comment">// Add the SSL layer.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>{
+ PRFileDesc *model = PR_NewTCPSocket();
+ PRFileDesc *newfd = SSL_ImportFD(NULL, model);
+ <span class="perl_Keyword">if</span> (newfd == NULL) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: NSPR error
code %d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ model = newfd;
+ newfd = NULL;
+ <span class="perl_Keyword">if</span> (SSL_OptionSet(model,
SSL_ENABLE_SSL2, PR_FALSE) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: set
SSL_ENABLE_SSL2 error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Keyword">if</span> (SSL_OptionSet(model,
SSL_V2_COMPATIBLE_HELLO, PR_FALSE) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: set
SSL_V2_COMPATIBLE_HELLO error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Keyword">if</span> (SSL_OptionSet(model,
SSL_ENABLE_DEFLATE, PR_FALSE) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: set
SSL_ENABLE_DEFLATE error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+
+ <span class="perl_Comment">// Allow overriding invalid
certificate.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">if</span> (SSL_BadCertHook(model, bad_certificate,
(<span class="perl_DataType">char</span> *)host) != SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
SSL_BadCertHook error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+
+ newfd = SSL_ImportFD(model, nspr);
+ <span class="perl_Keyword">if</span> (newfd == NULL) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: SSL_ImportFD
error %d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+ }
+ nspr = newfd;
+ PR_Close(model);
+}
+
+<span class="perl_Comment">// Perform the handshake.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (SSL_ResetHandshake(nspr, PR_FALSE) !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
SSL_ResetHandshake error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (SSL_SetURL(nspr, host) !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: SSL_SetURL error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Keyword">if</span> (SSL_ForceHandshake(nspr) !=
SECSuccess) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error:
SSL_ForceHandshake error %d: %s</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the connection has been established, <a class="xref"
href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Use">Example 13.24,
“Using NSS for sending and receiving data”</a> shows how to use the NSPR descriptor
to communicate with the server.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-NSS-Use"><h6>Example 13.24. Using NSS for
sending and receiving data</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_DataType">char</span> buf[4096];
+snprintf(buf, <span class="perl_Keyword">sizeof</span>(buf),
<span class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n</span><span
class="perl_String">Host: %s</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>, host);
+PRInt32 ret = PR_Write(nspr, buf, strlen(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: PR_Write error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+ret = PR_Read(nspr, buf, <span
class="perl_Keyword">sizeof</span>(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: PR_Read error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ <a class="xref"
href="sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-Client-NSS-Close">Example 13.25,
“Closing NSS client connections”</a> shows how to close the connection.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-NSS-Close"><h6>Example 13.25. Closing
NSS client connections</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Send close_notify
alert.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (PR_Shutdown(nspr, PR_SHUTDOWN_BOTH) !=
PR_SUCCESS) {
+ <span class="perl_DataType">const</span> PRErrorCode err =
PR_GetError();
+ fprintf(stderr, <span class="perl_String">"error: PR_Read error
%d: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ err, PR_ErrorToName(err));
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// Closes the underlying POSIX file
descriptor, too.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>PR_Close(nspr);
+</pre></div></div><br class="example-break"
/></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html"><strong>Prev</strong>13.2.3. Implementing
TLS Clients With OpenJDK</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-Python.html"><strong>Next</strong>13.2.5. Implementing
TLS Clients With Python</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html
new file mode 100644
index 0000000..a7ce20a
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-OpenJDK.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>13.2.3. Implementing TLS Clients With OpenJDK</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients"
/><link rel="prev"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"
title="13.2.2. Implementation TLS Clients With GNUTLS" /><link
rel="next" href="sect-Defensive_Coding-TLS-Client-NSS.html"
title="13.2.4. Implementing TLS Clients With NSS" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Defensive
_Coding-TLS-Client-GNUTLS.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-TLS-Client-OpenJDK"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.3. Implementing TLS Clients With
OpenJDK</h3></div></div></div><div class="para">
+ The examples below use the following cryptographic-related classes:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Keyword">import</span>
java.security.NoSuchAlgorithmException;
+<span class="perl_Keyword">import</span>
java.security.NoSuchProviderException;
+<span class="perl_Keyword">import</span>
java.security.cert.CertificateEncodingException;
+<span class="perl_Keyword">import</span>
java.security.cert.CertificateException;
+<span class="perl_Keyword">import</span>
java.security.cert.X509Certificate;
+<span class="perl_Keyword">import</span> javax.net.ssl.SSLContext;
+<span class="perl_Keyword">import</span>
javax.net.ssl.SSLParameters;
+<span class="perl_Keyword">import</span> javax.net.ssl.SSLSocket;
+<span class="perl_Keyword">import</span>
javax.net.ssl.TrustManager;
+<span class="perl_Keyword">import</span>
javax.net.ssl.X509TrustManager;
+
+<span class="perl_Keyword">import
sun.security.util.HostnameChecker;</span>
+</pre></div><div class="para">
+ If compatibility with OpenJDK 6 is required, it is necessary to use the internal
class <code
class="literal">sun.security.util.HostnameChecker</code>. (The public
OpenJDK API does not provide any support for dissecting the subject distinguished name of
an X.509 certificate, so a custom-written DER parser is needed—or we have to use an
internal class, which we do below.) In OpenJDK 7, the <code
class="function">setEndpointIdentificationAlgorithm</code> method was
added to the <code
class="literal">javax.net.ssl.SSLParameters</code> class, providing an
official way to implement host name checking.
+ </div><div class="para">
+ TLS connections are established using an <code
class="literal">SSLContext</code> instance. With a properly configured
OpenJDK installation, the <code class="literal">SunJSSE</code>
provider uses the system-wide set of trusted root certificate authorities, so no further
configuration is necessary. For backwards compatibility with OpenJDK 6, the <code
class="literal">TLSv1</code> provider has to be supported as a
fall-back option. This is shown in <a class="xref"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Context">Example 13.15,
“Setting up an <code class="literal">SSLContext</code> for OpenJDK
TLS clients”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenJDK-Context"><h6>Example 13.15. Setting
up an <code class="literal">SSLContext</code> for OpenJDK TLS
clients</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the context. Specify the SunJSSE
provider to avoid</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// picking up third-party providers. Try the TLS 1.2
provider</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// first, then fall back to TLS
1.0.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSLContext ctx;
+<span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1.2"</span>, <span
class="perl_String">"SunJSSE"</span>);
+} <span class="perl_Keyword">catch</span> (NoSuchAlgorithmException
e) {
+ <span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1"</span>, <span
class="perl_String">"SunJSSE"</span>);
+ } <span class="perl_Keyword">catch</span>
(NoSuchAlgorithmException e1) {
+ <span class="perl_Comment">// The TLS 1.0 provider should always
be available.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ } <span class="perl_Keyword">catch</span>
(NoSuchProviderException e1) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ }
+} <span class="perl_Keyword">catch</span> (NoSuchProviderException
e) {
+ <span class="perl_Comment">// The SunJSSE provider should always be
available.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e);
+}
+ctx.<span class="perl_Function">init</span>(<span
class="perl_Keyword">null</span>, <span
class="perl_Keyword">null</span>, <span
class="perl_Keyword">null</span>);
+</pre></div></div><br class="example-break" /><div
class="para">
+ In addition to the context, a TLS parameter object will be needed which adjusts the
cipher suites and protocols (<a class="xref"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-OpenJDK-Parameters">Example 13.16,
“Setting up <code class="literal">SSLParameters</code> for TLS use
with OpenJDK”</a>). Like the context, these parameters can be reused for multiple
TLS connections.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenJDK-Parameters"><h6>Example 13.16. Setting
up <code class="literal">SSLParameters</code> for TLS use with
OpenJDK</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Prepare TLS parameters. These have to
applied to every TLS</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// socket before the handshake is
triggered.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSLParameters params =
ctx.<span class="perl_Function">getDefaultSSLParameters</span>();
+<span class="perl_Comment">// Do not send an SSL-2.0-compatible Client
Hello.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ArrayList<String>
protocols = <span class="perl_Keyword">new</span>
ArrayList<String>(
+ Arrays.<span
class="perl_Function">asList</span>(params.<span
class="perl_Function">getProtocols</span>()));
+protocols.<span class="perl_Function">remove</span>(<span
class="perl_String">"SSLv2Hello"</span>);
+params.<span
class="perl_Function">setProtocols</span>(protocols.<span
class="perl_Function">toArray</span>(<span
class="perl_Keyword">new</span> String[protocols.<span
class="perl_Function">size</span>()]));
+<span class="perl_Comment">// Adjust the supported
ciphers.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ArrayList<String>
ciphers = <span class="perl_Keyword">new</span>
ArrayList<String>(
+ Arrays.<span
class="perl_Function">asList</span>(params.<span
class="perl_Function">getCipherSuites</span>()));
+ciphers.<span
class="perl_Function">retainAll</span>(Arrays.<span
class="perl_Function">asList</span>(
+ <span
class="perl_String">"TLS_RSA_WITH_AES_128_CBC_SHA256"</span>,
+ <span
class="perl_String">"TLS_RSA_WITH_AES_256_CBC_SHA256"</span>,
+ <span
class="perl_String">"TLS_RSA_WITH_AES_256_CBC_SHA"</span>,
+ <span
class="perl_String">"TLS_RSA_WITH_AES_128_CBC_SHA"</span>,
+ <span
class="perl_String">"SSL_RSA_WITH_3DES_EDE_CBC_SHA"</span>,
+ <span
class="perl_String">"SSL_RSA_WITH_RC4_128_SHA1"</span>,
+ <span
class="perl_String">"SSL_RSA_WITH_RC4_128_MD5"</span>,
+ <span
class="perl_String">"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"</span>));
+params.<span
class="perl_Function">setCipherSuites</span>(ciphers.<span
class="perl_Function">toArray</span>(<span
class="perl_Keyword">new</span> String[ciphers.<span
class="perl_Function">size</span>()]));
+</pre></div></div><br class="example-break" /><div
class="para">
+ As initialized above, the parameter object does not yet require host name checking.
This has to be enabled separately, and this is only supported by OpenJDK 7 and later:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+params.<span
class="perl_Function">setEndpointIdentificationAlgorithm</span>(<span
class="perl_String">"HTTPS"</span>);
+</pre></div><div class="para">
+ All application protocols can use the <code
class="literal">"HTTPS"</code> algorithm. (The algorithms
have minor differences with regard to wildcard handling, which should not matter in
practice.)
+ </div><div class="para">
+ <a class="xref"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Connect">Example 13.17,
“Establishing a TLS connection with OpenJDK”</a> shows how to establish the
connection. Before the handshake is initialized, the protocol and cipher configuration has
to be performed, by applying the parameter object <code
class="literal">params</code>. (After this point, changes to <code
class="literal">params</code> will not affect this TLS socket.) As
mentioned initially, host name checking requires using an internal API on OpenJDK 6.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenJDK-Connect"><h6>Example 13.17. Establishing
a TLS connection with OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the socket and connect it at the TCP
layer.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSLSocket socket = (SSLSocket)
ctx.<span class="perl_Function">getSocketFactory</span>()
+ .<span class="perl_Function">createSocket</span>(host, port);
+
+<span class="perl_Comment">// Disable the Nagle
algorithm.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>socket.<span
class="perl_Function">setTcpNoDelay</span>(<span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// Adjust ciphers and
protocols.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>socket.<span
class="perl_Function">setSSLParameters</span>(params);
+
+<span class="perl_Comment">// Perform the handshake.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>socket.<span
class="perl_Function">startHandshake</span>();
+
+<span class="perl_Comment">// Validate the host name. The match() method
throws</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// CertificateException on failure.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>X509Certificate peer =
(X509Certificate)
+ socket.<span class="perl_Function">getSession</span>().<span
class="perl_Function">getPeerCertificates</span>()[<span
class="perl_Float">0</span>];
+<span class="perl_Comment">// This is the only way to perform host name
checking on OpenJDK 6.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>HostnameChecker.<span
class="perl_Function">getInstance</span>(HostnameChecker.<span
class="perl_Function">TYPE_TLS</span>).<span
class="perl_Function">match</span>(
+ host, peer);
+</pre></div></div><br class="example-break" /><div
class="para">
+ Starting with OpenJDK 7, the last lines can be omitted, provided that host name
verification has been enabled by calling the <code
class="function">setEndpointIdentificationAlgorithm</code> method on
the <code class="literal">params</code> object (before it was
applied to the socket).
+ </div><div class="para">
+ The TLS socket can be used as a regular socket, as shown in <a
class="xref"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-OpenJDK-Use">Example 13.18,
“Using a TLS client socket in OpenJDK”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenJDK-Use"><h6>Example 13.18. Using
a TLS client socket in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+socket.<span
class="perl_Function">getOutputStream</span>().<span
class="perl_Function">write</span>(<span
class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>
+ .<span class="perl_Function">getBytes</span>(Charset.<span
class="perl_Function">forName</span>(<span
class="perl_String">"UTF-8"</span>)));
+<span class="perl_DataType">byte</span>[] buffer = <span
class="perl_Keyword">new</span> <span
class="perl_DataType">byte</span>[<span
class="perl_Float">4096</span>];
+<span class="perl_DataType">int</span> count = socket.<span
class="perl_Function">getInputStream</span>().<span
class="perl_Function">read</span>(buffer);
+System.<span class="perl_Function">out</span>.<span
class="perl_Function">write</span>(buffer, <span
class="perl_Float">0</span>, count);
+</pre></div></div><br class="example-break" /><div
class="section" id="idm217606415744"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4 class="title"
id="idm217606415744">13.2.3.1. Overriding server certificate validation with
OpenJDK 6</h4></div></div></div><div
class="para">
+ Overriding certificate validation requires a custom trust manager. With OpenJDK 6,
the trust manager lacks information about the TLS session, and to which server the
connection is made. Certificate overrides have to be tied to specific servers (host
names). Consequently, different <code
class="literal">TrustManager</code> and <code
class="literal">SSLContext</code> objects have to be used for different
servers.
+ </div><div class="para">
+ In the trust manager shown in <a class="xref"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-MyTrustManager">Example 13.19,
“A customer trust manager for OpenJDK TLS clients”</a>, the server certificate is
identified by its SHA-256 hash.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-MyTrustManager"><h6>Example 13.19. A
customer trust manager for OpenJDK TLS clients</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">public</span> <span
class="perl_Keyword">class</span> MyTrustManager <span
class="perl_Keyword">implements</span> X509TrustManager {
+ <span class="perl_Keyword">private</span> <span
class="perl_DataType">final</span> <span
class="perl_DataType">byte</span>[] certHash;
+
+ <span class="perl_Keyword">public</span> <span
class="perl_Function">MyTrustManager</span>(<span
class="perl_DataType">byte</span>[] certHash) <span
class="perl_Keyword">throws</span> Exception {
+ <span class="perl_Keyword">this</span>.<span
class="perl_Function">certHash</span> = certHash;
+ }
+
+ @Override
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">void</span> <span
class="perl_Function">checkClientTrusted</span>(X509Certificate[]
chain, String authType)
+ <span class="perl_Keyword">throws</span>
CertificateException {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> UnsupportedOperationException();
+ }
+
+ @Override
+ <span class="perl_Keyword">public</span> <span
class="perl_DataType">void</span> <span
class="perl_Function">checkServerTrusted</span>(X509Certificate[]
chain,
+ String authType) <span
class="perl_Keyword">throws</span> CertificateException {
+ <span class="perl_DataType">byte</span>[] digest = <span
class="perl_Function">getCertificateDigest</span>(chain[<span
class="perl_Float">0</span>]);
+ String digestHex = <span
class="perl_Function">formatHex</span>(digest);
+
+ <span class="perl_Keyword">if</span> (Arrays.<span
class="perl_Function">equals</span>(digest, certHash)) {
+ System.<span class="perl_Function">err</span>.<span
class="perl_Function">println</span>(<span
class="perl_String">"info: accepting certificate: "</span> +
digestHex);
+ } <span class="perl_Keyword">else</span> {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> CertificateException(<span
class="perl_String">"certificate rejected: "</span> +
+ digestHex);
+ }
+ }
+
+ @Override
+ <span class="perl_Keyword">public</span> X509Certificate[]
<span class="perl_Function">getAcceptedIssuers</span>() {
+ <span class="perl_Keyword">return</span> <span
class="perl_Keyword">new</span> X509Certificate[<span
class="perl_Float">0</span>];
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ This trust manager has to be passed to the <code
class="literal">init</code> method of the <code
class="literal">SSLContext</code> object, as show in <a
class="xref"
href="sect-Defensive_Coding-TLS-Client-OpenJDK.html#ex-Defensive_Coding-TLS-Client-Context_For_Cert">Example 13.20,
“Using a custom TLS trust manager with OpenJDK”</a>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-Context_For_Cert"><h6>Example 13.20. Using
a custom TLS trust manager with OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SSLContext ctx;
+<span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1.2"</span>, <span
class="perl_String">"SunJSSE"</span>);
+} <span class="perl_Keyword">catch</span> (NoSuchAlgorithmException
e) {
+ <span class="perl_Keyword">try</span> {
+ ctx = SSLContext.<span
class="perl_Function">getInstance</span>(<span
class="perl_String">"TLSv1"</span>, <span
class="perl_String">"SunJSSE"</span>);
+ } <span class="perl_Keyword">catch</span>
(NoSuchAlgorithmException e1) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ } <span class="perl_Keyword">catch</span>
(NoSuchProviderException e1) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e1);
+ }
+} <span class="perl_Keyword">catch</span> (NoSuchProviderException
e) {
+ <span class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> AssertionError(e);
+}
+MyTrustManager tm = <span class="perl_Keyword">new</span> <span
class="perl_Function">MyTrustManager</span>(certHash);
+ctx.<span class="perl_Function">init</span>(<span
class="perl_Keyword">null</span>, <span
class="perl_Keyword">new</span> TrustManager[] {tm}, <span
class="perl_Keyword">null</span>);
+</pre></div></div><br class="example-break" /><div
class="para">
+ When certificate overrides are in place, host name verification should not be
performed because there is no security requirement that the host name in the certificate
matches the host name used to establish the connection (and it often will not). However,
without host name verification, it is not possible to perform transparent fallback to
certification validation using the system certificate store.
+ </div><div class="para">
+ The approach described above works with OpenJDK 6 and later versions. Starting with
OpenJDK 7, it is possible to use a custom subclass of the <code
class="literal">javax.net.ssl.X509ExtendedTrustManager</code> class.
The OpenJDK TLS implementation will call the new methods, passing along TLS session
information. This can be used to implement certificate overrides as a fallback (if
certificate or host name verification fails), and a trust manager object can be used for
multiple servers because the server address is available to the trust manager.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Prev</strong>13.2.2. Implementation
TLS Clients With GNUTLS</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Next</strong>13.2.4. Implementing
TLS Clients With NSS</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html
new file mode 100644
index 0000000..e140757
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-Python.html
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>13.2.5. Implementing TLS Clients With Python</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-TLS-Client.html" title="13.2. TLS Clients"
/><link rel="prev"
href="sect-Defensive_Coding-TLS-Client-NSS.html"
title="13.2.4. Implementing TLS Clients With NSS" /><link
rel="next" href="appe-UEFI_Secure_Boot_Guide-Revision_History.html"
title="Appendix A. Revision History" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-
Client-NSS.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="appe-UEFI_Secure_Boot_Guide-Revision_History.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-TLS-Client-Python"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">13.2.5. Implementing TLS Clients With
Python</h3></div></div></div><div class="para">
+ The Python distribution provides a TLS implementation in the <code
class="literal">ssl</code> module (actually a wrapper around OpenSSL).
The exported interface is somewhat restricted, so that the client code shown below does
not fully implement the recommendations in <a class="xref"
href="chap-Defensive_Coding-TLS.html#sect-Defensive_Coding-TLS-OpenSSL">Section 13.1.1,
“OpenSSL Pitfalls”</a>.
+ </div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ Currently, most Python function which accept <code
class="literal">https://</code> URLs or otherwise implement HTTPS
support do not perform certificate validation at all. (For example, this is true for the
<code class="literal">httplib</code> and <code
class="literal">xmlrpclib</code> modules.) If you use HTTPS, you should
not use the built-in HTTP clients. The <code
class="literal">Curl</code> class in the <code
class="literal">curl</code> module, as provided by the <code
class="literal">python-pycurl</code> package implements proper
certificate validation.
+ </div></div></div><div class="para">
+ The <code class="literal">ssl</code> module currently does not
perform host name checking on the server certificate. <a class="xref"
href="sect-Defensive_Coding-TLS-Client-Python.html#ex-Defensive_Coding-TLS-Client-Python-check_host_name">Example 13.26,
“Implementing TLS host name checking Python (without wildcard support)”</a> shows
how to implement certificate matching, using the parsed certificate returned by <code
class="function">getpeercert</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-Python-check_host_name"><h6>Example 13.26. Implementing
TLS host name checking Python (without wildcard support)</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">def</span> check_host_name<span
class="perl_Char">(peercert</span>, name<span
class="perl_Char">):</span>
+ <span class="perl_Comment">"""Simple certificate/host
name checker. Returns True if the</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment"> certificate matches, False otherwise. Does not
support</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment"> wildcards."""</span>
+ # Check that the peer has supplied a certificate.
+ # <span class="perl_Others">None</span><span
class="perl_Char">/{}</span> <span
class="perl_Keyword">is</span> <span
class="perl_Keyword">not</span> acceptable.
+ <span class="perl_Keyword">if</span> <span
class="perl_Keyword">not</span> peercert<span
class="perl_Char">:</span>
+ <span class="perl_Keyword">return</span> <span
class="perl_Others">False</span>
+ <span class="perl_Keyword">if</span> peercert.has_key<span
class="perl_Char">(</span><span
class="perl_String">"subjectAltName"</span><span
class="perl_Char">):</span>
+ <span class="perl_Keyword">for</span> typ, val <span
class="perl_Keyword">in</span> peercert<span
class="perl_Char">[</span><span
class="perl_String">"subjectAltName"</span><span
class="perl_Char">]:</span>
+ <span class="perl_Keyword">if</span> typ <span
class="perl_Char">==</span> <span
class="perl_String">"DNS"</span> <span
class="perl_Keyword">and</span> val <span
class="perl_Char">==</span> name<span
class="perl_Char">:</span>
+ <span class="perl_Keyword">return</span> <span
class="perl_Others">True</span>
+ <span class="perl_Keyword">else</span><span
class="perl_Char">:</span>
+ # Only check the subject DN <span
class="perl_Keyword">if</span> there <span
class="perl_Keyword">is</span> no subject alternative
+ # name.
+ cn <span class="perl_Char">=</span> <span
class="perl_Others">None</span>
+ <span class="perl_Keyword">for</span> attr, val <span
class="perl_Keyword">in</span> peercert<span
class="perl_Char">[</span><span
class="perl_String">"subject"</span><span
class="perl_Char">]:</span>
+ # Use most<span class="perl_Char">-specific</span>
<span class="perl_Char">(last)</span> commonName attribute.
+ <span class="perl_Keyword">if</span> attr <span
class="perl_Char">==</span> <span
class="perl_String">"commonName"</span><span
class="perl_Char">:</span>
+ cn <span class="perl_Char">=</span> val
+ <span class="perl_Keyword">if</span> cn <span
class="perl_Keyword">is</span> <span
class="perl_Keyword">not</span> <span
class="perl_Others">None</span><span
class="perl_Char">:</span>
+ <span class="perl_Keyword">return</span> cn <span
class="perl_Char">==</span> name
+ <span class="perl_Keyword">return</span> <span
class="perl_Others">False</span>
+</pre></div></div><br class="example-break" /><div
class="para">
+ To turn a regular, connected TCP socket into a TLS-enabled socket, use the <code
class="function">ssl.wrap_socket</code> function. The function call in
<a class="xref"
href="sect-Defensive_Coding-TLS-Client-Python.html#ex-Defensive_Coding-TLS-Client-Python-Connect">Example 13.27,
“Establishing a TLS client connection with Python”</a> provides additional arguments
to override questionable defaults in OpenSSL and in the Python module.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code
class="literal">ciphers="HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</code>
selects relatively strong cipher suites with certificate-based authentication. (The call
to <code class="function">check_host_name</code> function provides
additional protection against anonymous cipher suites.)
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">ssl_version=ssl.PROTOCOL_TLSv1</code>
disables SSL 2.0 support. By default, the <code
class="literal">ssl</code> module sends an SSL 2.0 client hello, which
is rejected by some servers. Ideally, we would request OpenSSL to negotiated the most
recent TLS version supported by the server and the client, but the Python module does not
allow this.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="literal">cert_reqs=ssl.CERT_REQUIRED</code>
turns on certificate validation.
+ </div></li><li class="listitem"><div
class="para">
+ <code
class="literal">ca_certs='/etc/ssl/certs/ca-bundle.crt'</code>
initializes the certificate store with a set of trusted root CAs. Unfortunately, it is
necessary to hard-code this path into applications because the default path in OpenSSL is
not available through the Python <code class="literal">ssl</code>
module.
+ </div></li></ul></div><div class="para">
+ The <code class="literal">ssl</code> module (and OpenSSL)
perform certificate validation, but the certificate must be compared manually against the
host name, by calling the <code
class="function">check_host_name</code> defined above.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-Python-Connect"><h6>Example 13.27. Establishing
a TLS client connection with Python</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+sock <span class="perl_Char">=</span> ssl.wrap_socket<span
class="perl_Char">(sock</span>,
+ ciphers<span
class="perl_Char">=</span><span
class="perl_String">"HIGH:-aNULL:-eNULL:-PSK:RC4-SHA:RC4-MD5"</span>,
+ ssl_version<span
class="perl_Char">=ssl</span>.PROTOCOL_TLSv1,
+ cert_reqs<span
class="perl_Char">=ssl</span>.CERT_REQUIRED,
+ ca_certs<span
class="perl_Char">=</span><span
class="perl_String">'/etc/ssl/certs/ca-bundle.crt'</span><span
class="perl_Char">)</span>
+# getpeercert<span class="perl_Char">()</span> triggers the
handshake <span class="perl_Char">as</span> a side effect.
+<span class="perl_Keyword">if</span> <span
class="perl_Keyword">not</span> check_host_name<span
class="perl_Char">(sock</span>.getpeercert<span
class="perl_Char">()</span>, host<span
class="perl_Char">):</span>
+ <span class="perl_Keyword">raise</span> IOError<span
class="perl_Char">(</span><span
class="perl_String">"peer certificate does not match host
name"</span><span class="perl_Char">)</span>
+</pre></div></div><br class="example-break" /><div
class="para">
+ After the connection has been established, the TLS socket can be used like a regular
socket:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+sock.write<span class="perl_Char">(</span><span
class="perl_String">"GET / HTTP/1.1\r\nHost: "</span>
<span class="perl_Char">+</span> host <span
class="perl_Char">+</span> <span
class="perl_String">"\r\n\r\n"</span><span
class="perl_Char">)</span>
+<span class="perl_Keyword">print</span> sock.read<span
class="perl_Char">()</span>
+</pre></div><div class="para">
+ Closing the TLS socket is straightforward as well:
+ </div><div class="informalexample"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+sock.close<span class="perl_Char">()</span>
+</pre></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-TLS-Client-NSS.html"><strong>Prev</strong>13.2.4. Implementing
TLS Clients With NSS</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="appe-UEFI_Secure_Boot_Guide-Revision_History.html"><strong>Next</strong>Appendix A. Revision
History</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html
new file mode 100644
index 0000000..caab2db
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client.html
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>13.2. TLS Clients</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-TLS.html" title="Chapter 13. Transport Layer
Security" /><link rel="prev"
href="chap-Defensive_Coding-TLS.html" title="Chapter 13. Transport Layer
Security" /><link rel="next"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"
title="13.2.2. Implementation TLS Clients With GNUTLS"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="chap-Defensive_C
oding-TLS.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Next</strong></a></li></ul><div
class="section" id="sect-Defensive_Coding-TLS-Client"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">13.2. TLS
Clients</h2></div></div></div><div class="para">
+ Secure use of TLS in a client generally involves all of the following steps.
(Individual instructions for specific TLS implementations follow in the next sections.)
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ The client must configure the TLS library to use a set of trusted root certificates.
These certificates are provided by the system in <code
class="filename">/etc/ssl/certs</code> or files derived from it.
+ </div></li><li class="listitem"><div
class="para">
+ The client selects sufficiently strong cryptographic primitives and disables
insecure ones (such as no-op encryption). Compression and SSL version 2 support must be
disabled (including the SSLv2-compatible handshake).
+ </div></li><li class="listitem"><div
class="para">
+ The client initiates the TLS connection. The Server Name Indication extension should
be used if supported by the TLS implementation. Before switching to the encrypted
connection state, the contents of all input and output buffers must be discarded.
+ </div></li><li class="listitem"><div
class="para">
+ The client needs to validate the peer certificate provided by the server, that is,
the client must check that there is a cryptographically protected chain from a trusted
root certificate to the peer certificate. (Depending on the TLS implementation, a TLS
handshake can succeed even if the certificate cannot be validated.)
+ </div></li><li class="listitem"><div
class="para">
+ The client must check that the configured or user-provided server name matches the
peer certificate provided by the server.
+ </div></li></ul></div><div class="para">
+ It is safe to provide users detailed diagnostics on certificate validation failures.
Other causes of handshake failures and, generally speaking, any details on other errors
reported by the TLS implementation (particularly exception tracebacks), must not be
divulged in ways that make them accessible to potential attackers. Otherwise, it is
possible to create decryption oracles.
+ </div><div class="important"><div
class="admonition_header"><h2>Important</h2></div><div
class="admonition"><div class="para">
+ Depending on the application, revocation checking (against certificate revocations
lists or via OCSP) and session resumption are important aspects of production-quality
client. These aspects are not yet covered.
+ </div></div></div><div class="section"
id="idm217622790960"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217622790960">13.2.1. Implementation TLS Clients With
OpenSSL</h3></div></div></div><div class="para">
+ In the following code, the error handling is only exploratory. Proper error handling
is required for production use, especially in libraries.
+ </div><div class="para">
+ The OpenSSL library needs explicit initialization (see <a class="xref"
href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Init">Example 13.3,
“OpenSSL library initialization”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Init"><h6>Example 13.3. OpenSSL
library initialization</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// The following call prints an error message
and calls exit() if</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// the OpenSSL configuration file is
unreadable.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>OPENSSL_config(NULL);
+<span class="perl_Comment">// Provide human-readable error
messages.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSL_load_error_strings();
+<span class="perl_Comment">// Register ciphers.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSL_library_init();
+</pre></div></div><br class="example-break" /><div
class="para">
+ After that, a context object has to be created, which acts as a factory for
connection objects (<a class="xref"
href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4,
“OpenSSL client context creation”</a>). We use an explicit cipher list so that we do
not pick up any strange ciphers when OpenSSL is upgraded. The actual version requested in
the client hello depends on additional restrictions in the OpenSSL library. If possible,
you should follow the example code and use the default list of trusted root certificate
authorities provided by the system because you would have to maintain your own set
otherwise, which can be cumbersome.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenSSL-CTX"><h6>Example 13.4. OpenSSL
client context creation</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+<span class="perl_Comment">// Configure a client connection context.
Send a hendshake for the</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// highest supported TLS version, and disable
compression.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">const</span> SSL_METHOD *<span
class="perl_DataType">const</span> req_method =
SSLv23_client_method();
+SSL_CTX *<span class="perl_DataType">const</span> ctx =
SSL_CTX_new(req_method);
+<span class="perl_Keyword">if</span> (ctx == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_COMPRESSION);
+
+<span class="perl_Comment">// Adjust the ciphers list based on a
whitelist. First enable all</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// ciphers of at least medium strength, to get the list
which is</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// compiled into OpenSSL.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (SSL_CTX_set_cipher_list(ctx, <span
class="perl_String">"HIGH:MEDIUM"</span>) != <span
class="perl_Float">1</span>) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+{
+ <span class="perl_Comment">// Create a dummy SSL session to obtain the
cipher list.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> SSL *ssl = SSL_new(ctx);
+ <span class="perl_Keyword">if</span> (ssl == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+ }
+ STACK_OF(SSL_CIPHER) *active_ciphers = SSL_get_ciphers(ssl);
+ <span class="perl_Keyword">if</span> (active_ciphers == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+ }
+ <span class="perl_Comment">// Whitelist of candidate
ciphers.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">static</span> <span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> candidates[] = {
+ <span class="perl_String">"AES128-GCM-SHA256"</span>,
<span class="perl_String">"AES128-SHA256"</span>, <span
class="perl_String">"AES256-SHA256"</span>, <span
class="perl_Comment">// strong ciphers</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_String">"AES128-SHA"</span>, <span
class="perl_String">"AES256-SHA"</span>, <span
class="perl_Comment">// strong ciphers, also in older
versions</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_String">"RC4-SHA"</span>, <span
class="perl_String">"RC4-MD5"</span>, <span
class="perl_Comment">// backwards compatibility, supposed to be
weak</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_String">"DES-CBC3-SHA"</span>, <span
class="perl_String">"DES-CBC3-MD5"</span>, <span
class="perl_Comment">// more backwards compatibility</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span> NULL
+ };
+ <span class="perl_Comment">// Actually selected
ciphers.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_DataType">char</span> ciphers[<span
class="perl_Float">300</span>];
+ ciphers[0] = '\0';
+ <span class="perl_Keyword">for</span> (<span
class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> *c = candidates; *c; ++c) {
+ <span class="perl_Keyword">for</span> (<span
class="perl_DataType">int</span> i = 0; i <
sk_SSL_CIPHER_num(active_ciphers); ++i) {
+ <span class="perl_Keyword">if</span>
(strcmp(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(active_ciphers, i)),
+ *c) == 0) {
+ <span class="perl_Keyword">if</span> (*ciphers) {
+ strcat(ciphers, <span
class="perl_String">":"</span>);
+ }
+ strcat(ciphers, *c);
+ <span class="perl_Keyword">break</span>;
+ }
+ }
+ }
+ SSL_free(ssl);
+ <span class="perl_Comment">// Apply final cipher
list.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">if</span> (SSL_CTX_set_cipher_list(ctx, ciphers)
!= <span class="perl_Float">1</span>) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+ }
+}
+
+<span class="perl_Comment">// Load the set of trusted root
certificates.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (!SSL_CTX_set_default_verify_paths(ctx))
{
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ A single context object can be used to create multiple connection objects. It is safe
to use the same <code class="literal">SSL_CTX</code> object for
creating connections concurrently from multiple threads, provided that the <code
class="literal">SSL_CTX</code> object is not modified (e.g., callbacks
must not be changed).
+ </div><div class="para">
+ After creating the TCP socket and disabling the Nagle algorithm (per <a
class="xref"
href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-Nagle">Example 13.1,
“Deactivating the TCP Nagle algorithm”</a>), the actual connection object needs to
be created, as show in <a class="xref"
href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-Client-OpenSSL-CTX">Example 13.4,
“OpenSSL client context creation”</a>. If the handshake started by <code
class="function">SSL_connect</code> fails, the <code
class="function">ssl_print_error_and_exit</code> function from <a
class="xref"
href="chap-Defensive_Coding-TLS.html#ex-Defensive_Coding-TLS-OpenSSL-Errors">Example 13.2,
“Obtaining OpenSSL error codes”</a> is called.
+ </div><div class="para">
+ The <code class="function">certificate_validity_override</code>
function provides an opportunity to override the validity of the certificate in case the
OpenSSL check fails. If such functionality is not required, the call can be removed,
otherwise, the application developer has to implement it.
+ </div><div class="para">
+ The host name passed to the functions <code
class="function">SSL_set_tlsext_host_name</code> and <code
class="function">X509_check_host</code> must be the name that was
passed to <code class="function">getaddrinfo</code> or a similar
name resolution function. No host name canonicalization must be performed. The <code
class="function">X509_check_host</code> function used in the final step
for host name matching is currently only implemented in OpenSSL 1.1, which is not released
yet. In case host name matching fails, the function <code
class="function">certificate_host_name_override</code> is called. This
function should check user-specific certificate store, to allow a connection even if the
host name does not match the certificate. This function has to be provided by the
application developer. Note that the override must be keyed by both the certificate
<span class="emphasis"><em>and</em></span> the host
name.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-Client-OpenSSL-Connect"><h6>Example 13.5. Creating
a client connection using OpenSSL</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Create the connection
object.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>SSL *ssl = SSL_new(ctx);
+<span class="perl_Keyword">if</span> (ssl == NULL) {
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+SSL_set_fd(ssl, sockfd);
+
+<span class="perl_Comment">// Enable the ServerNameIndication
extension</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (!SSL_set_tlsext_host_name(ssl, host))
{
+ ERR_print_errors(bio_err);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Perform the TLS handshake with the
server.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = SSL_connect(ssl);
+<span class="perl_Keyword">if</span> (ret != <span
class="perl_Float">1</span>) {
+ <span class="perl_Comment">// Error status can be 0 or
negative.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> ssl_print_error_and_exit(ssl,
<span class="perl_String">"SSL_connect"</span>, ret);
+}
+
+<span class="perl_Comment">// Obtain the server
certificate.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>X509 *peercert =
SSL_get_peer_certificate(ssl);
+<span class="perl_Keyword">if</span> (peercert == NULL) {
+ fprintf(stderr, <span class="perl_String">"peer certificate
missing"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Check the certificate verification result.
Allow an explicit</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// certificate validation override in case verification
fails.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">int</span> verifystatus =
SSL_get_verify_result(ssl);
+<span class="perl_Keyword">if</span> (verifystatus != X509_V_OK
&& !certificate_validity_override(peercert)) {
+ fprintf(stderr, <span class="perl_String">"SSL_connect: verify
result: %s</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>,
+ X509_verify_cert_error_string(verifystatus));
+ exit(<span class="perl_Float">1</span>);
+}
+
+<span class="perl_Comment">// Check if the server certificate matches the
host name used to</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// establish the connection.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// </span><span
class="perl_Alert">FIXME</span><span
class="perl_Comment">: Currently needs OpenSSL 1.1.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Keyword">if</span> (X509_check_host(peercert, (<span
class="perl_DataType">const</span> <span
class="perl_DataType">unsigned</span> <span
class="perl_DataType">char</span> *)host, strlen(host),
+ 0) != <span class="perl_Float">1</span>
+ && !certificate_host_name_override(peercert, host)) {
+ fprintf(stderr, <span class="perl_String">"SSL certificate does
not match host name</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ exit(<span class="perl_Float">1</span>);
+}
+
+X509_free(peercert);
+
+</pre></div></div><br class="example-break" /><div
class="para">
+ The connection object can be used for sending and receiving data, as in <a
class="xref"
href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Connection-Use">Example 13.6,
“Using an OpenSSL connection to send and receive data”</a>. It is also possible to
create a <code class="literal">BIO</code> object and use the
<code class="literal">SSL</code> object as the underlying transport,
using <code class="function">BIO_set_ssl</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Use"><h6>Example 13.6. Using
an OpenSSL connection to send and receive data</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_DataType">const</span> <span
class="perl_DataType">char</span> *<span
class="perl_DataType">const</span> req = <span
class="perl_String">"GET / HTTP/1.0</span><span
class="perl_Char">\r\n\r\n</span><span
class="perl_String">"</span>;
+<span class="perl_Keyword">if</span> (SSL_write(ssl, req,
strlen(req)) < 0) {
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_write"</span>, ret);
+}
+<span class="perl_DataType">char</span> buf[4096];
+ret = SSL_read(ssl, buf, <span
class="perl_Keyword">sizeof</span>(buf));
+<span class="perl_Keyword">if</span> (ret < 0) {
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_read"</span>, ret);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ When it is time to close the connection, the <code
class="function">SSL_shutdown</code> function needs to be called twice
for an orderly, synchronous connection termination (<a class="xref"
href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Connection-Close">Example 13.7,
“Closing an OpenSSL connection in an orderly fashion”</a>). This exchanges <code
class="literal">close_notify</code> alerts with the server. The
additional logic is required to deal with an unexpected <code
class="literal">close_notify</code> from the server. Note that is
necessary to explicitly close the underlying socket after the connection object has been
freed.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Connection-Close"><h6>Example 13.7. Closing
an OpenSSL connection in an orderly fashion</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Send the close_notify
alert.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>ret = SSL_shutdown(ssl);
+<span class="perl_Keyword">switch</span> (ret) {
+<span class="perl_Keyword">case</span> <span
class="perl_Float">1</span>:
+ <span class="perl_Comment">// A close_notify alert has already been
received.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">break</span>;
+<span class="perl_Keyword">case</span> 0:
+ <span class="perl_Comment">// Wait for the close_notify alert from the
peer.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> ret = SSL_shutdown(ssl);
+ <span class="perl_Keyword">switch</span> (ret) {
+ <span class="perl_Keyword">case</span> 0:
+ fprintf(stderr, <span class="perl_String">"info: second
SSL_shutdown returned zero</span><span
class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">case</span> <span
class="perl_Float">1</span>:
+ <span class="perl_Keyword">break</span>;
+ <span class="perl_Keyword">default</span>:
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_shutdown 2"</span>, ret);
+ }
+ <span class="perl_Keyword">break</span>;
+<span class="perl_Keyword">default</span>:
+ ssl_print_error_and_exit(ssl, <span
class="perl_String">"SSL_shutdown 1"</span>, ret);
+}
+SSL_free(ssl);
+close(sockfd);
+</pre></div></div><br class="example-break" /><div
class="para">
+ <a class="xref"
href="sect-Defensive_Coding-TLS-Client.html#ex-Defensive_Coding-TLS-OpenSSL-Context-Close">Example 13.8,
“Closing an OpenSSL connection in an orderly fashion”</a> shows how to deallocate
the context object when it is no longer needed because no further TLS connections will be
established.
+ </div><div class="example"
id="ex-Defensive_Coding-TLS-OpenSSL-Context-Close"><h6>Example 13.8. Closing
an OpenSSL connection in an orderly fashion</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SSL_CTX_free(ctx);
+</pre></div></div><br class="example-break"
/></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-TLS.html"><strong>Prev</strong>Chapter 13. Transport
Layer Security</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-TLS-Client-GNUTLS.html"><strong>Next</strong>13.2.2. Implementation
TLS Clients With GNUTLS</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html
new file mode 100644
index 0000000..32c0bfe
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>6.2. Preventing file descriptor leaks to child
processes</title><link rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File
Descriptor Management" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File
Descriptor Management" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"
title="6.3. Dealing with the select limit" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p
"
href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">6.2. Preventing file descriptor leaks to child
processes</h2></div></div></div><div
class="para">
+ Child processes created with <code class="function">fork</code>
share the initial set of file descriptors with their parent process. By default, file
descriptors are also preserved if a new process image is created with <code
class="function">execve</code> (or any of the other functions such as
<code class="function">system</code> or <code
class="function">posix_spawn</code>).
+ </div><div class="para">
+ Usually, this behavior is not desirable. There are two ways to turn it off, that is,
to prevent new process images from inheriting the file descriptors in the parent process:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Set the close-on-exec flag on all newly created file descriptors. Traditionally,
this flag is controlled by the <code
class="literal">FD_CLOEXEC</code> flag, using <code
class="literal">F_GETFD</code> and <code
class="literal">F_SETFD</code> operations of the <code
class="function">fcntl</code> function.
+ </div><div class="para">
+ However, in a multi-threaded process, there is a race condition: a subprocess could
have been created between the time the descriptor was created and the <code
class="literal">FD_CLOEXEC</code> was set. Therefore, many system calls
which create descriptors (such as <code class="function">open</code>
and <code class="function">openat</code>) now accept the <code
class="function">O_CLOEXEC</code> flag (<code
class="function">SOCK_CLOEXEC</code> for <code
class="function">socket</code> and <code
class="function">socketpair</code>), which cause the <code
class="literal">FD_CLOEXEC</code> flag to be set for the file
descriptor in an atomic fashion. In addition, a few new systems calls were introduced,
such as <code class="function">pipe2</code> and <code
class="function">dup3</code>.
+ </div><div class="para">
+ The downside of this approach is that every descriptor needs to receive special
treatment at the time of creation, otherwise it is not completely effective.
+ </div></li><li class="listitem"><div
class="para">
+ After calling <code class="function">fork</code>, but before
creating a new process image with <code
class="function">execve</code>, all file descriptors which the child
process will not need are closed.
+ </div><div class="para">
+ Traditionally, this was implemented as a loop over file descriptors ranging from
<code class="literal">3</code> to <code
class="literal">255</code> and later <code
class="literal">1023</code>. But this is only an approximatio because
it is possible to create file descriptors outside this range easily (see <a
class="xref"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">Section 6.3,
“Dealing with the <code class="function">select</code>
limit”</a>). Another approach reads <code
class="filename">/proc/self/fd</code> and closes the unexpected
descriptors listed there, but this approach is much slower.
+ </div></li></ul></div><div class="para">
+ At present, environments which care about file descriptor leakage implement the second
approach. OpenJDK 6 and 7 are among them.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Descriptors.html"><strong>Prev</strong>Chapter 6. File
Descriptor Management</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html"><strong>Next</strong>6.3. Dealing
with the select limit</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html
new file mode 100644
index 0000000..1d357ff
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors-Limit.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>6.3. Dealing with the select limit</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Descriptors.html" title="Chapter 6. File
Descriptor Management" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"
title="6.2. Preventing file descriptor leaks to child processes" /><link
rel="next" href="chap-Defensive_Coding-Tasks-File_System.html"
title="Chapter 7. File system manipulation" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li cl
ass="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Descriptors-Limit"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">6.3. Dealing with the <code
class="function">select</code>
limit</h2></div></div></div><div class="para">
+ By default, a user is allowed to open only 1024 files in a single process, but the
system administrator can easily change this limit (which is necessary for busy network
servers). However, there is another restriction which is more difficult to overcome.
+ </div><div class="para">
+ The <code class="function">select</code> function only supports
a maximum of <code class="literal">FD_SETSIZE</code> file
descriptors (that is, the maximum permitted value for a file descriptor is <code
class="literal">FD_SETSIZE - 1</code>, usually 1023.) If a process
opens many files, descriptors may exceed such limits. It is impossible to query such
descriptors using <code class="function">select</code>.
+ </div><div class="para">
+ If a library which creates many file descriptors is used in the same process as a
library which uses <code class="function">select</code>, at least
one of them needs to be changed. Calls to <code
class="function">select</code> can be replaced with calls to <code
class="function">poll</code> or another event handling mechanism.
Replacing the <code class="function">select</code> function is the
recommended approach.
+ </div><div class="para">
+ Alternatively, the library with high descriptor usage can relocate descriptors above
the <code class="literal">FD_SETSIZE</code> limit using the
following procedure.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Create the file descriptor <code class="literal">fd</code> as
usual, preferably with the <code class="literal">O_CLOEXEC</code>
flag.
+ </div></li><li class="listitem"><div
class="para">
+ Before doing anything else with the descriptor <code
class="literal">fd</code>, invoke:
+ </div><pre class="programlisting">
+ <span class="perl_DataType">int</span> newfd = fcntl(fd,
F_DUPFD_CLOEXEC, (<span
class="perl_DataType">long</span>)FD_SETSIZE);
+</pre></li><li class="listitem"><div
class="para">
+ Check that <code class="literal">newfd</code> result is
non-negative, otherwise close <code class="literal">fd</code> and
report an error, and return.
+ </div></li><li class="listitem"><div
class="para">
+ Close <code class="literal">fd</code> and continue to use
<code class="literal">newfd</code>.
+ </div></li></ul></div><div class="para">
+ The new descriptor has been allocated above the <code
class="literal">FD_SETSIZE</code>. Even though this algorithm is racy
in the sense that the <code class="literal">FD_SETSIZE</code> first
descriptors could fill up, a very high degree of physical parallelism is required before
this becomes a problem.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Prev</strong>6.2. Preventing
file descriptor leaks to child pr...</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Next</strong>Chapter 7. File
system manipulation</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html
new file mode 100644
index 0000000..74fd3e4
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Descriptors.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 6. File Descriptor Management</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev" href="ch05s04.html" title="5.4. Process
attributes" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"
title="6.2. Preventing file descriptor leaks to child processes"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch05s04.html"><strong>Prev</strong></a></li>
<li class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="sect-Defensive_Coding-Tasks-Descriptors" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 6. File Descriptor
Management</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217651037600">6.1.
Closing
descriptors</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217622290176">6.1.1.
Error handling during descriptor close</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217615274224">6.1.2.
Closing descriptors and race
conditions</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors.html#idm217617186816">6.1.3.
Lingering state after close</a></span></dt><
/dl></dd><dt><span class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">6.2.
Preventing file descriptor leaks to child
processes</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">6.3. Dealing with
the <code class="function">select</code>
limit</a></span></dt></dl></div><div
class="para">
+ File descriptors underlie all input/output mechanisms offered by the system. They are
used to implementation the <code class="literal">FILE *</code>-based
functions found in <code
class="literal"><stdio.h></code>, and all the file and
network communication facilities provided by the Python and Java environments are
eventually implemented in them.
+ </div><div class="para">
+ File descriptors are small, non-negative integers in userspace, and are backed on the
kernel side with complicated data structures which can sometimes grow very large.
+ </div><div class="section" id="idm217651037600"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2 class="title"
id="idm217651037600">6.1. Closing
descriptors</h2></div></div></div><div
class="para">
+ If a descriptor is no longer used by a program and is not closed explicitly, its
number cannot be reused (which is problematic in itself, see <a class="xref"
href="sect-Defensive_Coding-Tasks-Descriptors-Limit.html">Section 6.3,
“Dealing with the <code class="function">select</code>
limit”</a>), and the kernel resources are not freed. Therefore, it is important to
close all descriptors at the earlierst point in time possible, but not earlier.
+ </div><div class="section" id="idm217622290176"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217622290176">6.1.1. Error handling during descriptor
close</h3></div></div></div><div class="para">
+ The <code class="function">close</code> system call is always
successful in the sense that the passed file descriptor is never valid after the function
has been called. However, <code class="function">close</code> still
can return an error, for example if there was a file system failure. But this error is not
very useful because the absence of an error does not mean that all caches have been
emptied and previous writes have been made durable. Programs which need such guarantees
must open files with <code class="literal">O_SYNC</code> or use
<code class="literal">fsync</code> or <code
class="literal">fdatasync</code>, and may also have to <code
class="literal">fsync</code> the directory containing the file.
+ </div></div><div class="section"
id="idm217615274224"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217615274224">6.1.2. Closing descriptors and race
conditions</h3></div></div></div><div
class="para">
+ Unlike process IDs, which are recycle only gradually, the kernel always allocates the
lowest unused file descriptor when a new descriptor is created. This means that in a
multi-threaded program which constantly opens and closes file descriptors, descriptors are
reused very quickly. Unless descriptor closing and other operations on the same file
descriptor are synchronized (typically, using a mutex), there will be race coniditons and
I/O operations will be applied to the wrong file descriptor.
+ </div><div class="para">
+ Sometimes, it is necessary to close a file descriptor concurrently, while another
thread might be about to use it in a system call. In order to support this, a program
needs to create a single special file descriptor, one on which all I/O operations fail.
One way to achieve this is to use <code
class="function">socketpair</code>, close one of the descriptors, and
call <code class="literal">shutdown(fd, SHUTRDWR)</code> on the
other.
+ </div><div class="para">
+ When a descriptor is closed concurrently, the program does not call <code
class="function">close</code> on the descriptor. Instead it program
uses <code class="function">dup2</code> to replace the descriptor to
be closed with the dummy descriptor created earlier. This way, the kernel will not reuse
the descriptor, but it will carry out all other steps associated with calling a descriptor
(for instance, if the descriptor refers to a stream socket, the peer will be notified).
+ </div><div class="para">
+ This is just a sketch, and many details are missing. Additional data structures are
needed to determine when it is safe to really close the descriptor, and proper locking is
required for that.
+ </div></div><div class="section"
id="idm217617186816"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217617186816">6.1.3. Lingering state after
close</h3></div></div></div><div class="para">
+ By default, closing a stream socket returns immediately, and the kernel will try to
send the data in the background. This means that it is impossible to implement accurate
accounting of network-related resource utilization from userspace.
+ </div><div class="para">
+ The <code class="literal">SO_LINGER</code> socket option alters
the behavior of <code class="function">close</code>, so that it will
return only after the lingering data has been processed, either by sending it to the peer
successfully, or by discarding it after the configured timeout. However, there is no
interface which could perform this operation in the background, so a separate userspace
thread is needed for each <code class="function">close</code> call,
causing scalability issues.
+ </div><div class="para">
+ Currently, there is no application-level countermeasure which applies universally.
Mitigation is possible with <span
class="application"><strong>iptables</strong></span> (the
<code class="literal">connlimit</code> match type in particular) and
specialized filtering devices for denial-of-service network traffic.
+ </div><div class="para">
+ These problems are not related to the <code
class="literal">TIME_WAIT</code> state commonly seen in <span
class="application"><strong>netstat</strong></span> output.
The kernel automatically expires such sockets if necessary.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="ch05s04.html"><strong>Prev</strong>5.4. Process
attributes</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html"><strong>Next</strong>6.2. Preventing
file descriptor leaks to child
pr...</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html
new file mode 100644
index 0000000..6d95ea5
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Features.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.4. File system features</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File
system manipulation" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-File_System-Limits.html" title="7.3. File
system limits" /><link rel="next"
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"
title="7.5. Checking free space" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-De
fensive_Coding-Tasks-File_System-Limits.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-File_System-Features"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.4. File system
features</h2></div></div></div><div class="para">
+ Not all file systems support all features. This makes it very difficult to write
general-purpose tools for copying files. For example, a copy operation intending to
preserve file permissions will generally fail when copying to a FAT file system.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Some file systems are case-insensitive. Most should be case-preserving, though.
+ </div></li><li class="listitem"><div
class="para">
+ Name length limits vary greatly, from eight to thousands of bytes. Path length
limits differ as well. Most systems impose an upper bound on path names passed to the
kernel, but using relative path names, it is possible to create and access files whose
absolute path name is essentially of unbounded length.
+ </div></li><li class="listitem"><div
class="para">
+ Some file systems do not store names as fairly unrestricted byte sequences, as it
has been traditionally the case on GNU systems. This means that some byte sequences
(outside the POSIX safe character set) are not valid names. Conversely, names of existing
files may not be representable as byte sequences, and the files are thus inaccessible on
GNU systems. Some file systems perform Unicode canonicalization on file names. These file
systems preserve case, but reading the name of a just-created file using <code
class="function">readdir</code> might still result in a different byte
sequence.
+ </div></li><li class="listitem"><div
class="para">
+ Permissions and owners are not universally supported (and SUID/SGID bits may not be
available). For example, FAT file systems assign ownership based on a mount option, and
generally mark all files as executable. Any attempt to change permissions would result in
an error.
+ </div></li><li class="listitem"><div
class="para">
+ Non-regular files (device nodes, FIFOs) are not generally available.
+ </div></li><li class="listitem"><div
class="para">
+ Only on some file systems, files can have holes, that is, not all of their contents
is backed by disk storage.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="function">ioctl</code> support (even fairly
generic functionality such as <code class="literal">FIEMAP</code>
for discovering physical file layout and holes) is file-system-specific.
+ </div></li><li class="listitem"><div
class="para">
+ Not all file systems support extended attributes, ACLs and SELinux metadata. Size
and naming restriction on extended attributes vary.
+ </div></li><li class="listitem"><div
class="para">
+ Hard links may not be supported at all (FAT) or only within the same directory
(AFS). Symbolic links may not be available, either. Reflinks (hard links with
copy-on-write semantics) are still very rare. Recent systems restrict creation of hard
links to users which own the target file or have read/write access to it, but older
systems do not.
+ </div></li><li class="listitem"><div
class="para">
+ Renaming (or moving) files using <code
class="function">rename</code> can fail (even when <code
class="function">stat</code> indicates that the source and target
directories are located on the same file system). This system call should work if the old
and new paths are located in the same directory, though.
+ </div></li><li class="listitem"><div
class="para">
+ Locking semantics vary among file systems. This affects advisory and mandatory
locks. For example, some network file systems do not allow deleting files which are opened
by any process.
+ </div></li><li class="listitem"><div
class="para">
+ Resolution of time stamps varies from two seconds to nanoseconds. Not all time
stamps are available on all file systems. File creation time (<span
class="emphasis"><em>birth time</em></span>) is not exposed
over the <code class="function">stat</code>/<code
class="function">fstat</code> interface, even if stored by the file
system.
+ </div></li></ul></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Prev</strong>7.3. File
system limits</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Free_Space.html"><strong>Next</strong>7.5. Checking
free space</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html
new file mode 100644
index 0000000..67d5336
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Foreign.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.2. Accessing the file system as a different user</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File
system manipulation" /><link rel="prev"
href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File
system manipulation" /><link rel="next"
href="sect-Defensive_Coding-Tasks-File_System-Limits.html" title="7.3. File
system limits" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="chap-D
efensive_Coding-Tasks-File_System.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-File_System-Foreign"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.2. Accessing the file system as a different
user</h2></div></div></div><div class="para">
+ This section deals with access to the file system as a specific user. This is
different from accessing files and directories owned by a different, potentially untrusted
user; see <a class="xref"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html">Section 7.2,
“Accessing the file system as a different user”</a>.
+ </div><div class="para">
+ One approach is to spawn a child process which runs under the target user and group
IDs (both effective and real IDs). Note that this child process can block indefinitely,
even when processing regular files only. For example, a special FUSE file system could
cause the process to hang in uninterruptible sleep inside a <code
class="function">stat</code> system call.
+ </div><div class="para">
+ An existing process could change its user and group ID using <code
class="function">setfsuid</code> and <code
class="function">setfsgid</code>. (These functions are preferred over
<code class="function">seteuid</code> and <code
class="function">setegid</code> because they do not allow the
impersonated user to send signals to the process.) These functions are not thread safe. In
multi-threaded processes, these operations need to be performed in a single-threaded child
process. Unexpected blocking may occur as well.
+ </div><div class="para">
+ It is not recommended to try to reimplement the kernel permission checks in user space
because the required checks are complex. It is also very difficult to avoid race
conditions during path name resolution.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="chap-Defensive_Coding-Tasks-File_System.html"><strong>Prev</strong>Chapter 7. File
system manipulation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Limits.html"><strong>Next</strong>7.3. File
system limits</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html
new file mode 100644
index 0000000..0b471c6
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Free_Space.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.5. Checking free space</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File
system manipulation" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-File_System-Features.html"
title="7.4. File system features" /><link rel="next"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"
title="Chapter 8. Temporary files" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-De
fensive_Coding-Tasks-File_System-Features.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-File_System-Free_Space"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.5. Checking free
space</h2></div></div></div><div class="para">
+ The <code class="function">statvfs</code> and <code
class="function">fstatvfs</code> functions allow programs to examine
the number of available blocks and inodes, through the members <code
class="literal">f_bfree</code>, <code
class="literal">f_bavail</code>, <code
class="literal">f_ffree</code>, and <code
class="literal">f_favail</code> of <code
class="literal">struct statvfs</code>. Some file systems return
fictional values in the <code class="literal">f_ffree</code> and
<code class="literal">f_favail</code> fields, so the only reliable
way to discover if the file system still has space for a file is to try to create it. The
<code class="literal">f_bfree</code> field should be reasonably
accurate, though.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Prev</strong>7.4. File
system features</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Temporary_Files.html"><strong>Next</strong>Chapter 8. Temporary
files</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html
new file mode 100644
index 0000000..66cc537
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-File_System-Limits.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>7.3. File system limits</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-File_System.html" title="Chapter 7. File
system manipulation" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"
title="7.2. Accessing the file system as a different user" /><link
rel="next"
href="sect-Defensive_Coding-Tasks-File_System-Features.html"
title="7.4. File system features" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-File_System-Limits"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">7.3. File system
limits</h2></div></div></div><div class="para">
+ For historical reasons, there are preprocessor constants such as <code
class="literal">PATH_MAX</code>, <code
class="literal">NAME_MAX</code>. However, on most systems, the length
of canonical path names (absolute path names with all symbolic links resolved, as returned
by <code class="function">realpath</code> or <code
class="function">canonicalize_file_name</code>) can exceed <code
class="literal">PATH_MAX</code> bytes, and individual file name
components can be longer than <code class="literal">NAME_MAX</code>.
This is also true of the <code class="literal">_PC_PATH_MAX</code>
and <code class="literal">_PC_NAME_MAX</code> values returned by
<code class="function">pathconf</code>, and the <code
class="literal">f_namemax</code> member of <code
class="literal">struct statvfs</code>. Therefore, these constants
should not be used. This is also reason why the <code
class="function">readdir_r</code> should never be used (instead, use
<code class="function">readdir</code>).
+ </div><div class="para">
+ You should not write code in a way that assumes that there is an upper limit on the
number of subdirectories of a directory, the number of regular files in a directory, or
the link count of an inode.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-File_System-Foreign.html"><strong>Prev</strong>7.2. Accessing
the file system as a different user</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-File_System-Features.html"><strong>Next</strong>7.4. File
system features</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html
new file mode 100644
index 0000000..a7fc812
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Library_Design-Callbacks.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>5.3. Callbacks</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Library_Design.html"
title="Chapter 5. Library Design" /><link rel="prev"
href="ch05s02.html" title="5.2. Object orientation" /><link
rel="next" href="ch05s04.html" title="5.4. Process
attributes" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch05s02.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="ch05s04.html"
<strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Library_Design-Callbacks"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">5.3. Callbacks</h2></div></div></div><div
class="para">
+ Higher-order code is difficult to analyze for humans
and computers alike, so it should be avoided. Often, an iterator-based interface (a
library function which is called repeatedly by client code and returns a stream of events)
leads to a better design which is easier to document and use.
+ </div><div class="para">
+ If callbacks are unavoidable, some guidelines for them follow.
+ </div><div class="para">
+ In modern C++ code, <code class="literal">std::function</code>
objects should be used for callbacks.
+ </div><div class="para">
+ In older C++ code and in C code, all callbacks must have an additional closure
parameter of type <code class="literal">void *</code>, the value of
which can be specified by client code. If possible, the value of the closure parameter
should be provided by client code at the same time a specific callback is registered (or
specified as a function argument). If a single closure parameter is shared by multiple
callbacks, flexibility is greatly reduced, and conflicts between different pieces of
client code using the same library object could be unresolvable. In some cases, it makes
sense to provide a de-registration callback which can be used to destroy the closure
parameter when the callback is no longer used.
+ </div><div class="para">
+ Callbacks can throw exceptions or call <code
class="function">longjmp</code>. If possible, all library objects
should remain in a valid state. (All further operations on them can fail, but it should be
possible to deallocate them without causing resource leaks.)
+ </div><div class="para">
+ The presence of callbacks raises the question if functions provided by the library are
<span class="emphasis"><em>reentrant</em></span>. Unless
a library was designed for such use, bad things will happen if a callback function uses
functions in the same library (particularly if they are invoked on the same objects and
manipulate the same state). When the callback is invoked, the library can be in an
inconsistent state. Reentrant functions are more difficult to write than thread-safe
functions (by definition, simple locking would immediately lead to deadlocks). It is also
difficult to decide what to do when destruction of an object which is currently processing
a callback is requested.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch05s02.html"><strong>Prev</strong>5.2. Object
orientation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch05s04.html"><strong>Next</strong>5.4. Process
attributes</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html
new file mode 100644
index 0000000..fb4c673
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Daemons.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>9.4. Daemons</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /><link rel="prev"
href="ch09s03.html" title="9.3. SUID/SGID processes" /><link
rel="next" href="ch09s05.html" title="9.5. Semantics of command
line arguments" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch09s03.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="ch09s
05.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Processes-Daemons"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">9.4. Daemons</h2></div></div></div><div
class="para">
+ Background processes providing system services (<span
class="emphasis"><em>daemons</em></span>) need to decouple
themselves from the controlling terminal and the parent process environment:
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ Fork.
+ </div></li><li class="listitem"><div
class="para">
+ In the child process, call <code
class="function">setsid</code>. The parent process can simply exit
(using <code class="function">_exit</code>, to avoid running
clean-up actions twice).
+ </div></li><li class="listitem"><div
class="para">
+ In the child process, fork again. Processing continues in the child process. Again,
the parent process should just exit.
+ </div></li><li class="listitem"><div
class="para">
+ Replace the descriptors 0, 1, 2 with a descriptor for <code
class="filename">/dev/null</code>. Logging should be redirected to
<span
class="application"><strong>syslog</strong></span>.
+ </div></li></ul></div><div class="para">
+ Older instructions for creating daemon processes recommended a call to <code
class="literal">umask(0)</code>. This is risky because it often leads
to world-writable files and directories, resulting in security vulnerabilities such as
arbitrary process termination by untrusted local users, or log file truncation. If the
<span class="emphasis"><em>umask</em></span> needs
setting, a restrictive value such as <code
class="literal">027</code> or <code
class="literal">077</code> is recommended.
+ </div><div class="para">
+ Other aspects of the process environment may have to changed as well (environment
variables, signal handler disposition).
+ </div><div class="para">
+ It is increasingly common that server processes do not run as background processes,
but as regular foreground process under a supervising master process (such as <span
class="application"><strong>systemd</strong></span>).
Server processes should offer a command line option which disables forking and replacement
of the standard output and standard error streams. Such an option is also useful for
debugging.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch09s03.html"><strong>Prev</strong>9.3. SUID/SGID
processes</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch09s05.html"><strong>Next</strong>9.5. Semantics of
command line arguments</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html
new file mode 100644
index 0000000..95299d3
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>9.6. fork as a primitive for parallelism</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Processes.html"
title="Chapter 9. Processes" /><link rel="prev"
href="ch09s05.html" title="9.5. Semantics of command line arguments"
/><link rel="next"
href="chap-Defensive_Coding-Tasks-Serialization.html"
title="Chapter 10. Serialization and Deserialization" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch09s05.html"><strong>Prev</stron
g></a></li><li class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">9.6. <code class="function">fork</code>
as a primitive for parallelism</h2></div></div></div><div
class="para">
+ A call to <code class="function">fork</code> which is not
immediately followed by a call to <code
class="function">execve</code> (perhaps after rearranging and closing
file descriptors) is typically unsafe, especially from a library which does not control
the state of the entire process. Such use of <code
class="function">fork</code> should be replaced with proper child
processes or threads.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch09s05.html"><strong>Prev</strong>9.5. Semantics of
command line arguments</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="chap-Defensive_Coding-Tasks-Serialization.html"><strong>Next</strong>Chapter 10. Serialization
and Deserialization</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html
new file mode 100644
index 0000000..290de02
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Processes.html
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>Chapter 9. Processes</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="pt02.html" title="Part II. Specific Programming Tasks"
/><link rel="prev" href="ch08s05.html"
title="8.5. Compensating for unsafe file creation" /><link
rel="next" href="ch09s02.html" title="9.2. Handling child process
termination" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch08s05.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n" href="ch09s0
2.html"><strong>Next</strong></a></li></ul><div
xml:lang="en-US" class="chapter"
id="sect-Defensive_Coding-Tasks-Processes" lang="en-US"><div
class="titlepage"><div><div><h2
class="title">Chapter 9. Processes</h2></div></div></div><div
class="toc"><dl class="toc"><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Creation">9.1.
Safe process
creation</a></span></dt><dd><dl><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#idm217610205904">9.1.1.
Obtaining the program path and the command line
template</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-execve">9.1.2.
Bypassing the shell</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">9.1.3.
Specifying the process environment</a></span></dt><dt><span
class="section"
<a
href="sect-Defensive_Coding-Tasks-Processes.html#idm217621505504">9.1.4.
Robust argument list processing</a></span></dt><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">9.1.5.
Passing secrets to
subprocesses</a></span></dt></dl></dd><dt><span
class="section"><a href="ch09s02.html">9.2. Handling child
process termination</a></span></dt><dt><span
class="section"><a href="ch09s03.html">9.3. <code
class="literal">SUID</code>/<code
class="literal">SGID</code>
processes</a></span></dt><dd><dl><dt><span
class="section"><a
href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">9.3.1.
Accessing environment
variables</a></span></dt></dl></dd><dt><span
class="section"><a
href="sect-Defensive_Coding-Tasks-Processes-Daemons.html">9.4.
Daemons</a></span></dt><dt><span
class="section"><a href="ch09s05.html">9.5. Semantics of
command line arguments</a></span></dt><dt><span
class="section">
<a
href="sect-Defensive_Coding-Tasks-Processes-Fork-Parallel.html">9.6. <code
class="function">fork</code> as a primitive for
parallelism</a></span></dt></dl></div><div
class="section"
id="sect-Defensive_Coding-Tasks-Processes-Creation"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">9.1. Safe process
creation</h2></div></div></div><div class="para">
+ This section describes how to create new child processes in a safe manner. In addition
to the concerns addressed below, there is the possibility of file descriptor leaks, see
<a class="xref"
href="sect-Defensive_Coding-Tasks-Descriptors-Child_Processes.html">Section 6.2,
“Preventing file descriptor leaks to child processes”</a>.
+ </div><div class="section" id="idm217610205904"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217610205904">9.1.1. Obtaining the program path and the command line
template</h3></div></div></div><div class="para">
+ The name and path to the program being invoked should be hard-coded or controlled by
a static configuration file stored at a fixed location (at an file system absolute path).
The same applies to the template for generating the command line.
+ </div><div class="para">
+ The configured program name should be an absolute path. If it is a relative path, the
contents of the <code class="envar">PATH</code> must be obtained in
s secure manner (see <a class="xref"
href="ch09s03.html#sect-Defensive_Coding-Tasks-secure_getenv">Section 9.3.1,
“Accessing environment variables”</a>). If the <code
class="envar">PATH</code> variable is not set or untrusted, the safe
default <code class="literal">/bin:/usr/bin</code> must be used.
+ </div><div class="para">
+ If too much flexibility is provided here, it may allow invocation of arbitrary
programs without proper authorization.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-execve"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.1.2. Bypassing the
shell</h3></div></div></div><div class="para">
+ Child processes should be created without involving the system shell.
+ </div><div class="para">
+ For C/C++, <code class="function">system</code> should not be
used. The <code class="function">posix_spawn</code> function can be
used instead, or a combination <code class="function">fork</code>
and <code class="function">execve</code>. (In some cases, it may be
preferable to use <code class="function">vfork</code> or the
Linux-specific <code class="function">clone</code> system call
instead of <code class="function">fork</code>.)
+ </div><div class="para">
+ In Python, the <code class="literal">subprocess</code> module
bypasses the shell by default (when the <code
class="literal">shell</code> keyword argument is not set to true).
<code class="function">os.system</code> should not be used.
+ </div><div class="para">
+ The Java class <span
class="type">java.lang.ProcessBuilder</span> can be used to create
subprocesses without interference from the system shell.
+ </div><div class="important"><div
class="admonition_header"><h2>Portability
notice</h2></div><div class="admonition"><div
class="para">
+ On Windows, there is no argument vector, only a single argument string. Each
application is responsible for parsing this string into an argument vector. There is
considerable variance among the quoting style recognized by applications. Some of them
expand shell wildcards, others do not. Extensive application-specific testing is required
to make this secure.
+ </div></div></div><div class="para">
+ Note that some common applications (notably <span
class="application"><strong>ssh</strong></span>)
unconditionally introduce the use of a shell, even if invoked directly without a shell. It
is difficult to use these applications in a secure manner. In this case, untrusted data
should be supplied by other means. For example, standard input could be used, instead of
the command line.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-environ"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.1.3. Specifying the process
environment</h3></div></div></div><div
class="para">
+ Child processes should be created with a minimal set of environment variables. This
is absolutely essential if there is a trust transition involved, either when the parent
process was created, or during the creation of the child process.
+ </div><div class="para">
+ In C/C++, the environment should be constructed as an array of strings and passed as
the <code class="varname">envp</code> argument to <code
class="function">posix_spawn</code> or <code
class="function">execve</code>. The functions <code
class="function">setenv</code>, <code
class="function">unsetenv</code> and <code
class="function">putenv</code> should not be used. They are not
thread-safe and suffer from memory leaks.
+ </div><div class="para">
+ Python programs need to specify a <code
class="literal">dict</code> for the the <code
class="varname">env</code> argument of the <code
class="function">subprocess.Popen</code> constructor. The Java class
<code class="literal">java.lang.ProcessBuilder</code> provides a
<code class="function">environment()</code> method, which returns a
map that can be manipulated.
+ </div><div class="para">
+ The following list provides guidelines for selecting the set of environment variables
passed to the child process.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ <code class="envar">PATH</code> should be initialized to
<code class="literal">/bin:/usr/bin</code>.
+ </div></li><li class="listitem"><div
class="para">
+ <code class="envar">USER</code> and <code
class="envar">HOME</code> can be inhereted from the parent process
environment, or they can be initialized from the <code
class="literal">pwent</code> structure for the user.
+ </div></li><li class="listitem"><div
class="para">
+ The <code class="envar">DISPLAY</code> and <code
class="envar">XAUTHORITY</code> variables should be passed to the
subprocess if it is an X program. Note that this will typically not work across trust
boundaries because <code class="envar">XAUTHORITY</code> refers to a
file with <code class="literal">0600</code> permissions.
+ </div></li><li class="listitem"><div
class="para">
+ The location-related environment variables <code
class="envar">LANG</code>, <code
class="envar">LANGUAGE</code>, <code
class="envar">LC_ADDRESS</code>, <code
class="envar">LC_ALL</code>, <code
class="envar">LC_COLLATE</code>, <code
class="envar">LC_CTYPE</code>, <code
class="envar">LC_IDENTIFICATION</code>, <code
class="envar">LC_MEASUREMENT</code>, <code
class="envar">LC_MESSAGES</code>, <code
class="envar">LC_MONETARY</code>, <code
class="envar">LC_NAME</code>, <code
class="envar">LC_NUMERIC</code>, <code
class="envar">LC_PAPER</code>, <code
class="envar">LC_TELEPHONE</code> and <code
class="envar">LC_TIME</code> can be passed to the subprocess if
present.
+ </div></li><li class="listitem"><div
class="para">
+ The called process may need application-specific environment variables, for example
for passing passwords. (See <a class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility">Section 9.1.5,
“Passing secrets to subprocesses”</a>.)
+ </div></li><li class="listitem"><div
class="para">
+ All other environment variables should be dropped. Names for new environment
variables should not be accepted from untrusted sources.
+ </div></li></ul></div></div><div
class="section" id="idm217621505504"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3 class="title"
id="idm217621505504">9.1.4. Robust argument list
processing</h3></div></div></div><div
class="para">
+ When invoking a program, it is sometimes necessary to include data from untrusted
sources. Such data should be check against embedded <code
class="literal">NUL</code> characters because the system APIs will
sliently truncate argument strings at the first <code
class="literal">NUL</code> character.
+ </div><div class="para">
+ The following recommendations assume that the program being invoked uses GNU-style
option processing using <code class="function">getopt_long</code>.
This convention is widely used, but it is just that, and individual programs might
interpret a command line in a different way.
+ </div><div class="para">
+ If the untrusted data has to go into an option, use the <code
class="literal">--option-name=VALUE</code> syntax, placing the option
and its value into the same command line argument. This avoids any potential confusion if
the data starts with <code class="literal">-</code>.
+ </div><div class="para">
+ For positional arguments, terminate the option list with a single <code
class="option">--</code> marker after the last option, and include the
data at the right position. The <code class="option">--</code>
marker terminates option processing, and the data will not be treated as an option even if
it starts with a dash.
+ </div></div><div class="section"
id="sect-Defensive_Coding-Tasks-Processes-Command_Line_Visibility"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">9.1.5. Passing secrets to
subprocesses</h3></div></div></div><div
class="para">
+ The command line (the name of the program and its argument) of a running process is
traditionally available to all local users. The called program can overwrite this
information, but only after it has run for a bit of time, during which the information may
have been read by other processes. However, on Linux, the process environment is
restricted to the user who runs the process. Therefore, if you need a convenient way to
pass a password to a child process, use an environment variable, and not a command line
argument. (See <a class="xref"
href="sect-Defensive_Coding-Tasks-Processes.html#sect-Defensive_Coding-Tasks-Processes-environ">Section 9.1.3,
“Specifying the process environment”</a>.)
+ </div><div class="important"><div
class="admonition_header"><h2>Portability
notice</h2></div><div class="admonition"><div
class="para">
+ On some UNIX-like systems (notably Solaris), environment variables can be read by
any system user, just like command lines.
+ </div></div></div><div class="para">
+ If the environment-based approach cannot be used due to portability concerns, the
data can be passed on standard input. Some programs (notably <span
class="application"><strong>gpg</strong></span>) use
special file descriptors whose numbers are specified on the command line. Temporary files
are an option as well, but they might give digital forensics access to sensitive data
(such as passphrases) because it is difficult to safely delete them in all cases.
+ </div></div></div></div><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="ch08s05.html"><strong>Prev</strong>8.5. Compensating for
unsafe file creation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch09s02.html"><strong>Next</strong>9.2. Handling child
process termination</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html
new file mode 100644
index 0000000..5571148
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-Qt.html
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.6. Using Qt for XML parsing</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"
title="10.4.5. Using Expat for XML parsing" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"
title="10.4.7. Using OpenJDK for XML parsing and validation"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-Qt"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.6. Using Qt for XML
parsing</h3></div></div></div><div class="para">
+ The XML component of Qt, QtXml, does not resolve external IDs by default, so it is
not requred to prevent such resolution. Internal entities are processed, though. To change
that, a custom <code class="literal">QXmlDeclHandler</code> and
<code class="literal">QXmlSimpleReader</code> subclasses are needed.
It is not possible to use the <code
class="function">QDomDocument::setContent(const QByteArray
&)</code> convenience methods.
+ </div><div class="para">
+ <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler">Example 10.3,
“A QtXml entity handler which blocks entity processing”</a> shows an entity handler
which always returns errors, causing parsing to stop when encountering entity
declarations.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityHandler"><h6>Example 10.3. A
QtXml entity handler which blocks entity processing</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+class NoEntityHandler : public QXmlDeclHandler {
+public:
+ bool attributeDecl(<span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&,
+ <span class="perl_DataType">const</span> QString&,
<span class="perl_DataType">const</span> QString&);
+ bool internalEntityDecl(<span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&);
+ bool externalEntityDecl(<span class="perl_DataType">const</span>
QString&, <span class="perl_DataType">const</span>
QString&,
+ <span class="perl_DataType">const</span> QString&);
+ QString errorString() <span class="perl_DataType">const</span>;
+};
+
+ bool
+NoEntityHandler::attributeDecl
+ (<span class="perl_DataType">const</span> QString&,
<span class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&,
+ <span class="perl_DataType">const</span> QString&)
+{
+ <span class="perl_Keyword">return</span> false;
+}
+
+bool
+NoEntityHandler::internalEntityDecl(<span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&)
+{
+ <span class="perl_Keyword">return</span> false;
+}
+
+bool
+NoEntityHandler::externalEntityDecl(<span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span> QString&, <span
class="perl_DataType">const</span>
+ QString&)
+{
+ <span class="perl_Keyword">return</span> false;
+}
+
+QString
+NoEntityHandler::errorString() <span
class="perl_DataType">const</span>
+{
+ <span class="perl_Keyword">return</span> <span
class="perl_String">"XML declaration not permitted"</span>;
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ This handler is used in the custom <code
class="literal">QXmlReader</code> subclass in <a
class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader">Example 10.4,
“A QtXml XML reader which blocks entity processing”</a>. Some parts of QtXml will
call the <code class="function">setDeclHandler(QXmlDeclHandler
*)</code> method. Consequently, we prevent overriding our custom handler by
providing a definition of this method which does nothing. In the constructor, we activate
namespace processing; this part may need adjusting.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-NoEntityReader"><h6>Example 10.4. A
QtXml XML reader which blocks entity processing</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+class NoEntityReader : public QXmlSimpleReader {
+ NoEntityHandler handler;
+public:
+ NoEntityReader();
+ <span class="perl_DataType">void</span>
setDeclHandler(QXmlDeclHandler *);
+};
+
+ NoEntityReader::NoEntityReader()
+{
+ QXmlSimpleReader::setDeclHandler(&handler);
+ setFeature(<span
class="perl_String">"http://xml.org/sax/features/namesp...;,
true);
+ setFeature(<span
class="perl_String">"http://xml.org/sax/features/namesp...;,
false);
+ }
+
+<span class="perl_DataType">void</span>
+NoEntityReader::setDeclHandler(QXmlDeclHandler *)
+{
+ <span class="perl_Comment">// Ignore the handler which was passed
in.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>}
+</pre></div></div><br class="example-break" /><div
class="para">
+ Our <code class="literal">NoEntityReader</code> class can be
used with one of the overloaded <code
class="function">QDomDocument::setContent</code> methods. <a
class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html#ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument">Example 10.5,
“Parsing an XML document with QDomDocument, without entity expansion”</a> shows how
the <code class="literal">buffer</code> object (of type <code
class="literal">QByteArray</code>) is wrapped as a <code
class="literal">QXmlInputSource</code>. After calling the <code
class="function">setContent</code> method, you should check the return
value and report any error.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Qt-QDomDocument"><h6>Example 10.5. Parsing
an XML document with QDomDocument, without entity expansion</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+NoEntityReader reader;
+QBuffer buffer(&data);
+buffer.open(QIODevice::ReadOnly);
+QXmlInputSource source(&buffer);
+QDomDocument doc;
+QString errorMsg;
+<span class="perl_DataType">int</span> errorLine;
+<span class="perl_DataType">int</span> errorColumn;
+bool okay = doc.setContent
+ (&source, &reader, &errorMsg, &errorLine,
&errorColumn);
+</pre></div></div><br class="example-break"
/></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Prev</strong>10.4.5. Using
Expat for XML parsing</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Next</strong>10.4.7. Using
OpenJDK for XML parsing and
validat...</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html
new file mode 100644
index 0000000..5f68b31
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.2. Entity expansion</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"
title="10.4.3. XInclude processing" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="sect-Def
ensive_Coding-Tasks-Serialization-XML.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-Entities"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.2. Entity
expansion</h3></div></div></div><div
class="para">
+ When external DTD processing is disabled, an internal DTD subset can still contain
entity definitions. Entity declarations can reference other entities. Some XML libraries
expand entities automatically, and this processing cannot be switched off in some places
(such as attribute values or content models). Without limits on the entity nesting level,
this expansion results in data which can grow exponentially in length with size of the
input. (If there is a limit on the nesting level, the growth is still polynomial, unless
further limits are imposed.)
+ </div><div class="para">
+ Consequently, the processing internal DTD subsets should be disabled if possible, and
only trusted DTDs should be processed. If a particular XML application does not permit
such restrictions, then application-specific limits are called for.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html"><strong>Prev</strong>10.4. XML
serialization</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Next</strong>10.4.3. XInclude
processing</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html
new file mode 100644
index 0000000..cc080c7
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.5. Using Expat for XML parsing</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"
title="10.4.4. Algorithmic complexity of XML validation" /><link
rel="next" href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"
title="10.4.6. Using Qt for XML parsing" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous">
<a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-Expat"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.5. Using Expat for XML
parsing</h3></div></div></div><div class="para">
+ By default, Expat does not try to resolve external IDs, so no steps are required to
block them. However, internal entity declarations are processed. Installing a callback
which stops parsing as soon as such entities are encountered disables them, see <a
class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler">Example 10.1,
“Disabling XML entity processing with Expat”</a>. Expat does not perform any
validation, so there are no problems related to that.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-EntityDeclHandler"><h6>Example 10.1. Disabling
XML entity processing with Expat</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Comment">// Stop the parser when an entity declaration
is encountered.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_DataType">static</span> <span
class="perl_DataType">void</span>
+EntityDeclHandler(<span class="perl_DataType">void</span>
*userData,
+ <span class="perl_DataType">const</span> XML_Char *entityName,
<span class="perl_DataType">int</span> is_parameter_entity,
+ <span class="perl_DataType">const</span> XML_Char *value,
<span class="perl_DataType">int</span> value_length,
+ <span class="perl_DataType">const</span> XML_Char *base,
<span class="perl_DataType">const</span> XML_Char *systemId,
+ <span class="perl_DataType">const</span> XML_Char *publicId,
<span class="perl_DataType">const</span> XML_Char *notationName)
+{
+ XML_StopParser((XML_Parser)userData, XML_FALSE);
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ This handler must be installed when the <code
class="literal">XML_Parser</code> object is created (<a
class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html#ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create">Example 10.2,
“Creating an Expat XML parser”</a>).
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-Expat-Create"><h6>Example 10.2. Creating
an Expat XML parser</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+XML_Parser parser = XML_ParserCreate(<span
class="perl_String">"UTF-8"</span>);
+<span class="perl_Keyword">if</span> (parser == NULL) {
+ fprintf(stderr, <span class="perl_String">"XML_ParserCreate
failed</span><span class="perl_Char">\n</span><span
class="perl_String">"</span>);
+ close(fd);
+ exit(<span class="perl_Float">1</span>);
+}
+<span class="perl_Comment">// EntityDeclHandler needs a reference to the
parser to stop</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// parsing.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>XML_SetUserData(parser, parser);
+<span class="perl_Comment">// Disable entity processing, to inhibit
entity expansion.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>XML_SetEntityDeclHandler(parser,
EntityDeclHandler);
+</pre></div></div><br class="example-break" /><div
class="para">
+ It is also possible to reject internal DTD subsets altogeher, using a suitable
<code class="literal">XML_StartDoctypeDeclHandler</code> handler
installed with <code
class="function">XML_SetDoctypeDeclHandler</code>.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Prev</strong>10.4.4. Algorithmic
complexity of XML validation</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Next</strong>10.4.6. Using
Qt for XML parsing</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html
new file mode 100644
index 0000000..0ec5695
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.7.3. Other XML parsers in OpenJDK</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"
title="10.4.7. Using OpenJDK for XML parsing and validation" /><link
rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"
title="10.4.7.2. XML Schema validation in OpenJDK" /><link
rel="next" href="ch10s05.html" title="10.5. Protocol
Encoders" /></head><body class="toc_embeded "><div
id="tocdiv" class="toc"><iframe id="tocframe"
class="toc" src="../../../../toc.html">This is an iframe, to view
it upgrade your browser or enable iframe display.</iframe></div><p
id="title"><a class="left"
href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="ch10s05.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">10.4.7.3. Other XML parsers in
OpenJDK</h4></div></div></div><div class="para">
+ OpenJDK contains additional XML parsing and processing facilities. Some of them are
insecure.
+ </div><div class="para">
+ The class <span class="type">java.beans.XMLDecoder</span> acts
as a bridge between the Java object serialization format and XML. It is close to
impossible to securely deserialize Java objects in this format from untrusted inputs, so
its use is not recommended, as with the Java object serialization format itself. See <a
class="xref"
href="ch10s03.html#sect-Defensive_Coding-Tasks-Serialization-Library">Section 10.3,
“Library support for deserialization”</a>.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Prev</strong>10.4.7.2. XML
Schema validation in OpenJDK</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="ch10s05.html"><strong>Next</strong>10.5. Protocol
Encoders</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html
new file mode 100644
index 0000000..85d725f
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.7.2. XML Schema validation in OpenJDK</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"
title="10.4.7. Using OpenJDK for XML parsing and validation" /><link
rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"
title="10.4.7. Using OpenJDK for XML parsing and validation" /><link
rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"
title="10.4.7.3. Other XML parsers in OpenJDK" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png
" alt="Documentation Site" /></a></p><ul
class="docnav"><li class="previous"><a
accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">10.4.7.2. XML Schema validation in
OpenJDK</h4></div></div></div><div class="para">
+ <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX">Example 10.10,
“SAX-based validation against an XML schema in OpenJDK”</a> shows how to validate a
document against an XML Schema, using a SAX-based approach. The XML data is read from an
<code class="literal">java.io.InputStream</code> in the <code
class="literal">inputStream</code> variable.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_SAX"><h6>Example 10.10. SAX-based
validation against an XML schema in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SchemaFactory factory = SchemaFactory.<span
class="perl_Function">newInstance</span>(
+ XMLConstants.<span
class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
+
+<span class="perl_Comment">// This enables restrictions on the schema and
document</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// complexity.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setFeature</span>(XMLConstants.<span
class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// This prevents resource resolution by the
schema itself.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// If the schema is trusted and references additional
files,</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// this line must be omitted, otherwise loading these
files</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// will fail.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+
+Schema schema = factory.<span
class="perl_Function">newSchema</span>(schemaFile);
+Validator validator = schema.<span
class="perl_Function">newValidator</span>();
+
+<span class="perl_Comment">// This prevents external resource
resolution.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>validator.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+
+validator.<span class="perl_Function">validate</span>(<span
class="perl_Keyword">new</span> SAXSource(<span
class="perl_Keyword">new</span> InputSource(inputStream)));
+</pre></div></div><br class="example-break" /><div
class="para">
+ The <code class="literal">NoResourceResolver</code> class is
defined in <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver">Example 10.7,
“Helper class to prevent schema resolution in OpenJDK”</a>.
+ </div><div class="para">
+ If you need to validate a document against an XML schema, use the code in <a
class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9,
“DOM-based XML parsing in OpenJDK”</a> to create the document, but do not enable
validation at this point. Then use <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM">Example 10.11,
“Validation of a DOM document against an XML schema in OpenJDK”</a> to perform the
schema-based validation on the <code
class="literal">org.w3c.dom.Document</code> instance <code
class="literal">document</code>.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-XMLSchema_DOM"><h6>Example 10.11. Validation
of a DOM document against an XML schema in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+SchemaFactory factory = SchemaFactory.<span
class="perl_Function">newInstance</span>(
+ XMLConstants.<span
class="perl_Function">W3C_XML_SCHEMA_NS_URI</span>);
+
+<span class="perl_Comment">// This enables restrictions on schema
complexity.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setFeature</span>(XMLConstants.<span
class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// The following line prevents resource
resolution</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// by the schema itself.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+
+Schema schema = factory.<span
class="perl_Function">newSchema</span>(schemaFile);
+
+Validator validator = schema.<span
class="perl_Function">newValidator</span>();
+
+<span class="perl_Comment">// This prevents external resource
resolution.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>validator.<span
class="perl_Function">setResourceResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoResourceResolver</span>());
+validator.<span class="perl_Function">validate</span>(<span
class="perl_Keyword">new</span> DOMSource(document));
+</pre></div></div><br class="example-break"
/></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html"><strong>Prev</strong>10.4.7. Using
OpenJDK for XML parsing and validat...</a></li><li
class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-Other.html"><strong>Next</strong>10.4.7.3. Other
XML parsers in OpenJDK</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html
new file mode 100644
index 0000000..e6ac9b1
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.7. Using OpenJDK for XML parsing and
validation</title><link rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"
title="10.4.6. Using Qt for XML parsing" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"
title="10.4.7.2. XML Schema validation in OpenJDK" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"
<a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.7. Using OpenJDK for XML parsing and
validation</h3></div></div></div><div
class="para">
+ OpenJDK contains facilities for DOM-based,
SAX-based, and StAX-based document parsing. Documents can be validated against DTDs or XML
schemas.
+ </div><div class="para">
+ The approach taken to deal with entity expansion differs from the general
recommendation in <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html">Section 10.4.2,
“Entity expansion”</a>. We enable the the feature flag <code
class="literal">javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING</code>,
which enforces heuristic restrictions on the number of entity expansions. Note that this
flag alone does not prevent resolution of external references (system IDs or public IDs),
so it is slightly misnamed.
+ </div><div class="para">
+ In the following sections, we use helper classes to prevent external ID resolution.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver"><h6>Example 10.6. Helper
class to prevent DTD external entity resolution in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">class</span> NoEntityResolver <span
class="perl_Keyword">implements</span> EntityResolver {
+ @Override
+ <span class="perl_Keyword">public</span> InputSource <span
class="perl_Function">resolveEntity</span>(String publicId, String
systemId)
+ <span class="perl_Keyword">throws</span> SAXException,
IOException {
+ <span class="perl_Comment">// Throwing an exception stops
validation.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> IOException(String<span
class="perl_Function">.format(</span><span
class="perl_Function"></span>
+<span class="perl_Function"></span> <span
class="perl_String">"attempt to resolve </span><span
class="perl_Char">\"</span><span
class="perl_String">%s</span><span
class="perl_Char">\"</span><span
class="perl_String"> </span><span
class="perl_Char">\"</span><span
class="perl_String">%s</span><span
class="perl_Char">\"</span><span
class="perl_String">"</span>, publicId, systemId));
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoResourceResolver"><h6>Example 10.7. Helper
class to prevent schema resolution in OpenJDK</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">class</span> NoResourceResolver <span
class="perl_Keyword">implements</span> LSResourceResolver {
+ @Override
+ <span class="perl_Keyword">public</span> LSInput <span
class="perl_Function">resolveResource</span>(String type, String
namespaceURI,
+ String publicId, String systemId, String baseURI) {
+ <span class="perl_Comment">// Throwing an exception stops
validation.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span> <span
class="perl_Keyword">throw</span> <span
class="perl_Keyword">new</span> RuntimeException(String<span
class="perl_Function">.format(</span><span
class="perl_Function"></span>
+<span class="perl_Function"></span> <span
class="perl_String">"resolution attempt: type=%s namespace=%s
"</span> +
+ <span class="perl_String">"publicId=%s systemId=%s
baseURI=%s"</span>,
+ type, namespaceURI, publicId, systemId, baseURI));
+ }
+}
+</pre></div></div><br class="example-break" /><div
class="para">
+ <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports">Example 10.8,
“Java imports for OpenJDK XML parsing”</a> shows the imports used by the examples.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-Imports"><h6>Example 10.8. Java
imports for OpenJDK XML parsing</h6><div
class="example-contents"><pre xml:lang="en-US"
class="programlisting" lang="en-US">
+<span class="perl_Keyword">import</span> javax.xml.XMLConstants;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.DocumentBuilder;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.DocumentBuilderFactory;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.ParserConfigurationException;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.SAXParser;
+<span class="perl_Keyword">import</span>
javax.xml.parsers.SAXParserFactory;
+<span class="perl_Keyword">import</span>
javax.xml.transform.dom.DOMSource;
+<span class="perl_Keyword">import</span>
javax.xml.transform.sax.SAXSource;
+<span class="perl_Keyword">import</span>
javax.xml.validation.Schema;
+<span class="perl_Keyword">import</span>
javax.xml.validation.SchemaFactory;
+<span class="perl_Keyword">import</span>
javax.xml.validation.Validator;
+
+<span class="perl_Keyword">import</span> org.w3c.dom.Document;
+<span class="perl_Keyword">import</span> org.w3c.dom.ls.LSInput;
+<span class="perl_Keyword">import</span>
org.w3c.dom.ls.LSResourceResolver;
+<span class="perl_Keyword">import</span>
org.xml.sax.EntityResolver;
+<span class="perl_Keyword">import</span> org.xml.sax.ErrorHandler;
+<span class="perl_Keyword">import</span> org.xml.sax.InputSource;
+<span class="perl_Keyword">import</span> org.xml.sax.SAXException;
+<span class="perl_Keyword">import</span>
org.xml.sax.SAXParseException;
+<span class="perl_Keyword">import org.xml.sax.XMLReader;</span>
+</pre></div></div><br class="example-break" /><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><div
class="titlepage"><div><div
keep-together.within-column="always"><h4
class="title">10.4.7.1. DOM-based XML parsing and DTD validation in
OpenJDK</h4></div></div></div><div class="para">
+ This approach produces a <code
class="literal">org.w3c.dom.Document</code> object from an input
stream. <a class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM">Example 10.9,
“DOM-based XML parsing in OpenJDK”</a> use the data from the <code
class="literal">java.io.InputStream</code> instance in the <code
class="literal">inputStream</code> variable.
+ </div><div class="example"
id="ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-DOM"><h6>Example 10.9. DOM-based
XML parsing in OpenJDK</h6><div class="example-contents"><pre
xml:lang="en-US" class="programlisting" lang="en-US">
+DocumentBuilderFactory factory = DocumentBuilderFactory.<span
class="perl_Function">newInstance</span>();
+<span class="perl_Comment">// Impose restrictions on the complexity of
the DTD.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setFeature</span>(XMLConstants.<span
class="perl_Function">FEATURE_SECURE_PROCESSING</span>, <span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// Turn on validation.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span><span
class="perl_Comment">// This step can be omitted if validation is not
desired.</span><span class="perl_Comment"></span>
+<span class="perl_Comment"></span>factory.<span
class="perl_Function">setValidating</span>(<span
class="perl_Keyword">true</span>);
+
+<span class="perl_Comment">// Parse the document.</span><span
class="perl_Comment"></span>
+<span class="perl_Comment"></span>DocumentBuilder builder =
factory.<span class="perl_Function">newDocumentBuilder</span>();
+builder.<span
class="perl_Function">setEntityResolver</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">NoEntityResolver</span>());
+builder.<span class="perl_Function">setErrorHandler</span>(<span
class="perl_Keyword">new</span> <span
class="perl_Function">Errors</span>());
+Document document = builder.<span
class="perl_Function">parse</span>(inputStream);
+</pre></div></div><br class="example-break" /><div
class="para">
+ External entity references are prohibited using the <code
class="literal">NoEntityResolver</code> class in <a
class="xref"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse.html#ex-Defensive_Coding-Tasks-Serialization-XML-OpenJDK-NoEntityResolver">Example 10.6,
“Helper class to prevent DTD external entity resolution in OpenJDK”</a>. Because
external DTD references are prohibited, DTD validation (if enabled) will only happen
against the internal DTD subset embedded in the XML document.
+ </div><div class="para">
+ To validate the document against an external DTD, use a <code
class="literal">javax.xml.transform.Transformer</code> class to add the
DTD reference to the document, and an entity resolver which whitelists this external
reference.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-Qt.html"><strong>Prev</strong>10.4.6. Using
Qt for XML parsing</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-OpenJDK_Parse-SAX.html"><strong>Next</strong>10.4.7.2. XML
Schema validation in OpenJDK</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html
new file mode 100644
index 0000000..16fe857
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.4. Algorithmic complexity of XML validation</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"
title="10.4.3. XInclude processing" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"
title="10.4.5. Using Expat for XML parsing" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey=
"p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-Validation"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.4. Algorithmic complexity of XML
validation</h3></div></div></div><div
class="para">
+ DTD-based XML validation uses regular expressions for content models. The XML
specification requires that content models are deterministic, which means that efficient
validation is possible. However, some implementations do not enforce determinism, and
require exponential (or just polynomial) amount of space or time for validating some
DTD/document combinations.
+ </div><div class="para">
+ XML schemas and RELAX NG (via the <code
class="literal">xsd:</code> prefix) directly support textual regular
expressions which are not required to be deterministic.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html"><strong>Prev</strong>10.4.3. XInclude
processing</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Expat.html"><strong>Next</strong>10.4.5. Using
Expat for XML parsing</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html
new file mode 100644
index 0000000..2819326
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML-XInclude.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4.3. XInclude processing</title><link
rel="stylesheet" type="text/css"
href="Common_Content/css/default.css" /><link rel="stylesheet"
media="print" href="Common_Content/css/print.css"
type="text/css" /><meta name="generator" content="publican
2.8" /><meta name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="sect-Defensive_Coding-Tasks-Serialization-XML.html" title="10.4. XML
serialization" /><link rel="prev"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"
title="10.4.2. Entity expansion" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"
title="10.4.4. Algorithmic complexity of XML validation"
/></head><body class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li class="previous
"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-XInclude"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.3. XInclude
processing</h3></div></div></div><div
class="para">
+ XInclude processing can reference file and network resources and include them into
the document, much like external entity references. When parsing untrusted XML documents,
XInclude processing should be truned off.
+ </div><div class="para">
+ XInclude processing is also fairly complex and may pull in support for the XPointer
and XPath specifications, considerably increasing the amount of code required for XML
processing.
+ </div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Prev</strong>10.4.2. Entity
expansion</a></li><li class="up"><a accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Validation.html"><strong>Next</strong>10.4.4. Algorithmic
complexity of XML validation</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html
new file mode 100644
index 0000000..54dc1f5
--- /dev/null
+++
b/public_html/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-Tasks-Serialization-XML.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"
/><title>10.4. XML serialization</title><link rel="stylesheet"
type="text/css" href="Common_Content/css/default.css" /><link
rel="stylesheet" media="print"
href="Common_Content/css/print.css" type="text/css" /><meta
name="generator" content="publican 2.8" /><meta
name="package"
content="Fedora_Security_Team-Defensive_Coding-1-en-US--" /><script
type="text/javascript"
src="../../../../../toc.js"></script><script
type="text/javascript">
+ addID('Fedora_Security_Team');
+
+ addID('Fedora_Security_Team.1');
+
+ addID('Fedora_Security_Team.1.books');
+ addID('Fedora_Security_Team.1.Defensive_Coding');
+ </script><link rel="home" href="index.html"
title="Defensive Coding" /><link rel="up"
href="chap-Defensive_Coding-Tasks-Serialization.html"
title="Chapter 10. Serialization and Deserialization" /><link
rel="prev" href="ch10s03.html" title="10.3. Library support for
deserialization" /><link rel="next"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"
title="10.4.2. Entity expansion" /></head><body
class="toc_embeded "><div id="tocdiv"
class="toc"><iframe id="tocframe" class="toc"
src="../../../../toc.html">This is an iframe, to view it upgrade your browser
or enable iframe display.</iframe></div><p id="title"><a
class="left" href="http://www.fedoraproject.org"><img
src="Common_Content/images/image_left.png" alt="Product Site"
/></a><a class="right"
href="http://docs.fedoraproject.org"><img
src="Common_Content/images/image_right.png" alt="Documentation Site"
/></a></p><ul class="docnav"><li
class="previous"><a accesskey="p" href="ch10s03.html
"><strong>Prev</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Next</strong></a></li></ul><div
class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML"><div
class="titlepage"><div><div
keep-together.within-column="always"><h2
class="title">10.4. XML
serialization</h2></div></div></div><div
class="para">
+
+ </div><div class="section"
id="sect-Defensive_Coding-Tasks-Serialization-XML-External"><div
class="titlepage"><div><div
keep-together.within-column="always"><h3
class="title">10.4.1. External
references</h3></div></div></div><div
class="para">
+ XML documents can contain external references. They can occur in various places.
+ </div><div class="itemizedlist"><ul><li
class="listitem"><div class="para">
+ In the DTD declaration in the header of an XML document:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_DataType"><!DOCTYPE </span>html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<span
class="perl_DataType">></span>
+</pre></div></li><li class="listitem"><div
class="para">
+ In a namespace declaration:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_Keyword"><xsd:schema</span><span
class="perl_Others"> xmlns:xsd=</span><span
class="perl_String">"http://www.w3.org/2001/XMLSchema&q...
class="perl_Keyword">></span>
+</pre></div></li><li class="listitem"><div
class="para">
+ In an entity defintion:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_Error"><</span>!ENTITY sys SYSTEM
"http://www.example.com/ent.xml">
+<span class="perl_Error"><</span>!ENTITY pub PUBLIC
"-//Example//Public Entity//EN"
+ "http://www.example.com/pub-ent.xml">
+</pre></div></li><li class="listitem"><div
class="para">
+ In a notation:
+ </div><div class="informalexample"><pre
class="programlisting">
+<span class="perl_Error"><</span>!NOTATION not SYSTEM
"../not.xml">
+</pre></div></li></ul></div><div
class="para">
+ Originally, these external references were intended as unique identifiers, but by
many XML implementations, they are used for locating the data for the referenced element.
This causes unwanted network traffic, and may disclose file system contents or otherwise
unreachable network resources, so this functionality should be disabled.
+ </div><div class="para">
+ Depending on the XML library, external referenced might be processed not just when
parsing XML, but also when generating it.
+ </div></div></div><ul class="docnav"><li
class="previous"><a accesskey="p"
href="ch10s03.html"><strong>Prev</strong>10.3. Library support
for deserialization</a></li><li class="up"><a
accesskey="u"
href="#"><strong>Up</strong></a></li><li
class="home"><a accesskey="h"
href="index.html"><strong>Home</strong></a></li><li
class="next"><a accesskey="n"
href="sect-Defensive_Coding-Tasks-Serialization-XML-Entities.html"><strong>Next</strong>10.4.2. Entity
expansion</a></li></ul></body></html>
\ No newline at end of file
diff --git
a/public_html/en-US/Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf
b/public_html/en-US/Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf
new file mode 100644
index 0000000..5333290
Binary files /dev/null and
b/public_html/en-US/Fedora_Security_Team/1/pdf/Defensive_Coding/Fedora_Security_Team-1-Defensive_Coding-en-US.pdf
differ
diff --git a/public_html/en-US/Site_Statistics.html
b/public_html/en-US/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/en-US/Site_Statistics.html
+++ b/public_html/en-US/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/en-US/opds-Community_Services_Infrastructure.xml
b/public_html/en-US/opds-Community_Services_Infrastructure.xml
index b4fa091..dcd83de 100644
--- a/public_html/en-US/opds-Community_Services_Infrastructure.xml
+++ b/public_html/en-US/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/en-US/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/en-US/opds-Fedora.xml b/public_html/en-US/opds-Fedora.xml
index 338f86d..b65e91a 100644
--- a/public_html/en-US/opds-Fedora.xml
+++ b/public_html/en-US/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/en-US/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>en-US</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>en-US</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
b/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
index 63973c8..92c0567 100644
--- a/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/en-US/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/en-US/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Core.xml
b/public_html/en-US/opds-Fedora_Core.xml
index 250adc4..33292c3 100644
--- a/public_html/en-US/opds-Fedora_Core.xml
+++ b/public_html/en-US/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/en-US/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Draft_Documentation.xml
b/public_html/en-US/opds-Fedora_Draft_Documentation.xml
index a22204a..0275b76 100644
--- a/public_html/en-US/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/en-US/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/en-US/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/en-US/opds-Fedora_Security_Team.xml
b/public_html/en-US/opds-Fedora_Security_Team.xml
index d8b8ef7..9d9e4c7 100644
--- a/public_html/en-US/opds-Fedora_Security_Team.xml
+++ b/public_html/en-US/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/en-US/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/en-US/opds.xml b/public_html/en-US/opds.xml
index 7aab2d9..b573dae 100644
--- a/public_html/en-US/opds.xml
+++ b/public_html/en-US/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/en-US/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/en-US/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/en-US/toc.html b/public_html/en-US/toc.html
index 903c057..0dbf490 100644
--- a/public_html/en-US/toc.html
+++ b/public_html/en-US/toc.html
@@ -94,9 +94,16 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed">
+ <a class="type"
href="Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='./Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types"
onclick="work=0;">
+ <a class="type"
href="./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed">
<a class="type"
href="Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='./Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types'
class="types" onclick="work=0;">
diff --git a/public_html/es-ES/Site_Statistics.html
b/public_html/es-ES/Site_Statistics.html
index ac3652a..6a44a10 100644
--- a/public_html/es-ES/Site_Statistics.html
+++ b/public_html/es-ES/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Idiomas totales: </b>44<br />
- <b>Paquetes totales: </b>879
+ <b>Paquetes totales: </b>880
</div>
</body>
</html>
diff --git a/public_html/es-ES/opds-Community_Services_Infrastructure.xml
b/public_html/es-ES/opds-Community_Services_Infrastructure.xml
index dc93569..e6d9e70 100644
--- a/public_html/es-ES/opds-Community_Services_Infrastructure.xml
+++ b/public_html/es-ES/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/es-ES/opds-Fedora.xml b/public_html/es-ES/opds-Fedora.xml
index e4e43a4..b1184d4 100644
--- a/public_html/es-ES/opds-Fedora.xml
+++ b/public_html/es-ES/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>es-ES</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>es-ES</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/es-ES/opds-Fedora_15.xml b/public_html/es-ES/opds-Fedora_15.xml
index a844b9d..9e16671 100644
--- a/public_html/es-ES/opds-Fedora_15.xml
+++ b/public_html/es-ES/opds-Fedora_15.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Fedora_15.xml</id>
<title>Fedora 15</title>
<subtitle>Fedora 15</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
b/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
index 1cd952c..0961d88 100644
--- a/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/es-ES/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Contributor_Documen...
<title>Fedora Documentación de Contribuyente</title>
<subtitle>Fedora Documentación de Contribuyente</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Core.xml
b/public_html/es-ES/opds-Fedora_Core.xml
index 9ada7f7..7c96234 100644
--- a/public_html/es-ES/opds-Fedora_Core.xml
+++ b/public_html/es-ES/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
b/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
index b958649..5008c9a 100644
--- a/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/es-ES/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/es-ES/opds-Fedora_Security_Team.xml
b/public_html/es-ES/opds-Fedora_Security_Team.xml
index 622632c..f70010d 100644
--- a/public_html/es-ES/opds-Fedora_Security_Team.xml
+++ b/public_html/es-ES/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/es-ES/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/es-ES/opds.xml b/public_html/es-ES/opds.xml
index a6ccabf..70f8ad5 100644
--- a/public_html/es-ES/opds.xml
+++ b/public_html/es-ES/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/es-ES/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/es-ES/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/es-ES/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora 15</title>
<
id>http://docs.fedoraproject.org/es-ES/Fedora_15/opds-Fedora_15.xml<...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_15.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Documentación de Contribuyente</title>
<
id>http://docs.fedoraproject.org/es-ES/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/es-ES/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/es-ES/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -63,7 +63,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/es-ES/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/es-ES/toc.html b/public_html/es-ES/toc.html
index 456488b..f317043 100644
--- a/public_html/es-ES/toc.html
+++ b/public_html/es-ES/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Aún sin traducir</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/fa-IR/Site_Statistics.html
b/public_html/fa-IR/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/fa-IR/Site_Statistics.html
+++ b/public_html/fa-IR/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
b/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
index 75b661c..d61b2c6 100644
--- a/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/fa-IR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fa-IR/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora.xml b/public_html/fa-IR/opds-Fedora.xml
index 5071b91..5bdb1d1 100644
--- a/public_html/fa-IR/opds-Fedora.xml
+++ b/public_html/fa-IR/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/fa-IR/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>fa-IR</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>fa-IR</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
b/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
index bb634e9..f05c986 100644
--- a/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/fa-IR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Contributor_Documen...
<title>مستندات مشارکت کننده فدورا</title>
<subtitle>مستندات مشارکت کننده فدورا</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Core.xml
b/public_html/fa-IR/opds-Fedora_Core.xml
index 9729519..0fbe1bd 100644
--- a/public_html/fa-IR/opds-Fedora_Core.xml
+++ b/public_html/fa-IR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
b/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
index 765e926..e970ca1 100644
--- a/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/fa-IR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fa-IR/opds-Fedora_Security_Team.xml
b/public_html/fa-IR/opds-Fedora_Security_Team.xml
index f8e8863..15f38e7 100644
--- a/public_html/fa-IR/opds-Fedora_Security_Team.xml
+++ b/public_html/fa-IR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fa-IR/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fa-IR/opds.xml b/public_html/fa-IR/opds.xml
index b8afabe..d035f50 100644
--- a/public_html/fa-IR/opds.xml
+++ b/public_html/fa-IR/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/fa-IR/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/fa-IR/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/fa-IR/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>مستندات مشارکت کننده فدورا</title>
<
id>http://docs.fedoraproject.org/fa-IR/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/fa-IR/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/fa-IR/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/fa-IR/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/fa-IR/toc.html b/public_html/fa-IR/toc.html
index 8b16748..5acd1b3 100644
--- a/public_html/fa-IR/toc.html
+++ b/public_html/fa-IR/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/fi-FI/Site_Statistics.html
b/public_html/fi-FI/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/fi-FI/Site_Statistics.html
+++ b/public_html/fi-FI/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
b/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
index 4cabb7c..6ac1911 100644
--- a/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
+++ b/public_html/fi-FI/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fi-FI/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora.xml b/public_html/fi-FI/opds-Fedora.xml
index c793e46..b48a0ed 100644
--- a/public_html/fi-FI/opds-Fedora.xml
+++ b/public_html/fi-FI/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/fi-FI/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>fi-FI</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>fi-FI</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
b/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
index 80849f9..bffde8d 100644
--- a/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/fi-FI/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Core.xml
b/public_html/fi-FI/opds-Fedora_Core.xml
index 0fb8ac3..39abcba 100644
--- a/public_html/fi-FI/opds-Fedora_Core.xml
+++ b/public_html/fi-FI/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
b/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
index 933bf38..ceed8f3 100644
--- a/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/fi-FI/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fi-FI/opds-Fedora_Security_Team.xml
b/public_html/fi-FI/opds-Fedora_Security_Team.xml
index 3a88ee8..7473835 100644
--- a/public_html/fi-FI/opds-Fedora_Security_Team.xml
+++ b/public_html/fi-FI/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fi-FI/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fi-FI/opds.xml b/public_html/fi-FI/opds.xml
index 92021cd..6bc45b1 100644
--- a/public_html/fi-FI/opds.xml
+++ b/public_html/fi-FI/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/fi-FI/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/fi-FI/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/fi-FI/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/fi-FI/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/fi-FI/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/fi-FI/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/fi-FI/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/fi-FI/toc.html b/public_html/fi-FI/toc.html
index 31b71f5..fe8b065 100644
--- a/public_html/fi-FI/toc.html
+++ b/public_html/fi-FI/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/fr-FR/Site_Statistics.html
b/public_html/fr-FR/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/fr-FR/Site_Statistics.html
+++ b/public_html/fr-FR/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
b/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
index 6fd1cfd..d3984fd 100644
--- a/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/fr-FR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fr-FR/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora.xml b/public_html/fr-FR/opds-Fedora.xml
index 47a1242..16279b9 100644
--- a/public_html/fr-FR/opds-Fedora.xml
+++ b/public_html/fr-FR/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/fr-FR/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>fr-FR</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>fr-FR</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
b/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
index 457f84f..a8bff2d 100644
--- a/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/fr-FR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Core.xml
b/public_html/fr-FR/opds-Fedora_Core.xml
index 6764207..e265c80 100644
--- a/public_html/fr-FR/opds-Fedora_Core.xml
+++ b/public_html/fr-FR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
b/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
index f615002..4cfb76f 100644
--- a/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/fr-FR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fr-FR/opds-Fedora_Security_Team.xml
b/public_html/fr-FR/opds-Fedora_Security_Team.xml
index 33c7100..709439a 100644
--- a/public_html/fr-FR/opds-Fedora_Security_Team.xml
+++ b/public_html/fr-FR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/fr-FR/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/fr-FR/opds.xml b/public_html/fr-FR/opds.xml
index d444836..bb062f2 100644
--- a/public_html/fr-FR/opds.xml
+++ b/public_html/fr-FR/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/fr-FR/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/fr-FR/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/fr-FR/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/fr-FR/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/fr-FR/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/fr-FR/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/fr-FR/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/fr-FR/toc.html b/public_html/fr-FR/toc.html
index 8f53262..c722cd0 100644
--- a/public_html/fr-FR/toc.html
+++ b/public_html/fr-FR/toc.html
@@ -99,9 +99,7 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19.Release_Notes' class="book collapsed">
<a class="type"
href="Fedora/19/html/Release_Notes/index.html"
onclick="window.top.location='./Fedora/19/html/Release_Notes/index.html'"><span
class="book">Notes de version</span></a>
<div id='Fedora.19.Release_Notes.types' class="types"
onclick="work=0;">
@@ -114,6 +112,15 @@
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/gu-IN/Site_Statistics.html
b/public_html/gu-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/gu-IN/Site_Statistics.html
+++ b/public_html/gu-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
b/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
index 39c3b0e..6e9f9d0 100644
--- a/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/gu-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/gu-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:32</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora.xml b/public_html/gu-IN/opds-Fedora.xml
index 7cb3b8b..6b32e7a 100644
--- a/public_html/gu-IN/opds-Fedora.xml
+++ b/public_html/gu-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/gu-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>gu-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>gu-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
index 2278189..42526ec 100644
--- a/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/gu-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Core.xml
b/public_html/gu-IN/opds-Fedora_Core.xml
index eb8e0a1..f973de6 100644
--- a/public_html/gu-IN/opds-Fedora_Core.xml
+++ b/public_html/gu-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
index a677ba0..26d4312 100644
--- a/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/gu-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/gu-IN/opds-Fedora_Security_Team.xml
b/public_html/gu-IN/opds-Fedora_Security_Team.xml
index 4c0c35d..c1e2b94 100644
--- a/public_html/gu-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/gu-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/gu-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/gu-IN/opds.xml b/public_html/gu-IN/opds.xml
index a4a97a9..1e02987 100644
--- a/public_html/gu-IN/opds.xml
+++ b/public_html/gu-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/gu-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/gu-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/gu-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/gu-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/gu-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/gu-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/gu-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/gu-IN/toc.html b/public_html/gu-IN/toc.html
index d548d7f..784bc3b 100644
--- a/public_html/gu-IN/toc.html
+++ b/public_html/gu-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/he-IL/Site_Statistics.html
b/public_html/he-IL/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/he-IL/Site_Statistics.html
+++ b/public_html/he-IL/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/he-IL/opds-Community_Services_Infrastructure.xml
b/public_html/he-IL/opds-Community_Services_Infrastructure.xml
index a9aaab7..1c657af 100644
--- a/public_html/he-IL/opds-Community_Services_Infrastructure.xml
+++ b/public_html/he-IL/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/he-IL/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/he-IL/opds-Fedora.xml b/public_html/he-IL/opds-Fedora.xml
index c22e1f2..63f87d7 100644
--- a/public_html/he-IL/opds-Fedora.xml
+++ b/public_html/he-IL/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/he-IL/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>he-IL</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>he-IL</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
b/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
index b3d3e2e..dea751c 100644
--- a/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/he-IL/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Core.xml
b/public_html/he-IL/opds-Fedora_Core.xml
index 37a87c9..67dbe76 100644
--- a/public_html/he-IL/opds-Fedora_Core.xml
+++ b/public_html/he-IL/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
b/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
index e73067c..5570d9b 100644
--- a/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/he-IL/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/he-IL/opds-Fedora_Security_Team.xml
b/public_html/he-IL/opds-Fedora_Security_Team.xml
index a536328..b374ce4 100644
--- a/public_html/he-IL/opds-Fedora_Security_Team.xml
+++ b/public_html/he-IL/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/he-IL/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/he-IL/opds.xml b/public_html/he-IL/opds.xml
index 6e54742..18509c2 100644
--- a/public_html/he-IL/opds.xml
+++ b/public_html/he-IL/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/he-IL/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/he-IL/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/he-IL/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/he-IL/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/he-IL/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/he-IL/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/he-IL/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/he-IL/toc.html b/public_html/he-IL/toc.html
index f45e9d9..81975bf 100644
--- a/public_html/he-IL/toc.html
+++ b/public_html/he-IL/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/hi-IN/Site_Statistics.html
b/public_html/hi-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/hi-IN/Site_Statistics.html
+++ b/public_html/hi-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
b/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
index 99f6527..86361d1 100644
--- a/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/hi-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hi-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora.xml b/public_html/hi-IN/opds-Fedora.xml
index 4027023..847594f 100644
--- a/public_html/hi-IN/opds-Fedora.xml
+++ b/public_html/hi-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/hi-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>hi-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>hi-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
index 71188a3..d086fda 100644
--- a/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/hi-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Core.xml
b/public_html/hi-IN/opds-Fedora_Core.xml
index 63dbed2..d7883f4 100644
--- a/public_html/hi-IN/opds-Fedora_Core.xml
+++ b/public_html/hi-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
index a66d49f..9b9099a 100644
--- a/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/hi-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hi-IN/opds-Fedora_Security_Team.xml
b/public_html/hi-IN/opds-Fedora_Security_Team.xml
index e361ead..b085346 100644
--- a/public_html/hi-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/hi-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hi-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hi-IN/opds.xml b/public_html/hi-IN/opds.xml
index 39b9da1..2e26fc0 100644
--- a/public_html/hi-IN/opds.xml
+++ b/public_html/hi-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/hi-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/hi-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/hi-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/hi-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/hi-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/hi-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/hi-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/hi-IN/toc.html b/public_html/hi-IN/toc.html
index ceff080..59d2e9d 100644
--- a/public_html/hi-IN/toc.html
+++ b/public_html/hi-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/hu-HU/Site_Statistics.html
b/public_html/hu-HU/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/hu-HU/Site_Statistics.html
+++ b/public_html/hu-HU/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
b/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
index ef73a6f..3f3ab45 100644
--- a/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
+++ b/public_html/hu-HU/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hu-HU/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora.xml b/public_html/hu-HU/opds-Fedora.xml
index cfa6a9c..670fa9a 100644
--- a/public_html/hu-HU/opds-Fedora.xml
+++ b/public_html/hu-HU/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/hu-HU/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>hu-HU</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>hu-HU</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
b/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
index f8f4784..6192f55 100644
--- a/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/hu-HU/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Core.xml
b/public_html/hu-HU/opds-Fedora_Core.xml
index ba80b9a..ebcb57e 100644
--- a/public_html/hu-HU/opds-Fedora_Core.xml
+++ b/public_html/hu-HU/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
b/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
index 12ba0ac..330fc19 100644
--- a/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/hu-HU/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hu-HU/opds-Fedora_Security_Team.xml
b/public_html/hu-HU/opds-Fedora_Security_Team.xml
index b575ec0..2f54f78 100644
--- a/public_html/hu-HU/opds-Fedora_Security_Team.xml
+++ b/public_html/hu-HU/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/hu-HU/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/hu-HU/opds.xml b/public_html/hu-HU/opds.xml
index 7ef34cf..5dde6b9 100644
--- a/public_html/hu-HU/opds.xml
+++ b/public_html/hu-HU/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/hu-HU/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/hu-HU/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/hu-HU/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/hu-HU/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/hu-HU/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/hu-HU/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/hu-HU/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/hu-HU/toc.html b/public_html/hu-HU/toc.html
index 556d1d1..55c2553 100644
--- a/public_html/hu-HU/toc.html
+++ b/public_html/hu-HU/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ia/Site_Statistics.html b/public_html/ia/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/ia/Site_Statistics.html
+++ b/public_html/ia/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/ia/opds-Community_Services_Infrastructure.xml
b/public_html/ia/opds-Community_Services_Infrastructure.xml
index 33c1d06..cdfe8dc 100644
--- a/public_html/ia/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ia/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ia/opds-Community_Services_Infrastruc...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ia/opds-Fedora.xml b/public_html/ia/opds-Fedora.xml
index 0770967..2e7ddb5 100644
--- a/public_html/ia/opds-Fedora.xml
+++ b/public_html/ia/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ia/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ia</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ia</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ia/opds-Fedora_Contributor_Documentation.xml
b/public_html/ia/opds-Fedora_Contributor_Documentation.xml
index ac842ac..c1da09e 100644
--- a/public_html/ia/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ia/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ia/opds-Fedora_Contributor_Documentat...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ia/opds-Fedora_Core.xml b/public_html/ia/opds-Fedora_Core.xml
index 788d83d..80a55fe 100644
--- a/public_html/ia/opds-Fedora_Core.xml
+++ b/public_html/ia/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ia/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ia/opds-Fedora_Draft_Documentation.xml
b/public_html/ia/opds-Fedora_Draft_Documentation.xml
index d812526..03ba384 100644
--- a/public_html/ia/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ia/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ia/opds-Fedora_Draft_Documentation.xm...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ia/opds-Fedora_Security_Team.xml
b/public_html/ia/opds-Fedora_Security_Team.xml
index 7569694..ae8dbb4 100644
--- a/public_html/ia/opds-Fedora_Security_Team.xml
+++ b/public_html/ia/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ia/opds-Fedora_Security_Team.xml</...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ia/opds.xml b/public_html/ia/opds.xml
index 5b4adf5..d96244f 100644
--- a/public_html/ia/opds.xml
+++ b/public_html/ia/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ia/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ia/Community_Services_Infrastructure/...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ia/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/ia/Fedora_Contributor_Documentation/o...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ia/Fedora_Core/opds-Fedora_Core.xml&l...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/ia/Fedora_Draft_Documentation/opds-Fe...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ia/Fedora_Security_Team/opds-Fedora_S...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ia/toc.html b/public_html/ia/toc.html
index 9b0cc1f..1c84e3f 100644
--- a/public_html/ia/toc.html
+++ b/public_html/ia/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/id-ID/Site_Statistics.html
b/public_html/id-ID/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/id-ID/Site_Statistics.html
+++ b/public_html/id-ID/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/id-ID/opds-Community_Services_Infrastructure.xml
b/public_html/id-ID/opds-Community_Services_Infrastructure.xml
index 3d83f6c..94f502b 100644
--- a/public_html/id-ID/opds-Community_Services_Infrastructure.xml
+++ b/public_html/id-ID/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/id-ID/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/id-ID/opds-Fedora.xml b/public_html/id-ID/opds-Fedora.xml
index 82ece28..a7af909 100644
--- a/public_html/id-ID/opds-Fedora.xml
+++ b/public_html/id-ID/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/id-ID/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>id-ID</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>id-ID</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
b/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
index 7e38a32..27f556a 100644
--- a/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/id-ID/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Core.xml
b/public_html/id-ID/opds-Fedora_Core.xml
index fc5718a..c8fbe22 100644
--- a/public_html/id-ID/opds-Fedora_Core.xml
+++ b/public_html/id-ID/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
b/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
index ad54068..c4d0848 100644
--- a/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/id-ID/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/id-ID/opds-Fedora_Security_Team.xml
b/public_html/id-ID/opds-Fedora_Security_Team.xml
index 335766c..a14605f 100644
--- a/public_html/id-ID/opds-Fedora_Security_Team.xml
+++ b/public_html/id-ID/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/id-ID/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/id-ID/opds.xml b/public_html/id-ID/opds.xml
index ad5102c..4ab08c0 100644
--- a/public_html/id-ID/opds.xml
+++ b/public_html/id-ID/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/id-ID/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/id-ID/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/id-ID/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/id-ID/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/id-ID/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/id-ID/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/id-ID/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/id-ID/toc.html b/public_html/id-ID/toc.html
index 333ed3b..30132e1 100644
--- a/public_html/id-ID/toc.html
+++ b/public_html/id-ID/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/it-IT/Site_Statistics.html
b/public_html/it-IT/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/it-IT/Site_Statistics.html
+++ b/public_html/it-IT/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/it-IT/opds-Community_Services_Infrastructure.xml
b/public_html/it-IT/opds-Community_Services_Infrastructure.xml
index b8e5d1e..16b914a 100644
--- a/public_html/it-IT/opds-Community_Services_Infrastructure.xml
+++ b/public_html/it-IT/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/it-IT/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/it-IT/opds-Fedora.xml b/public_html/it-IT/opds-Fedora.xml
index 606ee31..125284d 100644
--- a/public_html/it-IT/opds-Fedora.xml
+++ b/public_html/it-IT/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/it-IT/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>it-IT</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>it-IT</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
b/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
index 61f505f..6ccc8c3 100644
--- a/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/it-IT/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Contributor_Documen...
<title>Documentazione Collaboratori Fedora</title>
<subtitle>Documentazione Collaboratori Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Core.xml
b/public_html/it-IT/opds-Fedora_Core.xml
index 8d781a5..4f52ed5 100644
--- a/public_html/it-IT/opds-Fedora_Core.xml
+++ b/public_html/it-IT/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
b/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
index 68ef037..39699c2 100644
--- a/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/it-IT/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/it-IT/opds-Fedora_Security_Team.xml
b/public_html/it-IT/opds-Fedora_Security_Team.xml
index 2c2f249..dbbed6f 100644
--- a/public_html/it-IT/opds-Fedora_Security_Team.xml
+++ b/public_html/it-IT/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/it-IT/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/it-IT/opds.xml b/public_html/it-IT/opds.xml
index 2c1d261..922c3e0 100644
--- a/public_html/it-IT/opds.xml
+++ b/public_html/it-IT/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/it-IT/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/it-IT/Community_Services_Infrastructu...
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/it-IT/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Documentazione Collaboratori Fedora</title>
<
id>http://docs.fedoraproject.org/it-IT/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/it-IT/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/it-IT/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/it-IT/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/it-IT/toc.html b/public_html/it-IT/toc.html
index c34a0ba..ff92204 100644
--- a/public_html/it-IT/toc.html
+++ b/public_html/it-IT/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ja-JP/Site_Statistics.html
b/public_html/ja-JP/Site_Statistics.html
index 0b88e57..7ea921b 100644
--- a/public_html/ja-JP/Site_Statistics.html
+++ b/public_html/ja-JP/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>言語数の合計: </b>44<br />
- <b>パッケージ数の合計: </b>879
+ <b>パッケージ数の合計: </b>880
</div>
</body>
</html>
diff --git a/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
b/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
index 63f31ec..a870995 100644
--- a/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ja-JP/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ja-JP/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora.xml b/public_html/ja-JP/opds-Fedora.xml
index 5def7e8..32eca1e 100644
--- a/public_html/ja-JP/opds-Fedora.xml
+++ b/public_html/ja-JP/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ja-JP/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ja-JP</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ja-JP</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
b/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
index 4aadcdf..8c09765 100644
--- a/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ja-JP/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Contributor_Documen...
<title>Fedora コントリビュータ用ドキュメント</title>
<subtitle>Fedora コントリビュータ用ドキュメント</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Core.xml
b/public_html/ja-JP/opds-Fedora_Core.xml
index 48c14f6..0e73093 100644
--- a/public_html/ja-JP/opds-Fedora_Core.xml
+++ b/public_html/ja-JP/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
b/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
index 162696b..a939f6c 100644
--- a/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ja-JP/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Draft_Documentation...
<title>Fedora ドラフト文書</title>
<subtitle>Fedora ドラフト文書</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ja-JP/opds-Fedora_Security_Team.xml
b/public_html/ja-JP/opds-Fedora_Security_Team.xml
index af5d839..1d52fb2 100644
--- a/public_html/ja-JP/opds-Fedora_Security_Team.xml
+++ b/public_html/ja-JP/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ja-JP/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ja-JP/opds.xml b/public_html/ja-JP/opds.xml
index 279f2b7..26d28bd 100644
--- a/public_html/ja-JP/opds.xml
+++ b/public_html/ja-JP/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ja-JP/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ja-JP/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ja-JP/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora コントリビュータ用ドキュメント</title>
<
id>http://docs.fedoraproject.org/ja-JP/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ja-JP/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora ドラフト文書</title>
<
id>http://docs.fedoraproject.org/ja-JP/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ja-JP/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ja-JP/toc.html b/public_html/ja-JP/toc.html
index 52b478d..bd287ce 100644
--- a/public_html/ja-JP/toc.html
+++ b/public_html/ja-JP/toc.html
@@ -99,9 +99,7 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19.Release_Notes' class="book collapsed">
<a class="type"
href="Fedora/19/html/Release_Notes/index.html"
onclick="window.top.location='./Fedora/19/html/Release_Notes/index.html'"><span
class="book">リリースノート</span></a>
<div id='Fedora.19.Release_Notes.types' class="types"
onclick="work=0;">
@@ -123,6 +121,15 @@
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">未翻訳</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/kn-IN/Site_Statistics.html
b/public_html/kn-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/kn-IN/Site_Statistics.html
+++ b/public_html/kn-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
b/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
index b7da635..5bd7c41 100644
--- a/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/kn-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/kn-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora.xml b/public_html/kn-IN/opds-Fedora.xml
index 95d2503..cfa2a73 100644
--- a/public_html/kn-IN/opds-Fedora.xml
+++ b/public_html/kn-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/kn-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>kn-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>kn-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
index a6ad257..6a6cc63 100644
--- a/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/kn-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Core.xml
b/public_html/kn-IN/opds-Fedora_Core.xml
index 1f844aa..e4eb176 100644
--- a/public_html/kn-IN/opds-Fedora_Core.xml
+++ b/public_html/kn-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
index 9256310..92f9902 100644
--- a/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/kn-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/kn-IN/opds-Fedora_Security_Team.xml
b/public_html/kn-IN/opds-Fedora_Security_Team.xml
index 1f829d3..2194d23 100644
--- a/public_html/kn-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/kn-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/kn-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/kn-IN/opds.xml b/public_html/kn-IN/opds.xml
index c363725..2f6641f 100644
--- a/public_html/kn-IN/opds.xml
+++ b/public_html/kn-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/kn-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/kn-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/kn-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/kn-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/kn-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/kn-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/kn-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/kn-IN/toc.html b/public_html/kn-IN/toc.html
index da47ba3..4a2f177 100644
--- a/public_html/kn-IN/toc.html
+++ b/public_html/kn-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ko-KR/Site_Statistics.html
b/public_html/ko-KR/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/ko-KR/Site_Statistics.html
+++ b/public_html/ko-KR/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
b/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
index 4bc6ec5..e80096f 100644
--- a/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ko-KR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ko-KR/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora.xml b/public_html/ko-KR/opds-Fedora.xml
index bee09d7..278cf10 100644
--- a/public_html/ko-KR/opds-Fedora.xml
+++ b/public_html/ko-KR/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ko-KR/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ko-KR</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ko-KR</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
b/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
index 9d094a8..0032001 100644
--- a/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ko-KR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Core.xml
b/public_html/ko-KR/opds-Fedora_Core.xml
index 1a44686..8bc0f62 100644
--- a/public_html/ko-KR/opds-Fedora_Core.xml
+++ b/public_html/ko-KR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
b/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
index fc3cde2..0aeb06e 100644
--- a/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ko-KR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ko-KR/opds-Fedora_Security_Team.xml
b/public_html/ko-KR/opds-Fedora_Security_Team.xml
index 67411e3..059d1f9 100644
--- a/public_html/ko-KR/opds-Fedora_Security_Team.xml
+++ b/public_html/ko-KR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ko-KR/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ko-KR/opds.xml b/public_html/ko-KR/opds.xml
index ecae65c..ccdd4aa 100644
--- a/public_html/ko-KR/opds.xml
+++ b/public_html/ko-KR/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ko-KR/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ko-KR/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ko-KR/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/ko-KR/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ko-KR/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/ko-KR/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ko-KR/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ko-KR/toc.html b/public_html/ko-KR/toc.html
index 1680e12..e27fa4c 100644
--- a/public_html/ko-KR/toc.html
+++ b/public_html/ko-KR/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ml-IN/Site_Statistics.html
b/public_html/ml-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/ml-IN/Site_Statistics.html
+++ b/public_html/ml-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
b/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
index acac7cb..f964291 100644
--- a/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ml-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ml-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora.xml b/public_html/ml-IN/opds-Fedora.xml
index 1dc5361..2cd100e 100644
--- a/public_html/ml-IN/opds-Fedora.xml
+++ b/public_html/ml-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ml-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ml-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ml-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
index 5cdae44..ccbd180 100644
--- a/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ml-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Core.xml
b/public_html/ml-IN/opds-Fedora_Core.xml
index b1d623a..7cb9bd3 100644
--- a/public_html/ml-IN/opds-Fedora_Core.xml
+++ b/public_html/ml-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
index 81ce765..09d8794 100644
--- a/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ml-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ml-IN/opds-Fedora_Security_Team.xml
b/public_html/ml-IN/opds-Fedora_Security_Team.xml
index 458a1ea..60f7611 100644
--- a/public_html/ml-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/ml-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ml-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ml-IN/opds.xml b/public_html/ml-IN/opds.xml
index dfbee98..328545f 100644
--- a/public_html/ml-IN/opds.xml
+++ b/public_html/ml-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ml-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ml-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ml-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/ml-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ml-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/ml-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ml-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ml-IN/toc.html b/public_html/ml-IN/toc.html
index bd334e6..623c591 100644
--- a/public_html/ml-IN/toc.html
+++ b/public_html/ml-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/mr-IN/Site_Statistics.html
b/public_html/mr-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/mr-IN/Site_Statistics.html
+++ b/public_html/mr-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
b/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
index c0c3f1d..78eb2a5 100644
--- a/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/mr-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/mr-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora.xml b/public_html/mr-IN/opds-Fedora.xml
index bd5b59d..93cad3e 100644
--- a/public_html/mr-IN/opds-Fedora.xml
+++ b/public_html/mr-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/mr-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>mr-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>mr-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
index d68f630..49e7516 100644
--- a/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/mr-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Core.xml
b/public_html/mr-IN/opds-Fedora_Core.xml
index fc8cc6b..133d563 100644
--- a/public_html/mr-IN/opds-Fedora_Core.xml
+++ b/public_html/mr-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
index bc166a1..90b2baa 100644
--- a/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/mr-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/mr-IN/opds-Fedora_Security_Team.xml
b/public_html/mr-IN/opds-Fedora_Security_Team.xml
index 8a77c5b..0b18116 100644
--- a/public_html/mr-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/mr-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/mr-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/mr-IN/opds.xml b/public_html/mr-IN/opds.xml
index 6539d32..00f41a0 100644
--- a/public_html/mr-IN/opds.xml
+++ b/public_html/mr-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/mr-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/mr-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/mr-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/mr-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/mr-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/mr-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/mr-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/mr-IN/toc.html b/public_html/mr-IN/toc.html
index 5056438..c521a2b 100644
--- a/public_html/mr-IN/toc.html
+++ b/public_html/mr-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/nb-NO/Site_Statistics.html
b/public_html/nb-NO/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/nb-NO/Site_Statistics.html
+++ b/public_html/nb-NO/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
b/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
index 4613f70..60d5759 100644
--- a/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
+++ b/public_html/nb-NO/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nb-NO/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora.xml b/public_html/nb-NO/opds-Fedora.xml
index 26a410f..5be993d 100644
--- a/public_html/nb-NO/opds-Fedora.xml
+++ b/public_html/nb-NO/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/nb-NO/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>nb-NO</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>nb-NO</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
b/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
index b3ab506..728aba1 100644
--- a/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/nb-NO/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Core.xml
b/public_html/nb-NO/opds-Fedora_Core.xml
index a0d449b..6b71f31 100644
--- a/public_html/nb-NO/opds-Fedora_Core.xml
+++ b/public_html/nb-NO/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
b/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
index e99b042..f97b2a7 100644
--- a/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/nb-NO/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nb-NO/opds-Fedora_Security_Team.xml
b/public_html/nb-NO/opds-Fedora_Security_Team.xml
index f570b57..856c8c5 100644
--- a/public_html/nb-NO/opds-Fedora_Security_Team.xml
+++ b/public_html/nb-NO/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nb-NO/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nb-NO/opds.xml b/public_html/nb-NO/opds.xml
index 2110922..9fa4d58 100644
--- a/public_html/nb-NO/opds.xml
+++ b/public_html/nb-NO/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/nb-NO/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/nb-NO/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/nb-NO/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/nb-NO/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/nb-NO/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/nb-NO/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/nb-NO/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/nb-NO/toc.html b/public_html/nb-NO/toc.html
index 07f68a3..29db9d4 100644
--- a/public_html/nb-NO/toc.html
+++ b/public_html/nb-NO/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/nl-NL/Site_Statistics.html
b/public_html/nl-NL/Site_Statistics.html
index 0f0237c..1a2ffbc 100644
--- a/public_html/nl-NL/Site_Statistics.html
+++ b/public_html/nl-NL/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Totaal talen: </b>44<br />
- <b>Totaal pakketten: </b>879
+ <b>Totaal pakketten: </b>880
</div>
</body>
</html>
diff --git a/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
b/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
index f9af860..6e69541 100644
--- a/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
+++ b/public_html/nl-NL/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nl-NL/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora.xml b/public_html/nl-NL/opds-Fedora.xml
index 22936e6..86aab8d 100644
--- a/public_html/nl-NL/opds-Fedora.xml
+++ b/public_html/nl-NL/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/nl-NL/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>nl-NL</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>nl-NL</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
b/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
index a8872c4..3f3973f 100644
--- a/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/nl-NL/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Core.xml
b/public_html/nl-NL/opds-Fedora_Core.xml
index b744519..0827b07 100644
--- a/public_html/nl-NL/opds-Fedora_Core.xml
+++ b/public_html/nl-NL/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
b/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
index 324522a..0c3d719 100644
--- a/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/nl-NL/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nl-NL/opds-Fedora_Security_Team.xml
b/public_html/nl-NL/opds-Fedora_Security_Team.xml
index cb055f4..4c96c02 100644
--- a/public_html/nl-NL/opds-Fedora_Security_Team.xml
+++ b/public_html/nl-NL/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/nl-NL/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/nl-NL/opds.xml b/public_html/nl-NL/opds.xml
index 4b6ae3c..5a646f2 100644
--- a/public_html/nl-NL/opds.xml
+++ b/public_html/nl-NL/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/nl-NL/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/nl-NL/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/nl-NL/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/nl-NL/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/nl-NL/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/nl-NL/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/nl-NL/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/nl-NL/toc.html b/public_html/nl-NL/toc.html
index 043a2d5..d0a5219 100644
--- a/public_html/nl-NL/toc.html
+++ b/public_html/nl-NL/toc.html
@@ -99,9 +99,7 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19.Release_Notes' class="book collapsed">
<a class="type"
href="Fedora/19/html/Release_Notes/index.html"
onclick="window.top.location='./Fedora/19/html/Release_Notes/index.html'"><span
class="book">Vrijgave-informatie</span></a>
<div id='Fedora.19.Release_Notes.types' class="types"
onclick="work=0;">
@@ -114,6 +112,15 @@
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Onvertaald</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/opds.xml b/public_html/opds.xml
index d92bbdd..26c2853 100644
--- a/public_html/opds.xml
+++ b/public_html/opds.xml
@@ -7,7 +7,7 @@
<link rel="start"
href="http://docs.fedoraproject.org/opds.xml"
type="application/atom+xml;type=feed;profile=opds-catalog"/>
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<title>Fedora Documentation</title>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
@@ -16,7 +16,7 @@
<entry>
<title>অসমীয়া</title>
<id>as-IN/opds.xml</id>
- <updated>2013-08-13T03:09:56</updated>
+ <updated>2013-08-21T20:19:29</updated>
<dc:language>as-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="as-IN/opds.xml"/>
@@ -24,7 +24,7 @@
<entry>
<title>български</title>
<id>bg-BG/opds.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bg-BG</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="bg-BG/opds.xml"/>
@@ -32,7 +32,7 @@
<entry>
<title>বাংলা</title>
<id>bn-IN/opds.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="bn-IN/opds.xml"/>
@@ -40,7 +40,7 @@
<entry>
<title>Bosanski</title>
<id>bs-BA/opds.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>bs-BA</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="bs-BA/opds.xml"/>
@@ -48,7 +48,7 @@
<entry>
<title>Català</title>
<id>ca-ES/opds.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>ca-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ca-ES/opds.xml"/>
@@ -56,7 +56,7 @@
<entry>
<title>Čeština</title>
<id>cs-CZ/opds.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:30</updated>
<dc:language>cs-CZ</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="cs-CZ/opds.xml"/>
@@ -64,7 +64,7 @@
<entry>
<title>Dansk</title>
<id>da-DK/opds.xml</id>
- <updated>2013-08-13T03:09:57</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>da-DK</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="da-DK/opds.xml"/>
@@ -72,7 +72,7 @@
<entry>
<title>Deutsch</title>
<id>de-DE/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>de-DE</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="de-DE/opds.xml"/>
@@ -80,7 +80,7 @@
<entry>
<title>Ελληνικά</title>
<id>el-GR/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>el-GR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="el-GR/opds.xml"/>
@@ -88,7 +88,7 @@
<entry>
<title>English</title>
<id>en-US/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:31</updated>
<dc:language>en-US</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="en-US/opds.xml"/>
@@ -96,7 +96,7 @@
<entry>
<title>Español</title>
<id>es-ES/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>es-ES</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="es-ES/opds.xml"/>
@@ -104,7 +104,7 @@
<entry>
<title>فارسی</title>
<id>fa-IR/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fa-IR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="fa-IR/opds.xml"/>
@@ -112,7 +112,7 @@
<entry>
<title>Suomi</title>
<id>fi-FI/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fi-FI</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="fi-FI/opds.xml"/>
@@ -120,7 +120,7 @@
<entry>
<title>Français</title>
<id>fr-FR/opds.xml</id>
- <updated>2013-08-13T03:09:58</updated>
+ <updated>2013-08-21T20:19:32</updated>
<dc:language>fr-FR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="fr-FR/opds.xml"/>
@@ -128,7 +128,7 @@
<entry>
<title>ગુજરાતી</title>
<id>gu-IN/opds.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>gu-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="gu-IN/opds.xml"/>
@@ -136,7 +136,7 @@
<entry>
<title>עברית</title>
<id>he-IL/opds.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>he-IL</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="he-IL/opds.xml"/>
@@ -144,7 +144,7 @@
<entry>
<title>हिन्दी</title>
<id>hi-IN/opds.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hi-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="hi-IN/opds.xml"/>
@@ -152,7 +152,7 @@
<entry>
<title>Magyar</title>
<id>hu-HU/opds.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>hu-HU</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="hu-HU/opds.xml"/>
@@ -160,7 +160,7 @@
<entry>
<title>Interlingua (International Auxiliary Language
Association)</title>
<id>ia/opds.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:33</updated>
<dc:language>ia</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ia/opds.xml"/>
@@ -168,7 +168,7 @@
<entry>
<title>Indonesia</title>
<id>id-ID/opds.xml</id>
- <updated>2013-08-13T03:09:59</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>id-ID</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="id-ID/opds.xml"/>
@@ -176,7 +176,7 @@
<entry>
<title>Italiano</title>
<id>it-IT/opds.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>it-IT</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="it-IT/opds.xml"/>
@@ -184,7 +184,7 @@
<entry>
<title>日本語</title>
<id>ja-JP/opds.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:34</updated>
<dc:language>ja-JP</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ja-JP/opds.xml"/>
@@ -192,7 +192,7 @@
<entry>
<title>ಕನ್ನಡ</title>
<id>kn-IN/opds.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>kn-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="kn-IN/opds.xml"/>
@@ -200,7 +200,7 @@
<entry>
<title>한국어</title>
<id>ko-KR/opds.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ko-KR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ko-KR/opds.xml"/>
@@ -208,7 +208,7 @@
<entry>
<title>മലയാളം</title>
<id>ml-IN/opds.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>ml-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ml-IN/opds.xml"/>
@@ -216,7 +216,7 @@
<entry>
<title>मराठी</title>
<id>mr-IN/opds.xml</id>
- <updated>2013-08-13T03:10:00</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>mr-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="mr-IN/opds.xml"/>
@@ -224,7 +224,7 @@
<entry>
<title>Norsk (bokmål)</title>
<id>nb-NO/opds.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:35</updated>
<dc:language>nb-NO</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="nb-NO/opds.xml"/>
@@ -232,7 +232,7 @@
<entry>
<title>Nederlands</title>
<id>nl-NL/opds.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>nl-NL</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="nl-NL/opds.xml"/>
@@ -240,7 +240,7 @@
<entry>
<title>ଓଡ଼ିଆ</title>
<id>or-IN/opds.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="or-IN/opds.xml"/>
@@ -248,7 +248,7 @@
<entry>
<title>ਪੰਜਾਬੀ</title>
<id>pa-IN/opds.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="pa-IN/opds.xml"/>
@@ -256,7 +256,7 @@
<entry>
<title>Polski</title>
<id>pl-PL/opds.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="pl-PL/opds.xml"/>
@@ -264,7 +264,7 @@
<entry>
<title>Português Brasileiro</title>
<id>pt-BR/opds.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="pt-BR/opds.xml"/>
@@ -272,7 +272,7 @@
<entry>
<title>Português</title>
<id>pt-PT/opds.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="pt-PT/opds.xml"/>
@@ -280,7 +280,7 @@
<entry>
<title>Romanian</title>
<id>ro/opds.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ro/opds.xml"/>
@@ -288,7 +288,7 @@
<entry>
<title>Русский</title>
<id>ru-RU/opds.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ru-RU/opds.xml"/>
@@ -296,7 +296,7 @@
<entry>
<title>Slovenščina</title>
<id>sk-SK/opds.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="sk-SK/opds.xml"/>
@@ -304,7 +304,7 @@
<entry>
<title>Srpski (latinica)</title>
<id>sr-Latn-RS/opds.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="sr-Latn-RS/opds.xml"/>
@@ -312,7 +312,7 @@
<entry>
<title>Српски</title>
<id>sr-RS/opds.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="sr-RS/opds.xml"/>
@@ -320,7 +320,7 @@
<entry>
<title>Svenska</title>
<id>sv-SE/opds.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="sv-SE/opds.xml"/>
@@ -328,7 +328,7 @@
<entry>
<title>தமிழ்</title>
<id>ta-IN/opds.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="ta-IN/opds.xml"/>
@@ -336,7 +336,7 @@
<entry>
<title>తెలుగు</title>
<id>te-IN/opds.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="te-IN/opds.xml"/>
@@ -344,7 +344,7 @@
<entry>
<title>Українська</title>
<id>uk-UA/opds.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="uk-UA/opds.xml"/>
@@ -352,7 +352,7 @@
<entry>
<title>简体中文</title>
<id>zh-CN/opds.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="zh-CN/opds.xml"/>
@@ -360,7 +360,7 @@
<entry>
<title>繁體中文</title>
<id>zh-TW/opds.xml</id>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="zh-TW/opds.xml"/>
diff --git a/public_html/or-IN/Site_Statistics.html
b/public_html/or-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/or-IN/Site_Statistics.html
+++ b/public_html/or-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/or-IN/opds-Community_Services_Infrastructure.xml
b/public_html/or-IN/opds-Community_Services_Infrastructure.xml
index 9e02f3a..5dd1fd6 100644
--- a/public_html/or-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/or-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/or-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/or-IN/opds-Fedora.xml b/public_html/or-IN/opds-Fedora.xml
index 3b371c3..eff6f35 100644
--- a/public_html/or-IN/opds-Fedora.xml
+++ b/public_html/or-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/or-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>or-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>or-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
index 93741ea..1b67fae 100644
--- a/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/or-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Core.xml
b/public_html/or-IN/opds-Fedora_Core.xml
index d880f75..098dced 100644
--- a/public_html/or-IN/opds-Fedora_Core.xml
+++ b/public_html/or-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
index f51b0f3..9ffea8f 100644
--- a/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/or-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/or-IN/opds-Fedora_Security_Team.xml
b/public_html/or-IN/opds-Fedora_Security_Team.xml
index adc8c1c..b91e29e 100644
--- a/public_html/or-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/or-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/or-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/or-IN/opds.xml b/public_html/or-IN/opds.xml
index e4221a5..bbbe5f5 100644
--- a/public_html/or-IN/opds.xml
+++ b/public_html/or-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/or-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/or-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/or-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/or-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/or-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/or-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/or-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>or-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/or-IN/toc.html b/public_html/or-IN/toc.html
index a809175..0ced850 100644
--- a/public_html/or-IN/toc.html
+++ b/public_html/or-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/pa-IN/Site_Statistics.html
b/public_html/pa-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/pa-IN/Site_Statistics.html
+++ b/public_html/pa-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
b/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
index 3f22167..08f493e 100644
--- a/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pa-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pa-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora.xml b/public_html/pa-IN/opds-Fedora.xml
index eb60970..bccdcd9 100644
--- a/public_html/pa-IN/opds-Fedora.xml
+++ b/public_html/pa-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/pa-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>pa-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>pa-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
index d9b76a4..2461e42 100644
--- a/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pa-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Core.xml
b/public_html/pa-IN/opds-Fedora_Core.xml
index 6034a66..e212519 100644
--- a/public_html/pa-IN/opds-Fedora_Core.xml
+++ b/public_html/pa-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
index 112c450..42d61b0 100644
--- a/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pa-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pa-IN/opds-Fedora_Security_Team.xml
b/public_html/pa-IN/opds-Fedora_Security_Team.xml
index 2e5cda8..dad3e2c 100644
--- a/public_html/pa-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/pa-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pa-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pa-IN/opds.xml b/public_html/pa-IN/opds.xml
index 73c71ec..f5c6825 100644
--- a/public_html/pa-IN/opds.xml
+++ b/public_html/pa-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/pa-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/pa-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/pa-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/pa-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/pa-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/pa-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/pa-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pa-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pa-IN/toc.html b/public_html/pa-IN/toc.html
index 16062c5..e84efb2 100644
--- a/public_html/pa-IN/toc.html
+++ b/public_html/pa-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/pl-PL/Site_Statistics.html
b/public_html/pl-PL/Site_Statistics.html
index b45a8f4..c9ced42 100644
--- a/public_html/pl-PL/Site_Statistics.html
+++ b/public_html/pl-PL/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Razem języków: </b>44<br />
- <b>Razem pakietów: </b>879
+ <b>Razem pakietów: </b>880
</div>
</body>
</html>
diff --git a/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
b/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
index 3c674ad..15cc959 100644
--- a/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pl-PL/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pl-PL/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora.xml b/public_html/pl-PL/opds-Fedora.xml
index 2106d41..7cec06e 100644
--- a/public_html/pl-PL/opds-Fedora.xml
+++ b/public_html/pl-PL/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/pl-PL/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>pl-PL</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>pl-PL</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
b/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
index aeac35c..8a72fe0 100644
--- a/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pl-PL/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Contributor_Documen...
<title>Dokumentacja dla współtwórców Fedory</title>
<subtitle>Dokumentacja dla współtwórców Fedory</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Core.xml
b/public_html/pl-PL/opds-Fedora_Core.xml
index 450ed61..df41726 100644
--- a/public_html/pl-PL/opds-Fedora_Core.xml
+++ b/public_html/pl-PL/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
b/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
index a0a5c8d..47719c9 100644
--- a/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pl-PL/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pl-PL/opds-Fedora_Security_Team.xml
b/public_html/pl-PL/opds-Fedora_Security_Team.xml
index ae8132a..303f5bd 100644
--- a/public_html/pl-PL/opds-Fedora_Security_Team.xml
+++ b/public_html/pl-PL/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pl-PL/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pl-PL/opds.xml b/public_html/pl-PL/opds.xml
index 4e7f63e..1aae878 100644
--- a/public_html/pl-PL/opds.xml
+++ b/public_html/pl-PL/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/pl-PL/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/pl-PL/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/pl-PL/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Dokumentacja dla współtwórców Fedory</title>
<
id>http://docs.fedoraproject.org/pl-PL/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/pl-PL/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/pl-PL/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/pl-PL/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:36</updated>
<dc:language>pl-PL</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pl-PL/toc.html b/public_html/pl-PL/toc.html
index fc8eb2f..ec6958e 100644
--- a/public_html/pl-PL/toc.html
+++ b/public_html/pl-PL/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Nieprzetłumaczone</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/pt-BR/Site_Statistics.html
b/public_html/pt-BR/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/pt-BR/Site_Statistics.html
+++ b/public_html/pt-BR/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
b/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
index 4de1112..fb03a59 100644
--- a/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pt-BR/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-BR/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora.xml b/public_html/pt-BR/opds-Fedora.xml
index ccd3c27..31fcea2 100644
--- a/public_html/pt-BR/opds-Fedora.xml
+++ b/public_html/pt-BR/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/pt-BR/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>pt-BR</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>pt-BR</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
b/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
index a2a46e3..98ab847 100644
--- a/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pt-BR/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Core.xml
b/public_html/pt-BR/opds-Fedora_Core.xml
index 50206ae..50211eb 100644
--- a/public_html/pt-BR/opds-Fedora_Core.xml
+++ b/public_html/pt-BR/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
b/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
index 89bc176..c2a02b5 100644
--- a/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pt-BR/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-BR/opds-Fedora_Security_Team.xml
b/public_html/pt-BR/opds-Fedora_Security_Team.xml
index 2d1b535..215603d 100644
--- a/public_html/pt-BR/opds-Fedora_Security_Team.xml
+++ b/public_html/pt-BR/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-BR/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-BR/opds.xml b/public_html/pt-BR/opds.xml
index c79e2b3..92ab43c 100644
--- a/public_html/pt-BR/opds.xml
+++ b/public_html/pt-BR/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/pt-BR/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/pt-BR/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:01</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/pt-BR/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/pt-BR/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/pt-BR/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/pt-BR/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/pt-BR/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-BR</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pt-BR/toc.html b/public_html/pt-BR/toc.html
index 0545914..6a90a71 100644
--- a/public_html/pt-BR/toc.html
+++ b/public_html/pt-BR/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/pt-PT/Site_Statistics.html
b/public_html/pt-PT/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/pt-PT/Site_Statistics.html
+++ b/public_html/pt-PT/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
b/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
index 55a5cce..a41ddc1 100644
--- a/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
+++ b/public_html/pt-PT/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-PT/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora.xml b/public_html/pt-PT/opds-Fedora.xml
index 86307d8..e6b7030 100644
--- a/public_html/pt-PT/opds-Fedora.xml
+++ b/public_html/pt-PT/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/pt-PT/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>pt-PT</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>pt-PT</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
b/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
index edac3e4..0ef3f6d 100644
--- a/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/pt-PT/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Core.xml
b/public_html/pt-PT/opds-Fedora_Core.xml
index 2d68994..84e026b 100644
--- a/public_html/pt-PT/opds-Fedora_Core.xml
+++ b/public_html/pt-PT/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
b/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
index 55d183e..c5945cc 100644
--- a/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/pt-PT/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-PT/opds-Fedora_Security_Team.xml
b/public_html/pt-PT/opds-Fedora_Security_Team.xml
index b173b9c..7ab1718 100644
--- a/public_html/pt-PT/opds-Fedora_Security_Team.xml
+++ b/public_html/pt-PT/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/pt-PT/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/pt-PT/opds.xml b/public_html/pt-PT/opds.xml
index 44986f4..c318803 100644
--- a/public_html/pt-PT/opds.xml
+++ b/public_html/pt-PT/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/pt-PT/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/pt-PT/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/pt-PT/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/pt-PT/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/pt-PT/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/pt-PT/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/pt-PT/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>pt-PT</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/pt-PT/toc.html b/public_html/pt-PT/toc.html
index 85d0679..462d7f0 100644
--- a/public_html/pt-PT/toc.html
+++ b/public_html/pt-PT/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ro/Site_Statistics.html b/public_html/ro/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/ro/Site_Statistics.html
+++ b/public_html/ro/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/ro/opds-Community_Services_Infrastructure.xml
b/public_html/ro/opds-Community_Services_Infrastructure.xml
index 008ea00..54f6813 100644
--- a/public_html/ro/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ro/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ro/opds-Community_Services_Infrastruc...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ro/opds-Fedora.xml b/public_html/ro/opds-Fedora.xml
index 6221bfc..6ca2f57 100644
--- a/public_html/ro/opds-Fedora.xml
+++ b/public_html/ro/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ro/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ro</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ro</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ro/opds-Fedora_Contributor_Documentation.xml
b/public_html/ro/opds-Fedora_Contributor_Documentation.xml
index 6e88b5c..86c29c7 100644
--- a/public_html/ro/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ro/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ro/opds-Fedora_Contributor_Documentat...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ro/opds-Fedora_Core.xml b/public_html/ro/opds-Fedora_Core.xml
index a92aa1c..d336d84 100644
--- a/public_html/ro/opds-Fedora_Core.xml
+++ b/public_html/ro/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ro/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ro/opds-Fedora_Draft_Documentation.xml
b/public_html/ro/opds-Fedora_Draft_Documentation.xml
index 3b63ad9..794c827 100644
--- a/public_html/ro/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ro/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ro/opds-Fedora_Draft_Documentation.xm...
<title>Schiță Documentație Fedora</title>
<subtitle>Schiță Documentație Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ro/opds-Fedora_Security_Team.xml
b/public_html/ro/opds-Fedora_Security_Team.xml
index 77da0fd..be386ed 100644
--- a/public_html/ro/opds-Fedora_Security_Team.xml
+++ b/public_html/ro/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ro/opds-Fedora_Security_Team.xml</...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ro/opds.xml b/public_html/ro/opds.xml
index 6d7ea02..a6cc3df 100644
--- a/public_html/ro/opds.xml
+++ b/public_html/ro/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ro/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ro/Community_Services_Infrastructure/...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ro/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/ro/Fedora_Contributor_Documentation/o...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ro/Fedora_Core/opds-Fedora_Core.xml&l...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Schiță Documentație Fedora</title>
<
id>http://docs.fedoraproject.org/ro/Fedora_Draft_Documentation/opds-Fe...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ro/Fedora_Security_Team/opds-Fedora_S...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ro</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ro/toc.html b/public_html/ro/toc.html
index 9d484f8..99f212e 100644
--- a/public_html/ro/toc.html
+++ b/public_html/ro/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ru-RU/Site_Statistics.html
b/public_html/ru-RU/Site_Statistics.html
index 381bb18..bde605b 100644
--- a/public_html/ru-RU/Site_Statistics.html
+++ b/public_html/ru-RU/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Всего языков: </b>44<br />
- <b>Всего пакетов: </b>879
+ <b>Всего пакетов: </b>880
</div>
</body>
</html>
diff --git a/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
b/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
index c867ac9..1b1c6e9 100644
--- a/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ru-RU/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ru-RU/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora.xml b/public_html/ru-RU/opds-Fedora.xml
index 19df974..bd11317 100644
--- a/public_html/ru-RU/opds-Fedora.xml
+++ b/public_html/ru-RU/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ru-RU/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ru-RU</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ru-RU</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
b/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
index 05aa432..8f2e3fd 100644
--- a/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ru-RU/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Contributor_Documen...
<title>Документация участника Fedora</title>
<subtitle>Документация участника Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Core.xml
b/public_html/ru-RU/opds-Fedora_Core.xml
index e80a60c..85ec143 100644
--- a/public_html/ru-RU/opds-Fedora_Core.xml
+++ b/public_html/ru-RU/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
b/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
index 37aeb78..05361fb 100644
--- a/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ru-RU/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ru-RU/opds-Fedora_Security_Team.xml
b/public_html/ru-RU/opds-Fedora_Security_Team.xml
index d2699c3..78e02c7 100644
--- a/public_html/ru-RU/opds-Fedora_Security_Team.xml
+++ b/public_html/ru-RU/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ru-RU/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ru-RU/opds.xml b/public_html/ru-RU/opds.xml
index 49bced2..5c755d2 100644
--- a/public_html/ru-RU/opds.xml
+++ b/public_html/ru-RU/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ru-RU/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ru-RU/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ru-RU/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Документация участника Fedora</title>
<
id>http://docs.fedoraproject.org/ru-RU/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ru-RU/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/ru-RU/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ru-RU/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:37</updated>
<dc:language>ru-RU</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ru-RU/toc.html b/public_html/ru-RU/toc.html
index 7fef672..b993c05 100644
--- a/public_html/ru-RU/toc.html
+++ b/public_html/ru-RU/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Не переведено</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/sk-SK/Site_Statistics.html
b/public_html/sk-SK/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/sk-SK/Site_Statistics.html
+++ b/public_html/sk-SK/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
b/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
index 1ed24a7..1e6173d 100644
--- a/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sk-SK/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sk-SK/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora.xml b/public_html/sk-SK/opds-Fedora.xml
index 64c273e..34cd364 100644
--- a/public_html/sk-SK/opds-Fedora.xml
+++ b/public_html/sk-SK/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/sk-SK/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>sk-SK</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>sk-SK</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
b/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
index 1474925..fcba0bb 100644
--- a/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sk-SK/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Core.xml
b/public_html/sk-SK/opds-Fedora_Core.xml
index 1000cda..47b5755 100644
--- a/public_html/sk-SK/opds-Fedora_Core.xml
+++ b/public_html/sk-SK/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
b/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
index 98b7ba1..698fe3b 100644
--- a/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sk-SK/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sk-SK/opds-Fedora_Security_Team.xml
b/public_html/sk-SK/opds-Fedora_Security_Team.xml
index bd4bf2f..ec8c7e4 100644
--- a/public_html/sk-SK/opds-Fedora_Security_Team.xml
+++ b/public_html/sk-SK/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sk-SK/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sk-SK/opds.xml b/public_html/sk-SK/opds.xml
index 4e94212..4ed6f57 100644
--- a/public_html/sk-SK/opds.xml
+++ b/public_html/sk-SK/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/sk-SK/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/sk-SK/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/sk-SK/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/sk-SK/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/sk-SK/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/sk-SK/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/sk-SK/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sk-SK</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sk-SK/toc.html b/public_html/sk-SK/toc.html
index ad7afde..da199de 100644
--- a/public_html/sk-SK/toc.html
+++ b/public_html/sk-SK/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/sr-Latn-RS/Site_Statistics.html
b/public_html/sr-Latn-RS/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/sr-Latn-RS/Site_Statistics.html
+++ b/public_html/sr-Latn-RS/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
b/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
index c2c1cf2..720eb96 100644
--- a/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sr-Latn-RS/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Community_Services_In...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora.xml
b/public_html/sr-Latn-RS/opds-Fedora.xml
index 22860e1..3389389 100644
--- a/public_html/sr-Latn-RS/opds-Fedora.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>sr-Latn-RS</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>sr-Latn-RS</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
b/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
index 8b54a31..2e67886 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Contributor_Do...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Core.xml
b/public_html/sr-Latn-RS/opds-Fedora_Core.xml
index 699d6b2..6e8c4ba 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Core.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Core.xml</i...
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
b/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
index c417f79..671c053 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Draft_Document...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
b/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
index ac5fa8a..dc7fbb0 100644
--- a/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
+++ b/public_html/sr-Latn-RS/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds-Fedora_Security_Team....
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-Latn-RS/opds.xml b/public_html/sr-Latn-RS/opds.xml
index 438e880..683b515 100644
--- a/public_html/sr-Latn-RS/opds.xml
+++ b/public_html/sr-Latn-RS/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/Community_Services_Infrast...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora/opds-Fedora.xml<...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Contributor_Documen...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Core/opds-Fedora_Co...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Draft_Documentation...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/sr-Latn-RS/Fedora_Security_Team/opds-...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-Latn-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sr-Latn-RS/toc.html b/public_html/sr-Latn-RS/toc.html
index 96d28a4..b864521 100644
--- a/public_html/sr-Latn-RS/toc.html
+++ b/public_html/sr-Latn-RS/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/sr-RS/Site_Statistics.html
b/public_html/sr-RS/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/sr-RS/Site_Statistics.html
+++ b/public_html/sr-RS/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
b/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
index b2b2fdb..aa5e7a1 100644
--- a/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sr-RS/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-RS/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora.xml b/public_html/sr-RS/opds-Fedora.xml
index 533625b..9f88e51 100644
--- a/public_html/sr-RS/opds-Fedora.xml
+++ b/public_html/sr-RS/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/sr-RS/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>sr-RS</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>sr-RS</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
b/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
index 2307650..373a8f2 100644
--- a/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sr-RS/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Core.xml
b/public_html/sr-RS/opds-Fedora_Core.xml
index c8ad0e9..c551ce1 100644
--- a/public_html/sr-RS/opds-Fedora_Core.xml
+++ b/public_html/sr-RS/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
b/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
index 7b00eee..969b35b 100644
--- a/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sr-RS/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-RS/opds-Fedora_Security_Team.xml
b/public_html/sr-RS/opds-Fedora_Security_Team.xml
index 35e6ca2..33e1555 100644
--- a/public_html/sr-RS/opds-Fedora_Security_Team.xml
+++ b/public_html/sr-RS/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sr-RS/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sr-RS/opds.xml b/public_html/sr-RS/opds.xml
index ddee814..2587115 100644
--- a/public_html/sr-RS/opds.xml
+++ b/public_html/sr-RS/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/sr-RS/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/sr-RS/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:02</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/sr-RS/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/sr-RS/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/sr-RS/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/sr-RS/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/sr-RS/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sr-RS</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sr-RS/toc.html b/public_html/sr-RS/toc.html
index 673fdea..3a2d873 100644
--- a/public_html/sr-RS/toc.html
+++ b/public_html/sr-RS/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/sv-SE/Site_Statistics.html
b/public_html/sv-SE/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/sv-SE/Site_Statistics.html
+++ b/public_html/sv-SE/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
b/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
index ec8c51d..968214d 100644
--- a/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
+++ b/public_html/sv-SE/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sv-SE/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora.xml b/public_html/sv-SE/opds-Fedora.xml
index 652248b..33d4f08 100644
--- a/public_html/sv-SE/opds-Fedora.xml
+++ b/public_html/sv-SE/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/sv-SE/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>sv-SE</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>sv-SE</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
b/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
index 60c0a51..8562942 100644
--- a/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/sv-SE/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Core.xml
b/public_html/sv-SE/opds-Fedora_Core.xml
index a6aaf75..b1f22ee 100644
--- a/public_html/sv-SE/opds-Fedora_Core.xml
+++ b/public_html/sv-SE/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
b/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
index f7c6dc2..26e6414 100644
--- a/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/sv-SE/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sv-SE/opds-Fedora_Security_Team.xml
b/public_html/sv-SE/opds-Fedora_Security_Team.xml
index 70d9ef7..6c0df9d 100644
--- a/public_html/sv-SE/opds-Fedora_Security_Team.xml
+++ b/public_html/sv-SE/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/sv-SE/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/sv-SE/opds.xml b/public_html/sv-SE/opds.xml
index 86c29a8..f680027 100644
--- a/public_html/sv-SE/opds.xml
+++ b/public_html/sv-SE/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/sv-SE/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/sv-SE/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/sv-SE/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/sv-SE/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/sv-SE/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/sv-SE/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/sv-SE/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>sv-SE</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/sv-SE/toc.html b/public_html/sv-SE/toc.html
index dfb4854..66f3b18 100644
--- a/public_html/sv-SE/toc.html
+++ b/public_html/sv-SE/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/ta-IN/Site_Statistics.html
b/public_html/ta-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/ta-IN/Site_Statistics.html
+++ b/public_html/ta-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
b/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
index 13d09b4..cf78f3a 100644
--- a/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/ta-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ta-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora.xml b/public_html/ta-IN/opds-Fedora.xml
index c527545..842aae9 100644
--- a/public_html/ta-IN/opds-Fedora.xml
+++ b/public_html/ta-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/ta-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>ta-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>ta-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
index 28327c8..7748ae0 100644
--- a/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/ta-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Core.xml
b/public_html/ta-IN/opds-Fedora_Core.xml
index 7989ec4..a636f0e 100644
--- a/public_html/ta-IN/opds-Fedora_Core.xml
+++ b/public_html/ta-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
index 2e87e4f..d194d7d 100644
--- a/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/ta-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ta-IN/opds-Fedora_Security_Team.xml
b/public_html/ta-IN/opds-Fedora_Security_Team.xml
index cdacd90..61bc985 100644
--- a/public_html/ta-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/ta-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/ta-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/ta-IN/opds.xml b/public_html/ta-IN/opds.xml
index c1adf02..8b4aa0e 100644
--- a/public_html/ta-IN/opds.xml
+++ b/public_html/ta-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/ta-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/ta-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:38</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/ta-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/ta-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/ta-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/ta-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/ta-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>ta-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/ta-IN/toc.html b/public_html/ta-IN/toc.html
index d9bd189..5778daf 100644
--- a/public_html/ta-IN/toc.html
+++ b/public_html/ta-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/te-IN/Site_Statistics.html
b/public_html/te-IN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/te-IN/Site_Statistics.html
+++ b/public_html/te-IN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/te-IN/opds-Community_Services_Infrastructure.xml
b/public_html/te-IN/opds-Community_Services_Infrastructure.xml
index 40563f4..1a61ec0 100644
--- a/public_html/te-IN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/te-IN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/te-IN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/te-IN/opds-Fedora.xml b/public_html/te-IN/opds-Fedora.xml
index 6239dc0..7de1ac0 100644
--- a/public_html/te-IN/opds-Fedora.xml
+++ b/public_html/te-IN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/te-IN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>te-IN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>te-IN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
b/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
index 118f9bd..0038caf 100644
--- a/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/te-IN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Core.xml
b/public_html/te-IN/opds-Fedora_Core.xml
index 6e4fb94..fc704d5 100644
--- a/public_html/te-IN/opds-Fedora_Core.xml
+++ b/public_html/te-IN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
b/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
index 0fcb2c3..04d8aad 100644
--- a/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/te-IN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/te-IN/opds-Fedora_Security_Team.xml
b/public_html/te-IN/opds-Fedora_Security_Team.xml
index 3e3d424..d2ddb52 100644
--- a/public_html/te-IN/opds-Fedora_Security_Team.xml
+++ b/public_html/te-IN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/te-IN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/te-IN/opds.xml b/public_html/te-IN/opds.xml
index 56921c5..df40ad8 100644
--- a/public_html/te-IN/opds.xml
+++ b/public_html/te-IN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/te-IN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/te-IN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/te-IN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/te-IN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/te-IN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/te-IN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/te-IN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>te-IN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/te-IN/toc.html b/public_html/te-IN/toc.html
index f9da354..3bb1f13 100644
--- a/public_html/te-IN/toc.html
+++ b/public_html/te-IN/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/toc.html b/public_html/toc.html
index f8ccd19..9faf040 100644
--- a/public_html/toc.html
+++ b/public_html/toc.html
@@ -1533,10 +1533,24 @@
<div class="product">
<span id="Fedora" class="product">Fedora</span>
<div class="versions">
- <div class="version">
- <span class="version">19</span> <div
class="books">
+ <div class="books">
<div class="book">
+ <span id="Amateur_Radio_Guide" class="book">Amateur
Radio Guide</span>
+ <div class="types">
+
+ <a class="type"
href="./en-US/Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub">epub</a>
+
+ <a class="type"
href="./en-US/Fedora/19/html/Amateur_Radio_Guide/index.html">html</a>
+
+ <a class="type"
href="./en-US/Fedora/19/html-single/Amateur_Radio_Guide/index.html">html-single</a>
+
+ <a class="type"
href="./en-US/Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf">pdf</a>
+
+ </div>
+ </div>
+
+ <div class="book">
<span id="Burning_ISO_images_to_disc"
class="book">Burning ISO images to disc</span>
<div class="types">
@@ -1656,7 +1670,7 @@
</div>
</div>
- </div> </div> <div class="version">
+ </div> <div class="version">
<span class="version">18</span> <div
class="books">
<div class="book">
@@ -5530,8 +5544,7 @@
<div class="product">
<span id="Fedora" class="product">Fedora</span>
<div class="versions">
- <div class="version">
- <span class="version">19</span> <div
class="books">
+ <div class="books">
<div class="book">
<span id="Release_Notes" class="book">Notes de
version</span>
@@ -5548,7 +5561,7 @@
</div>
</div>
- </div> </div> <div class="version">
+ </div> <div class="version">
<span class="version">18</span> <div
class="books">
<div class="book">
@@ -7251,8 +7264,7 @@
<div class="product">
<span id="Fedora" class="product">Fedora</span>
<div class="versions">
- <div class="version">
- <span class="version">19</span> <div
class="books">
+ <div class="books">
<div class="book">
<span id="Release_Notes"
class="book">リリースノート</span>
@@ -7284,7 +7296,7 @@
</div>
</div>
- </div> </div> <div class="version">
+ </div> <div class="version">
<span class="version">18</span> <div
class="books">
<div class="book">
@@ -8611,8 +8623,7 @@
<div class="product">
<span id="Fedora" class="product">Fedora</span>
<div class="versions">
- <div class="version">
- <span class="version">19</span> <div
class="books">
+ <div class="books">
<div class="book">
<span id="Release_Notes"
class="book">Vrijgave-informatie</span>
@@ -8629,7 +8640,7 @@
</div>
</div>
- </div> </div> <div class="version">
+ </div> <div class="version">
<span class="version">18</span> <div
class="books">
<div class="book">
@@ -13310,8 +13321,7 @@
<div class="product">
<span id="Fedora" class="product">Fedora</span>
<div class="versions">
- <div class="version">
- <span class="version">19</span> <div
class="books">
+ <div class="books">
<div class="book">
<span id="Release_Notes" class="book">Нотатки щодо
випуску</span>
@@ -13328,7 +13338,7 @@
</div>
</div>
- </div> </div> <div class="version">
+ </div> <div class="version">
<span class="version">18</span> <div
class="books">
<div class="book">
@@ -13990,8 +14000,7 @@
<div class="product">
<span id="Fedora" class="product">Fedora</span>
<div class="versions">
- <div class="version">
- <span class="version">19</span> <div
class="books">
+ <div class="books">
<div class="book">
<span id="Release_Notes"
class="book">发行注记</span>
@@ -14008,7 +14017,7 @@
</div>
</div>
- </div> </div> <div class="version">
+ </div> <div class="version">
<span class="version">18</span> <div
class="books">
<div class="book">
diff --git a/public_html/uk-UA/Site_Statistics.html
b/public_html/uk-UA/Site_Statistics.html
index 5fa2513..56dd4e1 100644
--- a/public_html/uk-UA/Site_Statistics.html
+++ b/public_html/uk-UA/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Загалом мов: </b>44<br />
- <b>Загалом пакунків: </b>879
+ <b>Загалом пакунків: </b>880
</div>
</body>
</html>
diff --git a/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
b/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
index 177d6ef..75e538e 100644
--- a/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
+++ b/public_html/uk-UA/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/uk-UA/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora.xml b/public_html/uk-UA/opds-Fedora.xml
index 688cac9..1a88d00 100644
--- a/public_html/uk-UA/opds-Fedora.xml
+++ b/public_html/uk-UA/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/uk-UA/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>uk-UA</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>uk-UA</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
b/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
index aaa81c5..a656464 100644
--- a/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/uk-UA/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Contributor_Documen...
<title>Документація для учасника розробки Fedora</title>
<subtitle>Документація для учасника розробки Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Core.xml
b/public_html/uk-UA/opds-Fedora_Core.xml
index fc40c6a..022f3f9 100644
--- a/public_html/uk-UA/opds-Fedora_Core.xml
+++ b/public_html/uk-UA/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
b/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
index a9c92cd..14a6644 100644
--- a/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/uk-UA/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Draft_Documentation...
<title>Чернетки документації з Fedora</title>
<subtitle>Чернетки документації з Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/uk-UA/opds-Fedora_Security_Team.xml
b/public_html/uk-UA/opds-Fedora_Security_Team.xml
index ad2f1bf..fec3f20 100644
--- a/public_html/uk-UA/opds-Fedora_Security_Team.xml
+++ b/public_html/uk-UA/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/uk-UA/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/uk-UA/opds.xml b/public_html/uk-UA/opds.xml
index 0c6e916..be9f485 100644
--- a/public_html/uk-UA/opds.xml
+++ b/public_html/uk-UA/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/uk-UA/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/uk-UA/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/uk-UA/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Документація для учасника розробки Fedora</title>
<
id>http://docs.fedoraproject.org/uk-UA/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/uk-UA/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Чернетки документації з Fedora</title>
<
id>http://docs.fedoraproject.org/uk-UA/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/uk-UA/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>uk-UA</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/uk-UA/toc.html b/public_html/uk-UA/toc.html
index aab0009..8954ab4 100644
--- a/public_html/uk-UA/toc.html
+++ b/public_html/uk-UA/toc.html
@@ -99,9 +99,7 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19.Release_Notes' class="book collapsed">
<a class="type"
href="Fedora/19/html/Release_Notes/index.html"
onclick="window.top.location='./Fedora/19/html/Release_Notes/index.html'"><span
class="book">Нотатки щодо випуску</span></a>
<div id='Fedora.19.Release_Notes.types' class="types"
onclick="work=0;">
@@ -114,6 +112,15 @@
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Не перекладено</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/zh-CN/Site_Statistics.html
b/public_html/zh-CN/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/zh-CN/Site_Statistics.html
+++ b/public_html/zh-CN/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
b/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
index efaea9a..3380783 100644
--- a/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
+++ b/public_html/zh-CN/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-CN/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora.xml b/public_html/zh-CN/opds-Fedora.xml
index 9036c02..977298a 100644
--- a/public_html/zh-CN/opds-Fedora.xml
+++ b/public_html/zh-CN/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/zh-CN/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>zh-CN</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>zh-CN</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
b/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
index f2740e8..9297379 100644
--- a/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/zh-CN/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Core.xml
b/public_html/zh-CN/opds-Fedora_Core.xml
index 52eee35..4fd7b5a 100644
--- a/public_html/zh-CN/opds-Fedora_Core.xml
+++ b/public_html/zh-CN/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
b/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
index 9eedecc..55c7def 100644
--- a/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/zh-CN/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-CN/opds-Fedora_Security_Team.xml
b/public_html/zh-CN/opds-Fedora_Security_Team.xml
index accddb6..8c203c5 100644
--- a/public_html/zh-CN/opds-Fedora_Security_Team.xml
+++ b/public_html/zh-CN/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-CN/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-CN/opds.xml b/public_html/zh-CN/opds.xml
index e92eef0..c463f5a 100644
--- a/public_html/zh-CN/opds.xml
+++ b/public_html/zh-CN/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/zh-CN/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/zh-CN/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:39</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/zh-CN/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/zh-CN/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/zh-CN/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/zh-CN/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/zh-CN/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-CN</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/zh-CN/toc.html b/public_html/zh-CN/toc.html
index 978f962..a8fa27d 100644
--- a/public_html/zh-CN/toc.html
+++ b/public_html/zh-CN/toc.html
@@ -99,9 +99,7 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19.Release_Notes' class="book collapsed">
<a class="type"
href="Fedora/19/html/Release_Notes/index.html"
onclick="window.top.location='./Fedora/19/html/Release_Notes/index.html'"><span
class="book">发行注记</span></a>
<div id='Fedora.19.Release_Notes.types' class="types"
onclick="work=0;">
@@ -114,6 +112,15 @@
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">
diff --git a/public_html/zh-TW/Site_Statistics.html
b/public_html/zh-TW/Site_Statistics.html
index 32ecef0..9f78181 100644
--- a/public_html/zh-TW/Site_Statistics.html
+++ b/public_html/zh-TW/Site_Statistics.html
@@ -28,7 +28,7 @@
<td>6</td>
<td>42</td>
<td>21</td>
- <td>158</td>
+ <td>159</td>
</tr>
<tr>
@@ -421,7 +421,7 @@
</table>
<div class="totals">
<b>Total Languages: </b>44<br />
- <b>Total Packages: </b>879
+ <b>Total Packages: </b>880
</div>
</body>
</html>
diff --git a/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
b/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
index becb81c..e70d13b 100644
--- a/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
+++ b/public_html/zh-TW/opds-Community_Services_Infrastructure.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-TW/opds-Community_Services_Infrast...
<title>Community Services Infrastructure</title>
<subtitle>Community Services Infrastructure</subtitle>
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora.xml b/public_html/zh-TW/opds-Fedora.xml
index 2f7c709..54f1500 100644
--- a/public_html/zh-TW/opds-Fedora.xml
+++ b/public_html/zh-TW/opds-Fedora.xml
@@ -6,13 +6,31 @@
<
id>http://docs.fedoraproject.org/zh-TW/opds-Fedora.xml</id>
<title>Fedora</title>
<subtitle>Fedora</subtitle>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
</author-->
<entry>
+ <title>Amateur Radio Guide</title>
+
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Radio_Gu...
+ <!--author>
+ <name></name>
+ <uri></uri>
+ </author-->
+ <updated>2013-08-21</updated>
+ <dc:language>zh-TW</dc:language>
+ <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <!--dc:issued></dc:issued-->
+ <summary>A guide for users of Fedora amateur radio software</summary>
+ <content type="text">Fedora includes a wide range of applications
relevant to amateur radio operators. This guide describes the use of some of those
applications.</content>
+ <link type="application/epub+zip"
rel="http://opds-spec.org/acquisition"
href="http://docs.fedoraproject.org/en-US/Fedora/19/epub/Amateur_Rad...
+ <dc:format>application/epub+zip</dc:format>
+ </link>
+ <!--link type="application/atom+xml;type=entry" href=""
rel="alternate" title="Full entry"/-->
+ </entry>
+ <entry>
<title>Burning ISO images to disc</title>
<
id>http://docs.fedoraproject.org/en-US/Fedora/19/epub/Burning_ISO_imag...
<!--author>
@@ -21,7 +39,7 @@
</author-->
<updated>2013-07-07</updated>
<dc:language>zh-TW</dc:language>
- <category label="19"
scheme="http://lexcycle.com/stanza/header" term="free"/>
+ <category label=""
scheme="http://lexcycle.com/stanza/header"
term="free"/>
<!--dc:issued></dc:issued-->
<summary>How to download ISO images and create CD and DVD
media</summary>
<content type="text">How to download ISO images and create CD and DVD
media</content>
diff --git a/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
b/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
index 8310b82..767fddb 100644
--- a/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
+++ b/public_html/zh-TW/opds-Fedora_Contributor_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Contributor_Documen...
<title>Fedora Contributor Documentation</title>
<subtitle>Fedora Contributor Documentation</subtitle>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Core.xml
b/public_html/zh-TW/opds-Fedora_Core.xml
index 6e2ad57..a2d213f 100644
--- a/public_html/zh-TW/opds-Fedora_Core.xml
+++ b/public_html/zh-TW/opds-Fedora_Core.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Core.xml</id>
<title>Fedora Core</title>
<subtitle>Fedora Core</subtitle>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
b/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
index 6f3698f..1e0d935 100644
--- a/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
+++ b/public_html/zh-TW/opds-Fedora_Draft_Documentation.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Draft_Documentation...
<title>Fedora Draft Documentation</title>
<subtitle>Fedora Draft Documentation</subtitle>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-TW/opds-Fedora_Security_Team.xml
b/public_html/zh-TW/opds-Fedora_Security_Team.xml
index 6ff0375..ad3979c 100644
--- a/public_html/zh-TW/opds-Fedora_Security_Team.xml
+++ b/public_html/zh-TW/opds-Fedora_Security_Team.xml
@@ -6,7 +6,7 @@
<
id>http://docs.fedoraproject.org/zh-TW/opds-Fedora_Security_Team.xml&l...
<title>Fedora Security Team</title>
<subtitle>Fedora Security Team</subtitle>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
diff --git a/public_html/zh-TW/opds.xml b/public_html/zh-TW/opds.xml
index 1a9e7dc..9f525c1 100644
--- a/public_html/zh-TW/opds.xml
+++ b/public_html/zh-TW/opds.xml
@@ -6,7 +6,7 @@
<link
rel="http://opds-spec.org/crawlable"
type="application/atom+xml"
href="http://bookserver.archive.org/catalog/crawlable" title="Crawlable
feed"/>
<
id>http://docs.fedoraproject.org/zh-TW/opds.xml</id>
<title>Product List</title>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<!--author>
<name></name>
<uri></uri>
@@ -15,7 +15,7 @@
<entry>
<title>Community Services Infrastructure</title>
<
id>http://docs.fedoraproject.org/zh-TW/Community_Services_Infrastructu...
- <updated>2013-08-13T03:10:03</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Community_Services_Infrastructure.xml"/>
@@ -23,7 +23,7 @@
<entry>
<title>Fedora</title>
<
id>http://docs.fedoraproject.org/zh-TW/Fedora/opds-Fedora.xml</id>
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml" href="opds-Fedora.xml"/>
@@ -31,7 +31,7 @@
<entry>
<title>Fedora Contributor Documentation</title>
<
id>http://docs.fedoraproject.org/zh-TW/Fedora_Contributor_Documentatio...
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Contributor_Documentation.xml"/>
@@ -39,7 +39,7 @@
<entry>
<title>Fedora Core</title>
<
id>http://docs.fedoraproject.org/zh-TW/Fedora_Core/opds-Fedora_Core.xm...
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Core.xml"/>
@@ -47,7 +47,7 @@
<entry>
<title>Fedora Draft Documentation</title>
<
id>http://docs.fedoraproject.org/zh-TW/Fedora_Draft_Documentation/opds...
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Draft_Documentation.xml"/>
@@ -55,7 +55,7 @@
<entry>
<title>Fedora Security Team</title>
<
id>http://docs.fedoraproject.org/zh-TW/Fedora_Security_Team/opds-Fedor...
- <updated>2013-08-13T03:10:04</updated>
+ <updated>2013-08-21T20:19:40</updated>
<dc:language>zh-TW</dc:language>
<content type="text"></content>
<link type="application/atom+xml"
href="opds-Fedora_Security_Team.xml"/>
diff --git a/public_html/zh-TW/toc.html b/public_html/zh-TW/toc.html
index d3e0c1d..37464bb 100644
--- a/public_html/zh-TW/toc.html
+++ b/public_html/zh-TW/toc.html
@@ -99,12 +99,19 @@
<div class="product collapsed" onclick="toggle(event,
'Fedora');work=1;">
<span class="product">Fedora</span>
<div id='Fedora' class="versions hidden">
- <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');">
- <span class="version">19</span>
- <div id='Fedora.19.books' class="books hidden">
+ <div id='Fedora.19' class="version collapsed"
onclick="toggle(event, 'Fedora.19.books');"> <div
id='Fedora.19.books' class="books">
<div id='Fedora.19' class="version collapsed untranslated"
onclick="toggle(event, 'Fedora.19.untrans_books');">
<span class="version">Untranslated</span>
<div id='Fedora.19.untrans_books' class="books hidden">
+ <div id='Fedora.19.Amateur_Radio_Guide' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Amateur_Radio_Guide.types');">
+ <a class="type"
href="../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Amateur_Radio_Guide/index.html'"><span
class="book">Amateur Radio Guide</span></a>
+ <div id='Fedora.19.Amateur_Radio_Guide.types' class="types
hidden" onclick="work=0;">
+ <a class="type"
href="../en-US/./Fedora/19/epub/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.epub"
>epub</a>
+ <a class="type"
href="../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html/Amateur_Radio_Guide/index.html';return
false;">html</a>
+ <a class="type"
href="../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html"
onclick="window.top.location='../en-US/./Fedora/19/html-single/Amateur_Radio_Guide/index.html';return
false;">html-single</a>
+ <a class="type"
href="../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf"
onclick="window.top.location='../en-US/./Fedora/19/pdf/Amateur_Radio_Guide/Fedora-19-Amateur_Radio_Guide-en-US.pdf';return
false;">pdf</a>
+ </div>
+ </div>
<div id='Fedora.19.Burning_ISO_images_to_disc' class="book
collapsed" onclick="toggle(event,
'Fedora.19.Burning_ISO_images_to_disc.types');">
<a class="type"
href="../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html"
onclick="window.top.location='../en-US/Fedora/19/html/Burning_ISO_images_to_disc/index.html'"><span
class="book">Burning ISO images to disc</span></a>
<div id='Fedora.19.Burning_ISO_images_to_disc.types' class="types
hidden" onclick="work=0;">