Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/duplicati/duplicati.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Skovhede <kenneth@hexad.dk>2016-11-03 17:09:48 +0300
committerKenneth Skovhede <kenneth@hexad.dk>2016-11-03 17:09:48 +0300
commite50c68d3b192350b38e46377950c109a5069e4b9 (patch)
tree9a734cac6cb7c68c64d8a212e70080c967de4650
parent61e18f9b9d6a2899bd70535d5ca476980c36c88a (diff)
parent77c76a40b0bd185a64b174ad9b7130214ac2e40f (diff)
Merge branch 'master' of github.com:duplicati/duplicati
-rw-r--r--Assets/webui/arrow_collapse_blue.ai441
-rw-r--r--Assets/webui/arrow_collapse_green.ai443
-rw-r--r--Assets/webui/arrow_expand_blue.ai408
-rw-r--r--Assets/webui/arrow_expand_green.ai453
-rw-r--r--Assets/webui/clippy.svg12
-rw-r--r--Assets/webui/mainmenu/arrow_right.ai464
-rw-r--r--Assets/webui/mainmenu/over/arrow_right.ai341
-rw-r--r--Assets/webui/mainmenu/resume.ai431
-rw-r--r--Assets/webui/three_dots.svg11
-rw-r--r--Duplicati/Library/Main/Controller.cs11
-rw-r--r--Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj1
-rw-r--r--Duplicati/Library/Modules/Builtin/HyperVOptions.cs41
-rw-r--r--Duplicati/Library/Modules/Builtin/MSSQLOptions.cs219
-rw-r--r--Duplicati/Library/Modules/Builtin/Strings.cs5
-rw-r--r--Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj1
-rw-r--r--Duplicati/Library/Snapshots/HyperVUtility.cs27
-rw-r--r--Duplicati/Library/Snapshots/MSSQLUtility.cs154
-rw-r--r--Duplicati/Server/Duplicati.Server.csproj1
-rw-r--r--Duplicati/Server/WebServer/RESTMethods/HyperV.cs10
-rw-r--r--Duplicati/Server/WebServer/RESTMethods/MSSQL.cs80
-rw-r--r--Duplicati/Server/webroot/ngax/img/arrow_collapse_blue.pngbin0 -> 194 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/arrow_collapse_green.pngbin0 -> 194 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/arrow_expand_blue.pngbin0 -> 227 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/arrow_expand_green.pngbin0 -> 226 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/clippy.pngbin0 -> 275 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.pngbin0 -> 221 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.pngbin0 -> 176 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.pngbin0 -> 253 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/mainmenu/resume.pngbin0 -> 306 bytes
-rw-r--r--Duplicati/Server/webroot/ngax/img/three_dots.pngbin0 -> 242 bytes
-rwxr-xr-xDuplicati/Server/webroot/ngax/index.html66
-rwxr-xr-xDuplicati/Server/webroot/ngax/less/fonts.less12
-rwxr-xr-xDuplicati/Server/webroot/ngax/less/form.less104
-rwxr-xr-xDuplicati/Server/webroot/ngax/less/style.less2249
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/app.js6
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/controllers/AppController.js10
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/controllers/DialogController.js27
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/controllers/EditBackupController.js67
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/controllers/PauseController.js15
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/controllers/RestoreDirectController.js101
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/directives/backupEditUri.js53
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/helper.js5
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/libs/clipboard.min.js7
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/libs/ngclipboard.min.js4
-rwxr-xr-xDuplicati/Server/webroot/ngax/scripts/menu.js49
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/services/CaptchaService.js2
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/services/DialogService.js28
-rw-r--r--Duplicati/Server/webroot/ngax/scripts/services/EditUriBackendConfig.js6
-rwxr-xr-xDuplicati/Server/webroot/ngax/styles/style.css4
-rw-r--r--Duplicati/Server/webroot/ngax/styles/styles2.css659
-rwxr-xr-xDuplicati/Server/webroot/ngax/templates/addoredit.html327
-rw-r--r--Duplicati/Server/webroot/ngax/templates/copy_clipboard_buttons.html4
-rw-r--r--Duplicati/Server/webroot/ngax/templates/edituri.html95
-rw-r--r--Duplicati/Server/webroot/ngax/templates/home.html25
-rw-r--r--Duplicati/Server/webroot/ngax/templates/import.html4
-rw-r--r--Duplicati/Server/webroot/ngax/templates/pause.html31
-rw-r--r--Duplicati/Server/webroot/ngax/templates/restoredirect.html93
-rw-r--r--Localizations/duplicati/localization.pot2
-rw-r--r--Localizations/webroot/localization_webroot.pot567
-rw-r--r--guiTests/guiTest.py24
60 files changed, 6033 insertions, 2167 deletions
diff --git a/Assets/webui/arrow_collapse_blue.ai b/Assets/webui/arrow_collapse_blue.ai
new file mode 100644
index 000000000..06d03040e
--- /dev/null
+++ b/Assets/webui/arrow_collapse_blue.ai
@@ -0,0 +1,441 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R]/Order 22 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 12016/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-16T02:38:47+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-10-30T21:01:37+01:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-10-30T21:01:37+01:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>160</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq8987eduXqaXpcnw7rc3Knr4oh8PE5tdJpP4pfAOm12u/gh8S7yT524+np&#xA;eqSfDsttcsengjnw8Djq9J/FH4hdDrv4J/AvQs1TuXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXnvnbzty9TS9Lk+Hdbm5U9fFEPh4nNrpNJ/FL4B02&#xA;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&#xA;2PV1+Ds4Rnctx0/azTNe7N2KuxV//9k=</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>16.000000</stDim:w>
+ <stDim:h>16.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">arrow_collapse</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:1c44fa77-d0c3-42dd-a6df-874095356f7b</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:319b11c8-022e-4657-bd1a-010641d3d49f</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[1.0 4.0 15.0 12.6]/BleedBox[0.0 0.0 16.0 16.0]/Contents 23 0 R/LastModified(D:20161030210137+02'00')/MediaBox[0.0 0.0 16.0 16.0]/Parent 3 0 R/PieceInfo<</Illustrator 24 0 R>>/Resources<</ExtGState<</GS0 25 0 R>>/Properties<</MC0 21 0 R>>>>/Thumb 26 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 23 0 obj <</Filter/FlateDecode/Length 112>>stream
+H‰LMË
+ƒ0¼ÏWÌd³ilŒW£ô$"ýA{ÐCíÿCWð 3,óX?ú¡(Û®*±ITIMe7§šÇ
+ÿz+×¾ TC`fxHâ¼ãô;\Mã÷”Š.[µYã¢D·ìzû`Á„~°Á¿
+endstream endobj 26 0 obj <</BitsPerComponent 8/ColorSpace 27 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 2/Length 20/Width 2>>stream
+8;TruMb=3Z0E;4(!J^~>
+endstream endobj 27 0 obj [/Indexed/DeviceRGB 255 28 0 R] endobj 28 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 25 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 24 0 obj <</LastModified(D:20161030210137+02'00')/Private 31 0 R>> endobj 31 0 obj <</AIMetaData 32 0 R/AIPrivateData1 33 0 R/AIPrivateData2 34 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 32 0 obj <</Length 1254>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (arrow_collapse_blue.ai)
+%%CreationDate: 10/30/2016 9:01 PM
+%%Canvassize: 16383
+%%BoundingBox: 1 4 15 13
+%%HiResBoundingBox: 1 4 15 12.5999999046326
+%%DocumentProcessColors: Cyan Magenta Yellow
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 0 16 16
+%AI3_TemplateBox: 8.5 7.5 8.5 7.5
+%AI3_TileBox: -278.380003929138 -401.199981689453 289.939971923828 417.679991722107
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 0
+%AI17_Alternate_Content
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 0
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:-3 -40
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 33 0 obj <</Length 9893>>stream
+%%BoundingBox: 1 4 15 13
+%%HiResBoundingBox: 1 4 15 12.5999999046326
+%AI7_Thumbnail: 128 80 8
+%%BeginData: 9756 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD3FFF84AFFD7DFF845A36A9FD7BFF84615A6136AFFD79FF845A36
+%605A5A3685FD77FF85615A615A615A615AA9FD75FF84615A605A615A605A
+%613685FD73FF85615A615A615A615A615A615AA9FD71FF845A5A5A36605A
+%5A36605A5A36603685FD6FFF84615A615A615A615A615A615A615A615AAF
+%FD6DFF845A5A615A605A615A605A615A605A615A6036A9FD6BFF84615A61
+%5A615A615A615A615A615A615A615A6136AFFD69FF845A36605A5A36605A
+%5A36605A5A36605A5A36605A5A3685FD67FF85615A615A615A615A615A61
+%5A615A615A615A615A615A615AA9FD65FF84615A605A615A605A615A605A
+%615A605A615A605A615A605A613685FD63FF85615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615AA9FD61FF845A5A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36603685FD5FFF84615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615AAF
+%FD5DFF845A5A615A605A615A605A615A605A615A605A615A605A615A605A
+%615A605A615A6036A9FD5BFF84615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A6136AFFD59FF845A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A
+%5A3685FD57FF85615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615AA9FD55FF84615A605A615A605A
+%615A605A615A605A615A605A615A605A615A605A615A605A615A605A615A
+%605A613685FD53FF85615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615AA9FD51FF845A5A
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36603685FD4FFF84615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615AAFFD4DFF845A5A615A605A615A605A615A605A615A605A
+%615A605A615A605A615A605A615A605A615A605A615A605A615A605A615A
+%6036A9FD4BFF84615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A6136AF
+%FD49FF845A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3685FD
+%47FF85615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615AA9
+%FD45FF84615A605A615A605A615A605A615A605A615A605A615A605A615A
+%605A615A605A615A605A615A605A615A605A615A605A615A605A615A605A
+%613685FD43FF85615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A6184855A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615AA9FD41FF845A5A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A365A5AFFFF85365A36605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36603685FD3FFF84615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A6184FD04FF855A615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615AAFFD3DFF845A5A61
+%5A605A615A605A615A605A615A605A615A605A615A605A615A5A84FD06FF
+%8536615A605A615A605A615A605A615A605A615A605A615A605A615A6036
+%A9FD3BFF84615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A6184FD08FF8536615A615A615A615A615A615A615A615A615A615A
+%615A615A615A6136AFFD39FF845A36605A5A36605A5A36605A5A36605A5A
+%36605A5A36605A5A36605A5A7EFD0AFF8536605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A3685FD37FF85615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A6184FD0CFF855A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A615AA9FD35FF8461
+%5A605A615A605A615A605A615A605A615A605A615A605A615A605A6184FD
+%0EFF8536605A615A605A615A605A615A605A615A605A615A605A615A605A
+%613685FD33FF85615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A6184FD10FF855A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AA9FD31FF845A5A5A36605A5A36605A5A36605A5A
+%36605A5A36605A5A36605A5A365A84FD12FF85365A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36603685FD2FFF84615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A6185FD14FFA95A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A615AAFFD2DFF
+%845A5A615A605A615A605A615A605A615A605A615A605A615A605A615A5A
+%84FD16FF8536615A605A615A605A615A605A615A605A615A605A615A605A
+%615A6036A9FD2BFF84615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A6185FD18FFA936615A615A615A615A615A615A615A615A
+%615A615A615A615A615A6136AFFD29FF845A36605A5A36605A5A36605A5A
+%36605A5A36605A5A36605A5A36605A5A84FD1AFF8536605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A3685FD27FF85615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A6184FD1CFFAF5A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A615AA9FD
+%25FF84615A605A615A605A615A605A615A605A615A605A615A605A615A60
+%366184FD1EFFA9365A5A615A605A615A605A615A605A615A605A615A605A
+%615A605A613685FD23FF85615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A6184FD20FFAF5A615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615AA9FD21FF845A5A5A36605A5A36605A5A
+%36605A5A36605A5A36605A5A36605A5A365A84FD22FFA9365A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36603685FD1FFF84615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A61A9FD24FF
+%AF5A615A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%AFFD1DFF845A5A615A605A615A605A615A605A615A605A615A605A615A60
+%5A615A5A84FD26FFA936615A605A615A605A615A605A615A605A615A605A
+%615A605A615A6036A9FD1BFF84615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A61A9FD28FFAF5A615A615A615A615A615A615A
+%615A615A615A615A615A615A615A6136AFFD19FF845A36605A5A36605A5A
+%36605A5A36605A5A36605A5A36605A5A36605A5A84FD2AFFA936605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3685FD17FF8561
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A61A9FD
+%2CFFAF5A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615AA9FD15FF84615A605A615A605A615A605A615A605A615A605A615A60
+%5A615A603661A9FD2EFFAF5A5A5A615A605A615A605A615A605A615A605A
+%615A605A615A605A613685FD13FF85615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A61A9FD30FFAF5A615A615A615A615A615A
+%615A615A615A615A615A615A615A615A615AA9FD11FF845A5A5A36605A5A
+%36605A5A36605A5A36605A5A36605A5A36605A5A3660A8FD32FFAF365A5A
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36603685FD0FFF
+%84615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%A9FD34FFAF5A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A615AAFFD0DFF845A5A615A605A615A605A615A605A615A605A615A60
+%5A615A605A615A5AA8FD36FFAF36615A605A615A605A615A605A615A605A
+%615A605A615A605A615A6036A9FD0BFF84615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A61A9FD38FFAF5A615A615A615A615A
+%615A615A615A615A615A615A615A615A615A6136AFFD09FF845A36605A5A
+%36605A5A36605A5A36605A5A36605A5A36605A5A36603660A8FD3AFFAF5A
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3685FD
+%07FF85615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A61A9FD3DFF5A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615AA9FD05FF84615A605A615A605A615A605A615A605A615A605A
+%615A605A615A603661A9FD3FFF5A5A5A615A605A615A605A615A605A615A
+%605A615A605A615A605A613685FFFFFF85615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A61A9FD41FF5A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615AA9FF845A5A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A3660A8FD42FFAF5A5A5A60
+%5A5A36605A5A36605A5A36605A5A36605A5A36605A5A36603685855A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A61AFFD45FF5A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A6184FF85
+%36605A615A605A615A605A615A605A615A605A615A605A613660A8FD46FF
+%AF5A615A605A615A605A615A605A615A605A615A605A615A605A6184FFFF
+%FF855A615A615A615A615A615A615A615A615A615A615A615A85AFFD49FF
+%5A615A615A615A615A615A615A615A615A615A615A615A6184FD05FF8536
+%5A36605A5A36605A5A36605A5A36605A5A36603660A8FD4BFF5A605A5A36
+%605A5A36605A5A36605A5A36605A5A365A84FD07FF855A615A615A615A61
+%5A615A615A615A615A615A85AFFD4DFF60615A615A615A615A615A615A61
+%5A615A615A6185FD09FF8536615A605A615A605A615A605A615A603661A9
+%FD4FFF5A5A5A615A605A615A605A615A605A615A5A84FD0BFF8536615A61
+%5A615A615A615A615A615A61AFFD51FF5A615A615A615A615A615A615A61
+%5A6185FD0DFF8536605A5A36605A5A36605A5A3661A9FD53FF5A5A5A605A
+%5A36605A5A36605A5A84FD0FFF855A615A615A615A615A615A85FD56FF60
+%615A615A615A615A615A6184FD11FF8536605A615A605A613685AFFD57FF
+%5A615A605A615A605A6184FD13FF855A615A615A613685FD5AFF5A615A61
+%5A615A6184FD15FF85365A36603660A8FD5BFFFD045A365A84FD17FF855A
+%615A85FD5EFF60615A6185FD19FF853685FD60FF5A5A84FD1BFFA9AFFD61
+%FF85FD8DFFFF
+%%EndData
+
+endstream endobj 34 0 obj <</Length 19940>>stream
+%AI12_CompressedDataxœÝ}ÙzêH“à\×÷ñ`cÌ&±ƒWv¼cÀû‚ȆcŒ°$ΩSó4ó }5wýb“‹vRR
+8=Õ]õ—@©ˆÌÈÈØ2"s+ÐêÄJC¡ÏÇRqÆïûkk«"òœ,ˆE?úÙ2™Ì%Y„?…Úa?›‹3°Ué$ßSZÞò¢4¦E’‰³øi¾:å>…~Ø
+ߺcyƒ9Q~õÂdÂÍ$¾×ŸÌù87k˜¤*'ƒ–,“H1‰$Ãfý…"Ãú[¨ 7ýÉIÒøØ"›Ê§àea>Ž§eáoð«?íg3~=iŽÛ¼D|œŒg
+è&M%³°qUÌ¿ø©Ü…/Ia"ˆRÑ_ùÍMýÜxÂùøÉDøZ—N2½úxƒ¡~q2@‡F^:a“½ò|<^οú< ›K£ßS=ïF€
+À´Ë`,ÚÌ%{• Ãâaâ80þŠð9PBÎ.XQáCyªAÏ
+<àÌ Óø§:x3*§†G4¨ÎÇÓð·œ. ÛyqÌAÚ4aœÿ›wÛùäåÁÈ
+ÿº"è'üe@Ó¡¤Ñ£4ý˜@N›O?fõP7§¡Gç÷W_˜Œ¥/ ¶ñ—'ÊãÁ„ïü–džŠS*Üd2þ¹Ùh<ð—Ź4òwa¢A?Sž¿ùÙx*ñKïï£×áÛT<%…8½šbz-b¾
+fMX í# ‚Ehh£VI˜àúcøGþ=ã•Ç¡í©ÔûɉÒXé€aúanû“›ÌµÆðdÓp
+Ä„ÒNédþúßžTSàDÓPi" >ù!™Ô¦ÑÅ
+ÅŸôb¶ýw0<ç
+ƒOa.û?ð¾C”8¥©¬JÜ7Z!~q’:k9Uœg㸮ÐO S¢UªJ3A¶‚ã&cƒáY:ñ—æ²àospCmü:ž¤aܲÈM¥–Öà7Èxè—ô†¬-)Sðϸ/‚׿攢äL½±$Àœ@gÅU”ÖÙL&•±ŸÖ/j!צ†)tmû!òštqå Oõ³&J´D^âÅŸ¼¿Ëÿ-£,®?žŒåßÚ
+LA9 
+1qœ9âW?$Zç¶ÑƒY,eáïû;œ¢E‘Á£Díï™ ÊÐ×+IðöÎx­KŒ&ø>K'-NËp–Ô™÷Aú0•¥6œzýœNt–ñ¿ã¼À%"bÉØO”åáïsn:X°,ï &ã *ôÔÿTý
+»°ã&½¾²öÕ燔 [Õ:„
+èfÖ{6²XZ˜…&É¢ð©¹vŒKk(WÕìÑgÜʆM˜j(LM$KÙ¶†kÒ ÙŒSÃ
+pÜâ*¼z—xµ©}_‘ç;ã:Å2ùBžu eÝJf“lÚ¡iÃhÙ¸t×Ô‡T2—Í9ɘ¶f¹65ô7Éçìú‹Úš:œgL:Ä€&‘Jùyf­E­e hTÝuhy[úB“ ,gàÙÉ»(í8¢:7àQ~£kk4ksûÉFÍÍ“m´¦‰ÍõÉvÔ†‰vb
+ÔÖ8ÑI›†]=
+ô4*Š§Ñ6ysä9•Íª‰ÁAPœ¬£_„c+"ÓÞýe“Cdæ'èÕCF*AFÒg#DL' C&“‘n´£±eí•Õsc5•›zl7ñCèÇûcù‹ƒ†‰ÙèÒXÝØ~öñõïCÞÞßã8Œ¬J Ûö¨dh¡=KèŽü\âÓ£•¦ñ$Oæ¿™Jr€$œ31>†µNqYÐBU…L<•Ê ¼—N²»÷Œ{3$zÁ6x?ßi ÑßT%—B*{ͦәëÜm™òi6^`‡˜,° ›!S¼:"™ªÆFƒ¯ø°õU‚ä
+hó.—Éä3…TÞ¹G¢¶9wÓâA˜
+“ 8’ÀÅƆ’<Qé…šW%uÈ|OyÁjöÆ" Èæ{0ó-LÁR“a¬Prij °ÝjCæ$¼èhÚ"?À¢´‰ ûÊv -é0ÏfCÊ©ÑÒLËli11Ì‹Ë[p†Öv$òÒøcʹɩZ‚Ñphg\:Ä©…­P”×Ö/JœFAc³ZÕÀÛàë·¶+Q‹ƒ‘¿+òã>P`fÆÓ1àMgÒB|Ò’˜ ƒëh1
+fÓ'Aé«´"p2P2õ«F»”*øŸC'+?›Ì¦s±dÝôsØER@ÀF>Ï%‰øÅa8™°>V^ô¡­-ß2Äš‰CQŠ¿Ï§}"§ 7R³ä$PK~
+£¾CZÿ=‹KJãŒ`hJŠ6Lcæ²j@ a6œ»µn-$,Ð4ç̉³AK…v†¥È\Ùdµ:4Ä cŒ‰ÔX\0rP‹Ôôc¡©fZZö­væ¢= ŤÐA4 ÿˆÿ¤i¤ŠR¿`›™²O¨•±…&AÇ+îd÷àV³É@s_Ý­=ƒjuÅýÓI¢Vƒ©ä(Uͦ£Y­ÛÐ0΄›¹Ž[OtŽ&Î/D 7SPi%Í+˜º5 ÛfQpZO¨k.èT1†‰¬ƒL¦y hhž¿àÖ4Oj£x2c;¡@ÃA—ÊÕ,‡mgÀžOßäÜTìs¢£27³“l¤¯[c“±ìL4¤1¸éTÛ…¦XV¢‹ÿ>•ãÉÁ¥€);ò„(Íû »]‹Xgâ» ;¤)²,œð?ù‰“û$—z±Î"uÊp†œ›Vv€âãFÕ@ †—FÜh^'ýŽä80ȧ.8ý탵@vø°YábT@·B‹¼ô'Ü@µõðÁG™<Ô=m¯†nJjS?ŒØF„¢7ˆDžtÁ ¨ÞÒ¹)ʺ‘=8jÂ
+µ­ºE\ÍWè²1\H’zjë®8þ‚)ŽŽ†¹×ÎÑ1Ȉ07›ñNq$µ¥JcŠÞ¢ã˜Ê&3Ͷ-ÐP–Ù6­isÇ÷áö Tó’HÒ¡¬ ¿ÚE`K¹øtâïóã/xLÃx0‚‡&€‡¼h<³,ƒ;S’`‰U…O$8ãþ[^üÅO‡
+¿¦¸JŽ”áb»fpŽÌ :YKI ’§%LƃßäU“$ Œ3%ÁäU¸Ηkv/1Êá!ñÐÅXs“ªé“6½ÐƒNKt¬]©/ütôw4^CáÙ:˜ b ⧑•ÒTÓhHã9kÙ|Þ°–-;g΃%ctšs ãÞºžs†ì 'ÈC>1jf3?N6‰=M%‡Xœ³èiOìY¦Ã±K¤™&eÊi~áDÁƒ ¹PŽ owAeg´gžYŒ‹i¸ŽÿîhþÕŸr㉋bE4»‘xÔ»®1\æ6t2g;êoLë®!çÞ%d5îLj.Ƙ5³Ž’Ú8øÛ(Ôù
+±†V8#‘7îR[y¼™¦¶<T°¶vv, •î愬¯~ÍŒõ.Ï—Û~[GlÂZìen† "Ö×X÷Òk.ñÞÙѱ¢uc˜Ú@X”Š‰Œµ•{MßΣ$¬ÒÎákƒ53hÂ;e¾AnúᩘK"ÖúG.ØþJ^‘°2õ——ºŽÎyj·>§;¬Óˆ¾Ý’±6˜ÒÊ=°Â¹‘7£G
+â‡XȲxŽ.ÓÏkíù³nÂú¸Ïœçb,廀µÉ ê’ÍA™fîùÓ#gƒ5»™ûÖ_í°V™‹Ý— +@#mœ|ˆ—m„ØŠµ³·“²ÅzÆwRŒ Ö§Óé…7VUB‡{Öä/ŸÃ!"ÖÛé‡-ÖÎèú­OŠÔZú©ÁÜžÍöÉD>OmÝÔ÷ÈXg§¶Xo{ ahýbîŽÎªd¬‡µÞëõË ëËÕç +”Ðñ‡Ì°nCäç<ó"Mbd¬—?f_W…|Šˆµw›"¬Hß,WÜêD6Xn˜Úø딈5Û¿Äj
+Ñ 5ïåzÊpû©°eñ„Ϲ]„5¹sjšÇzμíKktAóô~|o³§½.@ˆ *OØ>P°ÊGËX@ù‡1Öò{bŠQQº9 @¬q+D£H¨“˜:ÜŠlÁÙknd1Ö#ö,f‘‹ÑYúò aM‹•33Ö (r}xzDÌX‡+–xAeãÓ€Ug~Ë
+ÖâuÜBá ëb}Çs½¬ÕäÈ4o¶_…¢¥þôášýºµ{:†áÖÜö)\7»¥ê¶M0Û‘Šbcñ?øœåi6ÏöÔžKŸyëÓéhã^]ž¤¹ÖIñÙöõ|r·ýfÿtĽîXžˆ–Ý,%·¶¯ŸG¦GIû§ý«÷=Û§
+SÁëH%¶[a†;O݆~Ûš ÿMqÞ꽌ƒó–”ƒÐ3®b§…àÿèÂ?qø[=­¶+ðÏ{… z ‰ÎÈ6
+B®]V…¨¸‘Ü9hÅåÀnÆáfjù™ØΛaU%.òÓàiÞÏ‘3„ݨ÷}ÍéßLŒúa ç6jЊ™D·kd?ùqmƒ5»¹y3›<™l#âôã-V ’~°¶X™úûeÇ+@µè€<ÜôÃЈ5Ý °æ/ËÖáöö¦ŽUÚñm k
+1´‰È‡ßÁ/m¸‰ køÁ+ ðAÒ+dèZèˆ-Ã…®Å« Ö‡û±nÔ¥´Ù0#F®…-VèZŒÈX÷q[¬ÈT¯ŸïØÙ)¶X¡‘Ò5Í+_Pñ£OÊL@o­ò8ü¢h~M]Ûe7¿_k÷W–vj0ÅÔ43R¸Oe0ðçRÄ.ÒWð[è ¨mˆ»Öç¢"g¶;Ǫ„ÖßLŒ7‹QýÏá,4ì*!(¡ ]gáý™2„`šÁ¨‡…ÆS1®Q§t¥Ð…ÃÚ–ò'z!(q­bлw0ÃMLC$
+Ò¥
+†šyî.š\Ývõ!™æer÷sÇÙÜd£7lþyŠhjHÕÌ@L†jgγªüSªG¿ŒÊCÕN[„vu­uËÐ70¹AìØa£/Ù óÅlä›Ä‚uæ0-‘Åi6œ• Z`íϼdk$8›’–p7hlœ'ÙQS'™@ȤIÓbÜZ4µQ5l˜¥ö¢šì }OM;tK>:µÑžWm¥;N}RmÜ-{[O›>ª9,-shòCÃÉ#0Íát‹v-›Å$z5Z_+s„¢¤!´Ît]üŒ”¶‹» ´g'Ç#Ñ\ >Dë‰k#šYºy'ÚÌÈno9qÁ»•‰òHUk^,ç¦o±m'ÓÊ÷£
+½x†ˆfVK .ì<8H4×E|¶ ½²;fèÙ™U.5¤€YÚGEÁÑÍVfIQ`´Î”™6îf. ŽYóÙ24™ ÷»vPRˆa\à7+G,:…” V*ÄZ¶0†TÍ¿ïX·2—V÷„fMQZÐ1»%èEBÃÅC»ÅaáWóÜÀÉsVƒŒ ˜=Í”eCÒ »¥H‚¢P@«îs (ˆA”¼NoºÍ´ËhorPísÀ:†hÈl‰VP6­óöŒ ÐÅÉ*(KvIõ³à{BhɸÇB[jþàw5)æÆ°iî(ݤÏð‚t“>#7j%ó¢hsüíLMÅÅu4óîoV–n†à=€¶6évc‘nËP0 íIºÙJ0ykn
+’nœæÈ]ºasÐÐvq ‡¥h9¤m%ˆ+È<i$?ÛÀiÆH²í¢ä‘©¹ŽÀ#ZˆªÃß[¹KetÁ-u*y¤Ylä]Ü
+XñWÎb’vg‚º På PØü=¡‚J6çv[Ÿ8y–œ©eÄ„²hõ8Í ÷¬
+ R dãy{쎚Ód»Yìh¯[¡¹Æ½¬ùiNúŒ0bÕà·Å
+2íIÛëGn£m›s@ïÞß­Ïú¿#)G"§ÑèÇ;O¸9iœÚçï%­ËÌ©hVd±þ—SkëßN­!@+[ÿŠ­rÄ[xžôãó·Óz$+G‹‹kÕ½Å]gø›çDC;
+H#Ê,/=µÃvü=˜¨ì0-FjÚØƵto»ÈuOš~ß{7‚Â÷TëœFˆ#¢Q-vwÌfÜÖ&¥Á‘cw@ÒÛ[PˆQ·(Ù‚¼È¬jª!Çâ©*qûN{rã’åûáÜ!Kõ˜"5ÎÜ1ûDMbœ-Ëô¥5¦öBh”Û?.{?T*¸wv¾–`
+ ZŽ.m·±`žÐ€AÙ{Ò ¹X¶lAÕ'[˜ó:=¥Åê
+î0s1%:Ê$(ùIé#›^÷ÑÛ×Z VJ½Â"¾š§r>çZ>”à¿Žr>çZ>‹°Y¾œÏ¹–O1nW/çs®åó™K—/çs®åóYJ—.çs®åhÖSÎç\Ëç³”..]Îç\Ë×ÍZÊùœkù°XC9ßb;c-Ÿâx¬^Î眀½¸ï¹d9Ÿ%Ú¢ÂÉ1›*Ìd©;;ÇfƒÏ¾ 9-FµFÓ-rŸœ“³€Å¨çºÔmÕ­ù­žRÆ ÉªÕ6v%•üTE€¹hiIRYRRétòig¦KÜvM|KÈc;è‡(*ÒPHõ»®²Íò2ú7»tÌ°ó>B=ü`)»3º ïا„ucei»º\ÖsýUñžÊ´Z¢² ßÖ¬™ÜKÄ ¢²!ÕŠ*ÅÄ6¿…›©ÄáæÚ’ù%)ðÛô”'“y1¿„œpéVvç9¿„äFÁ²»U#[°P.áäx }~‰ÕKÑÚÆQ©9Š¹û<3KZ»¸éÓO~»±; àê>Ce±7çxaJû)û<M-Š¶î•Û¸ Ö@:ÚlÄ€^™6S ±Àg~f‰¨€×oÖVŽl1 C{­GSÎ ÍÄ`Š}MáÜMqz©)ì;×ßlšb\ö5rV)@_ê¸Ø§Ñ¦]ŸŽõˆ´’2â6.™÷^Ò† sÔ“`RSÏ¡h©É!Z ¹¹
+(ƒ’v€æV¢ãÚ1}{BsIæ÷0LKÅΊDs-\õD4·Ó;¦¥Œhå;åû‡˜9ªé\¾CkæB}£E‹Ý—½Meš[Ý>0ÃÆç†K'Þ’¯,üóf»È•\õæÚüÁ¦Å$århþ - 7AA`6M·£\ôéöZ²g¬XqŸéCë¨ÙJXlç&ÜHjëä‘|O{Š¸•ëÚîéX„ ’ëŠ7E JŠ’n^úôJ¯ªìÅC¶¯5"‘ÞŽ¡]J \cA–²,›]Üä‹$ÛêxOvÚ Zøövš§µÿã„´ö­v©¼Ä‚,F¸)V°%ÖÿåÙxè–¹OIÚ>)AH§R8OÑçb¿ôšHå^‹ëÔ-sô&¾½ù:uŽÞ8Í&zsºJôF6ìYp=Ñ›T°ý|Š(Eôæt-ÉI
+ÿ¡¾ó´»„ÑØ…9!´µ¤^bas+˜ýí%+ØR¶7oz9Ù°•Åœ‹åJå èª&ue1A¶†ÝÐz
+Ê´ô’wíé|U´JPÚ6€æ=Åzç{w!¿zç;êêßP®Ç[g?Û§žåZPµÊn¯% ¡­+úa¦/ÆåMuHóôLõÊZŽ:FPbkpq —e¤ W@4Iÿn§óTœÏ;¦5ü5P¬eiÛº€v8ºò‚%p‹n·aǃ~ F ½ÑÐN¦-wp² ¨Þ†omE²ÜFß>°à£.’½[S‘ìó÷:Šd!”µɺµµÉB@«ÉB( E²v]»—‘Ý‘Ž‚µä/¡×&m=Æëñž" F—Ú»rQžU­õÄ?R”Gœ›õå鶀›ƒ¿RQÞ"ÑþHQ…﹎¢<Mt:vkå¢<S’ªËó^”Ga1âm"X}eo4z;ý¾²saÙXñ^âgï7Yv|ô¹±ÙôШÎsÌ;T£êÚê!M…ht»Qî;¨–Žæ„¸MußÓF]ô%§= oºâ{Ò϶gøP§»êËÞ£µÉLQæÝ zx5jLn¹^us8¯Õ Áã×z÷°U;NÈ;•z÷(÷€®€¯>ÖÄãR3Û=­”ãƒJ¥œ8ƒ×.tfªrÚš,Dn••¹(Ì¡
+8/¹n¼ËeL–¼Zuݬ±°ÔE£q»¦Â>’%®™êë+ì#ÅÇ|èº÷µö™§TõöÖÖUØGÊ*Ñö=ɲj™Â>RU$Úš û–w{+ì#ùr†^GaŸªêŒU}ºX[aiŸÇ*lÖPØGò®‘Z[oaŸí.îz ûHU}Ø[[kaÉäÁ1›µö‘fØ6.°|aŸ5=Võù\îZ¢°Ïºå«„†Ö]ØGšCŸõàæÕ ûô9\HQ\ga ”O­÷\_aÅfñ:
+ûHU}ë š«±è‰h´…}tD[¹°TÕgTkk*ì#Uõ-Ä:W/ì#0W¬¬¥°TÕGªXY±°dWÛ»¸Köé
+fÖÄ&[À!læùò?2Ѭ÷ÿ-Ÿ‚¡\þg$ÚÒYî—ÿQE9NW¾üÍõþ?Êš>û£{éó¡WºüÏÑåpÿ}©”Íå–`
+]v‹÷Ëÿ öt¿ÿÏØ_×Ëÿ¨Ï¶›­^åytÃnYôÍÒiŽg´ÅM¾¿Ü-òÙÙÊéÿ>xùÍAxõš>ÇôFÊìnTÓ·B]“O/+Ý¢N¢v*v$§…µ']½£šÜè)Ip DU„CYÒÔ|ÛÜ1§Œ(u!çx<݆Q£õµàß,Y¨ær!‰—T+
+@£I"wÎiGRp=…˜K]ÁiJêS­\è‹ u YtR²ÏÐòv‡äšîáÄwH®µÚ·³˜‡~ó­ïxC
+/%}1ÑÜ®i=îýó-UïéùÞ?ÌÐWÿ­§¤ ¥%8]ýG¹]îý£4ÕW½÷O÷=m®þóºŒÈ÷þ8Í ¯7ÁT7_ýGxz½÷Ï,l<A³Vû:Ýûç”ÎCYí{G‘:E#Óž¿W6~ œ ­«Ú÷ùÛâ{[ö=i«}Ù o÷Ë“£ƒ°Þñb Eó
+ ùl_ŸZkIàVú²úfW™×sÀÚfÍëÆzÿßõæ£ Ö|ÓTêiÅÚ&aÅé<ˆÏnm‰ÌÔj7uóÔáÓ¨öI) ï$Hí|¸tÑÔ4Ua(@2o»ÅE»HQkŠ„VKÒÖ<m¿‡ L+þ•¦ùœ.q0²€®™°y;©ê);Óç|­Ûs}ÕB0Å®þHAã!q˾OûÄ9Ÿvj/U}•´dþú¢e³ö¸e!•®ê).]HÕqËk¥/£MܲåŸ^ç’ JÍU¤°å²†P —0´í9 Ì{Ÿv£V¨•tÈó¸n‡ÂY¥; y¸ ‡™€®îšEWm=±i<7'ûŽ.×9Ç´š½À‡˜KŠ­L6kK¿Ö,‡ï,Oó~è9žV[Çþ÷kMHûìNN¢+I¤=]קßN¦ÍJ^•¡«”®3M*
+a§Ýì·–ƒ®ëëô¤¹ú’1dÒ¬ýs°¿< ¸:aÀëyIæðKú{!#á3/ZÄ«ÔÙÝÛo0RdaªKt³çìgØš
+MÛDî²ÂEOú\VH¶[ñ²Bchè^V¨©µ?{Yá‚EKª¬ƒ]ºCqªÕÒŸjµÒ…‡ZÙñ¶CKfÊò:Ç_}öåØÞ.<´\h 9P§” n§ZÑ_xè\
+½_xè|Û¡¶ú…‡®þÍz.<ôP·¶õ¸pÛ!L£ºðpySÝÓ…‡Î·ö=W䲌¨\\š éï)\éÂC
+ñ¸ÂŘ%/<tö!¢êË^xèìv“Râ¹e.<$ŽZ»íÐÁÅõvᡳñãû‹º:ØùÂCêã¦V»ðP/Ž$•[BªË_xè …”g³Ô…‡d(jøz•Œ.Ó…‡‹qpc¢Ž1ª¾Ò…‡Î¥ú–­ˆå/<tƒiÂfÕ -elgÌ¢Ö–¿ðÐÙ»7ÎÍJ:{÷Æå¹Ò…‡¢Ñ&\z½ðÂ÷\Ç…‡Te¥«_xè|Û!B³Ž o;Ä 0k¸ð,Ô=Äië¸ðÐyÇG!Úêj#Æ3—²lH:ïLݨŠ]½HW¹í.¯“îF‡"]¶óx²K‚ +tÅÕÏto”CDx´p:$úÍ~/Ô”ïoŽrë(M\…É¢‡¼fÆëN±)§à
+YÔÚ[\ÐiÃ$®ø¬FÕK“Ãz.‰bR€š9 Dž.ƒLâþ3‡›Àª®@ðâð$΄¦Äài–N‰£Óúáä¥
+M¿{¹ï-ñxš½ Ü]íS¡Fvëýéä$<m>¥…g¾ˆæ•šÞt;·xäõ8üø¾ì§vŽ™zù¬ÌÔߧL#»ÝÅ·BH”òw'Òæk¶ÐH™þSK«KìF±»xê¼°¡àýHˆÒ³
+D‰‡Ù­Ê¼úXçïÑý¢•—ÓÍfM|Úï¡
+àòÛÅ]¥\Kv«Õ£HþLoW/lv¾±°¹ýVáâ+FClä3k+^÷Î"WéK8—Jgww½Híö¾ ?·&qXJű¸Ã̃ˆ\+&!‡`rCOÖ<éD&¾ƒ%t"ÆPÌ%7_s»¨Èž“øzE_Z{Á×J\}­ž¨×’y
+¦`E¯_¡ûÐN, ’qÚà £ƒÌÞ+¥›í½·Ê(w6+uKÓ;¨
+ÉòÓîk½~:K†÷cuFº)¿å<++CïŸGµ%ÀáXgü üÜÆ
+jäÛÆ!,µp§µ9ÜU|$ Ø•&ÜwLé.:ÑbaÓÜù­ßp»
+¯× ÃjÈ/ê@_ÁŸ!Ž¥æÎqàq5´—£¨šñ\b|/ÇqhhJZ@©à^í”´<á³£ÛË3¼Ø´?ðÁ @“Bé0Ö¸ïE‘B‡•ñ΀J8>¡±Ç’ô0w ÏL©¼}–†Fn=<g˜Lÿìˆ S¡eõq…«:Bx–ÀsI™ÒF%Šƒ16ðõ7{ùþáGy²1­C‰Ê"‰j
+㧫c
+¼K=¡{^Qß%«ñøþ]½'¿°Ç{§Ÿ0íšbÌê€%z8ßXÜ(|H
+°là";ýRNœ¨÷ ײC퉴Ìfñ¼ hÎËŸ¡Ðµ7ÔG{‡ÛΨ}Ú]ß&ìXgž«ÏÕFãà³Ô­¦¾m oGõ$Âì‰%ûá¿€ÓäxºYÞ1;Šèä[(:•ûÚkÏõoÍyÚƒ¹{Ç•q}[<¾Ý¹ÿ>šâC½mn–®>öÏÒÁêûµÔV=)ð²Se†[Ó*XžÅëU¦›Dp€†šæ»Ò²¦“ÕÁÕ‘§¡+{ÒÔ£·º#»a™F?zïCO•Ä@U ÞCµ dõ«dé­LÝßÉûÕ9×82µs~œÎJÍL@’´
+Ïî¾Oó¸PË¢5ñµø
+\Çéacr{ÿ Z=1Ç i6B#4ùcT| ¯yˆÆû²÷Ì‚êòT°Ï*•òçÎô¹ÏíHž–ýòÂfrNÕžôäö0`Àn³ º£.z»µ%W<ŨñF>6$wbÓX~âiÙÑ®9€fe)O!âÑŽ‡WÍî]­+IkW0;f µ¶Ì€¡G°¹= zk†1Ùm œ«ZÓ—˜¾¾Vç´CniŒvèZÅ …˜&·/_> ³w ÿ”Ñdý ï–“Øs­Bä
+Æ—“;øt/刳‹)ŒÔÄpǘp0Ï0RuZ¾j¿Ô«™Ì[©»÷#T=yÊž‚éÁ s\kAÀo}£­©̆ç‚uÛƒõ-|{v
+E'Bœôv÷žG½j¼ý&VÞ¦}j¬šeakT! ½¢IIaT™’ÈÿˆnCGu£°]µäL» YÅš\£µµŠMŽ5ÎBãÕðŽ1ôJªÆ“ÃØ}ÌTy+‡Ö0û&ÒSè+þe´šOZ&)oݘïMÑBuÍ5fÁÜZo+EoF«í$Ô#@·<†€ª™¤ëhox
+¿2è÷ìj ðôzcj”«@øí=cŒ ]*;-<ü1}ã(
+°Õé&~½û´Ù Õš7ñ»j47&ì5î­öy<ýN¼ü틶uRµBô¿Vß,ª:c:5¹½ ›Û`FY{0pcÒ7PÊ·lCËá¿®¾oÏàMKоî: z¦Û£eåCÌU®wN×êoÖ6³E Mõ–8-Ï);õ:[rÀt2mNÆ2ÍË:[r‘-Ê4Ú™ö´Èè9 ¯³%™;hXg0âö{1Ž`̃¨”ãL²vW~¸,EgÌqip}Y¯E2§¥¨PÜ©>Öå—R3ûvyüÞíÕÄ—>,óÙ;boó(¢z´[KÕ»G¹‡u Õ=‚5êI&6kh¬i`ŸÞ°GPúZÑ]Ò“^2¢A:ö¤ilÍ•œÅ#X>hK‡ßkävIƇÆ-ÁÜ^·“w
+‰«£62>ä´U=?¹uóï”x»B<-|ŠÃØÙüÚ²ø2$GÆgº³˜vų;¼\å^xJ¥£¤Á¡Ü½Ì("§ïæ0»¥¨äxvlڻϥîÍWçÈ­¾DŸê½
+ }€"u)pÄßjÙ2qgžCœFdûPex
+Ó®s=4¶»}²‡2-’å{N6×âþ±ÙWÛ?<û–m¢?5ûhê! üÙÙGSÖÍ}­BòÏÎ>šzˆæÏÎ>šzdÙüÑÙGS¤À}¢¾Yçìc«©?µøbÉÄ}-k_µQñ‹v´ëÎa¨©_
+ªRG£Ã³‘ó§+–´""<‰©>"6è:-•Çá«JÐ##`^§J"ì D8ª| f%}ªŠ˜
+Vå¢*<-:Xˆ
+>k*wõ©!9gÔ­ÄvÌÐùû> $j˜ÄòÓN„P?Ø~¶a†pHràžoíÞH å#L
+ $kå´dÒÜÀB¹´ék&jþj¦RÆŒ+“°.Ï cnÀš¿š{b™ÃLZw-y,¡TÝiBûa{\ïkâkü±ÔÌ^6+ÜÇé+È«™`¹*ªç…¦¯§²ZÈО+k½—ÕúPm”ÇÊÚˆç²Z¼<=VÖF<—ÕB4ž+k½—ÕúÔ«\¼TÖz/«Õv
+W-ƒu.«5''уôXV 9Íse­÷²Z>äÔ[e-㹬Íke­÷²Zœ>ê±²Ö{Y-Ì~p­¬…W òecü®ž~)rL3^ZÜÆ)š¥ˆÚäöŠ¢¸’ BÁØ ¡íY‰7
+BÂ[#‡Ñ[,áÜð­Ü>.~¿)>Ï8|=~VÄ©ö>€r.Aq,ÝÔ¿`í …éa±b.ûO\ej’n ªvE¥®FNoÃp] #I
+þD{>áÅ+qü1žúš=ß_‰Ò ËÞL‡B]äù.ÿ·\ó/~*û‹þD©S99Égªü@ò~ܯÌ[Nãç˜"Qb<žÅt:
+M—«ï…Ægs³}ÀUß™‡Ckzäάû «áz†»€[0éñ nv¡¦…_pP
+Qƒ êl£2,3ï½
+}4owŠ&¿ÚåIüc·Ô¼ŸWÏN}‹J“ð„3íÐmÃÙ¢ª˜*§¶æ'š¾zI࿼I+vÀÞSFùTå4 î%¥-µ}ûU²öèªÒ}©W'ƒR»û¼SëÇŽ‘I¸n»RLy–Å”Y`šÿÚ¶ž¤Päõ ¤Ì¤$ÔÄ—Û³z!xÓ„¨asi;‡ÂÈQrW²s(ŒÈ«Ú9FŽ"¡W²s(ŒHpµsÌÀNA<¿p†±qÝ ‰×7–ñmµ×Œ¶k{Mز·lù3ë¶o@I€iÛ7½Û@)Žú®­eËV÷cz|gqÛ7»Ø*µÄåÁö⶯(–lý¾ÁêvŠârA+F$ãÃhT´xPÌa&8¨¿Ý~«¿=@HŒ¯¦]L¡#cL1”à€w0ÊÖæÞW›jCy¥`H†P/i/.CÞKDËÍv/Ѳ‘ˆ³2¬{‰ú^Ër±Rv¦áAÛÁÄ[Ý
+t
+40
+òîŠÂ:j" Ê!ä( €¶óOèÇŒ6æ6#Üþ¥ õ4aó¦ävhë¬ÄZÐMØÀ%.î0fÆ•š:¢þ.‹“ý6Ͳ
+#» ÷«¾ ¸åï°Ò®þƒÕÛm¥/«oÆvçV.!ršÓ¸€%¸„
+¶pRÒì v_Rˆ)
+~6™÷'3ð%=ïûþ
+Õúü”÷³aÿùÔ÷ã/Á4Å^¢$ÊÕñ@ SNüí/¢ßî/ÎoNªþ¢¿ÓïìùC gL4Âh»µûÛC°àŸû_°+Uøñ
+ü‰g™lšÉçré|&™Ë¤üLœÍdóÙd.•¿%  «q&UHg
+ù$ø7—ʦàâ©B–ÉåÓ)6•KfÒðK¶fÙ\6c2ù|2 ~Égÿäü÷D ŸÿÝÿ†ßNÁ§à·_~–ñ_øŸ^ÿж}åâ™ú‡IgSɬÿ v>: ÿIåÙt¶KùÏ}™frþ4ü5ï/ÄS¨-[`r©t> eS ÷ðŸ,›Ï¤˜nËfˆ€
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 22 0 obj [21 0 R] endobj 35 0 obj <</CreationDate(D:20161016023847+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161030210137+01'00')/Producer(Adobe PDF library 15.00)/Title(arrow_collapse)>> endobj xref
+0 36
+0000000004 65535 f
+0000000016 00000 n
+0000000159 00000 n
+0000012253 00000 n
+0000000000 00000 f
+0000045316 00000 n
+0000000000 00000 f
+0000012304 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000045386 00000 n
+0000045417 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000013524 00000 n
+0000045502 00000 n
+0000012621 00000 n
+0000013824 00000 n
+0000013711 00000 n
+0000012803 00000 n
+0000012962 00000 n
+0000013010 00000 n
+0000013595 00000 n
+0000013626 00000 n
+0000013898 00000 n
+0000014072 00000 n
+0000015378 00000 n
+0000025323 00000 n
+0000045527 00000 n
+trailer
+<</Size 36/Root 1 0 R/Info 35 0 R/ID[<8EBA933D12F01E43BD17F97E988B7437><1D00E2E892455847BA0313451A2AD01D>]>>
+startxref
+45724
+%%EOF
diff --git a/Assets/webui/arrow_collapse_green.ai b/Assets/webui/arrow_collapse_green.ai
new file mode 100644
index 000000000..71cabce5f
--- /dev/null
+++ b/Assets/webui/arrow_collapse_green.ai
@@ -0,0 +1,443 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R 36 0 R]/Order 37 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R 36 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 12228/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-16T02:38:47+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-10-30T21:02:25+01:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-10-30T21:02:25+01:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>160</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq8589eeufqaVpUnwbrdXSnr4oh8PE5zPavat3jxn3n9AcbLl6B3kXz1w9P&#xA;StVk+DZbW6Y9PBHPh4HHsrtWqx5D7j+griy9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x4z&#xA;7z+gONly9A8+zm3Gdir0HyL564enpWqyfBstrdMengjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirznz1565+ppWlS&#xA;fBut1dKeviiHw8TnM9q9q3ePGfef0BxsuXoHn2c24zsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+H&#xA;gc6TsrtWqx5D7j+guTiy9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x4z7z+gONly9A8+zm3GdirsVdirs&#xA;Vdir0HyL564enpWqyfBstrdMengjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsVdirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirznz1565+ppWlSfBut1dKeviiHw8TnM9q9q3ePG&#xA;fef0BxsuXoHn2c24zsVdirsVdirsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+&#xA;guTiy9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0q&#xA;T4N1urpT18UQ+Hic5ntXtW7x4z7z+gONly9A8+zm3GdirsVdirsVdirsVdirsVdir0HyL564enpW&#xA;qyfBstrdMengjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsVdirsVdirsVdirsVdirsVdirsVdirsV&#xA;dirsVdirsVdirznz1565+ppWlSfBut1dKeviiHw8TnM9q9q3ePGfef0BxsuXoHn2c24zsVdirsVd&#xA;irsVdirsVdirsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+guTiy9C9GzpnJdi&#xA;rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x4&#xA;z7z+gONly9A8+zm3GdirsVdirsVdiqM0nSb3Vb1LOzTnK/U/sqvdmPYDLtPp55piMRumMSTQdq2k&#xA;3ulXr2d4nCVOh/ZZezKe4OOo088MzGQ3WUSDRQeUodirsVdirsVdir0HyL564enpWqyfBstrdMen&#xA;gjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsVdirsVdirsVdirsVdirsVdirsVdirsVdirznz1565+&#xA;ppWlSfBut1dKeviiHw8TnM9q9q3ePGfef0BxsuXoHn2c24zsVdirsVdirsVR2jaNfavfJZ2acnbd&#xA;3P2UXuzHsBl+m0080+GLKMSTQeyeXvLlhodmILZeUrAevcEfFIw8fAeAzt9HooYI1Hn1Pe5sICId&#xA;5h8uWGuWZguV4yqD6FwB8UbHw8R4jHWaKGeNS59D3LOAkHjes6NfaRfPZ3icXXdHH2XXsynuDnEa&#xA;nTTwz4ZOFKJBooHKGLsVdirsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+guTi&#xA;y9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x&#xA;4z7z+gONly9A8+zm3GdirsVdirsVdiqO0bRb/V71bSzj5Md3c/ZRf5mPYZkabTTzT4Yj9jKMTI0H&#xA;svl7y9Y6HYi2thykahnnI+KRvE+AHYZ2+j0cMEOGPPqe9zYQEQmmZbN2KpX5h8vWOuWJtrkcZFqY&#xA;JwPijbxHiD3GYms0cM8OGXPoe5hOAkHjWs6Lf6RetaXkfFhujj7Lr/Mp7jOI1OmnhnwyH7XClExN&#xA;FA5jsXYq7FXYq7FXYq9B8i+euHp6VqsnwbLa3THp4I58PA50nZXatVjyH3H9BcnFl6F6NnTOS7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq8589eeufqaVpUnwbrdXSnr4oh8PE5zPavat3jxn3n9AcbLl6B59nNu&#xA;M7FXYq7FXYq7FUw0TRL7Wb5bS0WpO8kh+yi92Y5kaXSzzz4Y/wBjKMTI0Hsug6DY6LYra2q1J3mm&#xA;P2pG8T/Ads7jSaSGCHDH4nvc6EBEJlmUydirsVdiqW69oNjrVi1rdLQjeGYfajbxH8R3zF1ekhnh&#xA;wy+B7mM4CQeNa3ol9o181pdrQjeOQfZdezKc4fVaWeCfDL+1wZRMTRS/Mdi7FXYq7FXYq7FXoPkX&#xA;z1w9PStVk+DZbW6Y9PBHPh4HOk7K7VqseQ+4/oLk4svQvRs6ZyXYq7FXYq7FXYq7FXYq7FXnPnrz&#xA;1z9TStKk+Ddbq6U9fFEPh4nOZ7V7Vu8eM+8/oDjZcvQPPs5txnYq7FXYq7FXYqmWg6Dfa1fLa2q0&#xA;A3mmP2Y18T/Ad8ytJpJ558Mfie5lCBkXseg6DY6LYra2q1J3mmP2pG8T/Ads7bSaSGCHDH4nvc6E&#xA;BEJlmUydirsVdirsVdiqW69oNjrVi1rdLQjeGYfajbxH8R3zF1ekhnhwy+B7mM4CQeOa9oN9ot81&#xA;rdLUHeGYfZkXxH8R2zidXpJ4J8Mvge9wZwMSluYrF2KuxV2KuxV2KvQfIvnrh6elarJ8Gy2t0x6e&#xA;COfDwOdJ2V2rVY8h9x/QXJxZehejZ0zkuxV2KuxV2KuxV2KvOfPXnrn6mlaVJ8G63V0p6+KIfDxO&#xA;cz2r2rd48Z95/QHGy5egefZzbjOxV2KuxV2KuxVMtB0G+1q+W1tVoBvNMfsxr4n+A75laTSTzz4Y&#xA;/E9zKEDIvZdD0Ox0axW0tFoBvJIftO3dmOdvpdLDBDhj/a50YiIoJhmSydirsVdirsVdirsVdiqX&#xA;65odjrNi1pdrUHeOQfaRuzKcxtVpYZ4cMv7GMoiQovGte0G+0W+a1ulqDvDMPsyL4j+I7ZxGr0k8&#xA;E+GXwPe4M4GJS3MVi7FXYq7FXYq7FXoPkXz1w9PStVk+DZbW6Y9PBHPh4HOk7K7VqseQ+4/oLk4s&#xA;vQvRs6ZyXYq7FXYq7FXnPnrz1z9TStKk+Ddbq6U9fFEPh4nOZ7V7Vu8eM+8/oDjZcvQPPs5txnYq&#xA;7FXYq7FXYqmnl7y9fa5fC2thxjWhnnI+GNfE+JPYZl6PRzzz4Y8up7mcIGRey6NothpFktpZx8VG&#xA;7uftO38zHuc7fTaWGGHDEftc2MREUEdmQydirsVdirsVdirsVdirsVdiqB1nRbDV7JrS8j5Kd0cf&#xA;aRv5lPY5j6nSwzQ4ZD9jGURIUXjXmHy9faHfG2uRyjapgnA+GRfEeBHcZxGs0c8E+GXLoe9wpwMS&#xA;leYjB2KuxV2KuxV2KvQfIvnrh6elarJ8Gy2t0x6eCOfDwOdJ2V2rVY8h9x/QXJxZehejZ0zkuxV2&#xA;KvOfPXnrn6mlaVJ8G63V0p6+KIfDxOcz2r2rd48Z95/QHGy5egefZzbjOxV2KuxV2KuxVNfL3ly/&#xA;1y8EFsvGJSPXuCPhjU+PifAZl6PRTzyqPLqe5nCBkXsmjaNY6RYpZ2acUXd3P2nbuzHuTnb6bTQw&#xA;w4YubGIAoI7Mhk7FXYq7FXYq7FXYq7FXYq7FXYq7FUDrOjWOr2L2d4nJG3Rx9pG7Mp7EZj6nTQzQ&#xA;4ZMZRBFF435h8uX+h3hguV5RMT6FwB8Mijw8D4jOI1minglUuXQ97hTgYlKsxGDsVdirsVdirsVe&#xA;g+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+guTiy9C9GzpnJec+evPXP1NK0qT4N1urpT1&#xA;8UQ+Hic5ntXtW7x4z7z+gONly9A8+zm3GdirsVdirsVdiqbeW/Ld7rt6IIBwgShuLgj4UX+LHsMz&#xA;NFop6idDl1PczhAyL2XSdJstKsks7NOESdT+0zd2Y9yc7fT6eGGAjEbObGIAoIzL2TsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVQeraTZarZPZ3ic4n6H9pW7Mp7EZRqNPDNAxkNmMogii8a8yeW73Qr0&#xA;wTjnA9Tb3AHwuv8ABh3GcRrdFPTzo8uh73CnAxKU5hsHYq7FXYq7FXYq9B8i+euHp6VqsnwbLa3T&#xA;Hp4I58PA50nZXatVjyH3H9BcnFl6FT89eRjAZNV0uP8AcbtdWyj7Hi6D+XxHb5dIdq9lcN5MY26j&#xA;u8wjLi6hgWc847sVdirsVdiqc+WfLF7rt56UX7u2jobi4IqFHgPFj2GZuh0M9RKhtEcyzhAyL2LS&#xA;dJstKsks7NOESdT+0zd2Y9yc7bT6eGGAjEbObGIAoIzL2TsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVQeraTZarZPZ3ic4n6H9pW7Mp7EZRqNPDNAxkNmMogii8d8zeWL3Qrz0pf3ltJU29wBQMP&#xA;A+DDuM4nXaGenlR3ieRcKcDEpNmEwdirsVdirsVeg+RfIvP09V1WP4NmtbVh18HceHgM6Tsrsq6y&#xA;ZB7h+kuTixdS9GzpnJea+evIvoepqulR/uN2ubZR9jxdB/L4jt8unLdq9lcN5MY26ju8w4uXF1DA&#xA;s55x3Yq7FU58seWL3Xb30oqx20ZBuLgjZR4DxY9hmbodDLUSobRHMs4QMi9k0zTLLTLKOzs4xHDG&#xA;PpJ7sx7k52+DBHFERiKAc6MQBQRWXJdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqF1P&#xA;TLLU7KSzvIxJDIPpB7Mp7EZTnwRyxMZCwUSiCKLxvzP5YvdCvfSlrJbSEm3uANmHgfBh3GcRrtDL&#xA;Tyo7xPIuDOBiUmzCYOxV2KvQfIvkXn6eq6rH8GzWtqw6+DuPDwGdJ2V2VdZMg9w/SXJxYupejZ0z&#xA;kuxV2KvNfPXkX0PU1XSo/wBxu1zbKPseLoP5fEdvl05btXsrhvJjG3Ud3mHFy4uoYFnPOOnflbyt&#xA;ea9ecVrFZxEfWLinT/JXxY5n6DQS1Eu6I5n8dWzHjMi9j07TbLTrRLSziEUKDYDqT3Zj3J8c7bDh&#xA;jiiIxFBzYxAFBE5al2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KobUdNstRtHtL&#xA;yISwuNweoPZlPYjxyrNhjliYyFhEogii8c80+VrzQbzi1ZbOUn6vcU6/5LeDDOJ1+glp5d8TyP46&#xA;uFkxmJSTMBreg+RfIvP09V1WP4NmtbVh18HceHgM6Tsrsq6yZB7h+kuTixdS9GzpnJdirsVdirsV&#xA;YLrf5Zw3erR3FjIttaTNW7ip9juTEOnxeHb8M5/VdhieQSgeGJ5/sceWCzszLTtOs9Os47S0jEUE&#xA;Qoqjv4knuTm7w4Y44iMRQDeAAKCIy1LsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVQ+o6dZ6jZyWl3GJYJRRlPbwIPYjKs2GOSJjIWCggEUWIaD+WtvZarJdXsi3VvE1bOIjr3&#xA;DSDpt4ZptJ2JHHkMpniiOX7WmGCjuzfN83uxV2Kv/9k=</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>16.000000</stDim:w>
+ <stDim:h>16.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">arrow_collapse</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:1c44fa77-d0c3-42dd-a6df-874095356f7b</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:ecd79ff9-997d-463a-9768-437bd1707f6b</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[1.0 4.0 15.0 12.6]/BleedBox[0.0 0.0 16.0 16.0]/Contents 38 0 R/LastModified(D:20161030210225+02'00')/MediaBox[0.0 0.0 16.0 16.0]/Parent 3 0 R/PieceInfo<</Illustrator 39 0 R>>/Resources<</ExtGState<</GS0 40 0 R>>/Properties<</MC0 36 0 R>>>>/Thumb 41 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 38 0 obj <</Filter/FlateDecode/Length 112>>stream
+H‰Ò÷wVÐ÷u6PprqVà2Ð354Q0Ð376’†&–
+Eé\úîÁ
+éÅ\…
+†
+@h¨`¡`h¤g¦œËâçréš+
+endstream endobj 41 0 obj <</BitsPerComponent 8/ColorSpace 42 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 2/Length 20/Width 2>>stream
+8;V(uNG8V&0E;76!U9~>
+endstream endobj 42 0 obj [/Indexed/DeviceRGB 255 43 0 R] endobj 43 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 36 0 obj <</Intent 44 0 R/Name(Ebene 1)/Type/OCG/Usage 45 0 R>> endobj 44 0 obj [/View/Design] endobj 45 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 40 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 39 0 obj <</LastModified(D:20161030210225+02'00')/Private 46 0 R>> endobj 46 0 obj <</AIMetaData 47 0 R/AIPrivateData1 48 0 R/AIPrivateData2 49 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 47 0 obj <</Length 1261>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (arrow_collapse_green.ai)
+%%CreationDate: 10/30/2016 9:02 PM
+%%Canvassize: 16383
+%%BoundingBox: 1 4 15 13
+%%HiResBoundingBox: 1 4 15 12.5999999046326
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 0 16 16
+%AI3_TemplateBox: 8.5 7.5 8.5 7.5
+%AI3_TileBox: -278.380003929138 -401.199981689453 289.939971923828 417.679991722107
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_Alternate_Content
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:-3 -40
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 48 0 obj <</Length 9907>>stream
+%%BoundingBox: 1 4 15 13
+%%HiResBoundingBox: 1 4 15 12.5999999046326
+%AI7_Thumbnail: 128 80 8
+%%BeginData: 9770 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD3FFF82ADFD7DFF825C56A7FD7BFF82815D8156ADFD79FF825C56
+%81568156A7FD77FFA78157818181578156ADFD75FF828156815681568156
+%8156A7FD73FFA78156815D8157815D81578156ADFD71FF82815681568156
+%8156815681568156A7FD6FFF82815D8157818181578181815781818156AD
+%FD6DFF825C5681568156815681568156815681568156A7FD6BFF82815D81
+%57815D8157815D8157815D8157815D8156ADFD69FF825C56815681568156
+%8156815681568156815681568156A7FD67FFA78157818181578181815781
+%81815781818157818181578156ADFD65FF82815681568156815681568156
+%8156815681568156815681568156A7FD63FFA78156815D8157815D815781
+%5D8157815D8157815D8157815D81578156ADFD61FF828156815681568156
+%81568156815681568156815681568156815681568156A7FD5FFF82815D81
+%5781818157818181578181815781818157818181578181815781818156AD
+%FD5DFF825C56815681568156815681568156815681568156815681568156
+%8156815681568156A7FD5BFF82815D8157815D8157815D8157815D815781
+%5D8157815D8157815D8157815D8157815D8156ADFD59FF825C5681568156
+%815681568156815681568156815681568156815681568156815681568156
+%8156A7FD57FFA78157818181578181815781818157818181578181815781
+%8181578181815781818157818181578156ADFD55FF828156815681568156
+%815681568156815681568156815681568156815681568156815681568156
+%81568156A7FD53FFA78156815D8157815D8157815D8157815D8157815D81
+%57815D8157815D8157815D8157815D8157815D81578156ADFD51FF828156
+%815681568156815681568156815681568156815681568156815681568156
+%8156815681568156815681568156A7FD4FFF82815D815781818157818181
+%578181815781818157818181578181815781818157818181578181815781
+%81815781818156ADFD4DFF825C5681568156815681568156815681568156
+%815681568156815681568156815681568156815681568156815681568156
+%8156A7FD4BFF82815D8157815D8157815D8157815D8157815D8157815D81
+%57815D8157815D8157815D8157815D8157815D8157815D8157815D8156AD
+%FD49FF825C56815681568156815681568156815681568156815681568156
+%81568156815681568156815681568156815681568156815681568156A7FD
+%47FFA7815781818157818181578181815781818157818181578181815781
+%8181578181815781818157818181578181815781818157818181578156AD
+%FD45FF828156815681568156815681568156815681568156815681568156
+%815681568156815681568156815681568156815681568156815681568156
+%8156A7FD43FFA78156815D8157815D8157815D8157815D8157815D815781
+%5D8157815D8182A6568157815D8157815D8157815D8157815D8157815D81
+%57815D81578156ADFD41FF82815681568156815681568156815681568156
+%815681568156815681565C81FFFF82568156815681568156815681568156
+%8156815681568156815681568156A7FD3FFF82815D815781818157818181
+%57818181578181815781818157818181578182FD04FFA656818181578181
+%81578181815781818157818181578181815781818156ADFD3DFF825C5681
+%568156815681568156815681568156815681568156815681565C82FD06FF
+%825681568156815681568156815681568156815681568156815681568156
+%A7FD3BFF82815D8157815D8157815D8157815D8157815D8157815D815781
+%5D81568182FD08FFA656815D8157815D8157815D8157815D8157815D8157
+%815D8157815D8156ADFD39FF825C56815681568156815681568156815681
+%56815681568156815681565C82FD0AFF8256815681568156815681568156
+%81568156815681568156815681568156A7FD37FFA7815781818157818181
+%578181815781818157818181578181815781818182FD0CFFAD5681578181
+%815781818157818181578181815781818157818181578156ADFD35FF8281
+%5681568156815681568156815681568156815681568156815681568182FD
+%0EFFA6568156815681568156815681568156815681568156815681568156
+%8156A7FD33FFA78156815D8157815D8157815D8157815D8157815D815781
+%5D8157815D8182FD10FFAD568157815D8157815D8157815D8157815D8157
+%815D8157815D81578156ADFD31FF82815681568156815681568156815681
+%568156815681568156815681568182FD12FFA75681568156815681568156
+%815681568156815681568156815681568156A7FD2FFF82815D8157818181
+%57818181578181815781818157818181578181815781A7FD14FFAD568181
+%8157818181578181815781818157818181578181815781818156ADFD2DFF
+%825C5681568156815681568156815681568156815681568156815681565C
+%82FD16FFA756815681568156815681568156815681568156815681568156
+%81568156A7FD2BFF82815D8157815D8157815D8157815D8157815D815781
+%5D8157815D815681A7FD18FFAD56815D8157815D8157815D8157815D8157
+%815D8157815D8157815D8156ADFD29FF825C568156815681568156815681
+%5681568156815681568156815681565C82FD1AFFA7568156815681568156
+%8156815681568156815681568156815681568156A7FD27FFA78157818181
+%578181815781818157818181578181815781818157815D8182FD1CFFAD56
+%81578181815781818157818181578181815781818157818181578156ADFD
+%25FF82815681568156815681568156815681568156815681568156815681
+%568182FD1EFFA75681568156815681568156815681568156815681568156
+%815681568156A7FD23FFA78156815D8157815D8157815D8157815D815781
+%5D8157815D8157815D81A7FD20FFAD568157815D8157815D8157815D8157
+%815D8157815D8157815D81578156ADFD21FF828156815681568156815681
+%568156815681568156815681568156815681A7FD22FFAD56815681568156
+%81568156815681568156815681568156815681568156A7FD1FFF82815D81
+%5781818157818181578181815781818157818181578181815681A7FD24FF
+%AD5681818157818181578181815781818157818181578181815781818156
+%ADFD1DFF825C568156815681568156815681568156815681568156815681
+%5681565DA7FD26FFA7568156815681568156815681568156815681568156
+%8156815681568156A7FD1BFF82815D8157815D8157815D8157815D815781
+%5D8157815D8157815D815681A7FD28FFAD56815D8157815D8157815D8157
+%815D8157815D8157815D8157815D8156ADFD19FF825C5681568156815681
+%568156815681568156815681568156815681565C83FD2AFFA75681568156
+%815681568156815681568156815681568156815681568156A7FD17FFA781
+%57818181578181815781818157818181578181815781818157815D81A7FD
+%2CFFAE5D8157818181578181815781818157818181578181815781818157
+%8156ADFD15FF828156815681568156815681568156815681568156815681
+%568156815681A7FD2EFFAE56815681568156815681568156815681568156
+%81568156815681568156A7FD13FFA78156815D8157815D8157815D815781
+%5D8157815D8157815D8157815C81A7FD30FFCF5C8157815D8157815D8157
+%815D8157815D8157815D8157815D81578156ADFD11FF8281568156815681
+%56815681568156815681568156815681568156815681A7FD32FFAE568156
+%8156815681568156815681568156815681568156815681568156A7FD0FFF
+%82815D815781818157818181578181815781818157818181578181815681
+%AEFD34FFCF56818181578181815781818157818181578181815781818157
+%81818156ADFD0DFF825C5681568156815681568156815681568156815681
+%5681568156815681A7FD36FFAE5681568156815681568156815681568156
+%815681568156815681568156A7FD0BFF82815D8157815D8157815D815781
+%5D8157815D8157815D8157815D815681A7FD38FFAE56815D8157815D8157
+%815D8157815D8157815D8157815D8157815D8156ADFD09FF825C56815681
+%568156815681568156815681568156815681568156815681A7FD3AFFAE56
+%81568156815681568156815681568156815681568156815681568156A7FD
+%07FFA7815781818157818181578181815781818157818181578181815781
+%5C81AEFD3CFFCF8181578181815781818157818181578181815781818157
+%818181578156ADFD05FF8281568156815681568156815681568156815681
+%56815681568156815681A8FD3EFFCF568156815681568156815681568156
+%8156815681568156815681568156A7FFFFFFA78156815D8157815D815781
+%5D8157815D8157815D8157815D8157815681A8FD40FFCF818157815D8157
+%815D8157815D8157815D8157815D8157815D81578156ADFF828156815681
+%568156815681568156815681568156815681568156815681A8FD42FFCF56
+%5D568156815681568156815681568156815681568156815681568156A6AC
+%56815781818157818181578181815781818157818181578181815681AEFD
+%44FFCF57818181578181815781818157818181578181815781818157815D
+%8182FFA65681568156815681568156815681568156815681568156815681
+%A8FD46FFCF56815681568156815681568156815681568156815681568156
+%8182FFFFFFAD568157815D8157815D8157815D8157815D8157815D815681
+%CFFD49FF81815D8157815D8157815D8157815D8157815D8157815D8182FD
+%05FFA656815681568156815681568156815681568156815681A8FD4AFFCF
+%5781568156815681568156815681568156815681568182FD07FFA7568181
+%8157818181578181815781818157815C81AEFD4DFF818157818181578181
+%8157818181578181815781A7FD09FF825681568156815681568156815681
+%56815681AEFD4FFF575D5681568156815681568156815681565C82FD0BFF
+%A656815D8157815D8157815D8157815681AEFD51FF818157815D8157815D
+%8157815D815681A7FD0DFF825681568156815681568156815681A8FD53FF
+%575C56815681568156815681565C82FD0FFFAD5681578181815781818156
+%82CFFD55FFFD04815781818157815D8182FD11FFA6568156815681568156
+%81AEFD57FF7B81568156815681568182FD13FFAD568157815D815682FD5A
+%FF81815D8157815D8182FD15FFA6568156815681A8FD5BFF578156815681
+%82FD17FFA756815682FD5EFF81815781A7FD19FF825682CFFD5FFF815C82
+%FD1BFFADAEFD61FFA7FD8DFFFF
+%%EndData
+
+endstream endobj 49 0 obj <</Length 19934>>stream
+%AI12_CompressedDataxœÝ}ÙzêH“à\×÷ñ`cÌ&‰¯ìxÇ€¼a²á€–Ä9uêbžfž¡¯æ®_lrÑŽ–pzª»ê/ÿ€R™‘‘±eDæN ÙŽ‡|Ÿ‹%ã”ß÷×ÎNYàX‰
+~ô³ÿl:]ˆ’
+µÂ~:§`«âY®'·¼çqÌÏ
+~†ŠÓøi ¾:g'|?ì…áO±4åÀ¬ ð¿z~:eç"×û8ngÇa5
+ýžì!¨w"
+nöV üþ$âv€ntF~Ôá¾æS@UD\<íÏ‚ÿäÿWš€Q Ç1&›‹'sE%óLžNæü±EÇi@ªÉåS餟Éåãùd>Ÿ¥óL2Çäü)À™,hBg†¦²2P¢ÜÏ1÷«à¿ægœL¶¢ µñ4¦R…ÿÊZ‹)'ÜÍÆ
+BÓíŠrSð†¢6e?E…0´öWnÑa…ON<ÀOâÒœŠÌÍ%û›ƒSŒÒÙ^‰ûÏ
+av3ÃôZÆ|ˆÎ –H‚ÁïýË1ªoYaƒ\ößW{€Hi…©=çþËÆ™üÚ¿•Ìþêp –º`slÓþÅùq9î»,eHðñlÆÕ^Œ%Nõâ''rÒ?P0@à£u­¼ÐÖ §‘¡Ó„±ŽÄÊu ëBuü˜ÄW@s|‚ŽÝ
+Ã×°?qÍ~qþ(hÔ'‚S[QþøG³>iÿ# i?ñ<MgqšM§³Ùt* ¹l.“ËÐùt€édü¿%é4Í0`ÕÂ_òÙT
+4ËeSéT>—•?!XZùö~;Ÿ~€ß~zù¯üϯ”èrÔ“!èp“#÷øþò'€E? ÑŠéÆîNÄ&°[Àbămö7=:³7‡¨ùøœ³›×€ÿJZŸÕžy›ñ˱(gy™2¸ÍŠFSø!¶ ¨ÿ¥ü€™µÃ ÷Zñ!+¬Øk§—P~€L¿Žгc…ßòW—×ÀO´y|àýý51 b…qlò0dpи(ì)˜ aѵŒ€
+ ¡Z1þ0ÁµÇðô{ÎÉC»3±÷“Ä°ÒÛ
+…Ÿäb¶ýw0<ç
+epVi$`œw³ñ
+œÈ ?9‡û[B[Yl<K¿Õ˜„‚@¬ð4Nñjks¢â8uį|Љ´ö}½ÓXJüß];œ¢†‘Á£Dõï9/HÐÙ+Š"p÷.8µK”*ù&ų&+€å 8Kl/ú aŸIb N½öFV#:Mù?pb
+à±dì'Jóð÷Ù);,¦wÓñPºêª~‚1ˆ.¯Ìó?9a#èÊÙ,MÅórúL.•b7O/‰]]šLòéaQ?‹#@^ÔNq'àÛ¹TŠ Jò(!Cf H6ïH‡Ÿë!(bÐÜ^§>ÎfCîïÚX½¾ÓæüLaål>­’/—g€ÖJ$¿K·ËÜtZý[Ò4j.“¥eö¥:M8-èg­9ÆÚ¢A1ÍH.•TFSÙ¡4pK”²›.•¶÷cqŒI[b%³Qb~­6åya…÷´Ú½KS”û@9¨+~r¨–3z¾K`E(³éþ‡¸˜}¾.›3Vš¿¦
+$l%¿ÞæI«² Ší+N©Š©/¿–)¿’¤ ¯Ü,¤9Ðþ./éESÖß^Ì¡Lý£1P~7ŠXRKg¬…8´%Ðùßnmú(„¢É bôa0j
+üÇxÊ鄼ÒaCÛ2»°ã½¾ ²úÕ熄 ›•„
+èfÔ{6²XZS˜†&J?Q};Ê¥µ”«böh3nfÃÌ5äg’%m[Ã5©ÓÀtÚ©ax‚K~ƒå*¼ùø9¥©}_‘ë;gÅÒ¹|Žv %Íb2 rhZ×[6.Ý5ô!Éd3Y'ÓRÍ ×¦ºþ¦Ò¹¬]Q[C‡s”A‡8Ð R ßC"Ϩµˆµ ŠÛ£ -gK_h²å \;Ig¥GTcJptmÆann?Ù¨¹q²õÖ´esm²õ‡n¢˜µÕO4cÓ°£Å
+7%´ànâß÷ÇÒ £Ñ¥²º¾ýüókïCÞç?>â8Ž¬H Ûö¨fh©=mÑ#ø…ȦG+MåI:Îd‘¿™dòY@+œs!>†ÅNq‰WCUùt<É
+ÐhˆƒoŠ’K!•†½¦S©t’vî¶L¹ÏÓÀCdò4E§­© ^Y™ªúFƒ¯ø°õ‚dóh÷.›NçÒùdιG‚¶1yÓäAòÓ)‡8Ò‚‹õ EiªÐ 14§Hê3øžü‚.ÖìE¦@‘9Ì÷`
+曟¥&ÁX¡èÒTG`»Õ†:ÌŠxÑ‘´E~€Ii[6ìËû%¤¤Ã|<Ÿ §FmH2-ó!¤ÅT7/.oÁaèZÛ‘dȉãÏë&§hIðzoÀ¡~éXN-l…¢¼®°~âÔ ›ÕªÞ_¿Õm‰ÊBŒü÷’
+£ºjä¥O‘káƒ%Ž2x¨ê^9 Ý•¦~-°9DoV 3<ê‚ãQÁ¥sS”v#yp”„`¢ºyâd<tœMXPsÔ¦SGr£†°T‡Ø  ÒYÑr‚Îù>¬­ÕO1v§Ç*x¥‹ÉQ=s€ˆ² X邃ú6i-æØÿÍM›œðÁ ̲§}_o
+Ü`,öë”G0¡á’èÕ"£=E[]8Æf’à!*Ô…£õïÍ
+¦•éþ–y%tÎjké ˜BÒøcÌ Î¨É³Öm;.+–³Ù
+=
+„“£@,±×h‘ãÉa |ý”DGcðìý#ˆ,
+í@ô걈QW •8ê†þt ¾M‰ŒxzW™¤NnÞ“¥\2—yÊ|=ÆÞk|ö!I µ§T£Ç•A8>ê£óëóÓ‹¼xœk>ÄküSê¾*¼<Q•§Z·S;* èýbvF%n¸»Èq÷•¡Î›­2ÕxO'˜÷@ㆎîîm{ÐtFN‹ÒûÕâªØÈ n
+»³ñ~=-]‚NÜ·OU+¼ÞTøü{;VïžQÃÝnEÅ
+Ï×’'㨛ÂT-ñâ5þ$OÆ¥(©Ê˜J<N²æ&p
+„ö9O^æ‘ãz`WH<!æêÌ¢ûÞÇ,PŸÊØ5¸â£ð®\Q‰TO‹68ðrä)µÅöÁkô ö÷F‡õõ.S1aÅhdÄéÛäD°Ãú.¼~Kw6XËýL‹1–XÅÜ<#Øn¸T~§8±Æz¸µ+îù¹Vañ†úÁÖ‹† ÑS5êäÐkf;˜;øÈ[cMu_¨Z§tk9Ö­Ú´íÜŒ¯ZVÃ¥êÛü¥-Ö½óËÔ•…ï„—s±†V8=‘·’;ii¼™â—¦¶<–±6÷öL •êdëS„¬¯~Õˆõ.Ï×û~KClÀZè¥ï†Ÿ K¬o±Îµ-Öl⣽§aEëF7µ° "¢5Öfö-õ8ºŒZa÷Ž»´ Öô  ºõpSÝ.UËS×–X·jŸÙ`당±ÂJÕ^_kV87Ʃݙ̮ÊvXYª}¿·ÆZ§Š{\(ÛµÂ
+çFÚŽžÈˆ»±iñœ\§Ž^0ÖêˤfÀútH]fc4ĺ¿„µÁñÊ’ÍB™fîåókƒ5³ kovX+ÔÕþkÞ
++@#n}N×-„ØŒµ}°—´ÅzÁµ“” ÖçÕî…·VEBë‡{ÑடŸÂ!K¬÷{³O[¬íÑí{ß
++Rk©ç:u1?´&òerç®vzxdu~¾e‹õ¾Wß’V€Æb¸7ÔÃÉEÅëÕqµ÷vûúj‰õõfrf…JhˆøG7=¬Ùù%G½ŠÓ˜5Öëó¯›|.i‰µw›!¬Hß,WØiG6X»wTuüun‰5wÛ
+œ¾Æª
+Ñ µèe{òpûÉ°iñ„Ÿ.Ù}„•Ù;5Œc½¤Þ÷ Eˆ5º¤yz?¾wéó^ ˆ„%•ÇïÉX¥“ˆi¬ üÃk©KŸ…bTïŽk\Ã
+ÑÈê,¦ ·,™°F[Œõ„¾ˆ™äbtžº~GX“ÁBùˆ5(lžž
+EŽWØø<`–Æé…’Œµp7Qx‹çÞ;Xßql/c69Ò»Ý7¾`j =íÞÒ_÷vOGÀ0ÜYØ>…ëf¿XÙµi
+G¦§¢½ï¼eƒ¶¯ÿšó†íÓÉ=Sºµ}
+Ð|MjÇov @'nÒ¶OÏ™Ôñ£íÓÁ¬ß¾t Ún`÷ìeßîõÝjñªÏÙ>=gN¶h¢L0\°y=Ý ªGûʨ ¡ÓÓHçV<‘Ÿ–㇦§
+ý¡˜Atë±F™Ï[¬™íí»ùôÙ` 觺O¶XJúAÛb¥j×m[¬
+2„`çÁ¨Çùús1¶
+Q'5% Ð…ãêŽü'zÅËq­`кw4ÇM C$
+Ò¤
+›¤@zôV5ÎorÕ©¾œ z*=†sc ã.DÖä{«ª¶éN´Ådòá8­åòìÆ&9î¶<QÔÑrp]óòTgÄËà’'÷+7Z×/veÑÙ²éL%B2.®ß•Y`‰ç«
+h»¸ÃŽR´R7‚–+È8iV~¶ŽÓô;Ö¶‹œG¦ä:h)ª³ØÊ])£ n©É#Õb³ÞÅ-ƒã,&Iw& ¨û
+ྜŠýøNÇ+@³{ɆvÅ~œSaãí£=Öêõs]Ãê[º§08Kôì°Þ.1X·2~ôIf÷‚ X7= ™z¹$hçC·c‡›¸©¹ÌXX©Ê
+®-¦fëtÜ©>µ—ðžƒÈl)9¿¹Ëäøˆîô":¯^`q¼Óë› [$}²8¹Þ1£kµëõ¬ c½'mîÖŠ×ë-iÈæ^À³Y™TΙ˜äy6‚ÛV ¦§ó]xëܬg¥1¨jÙ¬´ŸZ!¸hP77NÝr¹]ÁµO²-Pñš´éÐ'«€óŠë¦Î¹\ÆdÊ«UÖÍ û¬º¨7n7TØge‰«¦úæ
+û¬âc>tÝûF û ƒ“«út{k›*ì³Ê*Q÷=­eÕ*…}VU}h.ì[9Üí­°ÏÊ—31ô&
+ûU§¯êÓ¤ÀÆ
+û¬öyÌÂf…}VÞ5Rk›-ì³ÝÅÝlaŸUUöÖ6ZØgeòà˜ÍF û¬fØ6.°zaŸ9=Võù\îZ¡°Ï¼å+‡†6]Øg5‡>óÁÍëöis¸”¢¸ÉÂ>+P>¥Þss…}›Å›(쳪êÛÑ\EOD#-ì##ÚÚ…}VU}zµ¶¡Â>«ª¾¥Xçú…}V
+Yv‹÷Ëÿ öt¿ÿOß_×ËÿˆÏ¶›_¬_åyrGï˜ôÍÊiŽ¤ÅM¾¿Ü-òùÅÚéÿ>xùÝQxýš>ÇôFÂìnTÓ·F]“O++Ý!N¢v*v´N ÑkO²zG%¹ÑS’šEÂ%$QaISã}{Ϙ2"׆œãñdFõæ×’³b¡šË…$^R­
+Û+ÓÞlÍLo…Tp4`¤ö1WO©;”eäÇ@4Ò3Ü!4’åéë4mFPÞLà{b«ÓC-•ë Î…Tzǃ¬Rt¥B*½L3G?¢2²U,F±ìnC©|ÈXFY8¶+ën»Î;>>|Ë/iÝmwÅSµ,£êÚ†.Ãì‹(#„`7ŠèÁ„óåp¬»]Jíp¨»u?9 vk—aÊá"8—Y„Ð*3E± aí]ã¨S™ÐåRâü¡²Í·+'‘vçˆdÀ§z×>¾Ô†ÌÞñV+"Öœ5µf( ¼>ié±*óÄíûnSÙ2^MW(?w­*ó|¸6ʾ$PX¼h[¬TÚ·«BÌl³­ð«ÁÅ5Ö½8"ΓöXëÛOwVX|5ÝY?þiw5]Ø¡F®™¶¯Ì÷²»‚>»;i*º ‡Nž§65raÇkøXË*DH4Lä‹CmjÍ%;©ëÊ»]e^Ïk=˜1®óý·ÛO6Xs C©§kË
++NçAl|qoKdªZ½«§6ŸFÕOrIèbÿ(aÕ·K M“eŠ
+Ñh6tQ©Ãe…†m¢?wYá²'ýG.+$ Û­yY¡>4ô/+TÕÚŸ½¬pÉ€"%UÆÁ®FÝ!8Õj… ÉOµZëÂCµìÏò¶CSfÊê:Ç_}öåØÞ.<´\h9Pç„ n§Z‘_xè\
+¯ŽÏâThH žç©¤0:¯O_óв¹ÛžÂ{¥ïÕø¼.n/J™À ;L‚Oï§ÁÜÁ¢º{uóÝJOºÏÙt<5È]Õãq!¾¬§ÞK­ÉÝÉ°}•yu¸ëô÷}ˆû>éʭNëbR˜Âârž; ;{Ùïát–¹<\Ÿì“¡zfçãùì,¼m?§ø®€æ•šßuÚ÷xäí4À|~ßG“{§T­tQ¢jƒsªžÙm Â{>$ˆ¹‡3qû-ÓhÄtÿ¹©Ö%v"G‰ØC<y™ßR
+ð~$ñ…‡7ð巭ʼn¡Þõàé²—/nçp©Èdâl;® oXÜÙ/ž^ž[Ñ Q XÚ„d0à8ÖQˆÝãšÛ÷OãàLHÔv™Ô'Ü^ÝžCXÞz®”«Ñyê&Ä]ÍP…d Xëtv¨ 7¿5y£5?7-#0¸fYW¼'Ç¡±öÔ]
+Dœ1Ž3;åEå©Æ=¢ûE˯çÛªð|ØCÀ¥÷«‡r©Êt*•“HîBkWËo·¿±°¹ÿVàâ+FCtd’…µ•Ý·ÓƒË€€ÆUüâ/ÅâÅÃC/R½lÀO`ÀÍi–Gq,î8ÝkE%¤LnèIª'HÇ÷°„N¤éŠ9²dgàkv•#Ùs6_¢è+PkÏøZŽ+¯Õµ*s•pT¤ÝYÔB³3:º7ê¡~âÑ\„õÏò«Œá"¢p¨búoYN}Ð?˜—?õhhݳzéV6\ïë» õ@×QýƒÏÔP}GW?Òà)5DnÄjIø€ÆJzHP¿c E
+‚Æ­îxCEò»¾O>³…×æU¾ØÈdàmÞ‡¥Òûõö5úZØå+…Ê6=«>”¸ÖéG‡ÞO™6ÐÅéãZ>Ø"í}°øNk<%Üãv¿n`h¤Ÿ•3茀8bål´–‚ÁÓBõû¥,WzÅNùí¥ÚhŽéÓïb¢X9û‹µÊ”.ÉŒŸªŒЖäƒçr0âµ|’‚Îô"ź-V#ã§Q±sÿ pyaRl/£ìw£uYeÙ½xõi¸5òÉGL
+’,¸Èοä'j=ݵìP{"-³]¸lšsãÒ$ºõ†úäàx×µO½ëÛ€ëÌ‹`å¥R¯MŠJòÛ–ðvTg€¦ÏLÙÿœ&íÅSҞіE'×<Š@Ñ)ß×^}©}«ÎÓÌÝ;-k»ÂéýÞã÷)ߺµ^´±]¼ù<¼DH+·bKñÄÀë^…îÌ*`yn×™n+‚4Ä4ßÿw5ÍT7'ž†.ïIÞ~èŽì†eùè½=Y5xÕ6Õo¢©G¤2õð0&VlýÈÔöåiB:¹(6ÒHÒ
+<»ø>Ó|57ˆV…·ÂpgÇõéýã hõL&ÄùÐàñ¶æ!ïËÞ3 *ËSÆ>/—K“½ÙK%žÝ=-ûÕ…Í圢=ÉÉíaÀ€ÝæAeÿF\ôö«+®x‚Qã|lHîÅf±ÜÔÓ²#]s
+jm•C`5r{0ôÖtc¶d· p®jM[bÚúZŸÓ– ¹•E 0Ú¡k·(Ä4¸}™@øú)½Sø§ˆ2µkü5¼_b±—j:…ȼ
+E'BÌ zû§/£^%ÞzÊG³>1VÕ²°5ª„^Ó¤$0ª IäD·!‰£¸QØ®Zq¦Ý ЬcMnЀڄZÅ&ÇŒ
+g‹¡ñêFxGz-UãÉaì¿M犼•B˜}é ôÿ*ZÍ'-ÃH»z7æ{[0QEsõY0÷æÛJÑ›ÑJ‹zè–§P5ÓT-í ÏáW*ýž?@­žÞn@r¿äpŒ´KbçùîÓ7Ž¢
+rn€gÇö¤µÿRìÜýxsŽÜjáKô©Ö €O…*vl‘¾ÃiƒíŽ"6“é~­8eXxè
+ðù¼5\_$óFä`pƒ¯»á¶à³®ñ§=uH£ýÓ‡}VÉË?b´Õ ¯JzýLÕa…€‘¿#3en<7À~AóŸw•å‰®¬ÊoË=šÞ]ëªÉD+…/"ÊM×øÖ;´¾
+O‹LDHó“ÆšÌÞLd"0 AÙŠ@ü`Ç ¿|¢Š™A(uŸ5"„úÁÖ‹ 3„CJ”÷|ç0ðnÅPŽ0Â
+É0Ø“# o¬eê®ñˆRk®‘(íL E
+8­‘(£ÀÈlk‹Lܪ_” íûZ»à,yÐT.übÌœ–°d—8+a)€0§‘Ò&aÇ%n¬ªã´„=£vžK œæƒZgÝbNK˜eç0ÎP9Íaí'’îh¤Ž®Ê @8Nîæ|g"F%½Šc¢€,àÔUYK7*éUÖ>Cbò ¦)i³cÖ@ mæ4†160Q.eøšŽ¿©”6âJ'ÌË3MÐƯƞ˜æ0Ò\KàAžŠ¨UsšÃ~Ü×:'…§ªð*62×2ûyþÆ
+Òúj&X®Šêy¡é멬2´çÊZïeµ>Tå±²6⹬/O•µÏeµçÊZïeµ>å*/•µÞËjÕÂuË`ËjÉIä =–ÕBNó\Y뽬և9õVYKy.«EDóZY뽬§z¬¬õ^V ³\+káU‚\IÿÄ…«ç_²Ü
+Ï–g~¼¾ÈâTý@9—°q,Ý”¿bí …éq±b.û ®25H7
+U»¢RW=§× a¸‚®Ð‘$€@9“È´œZêUÂÝPœ¥eI¿I–¨œò
+»<“ª>”¾ïOÒ~˜ƒ›H>ݪOÕêéÇUŸ:çÅÁíû¥Ò®tyüüºT:JšÂÇ8×B8H«±rõ­p(3É 7“—Òã$ÆôÃ(*?ÇZêU!¶Æü„Ú®)—E6й£`%¦ÂxV_Nyðµ€ÄÜi}£uŠ¿¾Š6;’ÁÃÃw¹.ýíTS÷ú~F©Ù»ÞxЫýhyGUûúÓ4¢w´ªó/âúŸGº©=ˆÏF:4×ayµ]n©6͵ަ©¿ÅÕ£B®õM}^€VóuB‘z×Ú¡xâPúoZB±ÑÛQßFp«þœ†ÞÃmLåÑ Þ‰
+ÒàAN£Ûâaäî@Èߥ®‹Ù×a/¬ðS; ³q÷YÓÖï“1áÅp¢ ýAÇ/L¥qí燸27Låé Ëa˜Ý˜–?MïùÓâù W©VÃlOþÄ|BÁüÆdî=BOqxÑ+Ïô¦—Øâdz‹† Ѽ‡GJž]Þ†?Ô)U¡æý!PVåW«4ËÊÅY ­mQ©R
+Ñ’»÷_EsnÊ×Zeº5(¶:/{Õ~완‡è¶+ÙdælA¦ñð¯]óHê E^Ï@JOû'|Ux½¿¨åƒwœ•Õí`®lç9r.ðZv‘Y`];‡ÀÈ‘%ôZv‘ƒ ®vŽñ
+€ºóoÑ%wtÌmFØÃk @òyJç ÉíÐÖY‹µ š°€K\ÜaÌË”+5t Dü]'ûmÕ%FfîW}ëpÕKßa¹]í­µÛI]WÞõí.·Ì\bÉiNã–à
+ÈÈi0µl­%LOK.hH×>Œ¬Ê%*§A›w­4b5{DÈiÌ%½N' šÆI‹qYvÂ1Ú€Æ0))~w¨ëDÿmÇE
+ } yB¡‚rDo $$ôðuZéP(\Ääc~­+‡íŽkp4ÚÙÀ0¥{ŠÃ‡&qWV@¦ÅåÖO#ZìP–ÚõZ !)Yj×/èÄ`Y¦Qrä0s©×ÄYLæ¥"Ü =€=;£é^u6Ôïv‚ŸwÀOmNZÌQ“t¯Ä}Žg—ìoNðýEûñ¿øþÍæý4“ó3é4ø’†¿^ö}…ª}nÆùé°ÿrß)Â4Å^¢(H•ñ@ó3Vøí/ ß¯.ïÎ*þ‚¿ÓïøC gT4Âh»µûÛóýEù‹ðÏã/¶?Þ€?ñt†Î§’ùTŽÉäry?§(†a²9:Kç3É|öüFQI*Mç¨T2›Ë€_Òt2ˤSy
+´¢²9ðK6iøüB«SIÐÜÿÈB¬pì øïñ7üv>ý
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 37 0 obj [36 0 R] endobj 50 0 obj <</CreationDate(D:20161016023847+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161030210225+01'00')/Producer(Adobe PDF library 15.00)/Title(arrow_collapse)>> endobj xref
+0 51
+0000000004 65535 f
+0000000016 00000 n
+0000000173 00000 n
+0000012479 00000 n
+0000000006 00000 f
+0000045557 00000 n
+0000000008 00000 f
+0000012530 00000 n
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000045814 00000 n
+0000045845 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000000 00000 f
+0000045627 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000045698 00000 n
+0000045729 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000013750 00000 n
+0000045930 00000 n
+0000012847 00000 n
+0000014050 00000 n
+0000013937 00000 n
+0000013029 00000 n
+0000013188 00000 n
+0000013236 00000 n
+0000013821 00000 n
+0000013852 00000 n
+0000014124 00000 n
+0000014298 00000 n
+0000015611 00000 n
+0000025570 00000 n
+0000045955 00000 n
+trailer
+<</Size 51/Root 1 0 R/Info 50 0 R/ID[<8EBA933D12F01E43BD17F97E988B7437><0D38E29BA0314C428B9D8E3F39DC9509>]>>
+startxref
+46152
+%%EOF
diff --git a/Assets/webui/arrow_expand_blue.ai b/Assets/webui/arrow_expand_blue.ai
new file mode 100644
index 000000000..ac0c53687
--- /dev/null
+++ b/Assets/webui/arrow_expand_blue.ai
@@ -0,0 +1,408 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R]/Order 22 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 13124/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-16T02:39:17+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-10-30T21:01:56+01:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-10-30T21:01:56+01:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>160</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FUPqGoWmn2kl3dy&#xA;COGMVZj+AA7k5OEDI0ObDJkEBZ5PJ9c85apqGqR3cEjW0Vs1bSNT9ntybsSR1+7N3h0sYRo73zee&#xA;z6yc52Nq5PQfKfmy21u24PSLUIh++h7Efzp7fqzV6nTHGf6LuNJqxlH9JP8AMVzHYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqkHmzzZbaJbcEpLqEo/cw9gP539v15labTHIf&#xA;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&#xA;2KuxV//Z</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>16.000000</stDim:w>
+ <stDim:h>16.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">arrow_expand</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:8f8ce6b3-97c6-49c0-b7a5-463e741388c6</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:9329c791-d242-481e-8c38-a214f40bd743</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[1.0 3.39999 15.0 12.0]/BleedBox[0.0 0.0 16.0 16.0]/Contents 23 0 R/LastModified(D:20161030210156+02'00')/MediaBox[0.0 0.0 16.0 16.0]/Parent 3 0 R/PieceInfo<</Illustrator 24 0 R>>/Resources<</ExtGState<</GS0 25 0 R>>/Properties<</MC0 21 0 R>>>>/Thumb 26 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 23 0 obj <</Filter/FlateDecode/Length 117>>stream
+H‰,ÍA
+Â@ Ðý?Å¿@g’NÛmGqUD<‚à¸hÕûC“Aáç‘x/ŒKΗBHHS¦„< ÖÇ|æ·"ÞžÂúÃN¥X)5…ÚóµÁaCw2°–¸¢S»4õÔ;kÈ>´•±e—?ðÆ×Åž
+endstream endobj 26 0 obj <</BitsPerComponent 8/ColorSpace 27 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 2/Length 20/Width 2>>stream
+8;TruMb=3Z0E;4(!J^~>
+endstream endobj 27 0 obj [/Indexed/DeviceRGB 255 28 0 R] endobj 28 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 25 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 24 0 obj <</LastModified(D:20161030210156+02'00')/Private 31 0 R>> endobj 31 0 obj <</AIMetaData 32 0 R/AIPrivateData1 33 0 R/AIPrivateData2 34 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 32 0 obj <</Length 1253>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (arrow_expand_blue.ai)
+%%CreationDate: 10/30/2016 9:01 PM
+%%Canvassize: 16383
+%%BoundingBox: 1 3 15 12
+%%HiResBoundingBox: 1 3.39999961853027 15 12
+%%DocumentProcessColors: Cyan Magenta Yellow
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 0 16 16
+%AI3_TemplateBox: 8.5 7.5 8.5 7.5
+%AI3_TileBox: -278.380003929138 -401.199981689453 289.939971923828 417.679991722107
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -4 20 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_Alternate_Content
+%AI9_OpenToView: -4 20 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:-3 -40
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 33 0 obj <</Length 9957>>stream
+%%BoundingBox: 1 3 15 12
+%%HiResBoundingBox: 1 3.39999961853027 15 12
+%AI7_Thumbnail: 128 80 8
+%%BeginData: 9819 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD0EFF85A9FD60FFAF60FD1AFFAF85365AA8FD5EFFAF36605AFD19
+%FF8536615A61A9FD5CFFAF5A615A6160FD16FFA885365A3660365A84FD5A
+%FFAF3660FD055AFD15FF855A615A615A615A61A9FD58FFAF5A615A615A61
+%5A6160FD13FF8536615A605A615A603661A9FD56FFAF5A5A5A615A605A61
+%5A5A5AFD11FF855A615A615A615A615A615A61A9FD54FFAF5A615A615A61
+%5A615A615A615AFD0EFFAF6036605A5A36605A5A36605A5A365A84FD52FF
+%A9365A5A605A5A36605A5A36605A5A5AFD0DFF855A615A615A615A615A61
+%5A615A615A6185FD50FFAF5A615A615A615A615A615A615A615A6160FD0A
+%FFAF8536605A615A605A615A605A615A605A615A5A84FD4EFFA936615A60
+%5A615A605A615A605A615A605A615AFD09FF8536615A615A615A615A615A
+%615A615A615A615A6184FD4CFFAF5A615A615A615A615A615A615A615A61
+%5A615A6160FD06FFA885365A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A84FD4AFFA936605A5A36605A5A36605A5A36605A5A3660FD055AFD05
+%FF855A615A615A615A615A615A615A615A615A615A615A615A61A9FD48FF
+%AF5A615A615A615A615A615A615A615A615A615A615A615A6160FFFFAF85
+%36615A605A615A605A615A605A615A605A615A605A615A60366184FD46FF
+%A9365A5A615A605A615A605A615A605A615A605A615A605A615A5A5AFF85
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A6185FD
+%44FFA936615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A8460365A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A
+%365A84FD42FF85365A36605A5A36605A5A36605A5A36605A5A36605A5A36
+%605A5A5A605AA9FFA9615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A6184FD40FFAF5A615A615A615A615A615A615A615A615A
+%615A615A615A615A615A615AAFFFFFFFA95A36615A605A615A605A615A60
+%5A615A605A615A605A615A605A615A5A84FD3EFF8536615A605A615A605A
+%615A605A615A605A615A605A615A605A615A5A36AFFD05FFA9615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A6184FD3CFFAF5A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A615AAFFD
+%07FFA85A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A84FD3AFF8536605A5A36605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36AFFD09FFA9615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A6185FD38FF8536615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615AAFFD0BFFA8615A605A615A605A615A60
+%5A615A605A615A605A615A605A615A605A6184FD36FF8536605A615A605A
+%615A605A615A605A615A605A615A605A615A605A615AAFFD0DFFA9615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A6184FD34FF
+%8536615A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%AFFD0FFF8460365A36605A5A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A365A84FD32FF85365A36605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A5A6036AFFD11FFA9615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A6184FD30FF855A615A615A615A615A615A615A
+%615A615A615A615A615A615A615A615AAFFD13FFA95A36615A605A615A60
+%5A615A605A615A605A615A605A615A605A615A5A84FD2EFF8536615A605A
+%615A605A615A605A615A605A615A605A615A605A615A5A36AFFD15FFA961
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A6184FD
+%2CFF855A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615AAFFD17FFA85A36605A5A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A36605A5A5AFD2AFF8536605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36AFFD19FFA9615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A6184FD28FF855A615A615A615A615A615A
+%615A615A615A615A615A615A615A615A615AAFFD1BFFA8615A605A615A60
+%5A615A605A615A605A615A605A615A605A615A605A6160FD26FF8536605A
+%615A605A615A605A615A605A615A605A615A605A615A605A615AAFFD1DFF
+%A9615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%84FD24FF8536615A615A615A615A615A615A615A615A615A615A615A615A
+%615A615AAFFD1FFF8460365A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A36605A5A365A5AFD22FF85365A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A5A6036AFFD21FFA9615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A6184FD20FF855A615A615A615A615A
+%615A615A615A615A615A615A615A615A615A615AAFFD23FFA95A36615A60
+%5A615A605A615A605A615A605A615A605A615A605A615A5A5AFD1EFF8536
+%615A605A615A605A615A605A615A605A615A605A615A605A615A5A36AFFD
+%25FFA9615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615AFD1CFF855A615A615A615A615A615A615A615A615A615A615A615A
+%615A615A615AAFFD27FFA85A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A36605A5A36605A5A5AFD19FFAF6036605A5A36605A5A36605A5A3660
+%5A5A36605A5A36605A5A36605A5A36AFFD29FFA9615A615A615A615A615A
+%615A615A615A615A615A615A615A615A615A6160FD18FF855A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615AAFFD2BFFA8615A
+%605A615A605A615A605A615A605A615A605A615A605A615A605A615AFD15
+%FFAF8536605A615A605A615A605A615A605A615A605A615A605A615A605A
+%615AAFFD2DFFA9615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A6160FD14FF8536615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AAFFD2FFF8460365A36605A5A36605A5A36605A5A
+%36605A5A36605A5A3660FD055AFD11FFA885365A36605A5A36605A5A3660
+%5A5A36605A5A36605A5A36605A5A5A6036AFFD31FFA9615A615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615AFD0FFFAF855A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A615AAFFD33FF
+%A95A36615A605A615A605A615A605A615A605A615A605A615A605A615A5A
+%5AFD0DFFA96036615A605A615A605A615A605A615A605A615A605A615A60
+%5A615A5A36AFFD35FFA9615A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AFD0BFFAF855A615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615AAFFD37FFA85A36605A5A36605A5A3660
+%5A5A36605A5A36605A5A36605A5A36605A5A5AFD09FFA96036605A5A3660
+%5A5A36605A5A36605A5A36605A5A36605A5A36605A5A36AFFD39FFA9615A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A6160FD08
+%FF855A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5AAFFD3BFFA8615A605A615A605A615A605A615A605A615A605A615A605A
+%615A605A615AFD05FFA96136605A615A605A615A605A615A605A615A605A
+%615A605A615A605A615AAFFD3DFFA9615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615AFFFFFFAF615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615AAFFD3FFF8460365A36605A
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A5A605AAFA860365A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A5A6036AFFD41FF
+%A9615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A855A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5AAFFD43FFA95A36615A605A615A605A615A605A615A605A615A605A615A
+%605A615A5A36615A605A615A605A615A605A615A605A615A605A615A605A
+%615A5A36AFFD45FFA9615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615AAFFD47FFA85A36605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36
+%605A5A36AFFD49FFA9615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5AAFFD4BFFA8615A605A615A605A615A605A615A605A615A605A615A605A
+%615A605A615A605A615A605A615A605A615A605A615A605A615AAFFD4DFF
+%A9615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615AAFFD4FFF8460365A36605A
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36
+%605A5A36605A5A5A6036AFFD51FFA9615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615AAF
+%FD53FFA95A36615A605A615A605A615A605A615A605A615A605A615A605A
+%615A605A615A605A615A605A615A5A36AFFD55FFA9615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5AAFFD57FFA85A36605A5A36605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36605A5A36AFFD59FFA9615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615AAFFD5BFFA8
+%615A605A615A605A615A605A615A605A615A605A615A605A615A605A615A
+%605A615AAFFD5DFFA9615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615AAFFD5FFF8460365A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36605A5A5A6036AFFD61FFA9615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615AAFFD63FFA95A36615A605A
+%615A605A615A605A615A605A615A605A615A5A36AFFD65FFA9615A615A61
+%5A615A615A615A615A615A615A615A615A615AAFFD67FFA85A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36AFFD69FFA9615A615A615A615A61
+%5A615A615A615A615A615AAFFD6BFFA8615A605A615A605A615A605A615A
+%605A615AAFFD6DFFA9615A615A615A615A615A615A615A615AAFFD6FFF84
+%60365A36605A5A36605A5A5A6036AFFD71FFA9615A615A615A615A615A61
+%5AAFFD73FFA95A36615A605A615A5A36AFFD75FFA9615A615A615A615AAF
+%FD77FFA85A36605A5A36AFFD79FFA9615A615AAFFD7BFFA86136AFFD7DFF
+%A9AFFDBEFFFF
+%%EndData
+
+endstream endobj 34 0 obj <</Length 19954>>stream
+%AI12_CompressedDataxœÝ}ÙzêH“à\×÷ñ`cÌ&‰¯ìØÆ6¼/X€l8`„%qNº˜§™g諹ë›\´£%œžê®úË?HIDfddl‘¹hubÅ!ßçbÉ8å÷ýµ³S8Vâ…‚=öŸM§ Qà£P;짳q
+¶*žåzrË;NÇü¬àg¨8ßÖàïCçì„ï‡ý¡0|ÔKS<dÿÕãþž³³a¯?]pqvVñ8Víh*‘¤ EgüùEû[—¨ ;ûÉŠâøØ"“Ì%áÿ˜ dzÏÿ7xêOúé´Ÿfà›Æ¸Í‰æ×ñdþ“¡sé$ÅdµÖ~°øâfRKàœ(–ù)/ˆù7;ó_²Ÿà ëä¦Sþh]<K÷jã)FúÅJ~:‰^<£™^i1ž¯_}ΦÐódÁ»
+nöV ü>q;@2:#¿êr_ó) (|.žögÁòÿ+MÀ(Ðë“ÍÅ“9Š¢’y&O'sþXŠ¢ã4 VŽÎäò©tÒÏäòñ< `–Î3É“ó§
+Ê Ã¯‚Å%¯KnhÀ‘F8 …pÎvZ€ ¯…1 B!–„/sg]5æ¤ÁŒç”¿{² ø‡ü@®!}‚–`>›¡Ó9:Å<‘ ¦]cQgŽé•/u‹‡Š_vàpÀøËüä@‰8»`EMùOù­ö½ s™>˜
+Ã×°?qÅ~qþ(hÔ'‚S[QþkøG³>iÿ Ÿ´ÁŸxž¦³À8ͦÓÙl:•†\6—Éeè|: Àt2 žÀoI:M3LXµðI>›Jf¹l*Êç²2ð‡"K+ß~ÃoçàÓðì —ÿÒÿüJù‡>ð G=‚·X0rÿï/X4ð= ˜nìîDl»,F<ØVÓ£3{sˆšÿÀi0»y­ø¯¤õYí™·oŽEÉ8ËË”ÁmVä0šÂ/±Å
+û_
+fCXtí# ‚hh£VŒ?Lpí5ü#ýžsòëÐîLìýdñ
+)ÆlÊ­ ’™þÿÎÞ…Bá'¹X€mÿ Ç9
+¿Ózh÷»Xš¢ÜÊA]ñ“CÝ°œÉÐóåX’
+þÄ/ß+2§ 4 â”ŸUVõÈ~bµÕ
+Éð®&ÃiÛFƒZ õŽéŒ×ìÿx†|‡°r8?ðšËÐÓ(ËžFÛài˜Ì‘—d&£$:KAq²>ô~jŒ­ˆÎ÷— ‘‘Ÿ W©Isœõ1eœ@. ÙšŒd£Åè-Óh¯Í)Ü”Ð"»‰|?ÞK_,4LŒF—ÊêúöóϯI¼yŸÿøˆã ²"-lÛ£ú¡¥ö´EwŒà"˜­4•'é8“Eþf’Ég!¬pÎ…ø>Å%^ UåÓñ$”ø]Š¡óv¿ÓoÔXÑ ¶Á›ûN£
+=GmŒÀqP€‰þéæAˆ“ñÐq6q`AÍQ›NÉ¢Rb7€JgEË :çû°ÎV?=ÆØœ«à•.>$GõÌ"Ê.`¥ êÛ¤µ˜ckü77mqÂ70ËžÎ]½%pƒ±hدS^Á„†&?ЫEF{‹¶ºpŒÍ$3ÀKT2¨ Gë7Ü`PʸÓàÕƒêU›zѵȩ¯àØq¹‰oÀ»J·b¡õùañT9 ÇL ºàƒÍ©l≨ ìú5~v6”·Q7Nñ¯ÐéEÿ
+eÀ,ïœpa¾ðŒ ÿŒ
+=ëNLjm:¬)תÔz8»qì(p”¶ÊqQp4_  Kúp¡•ÔSZw…ñLpt4|Œ½vŽŽAFÄ€ÙùœsŠ#)-ôÍT2˜i¶m†2 ̶i H›{®·ՠʘý@’ý`]ø•.[È%ÀðÔŸÁ3ƃ<A¼äýùe1x´Ü™ý
+/OTå©öØ­ô~1;£×Ümäøñ•¡Î[í2ÕxO'˜÷@㚎îîl{ÐtFN‹Òûåâ²ØÈ ® »³ñ~=-]ž‚NÜuNU+¼^Wøü{'V¿=ÿ¢†»+<kKžŒ£Ç¦j‰¯ð'y2š¢ ¤*c*ñ0Éš›À)^ØçT<ÙÌ-"ÇõÀ®6xBÌÕ™Åã{³@}*c×àˆÂk¸rI%R<-ÚàÀ#O©-¦°~FÏ`¯uX_o3VŒFFœ¾IN;¬ïÂë·tkƒµÜÏ´Ùc‰UÌÝÃó‚í†ÛHåwŠk¬‡[»â^Ÿ[aïñ`¨l¿hX 1U£Nm°f¶ƒ¹ƒ¼5ÖÔã Uë–n,ǺU›Ã‚¶ëñeÛj¸T}›oÚbÝ;o¦.í(|+¼ ˜sˆ5Œ°ÂÑ艼uŸÜIK{à—)~ij ÁckkoÏÄP©n¶>EXÁúêWX_áò|½ë·5Ĭ…^úvø™°Äúë^ÙbÍ&>:{V´ntS b!"ZcmeßR£fÔ
+«¸wüHÛ`M
+u¹ÿš·Â
+Ј[gß…ÓÂU!6cíì%m±^p$eƒõ9Fuzá-„U‘Ðúá^4¸«ç§pÈëÝÞìÓkgtó޷ŠÔZê¹NÝ]Ì­‰ÜLîÜÖN¬±ÎÏ·l±Þõê[Â
+ÐX ÷šº?¹¨Xc½<®öÞn^_-±¾^Oά°B ÿxLk6D~ÉQ¯â4fõêÇüë:ŸKZbíÅf+Ò7ËÃv:‘€ ÖÇ[ª:þ:·Äš»ŠmN_cU€µð­a…h„Zô²=y¸ýdØ´xÂOMvaeöŽC ãX›Ôû~¡±F—4OïÇ÷.}Þë4
+Û‡§'@Ä”y¸B‘ã6>˜¥qúG¡$c-ÜÄMÞâ¹÷.ÖwÛ˘MŽtãv÷/˜hooè¯;»·#`î,lßÂu³_¬ìÚ4
+2„`çÁ¨Çùús1¶
+Q'5% Ð…ãêŽü'zÉËq­`кw4ÇM C$
+Ò¤
+›¤@zôV5ÎorÕ©¾œ z*=†sc ã.DÖä{«ª¶éN´Ådòá8­åò|ŒLrÜmy¢¨£åàÍËS/ƒKžÜu/Ýh]¿Ø•EgÛ¦3•ɸ¸V|Wf%ž¯4w<d‹)ó4$è->è:¡ŠB“°yï‚>T¬åÌctN³Á½ml ƒÕZ…²¥MbÄGŽRE¬ÉL[B£!ƒf\€ûËf
+NnwÒ+Š½-p±¤ü¬iãnæê5Ÿ-C“™¹p¿k%…èÆž™9bÙ)$\€°R!Γ²…>¤jøCǼ•¹²ú{è 4ŠÒ‚ŽÙ-A/.Ò-¿çNž³$`|Åèi&M’^
+€ÉÛ€tPt#à4w@îÒ ›ƒ®€6°‹‹
+«ÈÆóöØ%§Év³ØÑ^7Cs{™óÓœô#aĬÁ³Á
+2ìIÛëGv«m›s@î>ÜoÎú¿·RŽ–œF¢ï=9àÆ ¤~j_¾W´þM3§ YÉú_M­!@^¬;µ†
+7ˆ ÂÍÕóKLRà1¶í)(oMæåüë„K·²;Ïù%Vn,»[7² åNÚØç—˜½•¡m•ªs¡˜»Ï37¥%¼ÓË›>}æÛÝI[óé*‹½9ÇKSÚOÚçiª9P¤u¯ìÖ¥e ¤s Í6@ èåi@h3 LrsSDüüvcå8À31´×z4¥ñ°îœÐlL±¯)\¸)N/5…}çú›mCŒË¾FnË,ÈK—û4Ú¶ëÓ©‘–SFܦÑ%óÞKZ°nŒzZ˜ÔÄs(˜jr,­NÐÜ\”NI;@s+Ñq혶½
+¡¹$ó{¦©bgM¢¹®z"šÛi ŽSSFÔòÒÃc̘GÕp.ß!5s¡¾Q£ÅîËÞ¦2Í­n˜ác²åÒ‰wæ†Þm¹œ«Þؘ?øÙ0ùƒV¹ª?h ÃMPXÐ ›Ï†ÛQ.Út{-ÙÓW¬¸Ït"uÔl¥
+¢f^ú´J¯ŠäÅC¶¯5²"½C»”@¹Æ‚LeY6»¸Ì«(ÙêxOvÚZøövš§µÿãÌjí›í42Ry‰™ŒpC>4¬`Kl†L~#ʳñÐ-cŸÒ>ÉAH§R8OÑçb¿Ô†Hå^‹ëÔ-cô&¾½ù:wŽÞXpšMôæ|è&lè‹àf¢7É`úùQ‚èÍùF’“
+¬Â¨'·;ö±(—¢Deû?ûdâ!¡]£É±b‰Ÿ{B kŠ"¤Í:Ŭ7êÂ1rêZçgÎl™7dñhÀc­ GÍg_™§÷o2ÉW­Ì³Ü‚åt›­Ì[—Ó+ój<6Q™‡6$—‹óVH†u¬Ì3åºZ-7×·Tº¸b•ºUŸ4ÿÒYtn¬2Ϙ/à¹N„´2ÏGrfÊú•y¦¹QŠó6]™gB£ç­¹/ ê6Pøõ§Ý%ŒÆ.Ì ¡m$õ ›;Þèo¯XÁ–´%¸qÓËɆ-/ç\¬V*
+û¬²JÔ}OkYµJaŸUU$Ú† ûVw{+ì³òåL ½‰Â>EÕé«ú4)°±Â>«}³°Ù@aŸ•wÔÚf ûlwq7[ØgUÕ‡½µöY™<8f³ÑÂ>«¶ ¬^ØgNφU}>—{£V(ì3oùÊ¡¡MöYÍ¡Ï|póú…}Ú.¥(n²°Ï
+”O©÷Ü\aÁfñ&
+û¬ªú6A4WcÑÑH ûȈ¶vaŸUUŸ^­m¨°Ïªªo)Ö¹~aŸ
+û¬ªú¬*VÖ,ì³²«í]Ü• û4
+@#I"wÎiGRp3…˜+]ÁiHêS
+çI{¬õí§[+¬
+¼T•%´Rz|ô˜2çA¨û=Ê´ìà_©šÏé£! èš·“*ž²3}Î׺9×W-Sìêd4·ìûT¶Oœó©§öÕW‰+æ¯/[6Kq`‰[&Riªž áÒ…T·¼Vòò8ÒÄ-[>ðiåq.É Ä\e•¶ZÖ*
+Ñh6tQ©Ãe…†m¢?wYá²'ýG.+$ Û­yY¡>4ô/+TÕÚŸ½¬pÉ€"%UÆÁ®FÝ!8Õj… ÉOµZëÂCµìÏò¶CSfÊê:Ç_}öåØÞ.<´\h9Pç„ n§Z‘_xè\
+jˆ ݈Ւð•ô ~Ë@Š
+‚Æ­îxCEò»¾O>³…×Öe¾ØÈdàmÞ‡¥ÒûÕöúZØå+…Ê6=«Þ—¸öéG—Þo™ÐÅéãZ>Ø"í}°øNk<%Üãv¿n`h¤Ÿ•3茀8bål´–‚ÁÓBõû¥,WzÅnùí¥ÚhéÓïb¢X9û‹µÊ”.ÉŒŸªŒжäƒçr0â•|’‚Îô"ź-V#ã§Q±{w/pyaRì,£ìw£Ý¬²ì^¼ú4Üùä#&
+Xž…›u¦ÛŠà
+ÆdǬ ÖV0ôV#·§CoM7fKvÛ€çªÖ´%¦­¯õ9mÉ[YÄ
+ÛU+δ;Ášu¬É P›P«ØäØ€QálQ 4^Ýï¨C¯¥j<9ìý·é\‘·Rh³o =¾1ã_EË¡¹ñ¤eiWïÆ|o &ª£h®> æÎ|[)úe´Òf ºå)TÍ4U D{Ãsø•
+D¿ç÷Pk€·7[P£\Âï9cí’ØyþñéGQ€­N7ñëݧ5É^¨Ö¼‰ß•P£¹1`¯²ïÕÉéì;ñð·MÚÖIÕòÑÿZ}³¬êôé<Ääö2` lî‚4yíýÁÀAß@)ß² !¬†ÿ¦ò±;‡7-Aûºè0èy˜n–•0{T¹Þ9]­¿ÙHØÌ54Õ×Xâ¤<';ìÄëlÅ“É´58 Ê4/ëlÅE¶,ÓHgÚÓ"#ç4¼ÎV\d>tî nÁ<ˆ»ïå8‚>¢\ŠSLõ¾ôxUŒÎ©ÓâàæªV9‰¤Ï‹Q¾°WyªI¯ÅFæýêô£;?¨
+¯}XæspBßåP>Dåd¿š¬uO²›*{ Ô[™<XØl4¢±¡=‚U|zÝAñkMwvEOzň†Õб'Mbk®åäÈÁêA[2ü^#·+2>4n-ÌíM;9p§ÐrÃb}ÔzƇœ¶®§ñG#·nþO£×ˆ§…‚Ïq;»†_[&_ÆÊ‘ñî,&]ñô'•GÙWŽPéÈip(w/=ŠH©ûÌn)ȹžÛ“öþK±{ûãÍ9r«…/ѧZ/
+ý=DFX#:®š`DÊÁ“ªf2¡ücRz¶µu|RW<X~ßg,öƒ¿U«íh0(n+0ÁxxhUãîÀÄ‚`„pf_õå –Ü=x†– ðÌ*QºþÇEVè1˜Æ»8~ö*ö`¶Ý‹¨dö$³…FxÈ|Þ®/’y#r0¸ÆW‡]s[ðÝ£ñ§=uH£ýÓû}VÉË?b´Õ ¯JzýLÕa…€‘¿#3en<7À~AóŸw•å‰®¬ÊoË=šÞ^éê1:“‰V
+_D” š¯ñ­·h}¬q˜æÙâac¸¼©2i¿™±£ÒáEO‡ÅóµJÓ Zž…d
+t–F‡òÓðM¡è‘ž0¯S¡ƒ öƒ:"œ”¿y£’> UL«|Qž :˜ˆ æ' Œ5™½žÈD`4"‚²øÁŽ?øD3ƒPz|ÖˆêÛ/6Ì)QÜóÃÀ»C9Â
+×-ƒu.«5&'‘ƒôXV 9Íse­÷²Z>äÔ[e-幬Íke­÷²Zœ>ê±²Ö{Y-Ì~p­¬…W r%}ü®žÉrL3^ZìÖ9š¥ˆÒä¸œ BÁØ ¡íEŽ7
+BÂ[ž"ÇÑ;,áÜp­ì!.þ¸-<[žqøñvú"‹Sõ|å\ÂBÄE°tSzüŠµ'¦ÇeÄŠ!¸ì'¸ÊÔ Ý(TíŠJ]õœ^/„á
+ºDG’
+$Y¢r~ÈS
+Qƒ jt½<,Q½
+oZB±ÑÛQßDp«þœ†ÞÃMLåÑ Þ‰
+=È”¡ù}C¡À*=h\£¯.=xz¦«¢¢ÄegMœ..¾g™‚J›n\Ÿ…8íìT£ù00D©»`Äj{‹È%)ªß"é&6R…Gið §Ñ‰mñ0r{ dŽoSWÅìë0„Vø©ÙøñYÓÖï“1áÅp¢ ý^Ç/L¥qíçû¸27Låé Ëa˜Ý˜–?MoùÓâù W©VÃlOþÄ|BÁ|ŸÆdî=BOqxÑ+Ïô¦Mlq2½EC†hÞÃ#¥GOŒ®GïÃꋔΪÐFó~(«ò«]šÆ?÷‹­ÁG³rqèh[Tª€'œ©Ç€îêÎUÄT)¹³8SõÕk¯ø]æ6%ÛÏiùS…U-¸×¤B´äîÝWÑÜ£ër÷µV™n ŠíîË^µ;E&á!ºíJ6¤y[PFi<ük×|’zB‘×3ÒÓþ _^ï.jùà-g%Du;˜+Û9FŽœ ¼–C`ä@X×Î!0rd ½–C`äà@‚«c<
+†¤ õZí%¢Óe¬÷Ñr³ÝK4m$⬠ó^¢¶×²Z¬”ž«DxCDPw0ñV·L‡'=@ôt˜äæʆêiRG£“‰JhD€Ý™øôEˆøæZg:œ&3eCußÈ¥—öÛwÄë#ÉucÙCZ’§ v3Àƒª÷œw¦1§9ÂøÁ…ÖÙÝFwƒ %½ |Ÿà°,ðÜØÁ ·"ëu¢Šê–çj0Ð1»®A
+è¨E,aÎ !G­
+”#z h ! ¡‡Ï¨ÓÐJ‡Bá"&ó l]9lw\ƒ£ÑΆ)ÝS>4‰3¸‚°r
+£íÖìoÁ‚~Á®TàÇkð'ž¡2)*—ͦri&›Nú©8Îä2L6™Ϙ<èjœJæSé|Žÿf“™$B<™ÏPÙ\*I'³L:•O2ùMg3©,•Îå˜x’ËèÿÉúXˆžÿ=ü†ßÎÁ§àÙ/?Mù/ýϯ”è/Û ›I€þ“¡sé$•ôò/!çÏ
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 22 0 obj [21 0 R] endobj 35 0 obj <</CreationDate(D:20161016023917+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161030210156+01'00')/Producer(Adobe PDF library 15.00)/Title(arrow_expand)>> endobj xref
+0 36
+0000000004 65535 f
+0000000016 00000 n
+0000000159 00000 n
+0000013361 00000 n
+0000000000 00000 f
+0000046510 00000 n
+0000000000 00000 f
+0000013412 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000046580 00000 n
+0000046611 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000014641 00000 n
+0000046696 00000 n
+0000013733 00000 n
+0000014941 00000 n
+0000014828 00000 n
+0000013920 00000 n
+0000014079 00000 n
+0000014127 00000 n
+0000014712 00000 n
+0000014743 00000 n
+0000015015 00000 n
+0000015189 00000 n
+0000016494 00000 n
+0000026503 00000 n
+0000046721 00000 n
+trailer
+<</Size 36/Root 1 0 R/Info 35 0 R/ID[<589558FEC6627E4F9843CEC01047ECF3><10D534ED58B8A543ACF21FDF2A709521>]>>
+startxref
+46916
+%%EOF
diff --git a/Assets/webui/arrow_expand_green.ai b/Assets/webui/arrow_expand_green.ai
new file mode 100644
index 000000000..f67535078
--- /dev/null
+++ b/Assets/webui/arrow_expand_green.ai
@@ -0,0 +1,453 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R 36 0 R]/Order 37 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R 36 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 13392/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-16T02:39:17+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-10-30T21:02:27+01:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-10-30T21:02:27+01:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>160</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FUPqOo2enWcl3dy&#xA;CKCIVZj38AB3JyrNmjjiZSNAIJAFl5Dr3nXVdS1WO8gka1itW5WcSn7Pbk3YsR1+7OM1faeTLkEg&#xA;eER5OFPKSbei+UfN1trttwekWoxD99D2Yfzp7fqzpuzu0Y6iNHaY5j9IcrHk4veyHNk2OxV2KuxV&#xA;2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVj3m7zdbaFbcEpLqMo/cw9lH87+3681v&#xA;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</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>16.000000</stDim:w>
+ <stDim:h>16.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">arrow_expand</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:8f8ce6b3-97c6-49c0-b7a5-463e741388c6</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:62412659-67f8-41b2-b031-a3d2ceeba99b</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[1.0 3.39999 15.0 12.0]/BleedBox[0.0 0.0 16.0 16.0]/Contents 38 0 R/LastModified(D:20161030210227+02'00')/MediaBox[0.0 0.0 16.0 16.0]/Parent 3 0 R/PieceInfo<</Illustrator 39 0 R>>/Resources<</ExtGState<</GS0 40 0 R>>/Properties<</MC0 36 0 R>>>>/Thumb 41 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 38 0 obj <</Filter/FlateDecode/Length 116>>stream
+H‰,ÍA
+Â@ Ðý?Å¿@3Igj붣¸*"Ah»hêýÁ¤Hàóó$Ý+ÓT•ã¥*ªô9{Z9ó³ ÝžÊå‹7êc´,…Öòµ#`GÓ9xdnhLepÖ›œb9N†£‡üyÅŒ®“?ÿ 0
+endstream endobj 41 0 obj <</BitsPerComponent 8/ColorSpace 42 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 2/Length 20/Width 2>>stream
+8;V(uNG8V&0E;76!U9~>
+endstream endobj 42 0 obj [/Indexed/DeviceRGB 255 43 0 R] endobj 43 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 36 0 obj <</Intent 44 0 R/Name(Ebene 1)/Type/OCG/Usage 45 0 R>> endobj 44 0 obj [/View/Design] endobj 45 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 40 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 39 0 obj <</LastModified(D:20161030210227+02'00')/Private 46 0 R>> endobj 46 0 obj <</AIMetaData 47 0 R/AIPrivateData1 48 0 R/AIPrivateData2 49 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 47 0 obj <</Length 1260>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (arrow_expand_green.ai)
+%%CreationDate: 10/30/2016 9:02 PM
+%%Canvassize: 16383
+%%BoundingBox: 1 3 15 12
+%%HiResBoundingBox: 1 3.39999961853027 15 12
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 0 16 16
+%AI3_TemplateBox: 8.5 7.5 8.5 7.5
+%AI3_TileBox: -278.380003929138 -401.199981689453 289.939971923828 417.679991722107
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -4 20 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_Alternate_Content
+%AI9_OpenToView: -4 20 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:-3 -40
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 48 0 obj <</Length 9971>>stream
+%%BoundingBox: 1 3 15 12
+%%HiResBoundingBox: 1 3.39999961853027 15 12
+%AI7_Thumbnail: 128 80 8
+%%BeginData: 9833 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD0EFF82A7FD60FFCF81FD1AFFAE825681A7FD5EFFAE568181FD19
+%FF8256815C81A7FD5CFFCF5C81578181FD16FFA882568156815681A7FD5A
+%FFAE5681568156817BFD15FF825681578181815681AEFD58FFCF56818181
+%57FD0481FD12FFCF8156815681568156815681A7FD56FFAE568156815681
+%5681565C7BFD10FFCF82568157815D8157815D815681A7FD54FFAE56815D
+%8157815D8157815D8181FD0EFFAE815681568156815681568156815681A7
+%FD52FFAD568156815681568156815681565C57FD0DFF8256818181578181
+%815781818157815D81A7FD50FFAE5C815781818157818181578181815781
+%81FD0AFFAE8256815681568156815681568156815681565DA7FD4EFFA756
+%815681568156815681568156815681568181FD09FF8256815D8157815D81
+%57815D8157815D8157815D81A7FD4CFFAD568157815D8157815D8157815D
+%8157815D81578181FD06FFA8825681568156815681568156815681568156
+%815681565C83FD4AFFA75681568156815681568156815681568156815681
+%56817BFD05FF825681578181815781818157818181578181815781818156
+%81A7FD48FFAD568181815781818157818181578181815781818157FD0481
+%FFFFCF815681568156815681568156815681568156815681568156815681
+%82FD46FFA756815681568156815681568156815681568156815681568156
+%5C7BFF82568157815D8157815D8157815D8157815D8157815D8157815D81
+%5681A7FD44FFAD56815D8157815D8157815D8157815D8157815D8157815D
+%8157FD0481A7815681568156815681568156815681568156815681568156
+%815681568182FD42FFA75681568156815681568156815681568156815681
+%568156815681568156ADFFAE815681818157818181578181815781818157
+%8181815781818157815D8182FD40FFAD5681578181815781818157818181
+%57818181578181815781818157815DCFFFFFFFA781568156815681568156
+%8156815681568156815681568156815681565C82FD3EFFA7568156815681
+%5681568156815681568156815681568156815681568156AEFD05FFA78156
+%815D8157815D8157815D8157815D8157815D8157815D8157815D8182FD3C
+%FFAD568157815D8157815D8157815D8157815D8157815D8157815D815781
+%5CAEFD07FFA7815681568156815681568156815681568156815681568156
+%815681565C82FD3AFFA75681568156815681568156815681568156815681
+%568156815681568156AEFD09FFA7815D8157818181578181815781818157
+%8181815781818157818181578182FD38FFA7568181815781818157818181
+%5781818157818181578181815781818156CFFD0BFFA78156815681568156
+%81568156815681568156815681568156815681568182FD36FFA656815681
+%56815681568156815681568156815681568156815681568156AEFD0DFFA7
+%815C8157815D8157815D8157815D8157815D8157815D8157815D81568182
+%FD34FFA656815D8157815D8157815D8157815D8157815D8157815D815781
+%5D8156CFFD0FFFA781568156815681568156815681568156815681568156
+%8156815681565C82FD32FFA6568156815681568156815681568156815681
+%5681568156815681568156AEFD11FFAE8156818181578181815781818157
+%81818157818181578181815781818182FD30FFAD56815781818157818181
+%5781818157818181578181815781818157815DCFFD13FFA7815681568156
+%815681568156815681568156815681568156815681565C82FD2EFF825681
+%568156815681568156815681568156815681568156815681568156AEFD15
+%FFA78156815D8157815D8157815D8157815D8157815D8157815D8157815D
+%8182FD2CFFA6568157815D8157815D8157815D8157815D8157815D815781
+%5D8157815CAEFD17FFA78156815681568156815681568156815681568156
+%81568156815681565C7BFD2AFF8256815681568156815681568156815681
+%56815681568156815681568156AEFD19FFA7815D81578181815781818157
+%818181578181815781818157818181578182FD28FF825681818157818181
+%578181815781818157818181578181815781818156CFFD1BFFA781568156
+%8156815681568156815681568156815681568156815681568181FD26FF82
+%5681568156815681568156815681568156815681568156815681568156AE
+%FD1DFFA7815C8157815D8157815D8157815D8157815D8157815D8157815D
+%81578182FD24FF8256815D8157815D8157815D8157815D8157815D815781
+%5D8157815D8156CFFD1FFFA7815681568156815681568156815681568156
+%815681568156815681565C81FD22FF825681568156815681568156815681
+%568156815681568156815681568156AEFD21FFAE81568181815781818157
+%8181815781818157818181578181815781818182FD20FFA6568157818181
+%578181815781818157818181578181815781818157815DCFFD23FFA78156
+%81568156815681568156815681568156815681568156815681565C7BFD1D
+%FFCF81568156815681568156815681568156815681568156815681568156
+%8156AEFD25FFA78156815D8157815D8157815D8157815D8157815D815781
+%5D8157815D8181FD1BFFCF82568157815D8157815D8157815D8157815D81
+%57815D8157815D8157815CAEFD27FFA78156815681568156815681568156
+%81568156815681568156815681565C57FD19FFAE81568156815681568156
+%8156815681568156815681568156815681568156AEFD29FFA7815D815781
+%81815781818157818181578181815781818157818181578181FD18FF8256
+%81818157818181578181815781818157818181578181815781818156CFFD
+%2BFFA7815681568156815681568156815681568156815681568156815681
+%568181FD15FFAE8256815681568156815681568156815681568156815681
+%56815681568156AEFD2DFFA7815C8157815D8157815D8157815D8157815D
+%8157815D8157815D81578181FD14FF8256815D8157815D8157815D815781
+%5D8157815D8157815D8157815D8156CFFD2FFFA781568156815681568156
+%815681568156815681568156815681568156817BCFFD10FFA88156815681
+%56815681568156815681568156815681568156815681568156AEFD31FFAE
+%8156818181578181815781818157818181578181815781818157FD0481FD
+%0FFFAE815681578181815781818157818181578181815781818157818181
+%57815DCFFD33FFA781568156815681568156815681568156815681568156
+%8156815681565D57FD0DFFAE815681568156815681568156815681568156
+%815681568156815681568156AEFD35FFA78156815D8157815D8157815D81
+%57815D8157815D8157815D8157815D815DFD0BFFAE81568157815D815781
+%5D8157815D8157815D8157815D8157815D8157815CAEFD37FFA781568156
+%8156815681568156815681568156815681568156815681565C57FD09FFA8
+%815681568156815681568156815681568156815681568156815681568156
+%AEFD39FFA7815D8157818181578181815781818157818181578181815781
+%8181578181FD07FFCF815681818157818181578181815781818157818181
+%578181815781818156CFFD3BFFA781568156815681568156815681568156
+%8156815681568156815681568157CFFD04FFA88156815681568156815681
+%56815681568156815681568156815681568156AEFD3DFFA7815C8157815D
+%8157815D8157815D8157815D8157815D8157815D81578181CFFFFFAE8156
+%815D8157815D8157815D8157815D8157815D8157815D8157815D8156CFFD
+%3FFFA7815681568156815681568156815681568156815681568156815681
+%568156CFA881568156815681568156815681568156815681568156815681
+%5681568156AEFD41FFAE8156818181578181815781818157818181578181
+%815781818157FD05815D8157818181578181815781818157818181578181
+%815781818157815DCFFD43FFA78156815681568156815681568156815681
+%568156815681568156815681568156815681568156815681568156815681
+%5681568156815681568156AEFD45FFA78156815D8157815D8157815D8157
+%815D8157815D8157815D8157815D8157815D8157815D8157815D8157815D
+%8157815D8157815D8157815CAEFD47FFA781568156815681568156815681
+%568156815681568156815681568156815681568156815681568156815681
+%5681568156815681568156AEFD49FFA7815D815781818157818181578181
+%815781818157818181578181815781818157818181578181815781818157
+%8181815781818156CFFD4BFFA78156815681568156815681568156815681
+%568156815681568156815681568156815681568156815681568156815681
+%568156AEFD4DFFA7815C8157815D8157815D8157815D8157815D8157815D
+%8157815D8157815D8157815D8157815D8157815D8157815D8156CFFD4FFF
+%A78156815681568156815681568156815681568156815681568156815681
+%5681568156815681568156815681568156AEFD51FFAE8156818181578181
+%815781818157818181578181815781818157818181578181815781818157
+%81818157815DCFFD53FFA781568156815681568156815681568156815681
+%5681568156815681568156815681568156815681568156AEFD55FFA78156
+%815D8157815D8157815D8157815D8157815D8157815D8157815D8157815D
+%8157815D8157815CAEFD57FFA78156815681568156815681568156815681
+%568156815681568156815681568156815681568156AEFD59FFA7815D8157
+%818181578181815781818157818181578181815781818157818181578181
+%8156CFFD5BFFA78156815681568156815681568156815681568156815681
+%5681568156815681568156AEFD5DFFA7815C8157815D8157815D8157815D
+%8157815D8157815D8157815D8157815D8156CFFD5FFFA781568156815681
+%5681568156815681568156815681568156815681568156AEFD61FFAE8156
+%818181578181815781818157818181578181815781818157815DCFFD63FF
+%A78156815681568156815681568156815681568156815681568156AEFD65
+%FFA78156815D8157815D8157815D8157815D8157815D8157815CAEFD67FF
+%A781568156815681568156815681568156815681568156AEFD69FFA7815D
+%815781818157818181578181815781818156CFFD6BFFA781568156815681
+%5681568156815681568156AEFD6DFFA7815C8157815D8157815D8157815D
+%8156CFFD6FFFA78156815681568156815681568156AEFD71FFAE81568181
+%815781818157815DCFFD73FFA781568156815681568156AEFD75FFA78156
+%815D8157815CAEFD77FFA7815681568156AEFD79FFA7815D8156CFFD7BFF
+%A78156AEFD7DFFA7AEFDBEFFFF
+%%EndData
+
+endstream endobj 49 0 obj <</Length 19887>>stream
+%AI12_CompressedDataxœÝ}Ùzê8³è¹îïã ! „É63™IBd 1àV&¶Y«W_œ§9Ï°¯ÎÝ~±#ɳ‘mXûôÞÝçOlY%•J5©JµhubÅ?àbÉ8å÷ýµ³S8Vâ…‚=öŸM§ Qà£P;짳q
+¶*žåúJË;N'ü¬àg¨8-¿­ÁïCçì'?ûCaø¨;‘¦xÈ
+ÿ«Ïý=gg£þ‡Àq³8; k€AGV i*‘¤ EgüùÅø[—¨ ;ûÉŠâäØ"“Ì%áÿ˜&³ÿ7xêOúé´Ÿfà›Æ¤Í‰Ö×ñdþ“¡sé$ÅdõÖ~¸øâfRKà‡œ(–ù)/ˆù7;ó_²à ëïqÓ)ÿË_š²ÃOðMñ,ݯM¦˜ð+ùé$šñŒfú¥Åd:ºZ| 8€ :›BÏ“}Ôë­º=ÃßÑólÿì <êp’F
+€"4¶ë%ãXÀSôoè©pÀˆÂ'7{ «= ü>åv
+þ+~Æ)h+
+RG^ÇTŠ¢äŸÊ«öbÊ ·³‰¦"O!/ãí’qSð…ÞEmÊ~ˆ*bhý§Ò¢Ë
+œˆ€Ÿ.$D¤9
+X›&û›ƒK,wHgû%îc2°fuòÞÿ)wÿC*ÐY¥]¾=çf]þM)–„ïOåÀ ²à•JúóòpR`hF­ÿTÁ§'ÌÀ¨ 7Üì1e{r#Œ4‚!¨8€k¶ÓDx-L
+±$\x…:ëÂd¤' V<§þ„Ðã\À?4 
+P é´óÙ ÎÑ)†ä‰‚ °ì˜‹¶rL¿|iØ<Tü²§æ_æ¿ ŠˆQÀÕ;jÊ(oõ?Ð;ÐÅb®àG&@°-a2ƒûþº’ßåú­é¼¬ üb~6{ç}…dfyÇ CT=ò_~€?
+«3D¨ÄAê̹À¶ÁS>û·‚RèÃ_MÀV·alŽm:¿XÀ?š“ËV†ŸÌF`^ÅDâ´îá$ \üàDNúG0|´¯Õ:zÏi¤G$a,F #ea‹†$ËBmþ2Š/äø
+4ËeSéT>—U:(Âniõ¯ßð¯sðÛðìÀ—ÿÒÿôBùG>ð
+û_Ú͆ Ú Ç@ PÑF­¨àúkøCú=ç”סݙØÿÉ
+âØé
+?ÉÙlûï x8Ï!°Åø¯ûû£$Z
+ßé#´û.–¦(÷‰rPXüäÐ0°+zºœH EH³÷éþ‡¸˜}¼,ë38Ñ_Óⶒߨô¤5fùö%'Ž5I‰ä—_„T-2ÊôÉõBšñïòQˆÎà3Ôc¾7˜ÐnmFG‚*M¬ø~<Ž[ÿ>™r6¬²GSÛ2`¥
+Öܪ¶:PL!¶ÙÕÙ&mÛ¨câĴѾ›ñºíŸÌ&ÍyœÚÎøñY†úzYÑ×Û&}Ý"ÔŸ“™Œ*Ö òõâ$óºM'7–eqBŽ÷—Lf…y ¡q ×®×N·?=ʘqêriÊx4’ÍV稲Xf{m5jÜ(GÝ ÝšøÁ⃉ôÅB]À¬ºhüÃØ~þñõÆ!7âßßã²»UÝ ¶íQ¦ÍR{3s÷ ‘û¦ÿÔh’Ž3Ydµ%™| s.Ä'0E(.ñšÇ'ŸŽ' Àw)†ÎÛ}g<ÒÀá ¶‘Áfd–*W’€/¤á¨éT*¤‡mBS.EÇó4°³˜<MÑi<–Á§cœvhl4üŠYEH6OC<¦Ó¹t>™s‘`èÛòhÑÃM
+Șþqh&Œ1þ¾˜ õ…X^.¹‘"˜E'€Zr3è<9àúïy\\Ì‘ñýk 4(MH‘:;,¹ìЂŸn-†¼[ Ñ
+Ô†Y³B…£lÐúrûRx®dÒZÊ>£§×XXRr×ôc©©¦ZZ¬zæ²> Ƈ8o †5
+ÿˆÿ$i¤²ܸ`›¹rܶ쿷¶¡­wÒ{äVóéP³ݵ=ƒhu…ýÓ‰¢VÙèÈUͪ£Y¬ÛàΔ»Î[šLuŠÆ®/ $PF"É+ºujf&¶Í†ï´ŸP¦*‰b¹O¤x2ÉG@BKðò·Á uRÅ™´í‚ M*Wµ¶}n2{wâcòÌàÙÜ€…¹™œ$#~Ý›”eg¤!‰ÁÎfÚa.Á¶\ôü÷™M š(AŸ’#ýÀÅÅ`éÌhê\xçuƒ4‰ç…Sî'7u2ŸD`’B+Ö™¥Î¸ÖYaÓjJ‘KÚ(0Øãâ˜Éë$ß
+ùÌ&Ðÿ ¾`ÐðŸ¬V¸(ЬÐ</x—†ÒXw,Q”ÉB=ÐŽœ¡ë¦¨6õCo­GÈÁ{³ª›AààÒ›BËQ?L"0Ôsw ¢¸Yâçdð8ût AÝP›NÑÂôK`·ÕÁŠØ:ç0#Õ¸<fß\œóÊàR¼zVeç°28mÒú‰Zkò77mqÂ;7´òžÎ]½%pÉA·1¼‚qM~h‹Œþ.É>6 Ï
+$YúÊ K¦ ÏÀäÏ ñ’|¡ãGœ³CëÖP–D‘0 ¹äó¿“Æ›Ûar—‹©4¬ªhÙYn¬*ôd¸G"¶i·Ä\«Rë#&ÀžÃQÛª§²EÁQ}5u]2º q\OmÝ&_0PÐQñ1ÚÙ; Qî˜Ï9'?’ÚRÅ1ÁhÑ-F%“šfÛH(ËÄl›Ö
+,8k‘ӞȳÌÏFO3I”’ÓúÂ…‚÷ š|Ü…QŸud@z€.ŠÏ%¡8Àü»ãÅ×`ÆN¦.‚áìVäÐèºFw™ÛÔñ”í(¿e\w ¡ë.Ž$«úso
+
+sQƬÁl„Ô–½¿LÍ‘Ц±‚Û×÷!W°ìL÷¯¬;É$sVÛKg@’&ïNpMûm;pE°œÍ†@ðYGï,cÌè]SĸkÑÎAE+ Yv ŒªE%î&‹{„&‰®Q
+ü€•ä 3Uéê(5 |uÀ¸³È1/—'íJ°3åöRb­
+§ÖyÙ†¶ÒÙméZè°š+5y™ËšjuG,Ö3Vï`ÙB6\e¹\ŽH¾uúÔ—¾¿ÐP å]ì”ÏÎré
+éõ9N¿e#'wƒ•ˆ\Æ"'c) cR‡7…¤öâFû ½8Hžt¥Rå=_ÿll·ØÊ;Õ;ÖÞ2‘£vf'GXb¯ À"ÇŸ‡ðÕc>OÀ»·÷x ²(tÑˇJ F]2Tâ¨BðÓrø&%2â%]å3urývœ,å’¹Ìcæëñ0öVã³÷Ij¤¿¥}® ÀÂñÑ _Ÿ^äÅã\ãð>^ãSwUáù‘ª<ÖzÝÚQñhHï³3*qÍÝFŽ{/ uÞj—©Æ[:Á¼×tto|g;
+t½ßñAx W.©Dª#/‹>9ðqä1µÅöÁgô Ž÷Ú
+œ¾Äª
+Á µègûÊtÉ°eó„›ì>‚Êì‡æ¹6©·ýBB.Ižþï]ú¼ß`
+Té$b™k
+EŽWÉø<`åÆé…’µp·`x‹çÞº²¼ãØ~ƪr¤·»¯|ÁÒ@Û»¡¿îìÞŽb¸³°} ÷Í~±²kÓ
+[ÌÞQ+¦zÇ(0Ž·“{ÈΔ!`¼vUâ27Û–æÃC²õ~¨ýÛ‰ÉÑ øÜVÚC1ë6B276P3ÛÛ·óé“I0Nõm¡‘ôƒ¶…JÕÞ¯:¶P(E‡øé¦z##ÔT'h€š»*u PG»»Û:Tq{̵5¨IDÐ&$¿´éÖ§&¨áž-T€á#Æ*$hZè€-Ó…¦Å« ÔÞ‹ý\·jbʬ ˜#ÓÂ*4-Æx¨‡¸-T¤ª×š{¶ÓEzŠ-T¨¤tMëÊåUøè7e% µV~}4 ¿.¾f®í2Û߯ՇkK;Õ™bjš+Ô§°Ž˜øs1bpé;ø-ôÔ6øÝŽk Aá3»S•Cë_&&Û…¨þãxu—
+`bl‚Nê<Ja6`ÇÕåGô’W åZ… Lîh.71y ,%Æ\eGûѶŠëëZk_`êFf÷v~¢ú¶þÜ…ëb_El(ÌÙ€ÃÖ.¬YfB£ûÔyzgý€”yo4pcúÌŸÙŽIÖ¡{€‚/£ÌÞ u¦»w,ÞD„xæeQº° ~ ëð‡2vÙt¿A~ë$÷3D?\×°³…šœ)ØeÜÖf¸o;C¨ß:¯¡‚4‚eäq„ê„/cWÆÙȽÑû¥5·ÞHhþ ¦£^ÕlV¦¯úó·û‚bû@cz\gé\
+ëlÛ ¦!™׊ï*$°DóU
+͆¬7óÜ_VØšíîC<ÍËd·Ž«¹MGoé(üñÑ*T—ª™<
+/´=5Yì0,éäÜFz^·•á8IÕäaÙëzÚò­a>hYC“E (Ni g;¤kh9,Æá«ÞúZ›"! {ëÌ6E_@ÀXºÒNqWé­çläxDš‹Âçi}acH3s7ïH›Éí-+,Y·Ò1–©bÍ‹æÜðb-¶íxZéa оюÇoOédksÛ³ôð$5§UJS†1:¡/šž´4œò®‰ cQ“Ôö†„,Ö ¢Wîìd$èü†Ô
+´‰ ?€³!ŒYë\a$in ÀbºGläèGú¼Ÿpô"[k8ûQ>ÕÝãm½KæEÄ ~pðÛ$üª³3Å
+Añ€XÑTD÷‡h»Ä– KUGȬfû1m»úˆYÁ‹´C°ñTJk;²‚3/¬
+ 7 ÌTˆó¤dat©š'þбe®,þ:̆¼´``v[Ð ‡†›‡ôˆÃB¯æµ‹ç, õb¶4“–I/ÙmE\/º…éhÝsÔ "%®Ó›,Äöf:e´W9ˆÎ9`C4dÖDË(šÖùxúÈüde%»¢øY²=aoLÜãI¡-6pû›kc84wänâgx‰»‰Ÿƒµ–zQ¸9ývƦbâ:ªy·ks7ƒóô¶1îvkán«)PС퉻Ùr°xàn ÄÝ(ͽ#wî&«ƒ®màuäp¢-…´ƒ v™ gg(Íx‰×]”825ÖXDK^uø s”»RD<R'âGšÆ†?Å-ƒíÌ&IO&`Ww¢x¿¬TàºR˜ ǹ[ÇâÖ×.ž%fjö
+K/¸
+1±/Aîf"1»¹ºb|‰… ôbÛžœòx4/Ç—à.ÝÒî<Ç—àÌ(˜v·®g &Ê%œ,¸±/±Z)AÛ*UçD1w›gn Kx£—}Ì·¹“0
+¶æ3d{3Ž—–t´ÓÔb Hó^Ù­Kl¤³£ÍÖA ðåi@àh39 |ææ
+øüvcé8@³´×|4µñ¨îÐŒu¦Øç.ܧ—œÂsþͶÉÇeŸ#·eåä©ŽËcoÛéT÷H+!#nËèyï%,aT7{=1*5ñ
+–œ¬Öé¡77DéÊ ¤zsKÑq˜~¼
+{s æ÷0MKÆΚHsM\õ„4·Û¦…Œhé;¥‡^ÌGÕpNß!Us¡¼Ñ¼ÅîÛÞ&3Í-oO¾0Ã¥Ï-—A¼1¯4üñf»É•XõÆÆìÁ†ÅÄÅrhö mnŒßÙ|4Ü®rÑ—ÛkÊž1cÅ}¥û©¡fË`²pC©­‘‡³=í1â–®k{¦ca6`J®;Þä5pH!(ˆºzéÓ3½*’ Ù>ׇz;‚vIrõYÒ²lNq™Q²•ñžô´3´ñíõ4O{ÿÇnï[õ42TyñY”pS<4Ì`Kl†,v#Š³ñ0,ó˜Ò1)NH§T8OÞçd¿Ô†Påž‹ë4,³÷&¾ì½ù:wöÞ`(ÍÆ{s¾Ž÷Fg6ôEp3Þ›d°
+§é’çVqQ™“ÂàOöÅìr7…–‘^­É~‘ƒáõ¥Ñom€šïïx»¸§z£„%àÒ’v×-Ù'ûÁJä¬Ô7çd¿z,o€j-ðVˆˆTkڬέ|´ä¡mÁŒ|§´;:n 5rxðe—ì—ÙÞþÎ,ží“ýzON p_NÉ~|·k €Ùmrã‘]²ç”Øxó`µzõTסú–êgɃ¾Ô›%‚ûV~SȽ€#|Ó¢.SÏM‚v>T;Ü’›*˜f£¥ª;¸¶˜Z¬Ómp§ÆÐ^Â:‘ÙRp~k—'ˆñÕô"º¯Þà`q¬éõM0,’1an®wŒèZ­¼N16ZÒÖa­X^oIB¶öVŸÍʨrŽÄ$³©T[1©žÎµðÖ©¬géJ'PM³Yé<µBPhÍа6NÃr©®à:&E¨x ÚtÎá¼â¾©s.Ř,qµê¾Ù`bnˆFåvC‰}8M\SÕ7—؇óùP¹÷&ö™&§dõÎÖ6•Ø‡‹*ÑÎ=ñ¼j•Ä>\VDÚ†ûVvw{KìÃÙr‚ÞDbŸ*êŒY}:ØXbîœÇÊl6؇³®‘XÛlbŸí)îfûpY}²µ¶ÑÄ>œÊ#ûl6šØ‡[a[¿Àê‰}Öðl˜Õçs©µBbŸõÈWq m:±·†>ëÅÍë'öék¸¢¸ÉÄ>\W>5ßss‰}‡Å›HìÃeõmi®Ê¢'¤‘&ö‘!míÄ>\VŸQ¬m(±—Õ·äë\?±×9ce#‰}¸¬>\ÆÊš‰}8½ÚÞÄ]9±Oï@?GÕ‘¶±Ä>Ü*ÙDw¯“؇Ëês·=m1Bœÿc{¿VbŸeJK7ø{Jì3ÉÍFôá“dÍ6"æìöÇ™§;§̨3·2žÄaßÖè—% ªâ‡#K/*a?¢Z®UüHQ%E å“‹`5TU$WmÃz Cy»¥š½ÞÇ„¶'A?Ò|S›Z½Æ
+Yt‹÷âPzº×ÿ3Ž×µøñÝvó‹õ³<On鋼Y9Ìñ‚4¹É÷—»F>¿X;üßo"¿=
+¯ŸÓçÞHÝrúÖÈkòéi¥;ÄAÔNÉŽø°£ô$ËwTƒ=©a.!‚ˆ’pSšoÛ{æ%/0äì';0ª·¾–ì›Õ\
+’x µ½Å>“…ZÞH‚ÈcÚÜL"æJ%8MA}jGk'ú¢^Œ2Ï: ;²ÐòVCrCu8å’Íöí,Ça€g¾Í]oz³Ívñ™ó=I^ÀxI›Ñ·d-~bDh—›FcÓN­åMxÙò‡yk^^ ¥`m&1Æz­ó2³u ç1÷ÖtNÈðRܼk8»U64+÷¾•1=¥P؇ŽÖ>'F¥ñ6pÜ‘«†¯´kGæýè^ŒÈÞð@Å-‹ÂK
+EDߌF0wÚ˜º¾•ò==×ý“ Ú¡ôßfRšPX‚Sé?ÂýèR÷PU_·îŸn{Ú”þóºðuÿ ”æ¥#¯7FU7—þÃ;<½Öý33O½Y³}êþ9…ófûÞ„N‘ð´çﵕ¥Þ6•íûüm±½-瞤پô–·úòxï Ìw¼Ü@Ò<è%¾ˆ.Ô‰‘Á¸v´¾}%{ .­)º¶¹Tn©?°Š c$¤÷ìûB(º´ !lÆ´%vh?>xO¤ZrÛ™3Ó^mÕLo‰Tp6`¦ö>WO¡;°+¬çÇ„4Ò;Üao$ÛÓÁ×iFÚŒ ½™Àö”µN¹T6L¬/8'R ²LÑ•©Œ<Í¢4b®~Did«hŒ*sÚ݆Bù²Œ¢plV<æÝöœO||r•_Ò¼ÛÞŠ·ja½ê°· È("„à4Š¨€`Âù
+´-TªFíÛe!f¶ƒÙvøÅdâšóÆžçI{¨õíÇ[T
+¡éLŠ‚9©E•ý6rÑum“–4[[чŒ;#€¹ú—'‡[Ãœx½/Éì~I}/E$|櫃x<»ûF¢›,Ly‰núœý
+[`Fu‚„*²lª¼Ïª¶§ã™Š}žÓu¯$ªºiXöIúò9¯¡êRXý n(·SõÇr„ç!/ѽ
+Ó´œ{®‰4×l"OHs9õˆ4ךЦÙL=Û#m)‹ÙÖâõ^hP‘7«¦$ÚiîvÁ°+¦$šᨩꫥ$’æ#býÐä)‰6t°”ˆÓ:=¤$º™ÇªÃy)ÔÊ[J"i>âr
+ªÂgì,ôª«Úéiž zOÛP2¾±Ú¡ËyÁÃu)°à!Yµ3ò«ê$@ØÑj2ÐlI¯QðÐÒ‹…“Ûzy-xèGçÃ׊ð^ðÐ9;F=Š°ÍŽ¡ :G)(Ìö¶^ÁC#6—«ڮᨇ¨à¡ÌrµC'Ÿcˆ·µàáêéqË7EÒsc)Õ=q§‚‡ë®ZðÐÜ‹5qc™V,x¸ÊÑ÷
+ízI8z/xè\íÐ'_¶~ÁCWûf3=¤Çml?.U;$áiDWWÕ=<t®vh8÷\«#—mDdâ’<$¯S¸VÁC­ìu…ˉ1+<t¶!–¼ê«<t6»q!ñì*±³Öª:˜¸Þ
+:+?¾¿ˆ³ƒ _7µ^ÁC=9—lq©®^ðй\œÍJñ½¨îëu"ºL—ýàÆ@£W}­‚‡Î©ú–£ˆÕ :»Á4f³nÁCK›Å³ˆµÕ :[÷ƵY«à¡³uoÜžk<´ 4àÒkÁCÛs‰ÒJ×/xè\íÙDÁÃcÇj‡r
+♂zFƒ(mO|¤­_ðPÖŸ¹’fƒ+xè|2a4£–tý$]¥Ú!Y\'YF‡$]ä¶óx³K#+dÅõ­ÏT7ÊÁ#<^º=³? 5Åû›½Ø<JUÉhÑ]^ÇGsc¹SY•S`…,bí-Î븡×\FÃê•É`mŠ‚Àˆã
+KTã㪸ý½(eÏì( ~{; æÕÝËëïvúû³÷”MÇSÃÜeí!~éf=õVjÞžŒ:—™ûq—»Jß…¸÷à}1œªüØê¶/> ÓC˜\Îs'¡Ùw?û½#œÎ2Wû«“½`2TÏì¼?…ãí§ÿÌÐú¢TÓãÛnç.¼ž˜ï»Èar•.JTí}xNÕ3»mAxˇ1w&n¿f
+dÊÑv\VXÜÙ/ž6ÏqøB–v! 8Îub÷¸ÖöÝc÷88µ]&õW·§£À¦·ž«éªEtžº‚q—3”!(ÖºÝ*ÈÀ³oÖæç–m&×*’÷?´,= @‹Ã!ã8³S^Tkܪ/Z~9ßnT…§Ã>Ê
+öÎÐ:
+ˆ„ôK°˜›¢Òäîdg·:üüΛ…~ˆ! ngj”ÔìwÎIRK»ðáU*KìÝA™] D†ñë@°’‹"õï&|Ö Ä·îïÑñ(=Ñ»×j VL6 à
+jèÛ•B2×:êɃÖÖp_±‘
+Ýx}rp¼ë Ú§Õú6A—eæE°ò\©×>‹ÝJòÛñvXg
+Øž…›u–‡p
+œ«XÓ·˜¾¿Ö§´%Ene”vhZÅ1‰˜&³/_=桱w
+”Q¦v%ÿÞ/1ØsµBd
+ÕÁ@lvó ?§`ûÙ24<ô/3{òí^Êg—3詉É£ÂÁE‰•YéºuúR«¤ÓoÅîÁPåì)s–# ã¸ל€ßú:$Æ;3¨ Ïyë±9è;îôîâzÕÁ:tÕ·Ìõ˜HÇ8zÜö²N˜ö÷OžÇýJ¼ý&”ßfb¨šfa«T!½¦JI T™‚ÈÿˆlCG5£d½jÅ•vG8
+d­Óýz·i-¼Š5oìw%ÐhmLЫì[õótöxðÛ=‹´uµ|ô¿VÞ,‹:c81º½L0›»`ÍFÙ{Ðqc’7Ë·l]«Á¿©¼ïÎa¥%¨_
+±ëƒ6>¤´u-?ê¹u³ï½†?-|ŠCßÙ5ü³e±ep†ŒÏT³˜tÇÓ{œTg_8B¡£„Á¡Ø½ô8"¥î0º¥ Äx6lOÚûÏÅîíWgÏ­î¾D¿Õúð[¡*¶HÞÉaƒõŽ"b6ŸÓýZqÊþ ÐðÐo £HM œpwZ´LÜ™æ¥aÉ~/TžžÂ¤û\íïž H ¦ôÀJæ\Ü?¶úªrû‡WßrLô§V-=$?»úhéѾù£«¯eHþÙÕGKÁüÙÕGK4›?ºúhéø£«•7›\}YëGâOM¾X1p_‹ÚWuG”ü¢]íºwj腠ŃIØSÿ ™ï®‘£üO ‚{7ÍëÉ g[åâ–vVu™±‘ÜGØØGtRµô)OªºvÊ„ò½¤>ôlkëø¤®Z°ü¾Ïœì~«VÛÑû ¸­tÂÒÇÃC«¨õ1 . A$öAHŽì«>Ä’»OP³–Y%J×_ãr’z –ñ..?{û0ÚîYT£û’Õ‚B3<d>nLå‹Úˆ ¯åÒa×Ü|×3—qÚÓ¦4Þ?½ßgÕ¸ü#FßÝ°TÒ gª3Ìô™©k³Èkô´)ñiWÝž¨dU~[ÑôöÊHP½èLAZ)|Q 45^â[?nÑþPã0̳ūÌÆT¼©ò Ã~#
+*bGÃó‹§k –
+Zž„ä
+uoÅùFcoOcÈw‹!=FŽ£w ¨iÙC9wöý¶ð„½ðýõôYa§Úøò¹†ÅEdîG¬pè…™—)†à¶ÿ”“3MÜBI¢(CÔHéõBî Kt“ÀNŽ–ÑxZeˆj< 9¦
+å‡&ƒEµs½E”ûùÿ $XŽÎ%ý9:Ÿ÷'Ú‹)'\ “ÉÌ6Ïï¯DñŒ¦og#¾&p\—û[ªðÃÅ7“ü¢Ø)ŸåÒnÈ8¿\:ý–Õè9¦0…•o51]ê…<º¥Ê{¾þÙØn±•wªwl* 'G0ªº.á¹Ù¡|úOÆ0~0ˆ,
+xæV ĨKå#㮌1°¨ÇÌ×ãaì­Ægï“ÔÈèû"y¯Åèüêüô"/ç‡÷ñÿ˜º«
+ÏTå±ÖëÖŽŠGCE\sðÆÚ†:oµáÍÜéóh\Cê¹ÃÜSBîdõˆYwš²{…]žIUïKßw§ i¿T‹áu$Ÿn×ÀoÕêéû-U¿uϋÛ·¦Ú®Ô<þ~5ÕŽbTÏþ}Hömê¤\}-*DrÍÍ”­ôðcúQemËRêE#²–é 0µ-9[aQr@0º®ìÄTXÞ§ÕçSüYˆÈªÅÞQûíSùÏ‘“/ÁHß”tî×S]ÜÇ¥foÆ‹)Œb?ZÞÑ.¡¸0Êüè-­Éü‹¸ñÅÇÑ»aCê/bÁ³±Qƒ+»­¹¥é4WF¦þ×nظ2*4õy*›W •ë]Qè(ndàE=é+ù¬ꪃ×­ó›ˆÜj0§¡Ò}ÓvKPvàƒgò™=Ì”¡ÖzC!$=l\£?å~éáã­j5hG$.;ŸPÅéÊ „ g
+nºqcðÞ´³SæÃ@¥î‚Ü©€Ì"—¸¨ñd¡›ØL—Z”Þ¤4:±-Fn„Ìñmꪘ}…ä~ì2î=éÒúM'2&¼}ªS¿7Ð SiAýù>®® Sy<“ù0
+L+¿Moå·ÅÓ«œÜY ³}å7æ2æû´Œæþã)ìò1ë£òLÚ”5N¦¿hË=C0oᇱ:¢GÆ0¢·ƒÑíEÊ Uè³y»”5NÚ.MãûÅÖð½Y¹8 tô“Eæ¢;ÐËÚí™»†+9U6UJî,Î4yõ’wü.s›Rô€ƒ§´ò[…Õ4¸—¤Š´äîÝWÑ:¢ër÷¥V™n ‹íîó^u;E*á!*¥¨ Ò<#kPf†i¾3k×zuv±×«ƒÒÓÁ _^î.jùà-‡c¢†ƒ¿UôR%G ¡]UÏ!Ur ¬¡ç*9
+‡^UÏ!Ur±æ¦ç˜ïMÁ]š‚h~éê_ܾ¹2ÞkV}Mk‡7˜“Θñ¤s˜»°ž–¤¨uЖ¦öë(2P?ì´œt
+ÂaìRw‹,Ÿ–f¶;¥ ï;Ü]>-„RÂÐ]{¨Óºž¢˜\PŸ‚‰Ääø*-Þ¯rqê³»oõY’@br=‹èl
+Ý´bòy ¸
+¦dðâŽàÐ¥,ø#8´Ýlà,çor0ƒõN?¢XÍÅHÏ5$¼"$hò ±‚‡G#ÀˆŒxøÌÍÕsÈÓ¤ ȵ¥ !•Ð‘
+¾:ãá¤ð9SÏ!÷ÍTziêEìï=’\Ïcˆt¡%y:—¶¼ßyÏù@W¦4Ç>~p¡u…QI ÄlÖèC. wà°-äµ±ëƒÞŠ¬7ˆB(jØž«õn§uêÀxêc꣙Š¯7‘ÛBB§+Ÿriˆ7Òò–Z7fˆæ÷}n쀚…-˜}ñ$}ä¥ý5™ 4Ô"Ø>Wº£¸´sÌ8–ú¸¥cn+Â^é$Ÿ¦tÎuµH   ÛäÌ÷>æeÊ›2‚ö.-ÇÈmÕ%µÌ6<æù6Àª—¾ÃJ»ÚZo·“ºª¼Û5·¬T‚¥4§yMpd¦4‘µÖ–ª'–J
+id’«鎺yŒàçbaªré? ëª€±ßÖï,¦«æyF'bòQºìм²Ÿìî®Êµý”Š%í⪌¬ë§„ûÆÝUY×O©ø:]\•kû)‘ªîêª\ÛO)ûˆýŠ«ú)}‘¸*×öSÌ\•kû)á¾qwU®í§ôî÷³wU®í§ôÉ¥†\\•kû)Ug
+4SÓ¦üÄ®C.o¨Ë™òå5·/#R;¦FΠIJ K‚RXÖ}••ÏC€eªXk|.0aHOc_†kA1•ØSEqh‘1T;
+1åv\ ë*n»ãœ~¥.Œ„žÊîC ;ƒ;H€§Å•ÖO#ºïPáÚõZ :!)…k×› tÑ®ÂÓ(Ås˜iêëì,¦ÐRž…À‘Ñt¿:O;Áãð¨ÃI‹9j’ɬÉþæß_´_þ—ÿŸټŸfr~&¤áÓæÀ÷W¨:àfœŸû›3øMF÷õEAªL†Ò„Ÿ±Âo={¸lÞžUü¿üM|sà‘Q}м
+£ãÖ>oß÷å/¿`·øë5øOgè|*™Oå˜L.—÷SqŠb&›£³t>“ÌçáXÁ3ŠJRi:G¥’Ù\<IÓÉ,“Nå)ЊÊæÀ“lÒôxBk¯SIÐÜÿÀB¨pî øïá7üëüö<ûå§)ÿ¥ÿé…ò|àeŒ2ðÁ?:—NRI€.?0rþL<ƒžç¨<“IÓ)Ó÷O£gy*•I2é,lÜDH§â)
+ý“O'3YÔ8ç7wÍdQÛ4llÙÄ<~·[—¬?q6“ü¡Î]½ß³s®û{Ι—¢YRè ¢ŽTâvZì×ØÉ’ˇÈþäüìlÆK¬ÄÍÁ+ÿ‡À‰/p~qÌÿ‚OàGÚ€ø®fûÿ
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 37 0 obj [36 0 R] endobj 50 0 obj <</CreationDate(D:20161016023917+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161030210227+01'00')/Producer(Adobe PDF library 15.00)/Title(arrow_expand)>> endobj xref
+0 51
+0000000004 65535 f
+0000000016 00000 n
+0000000173 00000 n
+0000013643 00000 n
+0000000006 00000 f
+0000046745 00000 n
+0000000008 00000 f
+0000013694 00000 n
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000047002 00000 n
+0000047033 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000000 00000 f
+0000046815 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000046886 00000 n
+0000046917 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000014922 00000 n
+0000047118 00000 n
+0000014015 00000 n
+0000015222 00000 n
+0000015109 00000 n
+0000014201 00000 n
+0000014360 00000 n
+0000014408 00000 n
+0000014993 00000 n
+0000015024 00000 n
+0000015296 00000 n
+0000015470 00000 n
+0000016782 00000 n
+0000026805 00000 n
+0000047143 00000 n
+trailer
+<</Size 51/Root 1 0 R/Info 50 0 R/ID[<589558FEC6627E4F9843CEC01047ECF3><7872CBB4C79CBC43890E1289B0133028>]>>
+startxref
+47338
+%%EOF
diff --git a/Assets/webui/clippy.svg b/Assets/webui/clippy.svg
new file mode 100644
index 000000000..bbf1ee1d4
--- /dev/null
+++ b/Assets/webui/clippy.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="14px" height="16px" viewBox="0 0 14 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 3.8.3 (29802) - http://www.bohemiancoding.com/sketch -->
+ <title>clippy</title>
+ <desc>Created with Sketch.</desc>
+ <defs></defs>
+ <g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="clippy" fill="#000000">
+ <path d="M2,13 L6,13 L6,14 L2,14 L2,13 L2,13 Z M7,7 L2,7 L2,8 L7,8 L7,7 L7,7 Z M9,10 L9,8 L6,11 L9,14 L9,12 L14,12 L14,10 L9,10 L9,10 Z M4.5,9 L2,9 L2,10 L4.5,10 L4.5,9 L4.5,9 Z M2,12 L4.5,12 L4.5,11 L2,11 L2,12 L2,12 Z M11,13 L12,13 L12,15 C11.98,15.28 11.89,15.52 11.7,15.7 C11.51,15.88 11.28,15.98 11,16 L1,16 C0.45,16 0,15.55 0,15 L0,4 C0,3.45 0.45,3 1,3 L4,3 C4,1.89 4.89,1 6,1 C7.11,1 8,1.89 8,3 L11,3 C11.55,3 12,3.45 12,4 L12,9 L11,9 L11,6 L1,6 L1,15 L11,15 L11,13 L11,13 Z M2,5 L10,5 C10,4.45 9.55,4 9,4 L8,4 C7.45,4 7,3.55 7,3 C7,2.45 6.55,2 6,2 C5.45,2 5,2.45 5,3 C5,3.55 4.55,4 4,4 L3,4 C2.45,4 2,4.45 2,5 L2,5 Z" id="Shape"></path>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/Assets/webui/mainmenu/arrow_right.ai b/Assets/webui/mainmenu/arrow_right.ai
new file mode 100644
index 000000000..8a9e89aec
--- /dev/null
+++ b/Assets/webui/mainmenu/arrow_right.ai
@@ -0,0 +1,464 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R 36 0 R 51 0 R]/Order 52 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R 36 0 R 51 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 13170/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-16T02:38:47+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-11-01T11:06:58+01:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-11-01T11:06:58+01:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>160</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACgAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FUPqGoWmn2kl3dy&#xA;COGMVZj+AA7k5OEDI0ObDJkEBZ5PJ9c85apqGqR3cEjW0Vs1bSNT9ntybsSR1+7N3h0sYRo73zee&#xA;z6yc52Nq5PQfKfmy21u24PSLUIh++h7Efzp7fqzV6nTHGf6LuNJqxlH9JP8AMVzHYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYqh9Q1C00+0ku7uQRwxirMfwAHcnJwgZGhzYZMggLPJ5F5n8z3euX&#xA;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</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>16.000000</stDim:w>
+ <stDim:h>16.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">arrow_collapse</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:1c44fa77-d0c3-42dd-a6df-874095356f7b</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:4ce86dfd-58b2-43f4-9499-1d05d359e374</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[3.7 1.0 12.3 15.0]/BleedBox[0.0 0.0 16.0 16.0]/Contents 53 0 R/LastModified(D:20161101110658+02'00')/MediaBox[0.0 0.0 16.0 16.0]/Parent 3 0 R/PieceInfo<</Illustrator 54 0 R>>/Resources<</ExtGState<</GS0 55 0 R>>/Properties<</MC0 51 0 R>>>>/Thumb 56 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 53 0 obj <</Filter/FlateDecode/Length 112>>stream
+H‰4Á
+ƒ0ƒïyŠ¼@ÿþ]][¯VÙIDö‚z˜‡¹÷‡µ Bòˆ2형]Ÿ ߪ„¶)žBä¹Á¾ÞÊí‡/µÈÑ=Ä3q9PûùIø”¦F_z3sÁHSw;VÌÆrø`
+endstream endobj 56 0 obj <</BitsPerComponent 8/ColorSpace 57 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 2/Length 20/Width 2>>stream
+8;TruMb=3Z0E;4(!J^~>
+endstream endobj 57 0 obj [/Indexed/DeviceRGB 255 58 0 R] endobj 58 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 51 0 obj <</Intent 59 0 R/Name(Ebene 1)/Type/OCG/Usage 60 0 R>> endobj 59 0 obj [/View/Design] endobj 60 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 55 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 54 0 obj <</LastModified(D:20161101110658+02'00')/Private 61 0 R>> endobj 61 0 obj <</AIMetaData 62 0 R/AIPrivateData1 63 0 R/AIPrivateData2 64 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 62 0 obj <</Length 1261>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (arrow_right.ai)
+%%CreationDate: 11/1/2016 11:06 AM
+%%Canvassize: 16383
+%%BoundingBox: 3 1 13 15
+%%HiResBoundingBox: 3.70000004768372 1 12.2999999523163 15
+%%DocumentProcessColors: Cyan Magenta Yellow
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 0 16 16
+%AI3_TemplateBox: 8.5 7.5 8.5 7.5
+%AI3_TileBox: -278.380003929138 -401.199981689453 289.939971923828 417.679991722107
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 0
+%AI17_Alternate_Content
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 0
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:-3 -40
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 63 0 obj <</Length 10007>>stream
+%%BoundingBox: 3 1 13 15
+%%HiResBoundingBox: 3.70000004768372 1 12.2999999523163 15
+%AI7_Thumbnail: 80 128 8
+%%BeginData: 9855 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD0EFF85A9FD4CFFAF85365AA8FD4BFF8536615A61A9FD48FFA885
+%365A3660365A84FD47FF855A615A615A615A61A9FD45FF8536615A605A61
+%5A603661A9FD43FF855A615A615A615A615A615A61A9FD40FFAF6036605A
+%5A36605A5A36605A5A3660A8FD3FFF855A615A615A615A615A615A615A61
+%5A61A9FD3CFFAF8536605A615A605A615A605A615A605A615A5AA8FD3BFF
+%8536615A615A615A615A615A615A615A615A615A61A9FD38FFA885365A36
+%605A5A36605A5A36605A5A36605A5A3660365A84FD37FF855A615A615A61
+%5A615A615A615A615A615A615A615A615A61A9FD34FFAF8536615A605A61
+%5A605A615A605A615A605A615A605A615A603661A9FD33FF855A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A61A9FD32FF846036
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3660A8FD32
+%FFA9615A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%61A9FD32FFA95A36615A605A615A605A615A605A615A605A615A605A615A
+%605A615A5AA8FD32FFA9615A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A61A9FD32FFA85A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A3660365A84FD32FFA9615A615A615A615A615A615A
+%615A615A615A615A615A615A615A615A61A9FD32FF84615A605A615A605A
+%615A605A615A605A615A605A615A605A615A603661A9FD32FF84615A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A61A9FD32FF84
+%5A5A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3660A8
+%FD32FFA9615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A61A9FD32FF845A36615A605A615A605A615A605A615A605A615A605A
+%615A605A615A5AA8FD32FFA9615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615A61A9FD32FF845A36605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A3660365A84FD32FF84615A615A615A615A615A
+%615A615A615A615A615A615A615A615A615A61A9FD32FF84615A605A615A
+%605A615A605A615A605A615A605A615A605A615A603661A9FD32FF84615A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A61A9FD32
+%FF845A5A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36
+%60A8FD32FF85615A615A615A615A615A615A615A615A615A615A615A615A
+%615A615A61A9FD32FF845A5A615A605A615A605A615A605A615A605A615A
+%605A615A605A615A5AA8FD32FF85615A615A615A615A615A615A615A615A
+%615A615A615A615A615A615A61A9FD32FF845A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36605A5A3660365A84FD32FF84615A615A615A615A
+%615A615A615A615A615A615A615A615A615A615A61A9FD32FF84615A605A
+%615A605A615A605A615A605A615A605A615A605A615A603661A9FD32FF84
+%615A615A615A615A615A615A615A615A615A615A615A615A615A615A61A9
+%FD32FF7E5A5A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A
+%5A3660A8FD32FF85615A615A615A615A615A615A615A615A615A615A615A
+%615A615A615A61A9FD32FF845A5A615A605A615A605A615A605A615A605A
+%615A605A615A605A615A5AA8FD32FF84615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615A61A9FD32FF5A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A3660365A84FD32FF84615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A61A9FD32FF5A615A
+%605A615A605A615A605A615A605A615A605A615A605A615A603661A9FD32
+%FF60615A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%61A9FD32FFFD045A36605A5A36605A5A36605A5A36605A5A36605A5A3660
+%5A5A3660A8FD32FF60615A615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A61A9FD32FF5A5A5A615A605A615A605A615A605A615A60
+%5A615A605A615A605A615A5AA8FD32FF60615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A61A9FD32FF5A5A5A605A5A36605A5A
+%36605A5A36605A5A36605A5A36605A5A3660365A84FD32FF60615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A61A9FD32FF5A61
+%5A605A615A605A615A605A615A605A615A605A615A605A615A603661A9FD
+%32FF5A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A61A9FD32FF5A605A5A36605A5A36605A5A36605A5A36605A5A36605A5A
+%36605A5A3660A8FD32FF60615A615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A61A9FD32FF5A5A5A615A605A615A605A615A605A61
+%5A605A615A605A615A605A615A5AA8FD32FF5A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A61A9FD32FF5A5A5A605A5A3660
+%5A5A36605A5A36605A5A36605A5A36605A5A3660365A84FD32FF5A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615A615A61A9FD32FF
+%5A615A605A615A605A615A605A615A605A615A605A615A605A615A603661
+%A9FD32FF5A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A61A9FD31FFAF5A605A5A36605A5A36605A5A36605A5A36605A5A36
+%605A5A36605A5A366084FD30FFAF855A615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615AAFFD2FFFA96036615A605A615A605A61
+%5A605A615A605A615A605A615A605A615A5A36AFFD2FFFAF615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A615AAFFD2FFFA960
+%36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36AF
+%FD30FF855A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615AAFFD2FFFA96136605A615A605A615A605A615A605A615A605A615A
+%605A615A605A615AAFFD2FFFAF615A615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615AAFFD2FFFA861365A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A5A6036AFFD2FFFAF855A615A615A61
+%5A615A615A615A615A615A615A615A615A615A615A615AAFFD30FF613661
+%5A605A615A605A615A605A615A605A615A605A615A605A615A5A36AFFD30
+%FF855A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5AAFFD2FFFAF6036605A5A36605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36AFFD30FF855A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AAFFD2FFFAF8536605A615A605A615A605A615A60
+%5A615A605A615A605A615A605A615AAFFD30FF8536615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615AAFFD2FFFA985365A36605A
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A5A6036AFFD30FF855A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A615AAFFD
+%30FF8536615A605A615A605A615A605A615A605A615A605A615A605A615A
+%5A36AFFD30FF855A615A615A615A615A615A615A615A615A615A615A615A
+%615A615A615AAFFD30FF8536605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36AFFD30FF855A615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615AAFFD30FF8536605A615A605A615A605A
+%615A605A615A605A615A605A615A605A615AAFFD30FF8536615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615AAFFD30FF85365A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A5A6036AFFD30FF
+%855A615A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%AFFD30FF8536615A605A615A605A615A605A615A605A615A605A615A605A
+%615A5A36AFFD30FF855A615A615A615A615A615A615A615A615A615A615A
+%615A615A615A615AAFFD30FF8536605A5A36605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36AFFD30FF855A615A615A615A615A615A615A
+%615A615A615A615A615A615A615A615AAFFD30FF8536605A615A605A615A
+%605A615A605A615A605A615A605A615A605A615AAFFD30FFA936615A615A
+%615A615A615A615A615A615A615A615A615A615A615A615AAFFD30FF8536
+%5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A5A6036AFFD
+%30FFAF5A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615AAFFD30FF8536615A605A615A605A615A605A615A605A615A605A615A
+%605A615A5A36AFFD30FFAF5A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AAFFD30FF8536605A5A36605A5A36605A5A36605A
+%5A36605A5A36605A5A36605A5A36AFFD30FFAF5A615A615A615A615A615A
+%615A615A615A615A615A615A615A615A615AAFFD30FFAF365A5A615A605A
+%615A605A615A605A615A605A615A605A615A605A615AAFFD30FFAF5A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A615AAFFD30FF
+%A9365A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A5A6036
+%AFFD30FFAF5A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A615AAFFD30FFA936615A605A615A605A615A605A615A605A615A605A
+%615A605A615A5A36AFFD30FFAF5A615A615A615A615A615A615A615A615A
+%615A615A615A615A615A615AAFFD30FFAF36605A5A36605A5A36605A5A36
+%605A5A36605A5A36605A5A36605A5A36AFFD30FFAF5A615A615A615A615A
+%615A615A615A615A615A615A615A615A615A615AAFFD30FFAF5A5A5A615A
+%605A615A605A615A605A615A605A615A605A615A605A615AAFFD30FFAF5A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A615AAFFD
+%30FFAF365A5A605A5A36605A5A36605A5A36605A5A36605A5A36605A5A5A
+%6036AFFD30FFAF5A615A615A615A615A615A615A615A615A615A615A615A
+%615A615A615AAFFD31FF5A605A605A615A605A615A605A615A605A615A60
+%5A615A605A615A5A36AFFD33FF5A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AAFFD35FFFD045A36605A5A36605A5A36605A5A36
+%605A5A36605A5A36AFFD37FF60615A615A615A615A615A615A615A615A61
+%5A615A615AAFFD39FF5A5A5A615A605A615A605A615A605A615A605A615A
+%AFFD3BFF60615A615A615A615A615A615A615A615A615AAFFD3DFF5A5A5A
+%605A5A36605A5A36605A5A5A6036AFFD3FFF60615A615A615A615A615A61
+%5A615AAFFD41FF5A615A605A615A605A615A5A36AFFD43FF5A615A615A61
+%5A615A615AAFFD45FFFD045A36605A5A36AFFD47FF60615A615A615AAFFD
+%49FF5A5A5A615AAFFD4BFF60615AAFFD4DFF5AA9FD3FFFFF
+%%EndData
+
+endstream endobj 64 0 obj <</Length 20054>>stream
+%AI12_CompressedDataxœÝ}ÙzêH“à\×÷ñ`cÌ&‰¯ìxÇ€÷ Ça ΩSó4ó }5wýb“‹vRR
+8=Õ]õ—@©ˆÌÈÈØ2"s+ÐlÇŠ±'Ä’qÆïûkk«, üL”
+~ô³ÿd<žË3 þj…ýl6ÎÀVÅ“\Wiy+HòHœügñÓ|?tÊŠ½°?†?uF³±
+þKq"(d+J³6žÏTŠað_åQk>¤›Éh†‚‡Çt»Â¼¡ƒ¨ùY% «ÿUZtxéC˜fÇóâÒœ†ÌÍ9ÿ[€“‹²ÙnIøM
+“Žx‹†tÎûS90‚,øä’þ<îN
+ò0§õÕþ2*ºâx&H01*Ê5ïN]e}
+Ž4Â1¨4€s¶ÕLxVçhRˆ%áÄ+ÜY—F9Y0ã9õ/ÄÏáÅÅ~`
+ÖÌ8Câ?g£Ÿþ/`à;Âìž
+<` ©Ðo«ƒ7£rj`xDƒê|4Y
+3ŒßðïúûŸÇÏ >û=€m”8›ˆ¿&蛿
+)F|o,P­ š™þÿÎÞ…Bá'½X€mÿ ÇÙ¾˜øõ/”E ÀÜÆÔ¡`Òsêźú·õçÖR–ßý øû¿$—Ç£þÿ1Φü‰–À<àVÕ”«Mÿ’;Oã&•Iré¬ë@³!Õ8•–ÿŠaŽ.‰¢Ó¸zâ h¯sá}†÷m¨†¸øÒ¿b´ ›´n“ú7¬ú— uÏoªñüþÙH`¶Å¹ÔÐ~û¿Ã°
+xÑLWÁÿ;ΙŒ VòæQÈ3IüÔLÆ¥õ Lžº¬Òš:0äoÀ$¡næ:ˆÉ’¶­ËÂxlœá´SÃ200Ô‘µam,ŠÒÕû»,¨MíûŠ à)ß×)–Îåsê“Z—ôuÆe86åдn\9.Ý5õ!Ée3YÀ¨yK[f®M ýM¥sY»þ¢¶¦çeE0›¶8Îêß3ÝJ |¯™ÃôbŽÍ³þ\*Å.˜ÖwÛ3^S«êÐr¶ô…n`9‹aÆOú:-œFTãûJ£qmÆamn?Ù¨¹y²ÒšØ\ŸlÆ©™a¢˜µ5N4gÓ°£›–°‹|îÞA˜É©I$Š îóc’=’1È$~2ù À«Â+„³ òÈÚ|<Vµ‰’ ž Úòˆ&-É?Ôv"Á£Dõï©(Í`¼°(i#„4£7‰éö¼ÖÄÉLnA&ÖßÈêÛ${%dÏÄ~¢2˜ØNº÷Ç£)PÉ0Úû7PÉ` ²Ë+SUA‹ªUßÈfY&žWr0s`% …ê6…Ø=˜Œä!˜
+ãJ¥_æJAÄ3³
+\G——Bªáàgȶ8ÔäÀ¿ Êo…ÅMž¬á1à6ãÃ=ø°/Ja@öþÄ¥83?WmÂs0Õ)?©,ë‘›ýÄj³ i„lìŽnc³¶Ú&³5:¦QáþÑ©‡ é μæ2TeEY´LÊÂÂQÏÉLFå)3!(N dTm¨1f„΋ö—L:ͬï¡W}*zÝq6BÄ”q¹0d2éF‹Ñ9®Ëh¯¬ÕÕTnJè1Ýıïf_<TÔæu£ñ¹±ýôãë3ÞƒŒ/¾¿Çq´_µælÛ£Ú¡…ö,¡;fðsY
+e—¦Û­6Ôa^Æ‹Ž¦-ŠÓXœ*bÞ²MBK:ÌÇÓé€rj´†4Ó2@ZŒ óâò†¡µI‚<ú˜ðnrª–„hŒÖ8´3.âÔÂV(Êë
+ë%N£ ±Y­ªïÔÿú­íFTæRèïH¨”˜™ÑdxÓ™´Ÿ´$&èà:Ztdlú$Άú*-‹ÀìøkWõV1™÷?‡NÚW~–ˤ²1®
+Q«þDv”ªfÓѬÖmhgÌO]Ç=¾µÆÑÄù…¨a< UXÒL±‚ù§P³0±mÖ—D§õ„ÚÈ°ô‚Nc˜È:0Èdš—€†žÁóÜ:ƒæImçÒ¶
+4t©\ÍrØv
+ì¹ÑäÝIŽá‘ÁMÅ/9*s3;ÍŒôukl2–‰†4?™h»ÐËJr±óß'³ø`l°D)`ÎùB”ç½…€å"Ö©ô.êi’, ÇÂOaìä>ÉÀ%…^¬³H¼!Ħ՘í£ýËÅ’¥¡<ä@ó:éw$ÇA>qÁ ì?h/¬²Ã‡Í
+£ºZä¥7æûª-¨‡8Êä¡îi{å0tST›úa´À6"ä½Y6Ì ðÈ ADe—ÎM¡ç¨G2)5a
+^âCJTÏ bìV†à ±MZ96G 㦠½ ‹½jßÖQ…*ôòå)ß·Ò<‡;SxjfR¥ÀÂ>ÝPüÕ ¡»6ÿS¸
+Š‰€^óè9pSý_ÿùý!ü€`Àÿ@¯>þóÿ‚•ó!¨½’ÿù%ô?QÜ•ù¤'|ƒæ–ÍâÎkCf€¾/¦FWÃaJ¬éTî|Ùr‰Î¨áC'ºýgÓ‰ê²V¦îCG3ÈÎ¥ÚøBœˆý¡$~ ñ×WF-ìH9­¼§u‚ÎSRr´ äiŠãQÿ7yÕŒ8#Á´80ye~Š“ãFš‘Cti=$
+¸hf—1©!Φº`Ði‰3+öÄŸŽÆ­Æk(WÓDì/Qú4²RŠj 9ug#m÷ÝÖ’e›Äy°dŒNs^—ø߆·®ç¼!UÏÆâ¥ß?%‡Hlæ‡ü6=ÍŽ/%‡Xœ·èiOìY'ƒ‘KX‘&Ñi~áDÁã𠉉Ž ïm@egÈšbž „h¸ŽÿÎpþ՛𣱋bE4»‘Ô»Ž16â6t2g;êoLëŽ!ÁÚ%j`5îLé¢.Ƙ5Í•’Z8ôóÛ(Ôù
+v¢¾ImU‘Ì:/ËÐV;{ã-Ý
+Ý^s¥†§¹¬ù¨Öp΂c=ѶœMÙW8
+»à5vû{eÀúr“©X°b4
+âôuòS²Ãú&½|Ïnl°–{™ãˆXåÜ<+Øn¸T~«øIƺ¿±-ïÅ) «4‹C½`ëYÇ
+Ð舙s´oƒ5³Ìí½çÉXSÏL­Sº&Žu£6…5 [W£‹i¸L}S<·Åºszžº°£ðôÜçN!Ö0Â
+Gc$òÆ]r+=Ûo¦Ä…©-¬Í C¥:Ùúaë«W5c}Ëóå¶×Ò›°ºé›ÁG‚ˆõ5Ö¹´ÅšM¼·wt¬hݦ6–äBD&cmf_S÷Ãó( «¼søÀÚ`MšðNI¨“‡›zx`jyæ’ˆu£ö‘ ¶¾¸+V¦öòRӱ¹1OíÖçä¢l‡•gêÑ·[2Ö:SÜBÙV87³Íè‘‚ø!²,ž£ËÔÁ3ÆZ}þ¬™°>î3çÙ ±î.`m¢ºd³P¦Y‡{þôÈÛ`Ílf?µW;¬æb÷%OÂ
+ÐÈ'ß…ãÒe !¶bmïí$m±ž í$cƒõ)Æ´»á „U•ÐÆáž5„˧Çpˆˆõvgòa‹µ=¼~ë‘°"µ–zª3·gÓ}2‘Ï“[7µãý2Öéé†-ÖÛn}c†°4„á^1wGg2Ö‹Ãj÷õúå…ˆõåêó„„JhˆøÇCzP³!òsŽy‘Ç12ÖËÓ¯«|.IÄÚ=‰MV¤o‡+mµ#¬7LuôuJÄš»ŒmŽ_bU€µð­c…h„šw³]e¸½dزxÂçü.ÂÊí†汞3o»…"Ä]Ð<ÝßÛìi·Ð
+ÖÂuÜBá Qxë`}'ðÝŒÕäH7n¶_Å‚¥þôášýºµ{:†áÖÜö)\7»ÅʶM0Û‘²bc ?„¬åi&Çv՞˟9ëÓÉpã^]ž¤ÙæIáÙöõ·Ûz³:ä_w,O DËl¹íǾíëç‘Égÿ´wõ¾gû ¹Úè÷6 ríÆþŒŸ¾ï|ç-¯ßDF{?”§ìFÁú´wÚžhD#4¸­DTû“ðôn«—Ø?}®,OMD{ÛzÍm_ÿ1kN¶O?o¹ÒµíS€æë³vøj×
+ÐtÞê»E»ÃÝà‘j*“ž=_Ÿ¦¢-Å)L¯#åØn™ì<•uúmkŒü7Åy«uÓÎ7 Bϸˆæ€gü£ÿÄáoµ@´Ò*Ã?w@ìåƒè5$:#XØ(ùVI¢Ò·sÐŒ)ÊÝ2*ŒÃÍäò3±3œ7êJ\ä&;ÀÓ¼Ÿ#g»QïûšÓ¿™ôÂ@ÎmT¡?3‰n#ÖÈ>÷qmƒ5³¹y3?™l#âÔã-V ’~°¶X™ÚûeÛ+@µhŸ<ÜÔÃÀˆ5Õ°æ.KmÖÁöö¦ŽUÞ
+- k1´‰È‡ßÁ/m¸õ± køÁ+ ðg‹²
+Ñ(¦Q$1ª½Œ Œ£ÁÐØÝÒš4žß‹é¤W-›¥ù«þüí¾‚ Z£¡>°˜WYAº
+ÐÜŠSæiHÐ[¼7tB…aóÞ¼¯åÌCtÊòÁml ƒÕZ…±¥Mb(FTÒEÈdfI Ðhè ™àî¢À×lW’i^ ¿q?wœÍM6zÃF៧ˆ¶Q¡†TÍìÄd¨zæ<«Ê0¥zô{‘AÀ¡<Tí´EhW×Z· }£™Õ‰;¬÷d»a£˜Íì&±`9LKdqZug¥‡Fc#ˆXû3'Û Φ¤%Ü Úçi権ˆ“L dÒ¤a1n-šŠÚ¨ÔÍR{QMö…¾§¦‹º5;:µÑžW-¥;N}RmÜ-{[O›>ª9Ì-shòCÃÉ#0Íád‹v-›Å$zÕ›_+s„¢¤!´öd]üŒ”¶‹» ´g'Ç#Ñ\ >DëJk#šYºy'ÚÔÈnoYiÁ»呪ּXÎ /ÞbËN¦•î‡
+ë­xòòœm¬oy–´î´ÊiÊÆ0@GìÙ¹'-tçEW$С¬ij{G«5hhƆ»x é Ú¿¡õí{â"àh(:c¶:—è "š›
+N¼ˆâµ¸
+÷˜H„±¨5WÚ¸E-BAuû­NH   BÁ’0›ÙÇsdf›ÃÝ€hâîfö™ÅÌ&­
+ò®·œ»cыز!«ÆäÑMvÇ-(ôâ"šY5.5¸°óà Ñ\ñÙ‚BôÊ§gV]¸ÔfhtG7[é%EÑ8[P~dÚ¸›¹€:fÍgËÐtf.ÜïÚAI!†q߬±èR.@X©iÙÂR5ü¾mÝÊ\ZýÝ·š5EiAÇì–  퇅_Ís'ÏY R0>‚bö4“– I/€ì–" Šn@
+ Z–.m·±`žÐ.€AÙ{Ò ¹X¶lAÕ'[˜ó:=¥Åê
+î0}1!:Ê$(ùœüˆM®»èík5+&_a_ÕS9Ÿs-Jð_G9Ÿs-ŸEØ,_Îç\˧·«—ó9×òùÌ¥‹Ë—ó9×òù,¥‹K—ó9×ò4ë)çs®åóYJ—.çs®åƒëf-å|ε|X
+¬¡œo±±–Oq<V/çsNÀ^Ü÷\²œÏ’
+¡¹$ó{¦¥bgE¢¹®z"šÛi ŽÓRF´òÒýCÌœGÕp.ß¡5s¡¾Ñ¢ÅîËÞ¦2Í­n˜áãsÃ¥oÜ+ ÿ¼Ù.r%W½±6ð£añI¹š?h ÃMP„ÍGÃí(}º½–ì+VÜgºËÐ:j¶R
+ý0Õãò¦:¤yj ¦zy-G#(±5¸¸Ë2Ò„+ š¤·ÓyÊÎçÓþ(Ö²´m„ ]@;] yÁ¸E·Û°ãA¿…#†Þhh'Ó–;8ÙTw÷¶"Y~£gXðQÉÞ­©Höù{E²ÊZŠdaÝÚZŠd! Õ‹d!”…"Y»ƒ®ÝËÈîHGÁZò—P‚¿k
+“¶c„õxO£Kí]¹(ϪֺÒ)Ê#ÎÍú‹òt[ÀÍÁ_©(o‘h¤(Â÷\GQž&:»µrQž)ÉÕåy/Ê£°ñ6¬¾²7½~_^ȹ°l¬x/ñ³÷›,;>úÜØlú@hTçŒ9æªQumõ¦B´‡ ºÝ(÷ TKGsBܦºïi£.z²Ó7]ñ€=égÛ3|¨Ó]õe ïÑ‹Úd¦(ó€n=¼ÖÇ·|·²9˜Wkùàñk­sج'f;åZç(û€®€¯<V¥ãb#Ó9-—âýr¹”8ƒ×.´§ªrÚ/Dn••¹(Ì¡
+8/¹nê‚ËeL–¼Zuݬ±°ÔE£q»¦Â>’%®™êë+ì#ÅÇ|èº÷µö™§TõöÖÖUØGÊ*Ñö=ɲj™Â>RU$Úš û–w{+ì#ùr†^GaŸªêŒU}ºX[aiŸÇ*lÖPØGò®‘Z[oaŸí.îz ûHU}Ø[[kaÉäÁ1›µö‘fØ6.°|aŸ5=Võù\îZ¢°Ïºå«„†Ö]ØGšCŸõàæÕ ûô9\HQ\ga ”O­÷\_aÅfñ:
+ûHU}ë š«±è‰h´…}tD[¹°TÕgTkk*ì#Uõ-Ä:W/ì#0W¬¬¥°TÕGªXY±°dWÛ»¸Köé
+[—éˆ=•-.S2˜ŸZ›l‡°™çËÿÈD³Þÿ·|
+†rùŸ‘hKg=º_þGå8]ùò?D4×ûÿ(kúìî¥Ï‡^éò?CF—Ãýô¥R6—ÿY‚)tÙ-Þ/ÿƒÚÓýþ?c]/ÿ£>Ûnz¶z•çÑ »eÑ7K§9žÑ7ùþr·È§g+§ÿûàIä7áÕkúÓ)³»QMß
+uM>½¬t‹:‰Ú©Ø‘œbÔžtõŽjr£§$5BÂ%$UeISãmsÇœ2¢Ô†œãñtFõæׂ³d¡šË…$^R­
+c‚:/
+[·t3´sç‚ /—;‚gMŠ g·› ÍƽoéBLO%öé£ÐÊûÄèj¼5c€¹Zø
+C»2¯G÷ˈì´Pܪ(¼”PDôÅhDs»¦õH¸÷Ï·T½§ç{ÿ0C;\ý·ž’&”–àtõåzt¹÷ÒT_õÞ?Ý÷´¹úÏë2"ßûgà4/€¼zÜSÝ|õ9àéõÞ?³°ñÍZíëtïŸS:eµïEêL{þ^Ùø1p€¶®jßço‹ïmÙ÷¤­öe7¼Ý/OŽÂzÇ‹5Í(ñ5dt!@4NDã
+huÿ
+G .¬%º¶µTn¥?ðAÇLHïÕ÷…Pta=BÄŠiKî Õz¼÷^Hµ¶3W¦½Úš™Þ
+©àhÀHíc®žRw (bäÇD4Ú3Ü!4šåéë4mBQÞLá{b«ÓC-•ëJÎ…TFǃ®Rt©B*£L³„£QÙ2£ŠÆ\v·¦T>d,£,Ûu·Î;>>|Ë/mÝíÃ’§j£êÚš.ÃìÉ(#„b7ŠêÁ„óåp¬»]Híp¨»u?9 vk —a*á"8çY„”™¢Ú„°ö®qЩ|²åRâô®²)œ¶+G‘vç@|‹dÀ§z×Þ?×ÜÎáF+"6œuµf* ¼<j±š*óäÍÛ‡¦1²e¾š®P~z Uæùpm”}I 4+°¶X™³kW…˜Ù f[á“‹k®{v*Dœ&í±Ö7oHX|5ÝI/þaw5]Ø¡F®™¶¯Ì“w²Û’1»;i)º ‡ŽžÆ65raÇkøxb"$&òÙ¾>µÖ’À­ÔeåÍ®2¯ë€µ̘×õþ¿ëÍG¬¹†©ÔÓŠµEŠÓyŸÝÚ™©Vojæ© Â§Qí“R:ß=HÚùp颩i²ÌP€dÞv EŠv‘‚8«*Z-=>xHYó ´ý‚2-;øWšæsºÄÁlȺ¦Ãæí¤Š§ìLŸóµnÎõU Á»ú#‡Ä-û>•íç|Ú©½TõUò’ùë‹–ÍBØCâ–…Tºª§H¸t!UÛ-¯•¾<Ž6qË–|zyœK2(5W‘rÀ–ËB€^rÀptж[ä40ï}ZØZ¡VÒ!Ìãº
+g•î,äá.fºz¸k]ÕõĦñÜœPì;º\\ç Óüiöb.)6¶>2Aج!,ýZµ¾³T<Íû¡wäxZuû߯U="í³;9‰®$‘öt]Ÿv|;™6+y5V†®PºÎ4©(„Zt³ßZº®­Ó“ækKÆI{°öÏÁþò0àk„=¯ç%™Ã/©ï…Œ„Ïœd ¯Rgwo¿ÁHu’…©.ÑÍž³ŸakÌ NQPEWM•7ÈYÕ÷tÜS±¯³s:î•ÆT7u˾H@Ÿ>ç9TCª€ªŸÁ5Õ–ný±láy¨Kt¿
+=é?rY!mØnÅË
+¡¡?xY¡¦Öþìe… -©2v5êÅ©VK\xHªÕJjeÄÛ-™)Ë_xèõÙ—c{»ðÐnp¡5ä@R&h¸jEá¡s o §Z¡ ×Rï¹j†ay®vá¡Åš·ÜvèÓ¯u[CØö¶CŸÇ‚²%s" ¨å.<´œrÛ¡nr,UIHu»K¬ÓÓ…‡Î·úh®¤ ¹ðЙAÝ“a)/<¤©÷\Ã…‡*È; ½ì…‡Î·ÚÙiž/<ô^·¦b|ãm‡.{ô®Êi”ÒÝS¸rE¾óm‡: PZNš=é.<´@±HrÛM/¯:çÑùÈwEx¿ðй:FÝŠ°­Ža(/<tÎRP„ „¶Ú…‡Fj.Þvh;7†­ª ho;tŠÙ8¦x[/<\¾<nmõ¦H{®­äÂá¶CORÀéÂC÷.{á¡Šµpc‘–¼ðp™­ï%.<´ƒ’pÚ)ô~á¡óm‡>|Øêºú7ë¹ðÐCyÜÚÖãÂm‡42êÂÃåMuO:ßvhØ÷\ Ë2¢rqi.<¤¿§p¥ 5(Äã
+ c–¼ðÐÙ‡Xˆª/{ᡳÛMJ‰ç—¹ð8jí¶C×Û…‡ÎÆï/êê`ç ©›ZíÂC½8’Tl ©.á¡3RžÍR’¡¨áëU2ºL.ÆÁ‰:ƨúJ:—ê[¶"–¿ðÐ9 ¦ ›U/<´”±Yœ1‹Z[þÂCgïÞ87+]xèìÝ—çJZˆF›péõÂC
+ßsR••®~á¡óm‡Í:.<<t¼í'À¬áÂC²PP÷h§­ãÂCç…h«_x¨uŒÏ\ʲ!]xè¼3at£'tõ"]å¶Cº¼NºKŠtQØÎãÉ. ‚®xtÒW7>Ó½QááÂéè7û½PS¾¿9ÊA¬£4q&‹ò:<˜¯;Ŧœ‚+dQkoqQ§ “¸2U/Më¹,Iœ<
+D‰‡™­ò¼òXîÑý¢å—ÓÍFUzÚï¢
+àÒÛÅ]¹Tå:•ÊQ$w¦·«å7ÛßXØÜ~«pñ£!6ò™…µ•¯Ç{ç «ø%žËų»»n¤z{߀ŸÀ€›ã8,%ŽâXÜaúAB®“˜…`rCw¦yÒ‰t|KèDš ¡˜3 Kv¾fwQ92='Sðõ Š¾µö$¯å¸úZ-Q«r9
+è2j|ð‘hâèêG¶<f †²X- °XI ê7¤ ?Ë—G|‚e€c` fT¡aó$¦Ì!´ ±djžÇQ”~¾¶îEî±àÏ
+åâÍöÞ[y˜=›;ÅÉT y®ô´ûZ놟θpÿ~¤ÎH'©ó7°œ§%eè½ó¨¶x댟[xÀHIâ7ncè |{*=&Pé<p/óýô)ÌÍ
+ˆë÷׊‹‹ÿ(΋¦V÷9{JÀ.Bž+îâOÕçÓþ» ШM?’èg`„Eª–e¿ãÊû–Ü9Þ?ºOÏî Ò/i b®CˆK“Û£­íjÿó;oVúeÄ †4¸­±QSóß9'M=Û„÷/SXbçêìJ Ò_‚•\,©ŸÃßÎñ»»@tøjÏ@ôöµˆ“ ¨¸‚ù¶q@K­ƒÜimw v¥ ÿSEg*¤‹N4‡XØ4v`~ë7Ü®‚Çë5°ò †:ÐWðçAŒc©¹sxA\ íå(ª&G<—ÝÏâ844Š%- dp¯zJZžðÙÑíå^lÚøà É¡t˜ kÜ÷¢H¡ÃƒˆÊxg@%ˆŸÐXcIz˜½…g¦”ß>‹#·ž3LºwvD©Ð²ú¸Â‚U!<K๨Li½Å¿Áøz‚›@‡½tÿð£4Þ˜Ô De‘D5
+Ñ“ê]Ih¿wØmð”k]œ>¬åƒ­ÒÞ{óà´ÆSÒ-0nwë&†FúY=S!Έ#fPÏö@k)<.T¿Ÿ Ér¥[ì”_Ÿ«æˆ=þ.&Š•“¯‘\«ŒÙ’Âø©Ê
+’,¸ÈN¿”'j]õìP{"-³Y8oš £Òg(tí õÑÞá¶3jŸv×· ;Ö™gÁÊs¥^?ø,v*Éo[ÂÛQR˜=±d?üpÚl'žj”vÌŽ°":…æAŠNå¾öêsí[sžö`îÞqyTÛ–Žowî¿Å†ôPëF›Å«ýs@„T°ò~-·T@¼ìT˜ÁÖ¤–gáz•é& ¡¦ù…¬i®Ò¿:ò4teOšzôöCwd7,ÓèGï}èÉ¢¨hÁ{¨¶¬~•-=¢•©ûû±Ù~eÎ×ÏLmŸ'fGgÅF: IZgwߧqœ¯æúѪôZx®ãä°>¾½­ž˜ã„<¢šü1*>Ð×<Dã}Ù{fAuy*اårésgò\‰gwdOË~ya³F9§jOzr{0`·iPÝ¿QÝÝê’+žbÔx#’;±I,7ö´ìh×@³²”§ñhÇëf÷®Ö•$‹µ+‹³„Z[fÀÐ#XŽÜž ½5؉ì¶ÎU­éKL__«sÚ‚!·´ˆF;t­â„BL“Û— „/óÐÙ;†J(W»Ä_û%.{®¶¡SˆÀ3ð &¢÷í@4|ŒšD±\ì5¡9ˆM®Ÿáë l„=C£C!Âø2·ƒO÷RŽ8»˜ÀHM wŒ s #W&¥«æñK­’N¿;{?B•“§Ì)˜Ž¼@8ǵ¸üÖç!1ÜšHÀlxÎ[·=èQß
+Ç·g0ªæ¡¨¾e®†T6ÆÁã¦w¬Pt"Ä\¿»{¼÷<ìVâ­7©ü~0éQcÕ, [£
+IèMJ
+£Ê”DþGt’8ª…íª%gÚà
+oZ‚öuСßõ0Ý-+*`ö¨r½sºV³–°™-jhª¯°ÄiyNqØ©×Ù’¦“i+p0”i^ÖÙ’‹lQ¦Ñδ§EFÏix-¹È|èÜAÃ:ƒy·ß‹qcD¹g¸ê]éá²2ÇÅþõe­rIŸ£ba§òX›½™·Ëã÷Ît¯*½ô`™ÏÞ{›Cù•£Ýj²Ö9Ê>¬;X¨î¬1PO2y°°YkDcM{Ëøô†=‚â׊îì’žô’ Òб'Mck®ää(ÁòA[:ü^#·K2>4n æöº¸SHÜ°Xµ‘ñ!§­êiüÑÈ­›§ÄÓØâi¡àSÆήàצŗ!92>ÓÅ´+žÝfåaöE T:JÊÝK#³ÔÝf·”Ü
+UìØ"}‡Ó=ÚE$l>Ç»µâ˜ÿAaá¡O
+ÓåM•O˜öQèP‘Ûžt˜?]iD°Ü 1áIJö °A×iét(?^U:€é
+aÄVH\
+“Çסƒ?º2ÃðÆZ–Nà(³â‰²Î”P¥€Ó‰r*ŒÌ¦¾ÈäúYÙÔ.±«· N’{MõRÁ/ÎÊi "£X¸Äi\ ¢
+W-ƒu.«5''уôXV 9Íse­÷²Z>äÔ[e-㹬Íke­÷²Zœ>ê±²Ö{Y-Ì~p­¬…W
+%cü®ž~)rL3^ZüÆ)š¥ˆÚäöŠ¢¸’ BÁØ ¡íY‰7
+BÂ[#‡Ñ[,áÜÍì>.~¿)<Ï8|=~VÄ©ö>€r.Aq,ÝÔ¿`í …éa±b.ûO\ej’n ªvE¥®FN¯Âp] #I
+m:qc⸽UæÃÀenƒÒö‘ RÔ¸EÒI¬¤ÑáANc›ò~äfOÊÞ¤.‹Ù—A/¬ðc; °ñÓ®­ßt&ãÂóÁ§:ô;¿p•Æ´ŸïâêÜp•Ç,‡avcZù4¾á”Oó§W\¥Z ó]å÷ó]“¹ûx A>ÆáE¯"ןc‹“ëÎ[2Dó¾ª=zä =zÛüФ V…>š·»@Y“_­Ò8þ±[lößÏ+g'¶¾E¥Ix™v è¶álQUL•’[óM_½$ðŠßænRŠ°÷”V>UxÍ‚{IªDKnß~­=º*w^j•ñF¿Øê<ïT{±cdî£Û®“a6Í` Ê,0͇m[Ï@ÒN(òzRzÜ;«ÒËíY-¼HBÔ°ƒ¹´Caä(¹À+Ù9FdUí
+#G‘Ð+Ù9F$¸Ú9æ`H§¿ ž_8ÃظnÐÄëËø€¶êkZÛµ½&lÙÆŒ[¶ýÜ™uÛ70 É€&iÛ7µ[G)Žú®­eËV’öcz|gqÛ7³Ø*µÄåþö⶯$•lí¾ÎêvŠârA+F$£ÃhT4ExPÌa&8¨¿Ý~«¿=@HŒ®&]L¡#cL1”à€w0ÊÖæÞW‹jCy¥`H†P/i/.CÞKDËÍv/Ѳ‘ˆ³2¬{‰ú^Ër±RvªáAÛÁÄ[Ý
+t
+Ô³† h ! ¡O¨ÓÐÝ€Bá,¦œW Œv%þxX‹#NG{åww/07}Œã qWV@¦Å•Ö#zT‘ÚõZ FSEj×ÏêÑÇ—Œ¶í $™\g1…—ŠpSò%ܺíV'ã¶-øy üÔfó)j’î–„Ñäœÿ-€•Éúñ¿ øþÍæý,—ósé4ø’†¿ž÷|…ª=a"øÙ°ÿ|ß)Â|Ën¢(Í*£þl$Nxé·¿€~»¿8¿9©ø ~üN¼³çž1]Ð<
+£}ã.ìo×÷ã/Â?÷¿ Ø
+üxþÄ3L&Åä²ÙT.ÍeÓI?gÓ™\†Ë&Óà7.ºg’ùT:ŸãÀ¿Ùd& ‡Oæ3L6—J²É,—NåÁ/™|Še³™T–Içr\
+ü’ËÿÉúïyˆžÿÝÿ†ßNÁ§à·_~–ñ_øŸ^ÿÀ¶@7¹8—Gÿ¤¹$ ðæü@^§ãIþ“}K'S)?›öŸûþJƳ þ=›É>ùÙd<…ɧ“™l
+6ÊÇñ/\2—bsé€Hz•Tÿ$sl*“Ï&a£E´ðWBÁ¯ïvsJų,@žûí™4š|øC¥R±¨%ÎxØV™´¬?q2™ùCíÛz·=ä§Bç÷T0OèyIá2ÀtˆÇbРÙjòBGâGcÈt2ÿSðó“ „.LÁ#ÿ‡$È3QüòPü/i/
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 36 0 obj <</Intent 44 0 R/Name(Ebene 1)/Type/OCG/Usage 45 0 R>> endobj 44 0 obj [/View/Design] endobj 45 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 52 0 obj [51 0 R] endobj 65 0 obj <</CreationDate(D:20161016023847+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161101110658+01'00')/Producer(Adobe PDF library 15.00)/Title(arrow_collapse)>> endobj xref
+0 66
+0000000004 65535 f
+0000000016 00000 n
+0000000187 00000 n
+0000013435 00000 n
+0000000006 00000 f
+0000046734 00000 n
+0000000008 00000 f
+0000013486 00000 n
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000047178 00000 n
+0000047209 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000022 00000 f
+0000046804 00000 n
+0000000023 00000 f
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000031 00000 f
+0000047062 00000 n
+0000047093 00000 n
+0000000032 00000 f
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000000 00000 f
+0000046875 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000046946 00000 n
+0000046977 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000014706 00000 n
+0000047294 00000 n
+0000013803 00000 n
+0000015006 00000 n
+0000014893 00000 n
+0000013985 00000 n
+0000014144 00000 n
+0000014192 00000 n
+0000014777 00000 n
+0000014808 00000 n
+0000015080 00000 n
+0000015254 00000 n
+0000016567 00000 n
+0000026627 00000 n
+0000047319 00000 n
+trailer
+<</Size 66/Root 1 0 R/Info 65 0 R/ID[<8EBA933D12F01E43BD17F97E988B7437><2B9DF4E2A0B98040B60CF39AD878C8F5>]>>
+startxref
+47516
+%%EOF
diff --git a/Assets/webui/mainmenu/over/arrow_right.ai b/Assets/webui/mainmenu/over/arrow_right.ai
new file mode 100644
index 000000000..de76dbff2
--- /dev/null
+++ b/Assets/webui/mainmenu/over/arrow_right.ai
@@ -0,0 +1,341 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R 36 0 R 51 0 R 66 0 R]/Order 67 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R 36 0 R 51 0 R 66 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 7539/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-16T02:38:47+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-11-01T11:06:50+01:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-11-01T11:06:50+01:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>160</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACgAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX//2Q==</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>16.000000</stDim:w>
+ <stDim:h>16.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">arrow_collapse</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:1c44fa77-d0c3-42dd-a6df-874095356f7b</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:2e33de67-1aa6-46d1-bf4b-d10de2ff6488</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[3.7 1.0 12.3 15.0]/BleedBox[0.0 0.0 16.0 16.0]/Contents 68 0 R/LastModified(D:20161101110650+02'00')/MediaBox[0.0 0.0 16.0 16.0]/Parent 3 0 R/PieceInfo<</Illustrator 69 0 R>>/Resources<</ExtGState<</GS0 70 0 R>>/Properties<</MC0 66 0 R>>>>/Thumb 71 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 68 0 obj <</Filter/FlateDecode/Length 99>>stream
+H‰Ò÷wVÐ÷u6PprqVà2T
+
+ɹ\ ~.—®¹‚¹B—®…ž™‚©ž ˆi Ta
+š+è‚Ôep¥qr¹ú-0
+endstream endobj 71 0 obj <</BitsPerComponent 8/ColorSpace 72 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 2/Length 21/Width 2>>stream
+8;Xp,rVCYe!!<3,C'.`~>
+endstream endobj 72 0 obj [/Indexed/DeviceRGB 255 73 0 R] endobj 73 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 66 0 obj <</Intent 74 0 R/Name(Ebene 1)/Type/OCG/Usage 75 0 R>> endobj 74 0 obj [/View/Design] endobj 75 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 70 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 69 0 obj <</LastModified(D:20161101110650+02'00')/Private 76 0 R>> endobj 76 0 obj <</AIMetaData 77 0 R/AIPrivateData1 78 0 R/AIPrivateData2 79 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 77 0 obj <</Length 1241>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (arrow_right.ai)
+%%CreationDate: 11/1/2016 11:06 AM
+%%Canvassize: 16383
+%%BoundingBox: 3 1 13 15
+%%HiResBoundingBox: 3.70000004768372 1 12.2999999523163 15
+%%DocumentProcessColors:
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 0 16 16
+%AI3_TemplateBox: 8.5 7.5 8.5 7.5
+%AI3_TileBox: -278.380003929138 -401.199981689453 289.939971923828 417.679991722107
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 0
+%AI17_Alternate_Content
+%AI9_OpenToView: -6 19 48 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 0
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:-3 -40
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 78 0 obj <</Length 2035>>stream
+%%BoundingBox: 3 1 13 15
+%%HiResBoundingBox: 3.70000004768372 1 12.2999999523163 15
+%AI7_Thumbnail: 80 128 8
+%%BeginData: 1883 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
+%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
+%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
+%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
+%FDFCFFFD9FFFFF
+%%EndData
+
+endstream endobj 79 0 obj <</Length 19961>>stream
+%AI12_CompressedDataxœÝ}ÙzêH“à\×÷ñ`cÌ&‰¯ìxÇ€÷ Ça ΩSó4ó }5wýb“‹vRR
+8=Õ]õ—@©ˆÌÈÈØ2"s+ÐlÇŠ±'Ä’qÆïûkk«, üL”
+~ô³ÿd<žË3 þj…ýl6ÎÀVÅ“\Wiy+HòHœügñÓ|?tÊŠ½°?†?uF³±
+ýžì¢wodþô}F¿g»'_৶0›ÞÉ?¢Y«^2b¿¢COM0n`”>…ÉKX…,‰Sø“ŒÛAje”Gák:¤DÃÎÅÓþ,øOùµ zã²¹x2È’Ìsy6™óÇR gMrl&—O¥“~.—ç“ù|–ÍsÉ—ó§
+ÙŠÒ¬ç.•büWyÔšéf2š¡à!ä1Ý.Ä0oè jcþCV Ãê•^úf`âÅñ|†82§assÎÿœªd³Ý’ð1š
+¬ÄѤK‰W¸³.:s²`Æsê_ˆ/žÃ ‰üÀ
+ir5ÁôZÄ|ˆ.HD¤@Åà÷þåµ·HØ wý7ÅÕî#R’0µ§Â?`E‘)¯ý[Q)üá¯F`©ÛÈLÇ6í_<M磞ËR†M`\íùh&hàá  füdaöÏ è. KкV_hëÓÈ’0èÂXŒBKbu‹º„%Ÿ6~Lâ  ”>@Ç®$€-ìöÐï(EàïHðÅlj°?®t*|SwþÀÐì¤h`×Cø ºèÐf¿áßõ÷?ŸA |ö{,
+µGÀ´VŒÿ
+þÑíOÖÏÃ_ZàO<ϲY`žfÓél6JS.›Ëä2l>&`:™¿ÀoI6Ír\صð—|6•ÍrÙT:•Ïeà÷E–U¿ý†ßNÁ§à·_€^þ ÿÓ ãøÀC€õd
+–  Zqþ°îõÇðÏì÷TP‡¶'r÷'/É{`¥·†É‡¹íO~<×òMà J;¥7²ùë{RM€MC¥±ØÿTdR›FÿìPtŒ¥$àà._¢ÑP ÔØ|L±:QXg¢Ð‘bÄ÷ÆÕÊ ™éÿïŒà](~Ò‹ØößÁðpœ}à‹‰_ÿñ÷GY´
+Ö!=§þW¬С[þg-eùý׿€¿ÿHry<êÿÏãlÊŸh üØaÀCn»QM¹Úô_!¹sñ4Þ`R™$—κô×h0RSiù¯&àè’(:«'΀ö:Þgx߆jˆ‹/ý+F»°!ë6©ÓɪÉðX×ñü¦Ïï‘]f[œK}í­ÿ;  ïþýøfü
+Ž ögñÄ_œÏD‹‡ûj£Ôñp†qÏ$~"Oy°¤ú¿Á@F¿¬7dm ´H™¼ÊO ¼þ5£4%gêd&ß
+Ðh€ƒoªJ#2 {ͦRé$ëÜm™r)6žg’çò,æÉT¯I¡c£þWü ˆk• Ù<Úèʦӹt>™sî‘d€mNá´(Bq<G¸ØØPžUz!†TK:äŒ
+›ÕªúNý¯ßÚnDe.õ‡þŽ$Œz@I€™MF€7I ñHKb"€®£EGƦOâl¨¯Ò²ÌοvUo“yÿsè¤}åg¹L*ã
+@覞Ã.’6òy–#â—qQÈ2ÿÄ–ïÀ
+-òÒó}ÕÔà eòP÷´½rº)ªMý0Z`rˆÞ,fxä… ¢²Kç¦ÐsÔ#™Žƒš0
+Ò/a2
+uY +S÷¡£HdçRm|!NÄþP¿„Šøk‚+£v¤œÖ ÞÓ:Aç))9ZPò4Åñ¨ÿ›‚¼jFœ‘`Z˜¼2?ÅÉq#ÍÈ!º´\4³Ë˜Ô gÓ ]0è´D‡™{âOGãVã5‹«é
+e€F’zÅèôòôø,/æûwñšø˜º­JÏLå±öЩúìn1;aWÂMäðá…cN›­2ÓxK'¸·@ãŠî om{ÐPtF’ŽóÒÛÅü¢ØÈô¯
+Û“Ñn==»8¸m'fL­ðrUóoíX¼{úÅ ¶*VxÊ–2)LÕ’(_âOÊdœË’”ªŒ˜ÄýgÖÚNôÌ?¥âÉóÜ<rXlë‰'ä\›?¼õ0 ÔÇ
+vîž|/½„+L"ÕÆÓ¢¼yLmp…]ð;ý½2`}¹ÉT,X1qú:ù)Ùa}“^¾g76X˽L‹qD¬rîžl7ÜF*¿Uü$cÝßØ–w‚┄Uš¿Åƒ¡^°õ¬chtÄL9Ú·ÁšÙ æöÞód¬©‡g¦Ö)]ǺQ›Âš„­«ÑE‹4\¦¾)žÛbÝ9=O]ØQøFzîs§ka…£1yã.¹•ží€7SâÂÔ‚‡
+ÖæÎŽ…¡Rl}Œ°‚õÕ«š±¾ÀåùrÛkéˆMX ÝôÍà#AÄúë\ÚbÍ&ÞÛ;:V´n SKr!"“±6³¯©ûáy”„UÞ9|`m°¦‡
+s±û’'ahä“ïÂñé²…[±¶÷v’¶XÏ„v’±ÁúcÚÝðªJhãpÏÂåÓc8DÄz»3ù°ÅÚ^¿õHX‘ZK=Õ™Û³é>™ÈçÉ­›ÚñþëôtÃëm·¾1CXÂp¯˜»£³
+ëÅaµûzýòBÄúrõyBÂ
+%4Düã!=¨Ùù9ǼÈãëåé×U>—$bížÄ&+Ò7‹Ã•¶Ú‘€ Ö‡¦:ú:%bÍ]Æ6Ç/±*ÀZøÖ±B4HBͻٮ2Ü^2lY<áÇs~aåvC óXÏ™·ÝBb.hžîïmö´Ûh
+ÖÙQÄ2Ö
+Ñ(ê$¦·<³`ì562ë{³ÈÅè4uù†°&ƒ…ò™kP’ø<="f¬Ã•Š‚¨²ñiÀ*Ó?
+%ká:n¡ð†(¼u°¾ønÆjr¤7Û¯bÁÒ@úpÍ~ÝÚ=Ãpknû®›ÝbeÛ¦˜‡íHY±±„BÖò4“c»jÏåÏœõéd¸q¯.ORƒló¤ðlûzŽÛm½Ù?ò¯;–§¢e6‹ÜöcßöõóÈ䈳Ú»zß³}
+Ð\mô{ ›¹ÆvcÿFÆOßw¾ó–×o"£½ÊSv£`}Ú;mO4¢ÜV"ªýIxz·ÕKìŸ>W
+–§&¢½m½fƒ¶¯ÿ˜5§ Û§Ÿ·\éÚö)@óõY;|µk
+QiƒÛ9hÆåÀnÆáfrù™ØΛaU%.r“àiÞÏ‘3„ݨ÷}ÍéßLŒza ç6ªÐŠ™D·kdŸû¸¶ÁšÙܼ™ŽŸL¶€qêáÑ+PI?X[¬Líý²m‹ Z´Onêa`Äšj Xs—¥¶ë`{{SÇ*o…–†5‰ÚDäÃïà—6ÜúØ„5ü`‹Pø€³Å
+Y
+d\«ôî€ÁLqSÄ ÀRb(T¶´?-‹ã¡„¾®´öˆ¦nvo§Gj§ošàë6´Xç»*°G g ›Ûð6ÔgNÓ[[èäÌ;£ƒ@êÓgþĶO؆žï
+
+4 G¯Uóü&—‘êó‰d¤¡Úc87&2ncAD&ßkU£°Mw¢Õ(þ£Çi‰Ëó!°Èq·å‰¢ŽÄÁ=X—§6#^—<ºí\¸Ñº~¶­ˆÎ–Mg*šq Íø¶Â <_hnEÈ„)ó4$è-Þ:¡‰B‹°y oƒÞWÈræ!:eùàNƒ‚6¶„Áj­ÂØÒ&1#*i ¢Gd2³$Ph4tÐÌ pwÑ àk¶«É4/ ߸Ÿ;Îæ&½a£ðÏSDÛ¨PCªfö
+ÆJÛÅ]Úƒ³“ã‘h.ŸG¢u¥µÍ,ݼmjd··¬´àÝΉòHUk^,ç†o±e'ÓJ÷Ã
+I˜Íìã92³ÍánÀ 4ñGw3ûÌbf“Ö ù
+×[ÎݱèElÙUcòè&»ãÎzñ ͬ—\Øyph®‹ølA!zewÌÐÓ3«.\jH³´:Š‚£›­ô’¢Àh œ-(?2mÜÍ\@³æ³eh:3îwí ¤øÀoVŽXt
+) ¬Tˆ‹´la ©š~߶ne.­þîÛÍš¢´ cvKЋ„†‹‡v‹Ã¯湓ç¬)A1{šIˆ¤@vK‘E7 €VÝç@Pƒ(yÞt!ši—ÑÞä Úç€u ÑÙ-£lZçí  ‹“•Q–ì’êgÁ÷„и¸ÇB[jþv5)æÆ°iî(ÝäÏð‚t“?#7j%ó¢ hsüíLMÅÅu4óîoV–n†à=€¶6évc‘nËP0 íIºÙJ0ykn
+’nœæÈ]ºasÐÐvq ‡¥h)¤m%ˆ+È<i$?ÛÀiÆH²í¢ä‘©¹ŽÀ#ZˆªÃß[¹KetÁ-u*y¤Ylä]Ü2XñWÎb’vg‚º På PØüe=¡‚J6çv[Ÿ8y–œ©eÄ„²hõ8Í ÷¬
+ R dãy{쎚Ód»Yìh¯[¡¹Æ½¬ùiNúŒ0bÕà·Å
+2íIÛëG~£e›s@ïÞß­Ïú¿#)G"§ÑèÇ;O¸9iœÚçï%­ËÌ©hVd±þ—SkëßN­!@+[ÿŠ­rÄ[xžôãó·Óz$+G‹‹kÕÝÅ]gø›çDC;
+H#Ê,/=µÃvü]˜¨ì0-FjÚØƵto»ÈuOš~ß{7‚Â÷TëœFˆ#¢Q-vwÌfÜÖ&¥Á‘cwe@ÒÛ[PˆQ·(Ù‚¼È¬jª!Çâ©ÊqûN{rã¸Òý`î¥zL‘gî˜ý¢&1 ΖezòS{!4Êí—½*Ü;;_K0-K‡¶ÛX0Oh—ÆÀ ì=釅\,[¶ ê“-ÌyžÒbuw˜¾˜e”Š|NþÄ&×Ý@ôöµˆ“¯°ˆ¯ê©œÏ¹–%ø¯£œÏ¹–Ï"l–/çs®åSŒÛÕËùœkù|æÒÅåËùœkù|–ÒÅ¥Ëùœkù
+ʓɼ˜_BN¸t+»óœ_Br£`Ùݪ‘-X(—pò<ÐÆ>¿Äê¥h mã¨T ÅÜ}ž©%-á]ÜôéqßnìN#(øšÏPYìÍ9^˜Ò^Ò>OSË¢­{å7.ˆ5Î6Û
+{Îõ7›¦—}܆U
+З:.öi¸iקc="­¤Œ¸M£Kæ½—´„AÝõ$˜ÔÔs(YjrˆV§hn.ˆÊ ¤ ¹•è¸vLß^…Ð\’ù= ÓR±³"Ñ\ W=Íí´ÇŽi)#ZùNéþ!fΣj8—ïК¹PßhÑb÷eoS™æV·‡Ìpñ¹áÒ‰7î•…Þl¹’«ÞX›?øÑ°øƒ¤\Í´…á&(È
+ç)zã\ì—Z©ÜkqºeŽÞÄ£7_§ÎѧÙDoNW‰Þè†= ®'z“  ŸOå ˆÞœ®%9 À­¡~QÞwØéëá(£7hy:Õí½up)×°mܪƒ|QÁ‚AóÚó’¨âÓÏÒJc:3ÆlHŸ¹•ÆºÒ>åÀŒäÑMdÓyà®1=³ ÿŠ/è¼ t¨ŠYÍá% W­<8ÝV¤À2Œzt³e‹²p)JT¶/ñ³O† JÐ5›K–ø¹'º¦(BÚ¬RÌjr£Î#§®u~Ö\À¦uCüL¹uá¨ùì+óŒþ E&ù²•yÄÝ(XN·ÞʼU9²2¢Æc•yhCr±8o‰dXÇÊ<Kî ; års} ¥‹KV©“ú¤û—΢sm•yæ|Ïu"´•y>š3SV¯Ì³ÌZœ·îÊ< µ8oÅ}!XP·†Â¨ï<í.a4vaNm-©—XØÜŠf{É
+¶¤-ÁÍ›^N6ly1çb¹Ry(ºªI]^L°­aw´ž‚2-=‚ä]{:_­‡¶  yO±ÞùÞ]ȯÞùŽºú7”ëñÖÙÏöi‡g¹T­²Ûk BBhëJ…~˜ê‹qySÒ<µS½¼–£Ž”Ø\\ÈeiÂÆMÒ¿Ûé<eçóŽi  kYÚ6†. Ž.†¼` Ü¢ÛmØñ ß‚Co4´“iËœlª»á[[‘,¿Ñ³,ø¨‹dïÖT$ûü½Ž"Ye-E²°nm-E²ÐêE²ÊB‘¬ÝA×îedw¤£`-ùK(Áß5…I[1Âz¼§ƒÑ¥ö®\”gUk]éåçfýEyº-àæà¯T”·H´?R”Gá{®£(OŽÝZ¹(Ï”dêò¼åQXŒx›V_ÙÞN¿//ä\X6V¼—øÙûM–}nl6} 4ªsÆóÕ¨:„¶zHS!ÚÃÝn”ûΪ¥£9!nSÝ÷´Q=ÙiÈ›®xÀžô³í>Ôé®ú2†÷èEm2S”y@7ˆ^ ëã[¾[ÙÌ«µ|ðøµÖ9lV³r­s”}@WÀW«Òq±‘霖Kñ~¹\JœÁkÚSU9m"·JˆÊ\æP
+¬­°´Ïc6k(ì#y×H­­·°Ïvw½…}¤ª>ì­­µ°dòà˜ÍZ ûH3lX¾°Ïšž «ú|.÷F-QØgÝòUBCë.ì#Í¡Ïzpóê…}ú.¤(®³°ʧÖ{®¯°b³x…}¤ª¾uÍÕXôD4ÚÂ>:¢­\ØGªê3ªµ5ö‘ªúb«ö‘
+û,CZ8ÁßSaŸ¹On>¢\$kö {·?N<9åàF¸]ãI]ömÍ~p™ª[üHléÅä ¼Åê®×[ühI5‹®OR<‚åHU™¹ZÖC€®·[¸³×{ŸÐò¤¸À¶ÞÔæ®^c‚?5©(ô‰,lNÓ3<ö FL)…­ËtĞʗ)ÌO­‰M¶€CØÌóåd¢Yïÿ[>C¹üÏH´¥³Ý/ÿ£Šrœ®|ù"šëý”5}öG÷ÒçC¯tùŸ!£Ëáþ?úR)›Ëÿ,Áºìï—ÿAíé~ÿŸ±¿®—ÿQŸm7=[½Êóè†Ý²è›¥ÓÏh‹›|¹[äÓ³•Óÿ}ð$ò›ƒðê5}Žé”Ùݨ¦o…º&Ÿ^VºEDíTìHN 1jOºzG5¹ÑS’!ሪ‡²¤©ñ¶¹cNQêCÎñxº £zókÁ¿Y²PÍåB/©V
+1—º‚Ó”Ô§Z¹ÐA1ê@²è¤dŸ¡åíÉ5ÝÉï\kµo{1üæ[ßñ†
+¬o»‹ž?¬ \ñð­k=…1Öc…­[:Ú¹sA†—ËÁ³&ņ³Û͆fãÞ·t!¦§
+ûôQhå}bt5ÞŽ1À€\-|…¡]™×£ûeDöŽZ(nU^J("úb4¢¹]Óz$Üûç[ªÞÓ󽘡®þ[OIJKpºúr=ºÜûGiª¯zïŸî{Ú\ýçu‘ïý3pš@^=n‚©n¾úðôzïŸYØx‚f­öuº÷Ï)‡²Ú÷Ž"uŠF¦=¯lü8 @[Wµïó·Å÷¶ì{ÒVû²Þî—'Ga½ãÅŠæ”ø2º ' ¢q´º…#PÖ]ÛZ*·Òx‹ c&¤÷êûB(º° !bÅ´%wj=Þ{/¤ZÛ™+Ó^mÍLo…Tp4`¤ö1WO©;1òc"íîÍòtˆuš‰6¡(o¦ð=±Õé¡–ÊFˆu%çB*£ãAW)ºT!•Q¦YŒFÂѨŒl‹QEc.»[S*2–QŽíƊǺÛç¾å—¶îöaÉSµˆQumM—aöd”B±Eu`ÂyHr8ÖÝ.¤v8ÔݺŸœ»µ†Ë0•pœ‰ó,BHÊLQmBX{×8èT>Ùr)qzWÙNÛ•£H»s ¾E2àS½‰ë ïŸknçp£‚ŒκZ3•^µŒXM•yòæíCÓÙ2_MW(?=*ó|¸6ʾ$Pš¿X[¬LÙµ«BÌl³­ð‹ÉÅ5×=;"N“öXë›7$¬
+ ùl_ŸZkIàVê²òfW™×uÀZfÌëÆzÿßõæ£ Ö\ÃTêiÅÚ"aÅé<ˆÏnm‰ÌT«75óÔáÓ¨öI) ï$Hí|¸tÑÔ4Yf(@2o»…"E»HAœU ­–<¤¬yÚ~A™–ü+Mó9]â`6d]ÓaóvRÅSv¦ÏùZ·çúª…`Š]ý‘‚ÆCâ–}ŸÊö‰s>íÔ^ªú*yÉüõEËf!ì!qËB*]ÕS$\ºªí–×J_G›¸eË>½<Î%”š«H9`Ëe ¡@/9`8:hÛ-r˜÷>-ìF­P+éæq݈…³Jwòp3]=Ü5‹®êzbÓxnN(ö].®sŽ…i þ4{1—[™ lÖ–~­ZßY*žæýÐ;r<­ºŽýïת‘öÙœDW’H{º®O;¾L›•¼+CW(]gšTÂN-ºÙo-]×ÖéIóµ%cȤ=Xûç`y
+ð5Â×ó’Ìá—Ô÷BFÂgN²ˆW©³»·ß`¤:ÉÂT—èfÏÙÏ°5fP§(¨¢«¦Êä¬ê{:î©Ø×Ù9÷Jcª›ºe_$ OŸóª!U@ÕÏàšjK ·þX¶ð<Ô%º_
+Z X$¹í¦—× óè|ä»"¼_xè\£nEØVÇ0”:g)(ÂB[íÂC#5o;´ÃVÕ…‡F4‹·:ÅlS¼­._·¶zS¤=×VrápÛ¡')àtá¡Ç{
+—½ðÐ ÅZ¸±ÈK^x¸ÌÖ÷ÚAI8íz¿ðÐù¶C>
+lõ ]ý›õ\xè¡<nmëqá¶C™Fuááò¦º§ o;4ì{®ÈeQ¹¸4ÒßS¸Ò…‡âq…‹…1K^xèìC,DÕ—½ðÐÙí&¥ÄóË\xHµvÛ¡ƒ‹ëíÂCgãÇ÷uu°ó…‡ÔÇM­vá¡^I* ¶„T—¿ðÐ
+)Ïf© ÉPÔðõ*]¦ ãàÆDcT}¥ Kõ-[Ë_xèӄͪZÊØ,ΘE­-ᡳwoœ›•.<töîËs¥ -D£M¸ôzá!…﹎ ©ÊJW¿ðÐù¶C„f:Þvˆ`Öpá!Y(¨{4ˆÓÖqá¡óŽB´Õ/<Ô:FŒg.eÙ.<tÞ™0ºQ‹ºz‘®rÛ!]^'Ý%ŒEº(lçñd—AW<:銫ŸéÞ(‡ˆðpátHô›ý^¨)ßßå ÖQš¸
+“EyL×bSNÁ²¨µ·¸¨Ó†I\ ª—&‡õ\–$N€š9 Dž.ƒLâþ3‹›Àª®@ðâð$΄&DÿišJJÃÓÚáø%-››ÝPì+¼Sú.1Ëâæ÷¼” <óƒ$øôvÌíÍ«ÛWß­ô÷çÃS6OõsµûøY\
+¤Ïë©·RëóæhоÈÜ ;Âeúû6$¼ïŠáTåÇF§uöYïÃârQ8
+M¾»Ùï-éx’¹ Ü]í“¡zfëýéä$<n>¥Äg¡€æ•šÞtÚ·xäõ8À}|ßFö“;ÇL­tVbjïýS¦žÙnIÒ[>$ɹ»yó5Óhätï©©Õ%v"‰Ø]<yžßP ð~$$ùY„7ðå7ÉâÄTïº÷xÞÍû×S¸T” 2q¶P†7,níÏOIôBžmKR2pë0ÄïÍÍÛÇÎap"%jÛ\ên¯nŽ,o=UËUóè4u â.&¨B2P¬u:[LP€ßš¢ÙšŸZ–\³l(ÞSâÐX{.
+T´à=TÛ@V¿Ê–ÑÊÔýýØl¿2çëç@¦¶Ï³£³b#€$­À³»ïÓ8ÎWsýhUz-¼×qrXßÞ?ƒVOÌqBžÑMþèk¢ñ¾ì=³ º<ìÓr¹ô¹3y®Ä³;²§e¿¼°Y£œSµ'=¹= °Û4¨îß(‹înuÉO1j¼‘ ÉØ$–{Zv´k YYÊSˆx´ãáU³{WëJ’ÅڌŎYB­-3`è,GnO†ÞšaÌDv[ƒçªÖô%¦¯¯Õ9mÁ[ZÄ
+ñ´Pð)cgWðkÓâËŸéÎbÚÏî³ò0û"P*% å‘Yên³[
+Jn€gÇö¨µû\ìÜüxuŽÜêáKô©Ö €O…*vl‘¾ÃiƒíŽ"6ŸãÝZqÌÿ °ðÐ'
+üÑÙ'ê›uÎ>¶ú‘úS‹/–LÜײöUÛ¿hG»î†úEÐã!ì©_Cæ³kp–ÿ±Aqo§Eã}2è·rqCÛ«º…ÂÆx†6ˆŽª‘rð¨ª[§\(ÿÔÇ€~ÛØ8<ª«¬¸ë3ûÁ‰ß¨Õ¶tŒ°‘NX`Üß7‹ŒQÈp`bA°B8³¯ú¼Knï=AËxf•([ã"+ô3˜ÆÛ8þíEîÂl»gYÍìάá>÷qmº¾HáÈ^ÿ
+_v%lÀgækœv´! wïvy5/ÿ€ÓW7¼*éô3U‡fþŽLÔ¹™ðÜ
+Ué5þXld.eþãôŒ¤ÕL°\ÕóBÓ×SY-dhÏ•µÞËj}¨6ÊcemÄsY-^ž+k#žËj!Ï•µÞËj}êU.^*k½—Õj;…«–Á:—Õš““èAz,«…œæ¹²Ö{Y­rê­²–ñ\V‹ˆæµ²Ö{Y-NõXY뽬f?¸VÖ«…’1þ‰ WO¿¹¦/-~ãÍRDmrû EQ\É„ ¡àlЈö¬Ä€ÔB— £KMR«BÀáñ>ߨOàéq !á­N‘Ãè-Špn„fv¿ßžˆg¾¿?+âTû@9— ˆ¸–nj_°ö„Âô°ŒX1—ý'®25I7U»¢RW#§× a¸‚.Б$€@9“È´œVêUÃÝPœ¥I¿I–¨œî‹
+¿>à ¢ ÔØzyPbÞ» n?¥ Û8Þ?µ;ŽÍڀƾ3ádã
+èÜQ°Sa¼N«ÏÇ"øZ@âîδ¾Ñ:Å__d›Éàþþ›R—þz¬«{c?£ÌäÍh<Õ~´¼¥©ý3ãiÑVÓùgqッwÂÔÄ‚'CšË°²ÚÎ74›æÒhÓÔ_ãÚQ!—Fƒ¦>-@«ù2¡J½K퉰 <q(}‰7-¡Øè½niÀ¯#¸UoÊBïá:¦ñhïD€ßðæ
+ÛÏ”¡ù}Í À*Ûo\¡¯.Û|bU«¢¢ÄEûš8\|Ï…36¸1 qÜÞªFóa`ˆ2·Ái{‹È)jÜ"é$ÖRƒÇè𠧱‰My?r³'eoR—ÅìË „Vø±PØøáI×Öo:“qáùàSú_¸Jã
+#²Àªv…‘£Hè•ì
+#\íó0¤Ó_Ï/œal\7hâõe|@[õ5­íÚ^¶lcÆ-Û~î̺혅d @“´í›Ú­£G}×Ö²e+Iû± =¾³¸í›Ù l•‚Zâr{qÛW’J  ¶v_gu;Eq¹ #‰Ñá 4*š"<(æ0Ôßn¿Õß $FW“ˆ.¦Ð‘1¦˜JpÀ;˜eksï«Eµ¡Š¼R0$C¨—´—ˆN—!ï%¢åf»—hÙHÄYÖ½D}¯e¹X);ÕˆðŠˆ í`â­n…F:€é𙛪ªÇIPŒN!B*¡vçÓg,BÄ7×:Óá¨ð9Q7TwÍ\za¿}G¸>˜¹n,;0bèBsæiƒÝ ð êçiÌiŽ0~¡Uv·ÑÝ HI¯
+ ¯|Êé'ÞX è[fÕä šCÞ×¹
+è¨Eˆ0(g†£$
+ûƯGÇƯڡñëõù‘iÝpáÇÖ±±Aÿ¾hü:~-)±à~##X÷ó!s±@?U9ŠtïÑbå—Óü¦Ò8Ü"Q#KÏhkã'•lã5\ßÓ>溞€«–9Å\#k ¸Ñc®‘µ\}Ú=p61×õ\C;Å\×pE[‹TÒ•®Ñìb®ë ¸âåés]OÀ£qˆ¹®'àêCÇc;Ä\×pE!U§˜ëz®>\ š6UT%¶•¬~¼ .&Ê›WÂ.&¤¶ßŽ¢2HjÁØ
+£ˆ¬»*å p±á47p5< ø»0ɪ±‹qÁÛ¹¸Jì)‚ÒQ´”“ºÍ%¤ÀK#îµ°¥z‹kº– ]¢ƒF“>avÔÑ 5‡)$ô
+ …
+êYÃ4Ѓ'Ôièn@¡pSÎ+F»<¬Å§£½ò»»˜›>ÆqP‹8ƒ++ ÓâÊëÇ=ªHíz-£©Œ"µëç õèãKFÛö’L®‹³˜ÂKE¸© ùnÝv«“qÛü¼~j ³ù5IwKÂÇhrÎÿÀÊdýø_ü ÿfó~–Ëù¹t|IÃ_Ï{¾¿BÕž0ülØ>ïa¾e7Q”f•Q6'¼ôÛ_@¿Ý_œßœTü?~§ ÞÙó‡@Ϙ.h…Ѿqö·ëû‹ñáŸû_l~¼‚¥Cðß{þ;ÇÿîÃo§àÓðÛ/?Ëø/üO/Œà[
+~~2Ð…)xäÿy&J‚_Š¿à/ð%íÀbWÀÿyô]k
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 36 0 obj <</Intent 44 0 R/Name(Ebene 1)/Type/OCG/Usage 45 0 R>> endobj 51 0 obj <</Intent 59 0 R/Name(Ebene 1)/Type/OCG/Usage 60 0 R>> endobj 59 0 obj [/View/Design] endobj 60 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 44 0 obj [/View/Design] endobj 45 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 67 0 obj [66 0 R] endobj 80 0 obj <</CreationDate(D:20161016023847+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161101110650+01'00')/Producer(Adobe PDF library 15.00)/Title(arrow_collapse)>> endobj xref
+0 81
+0000000004 65535 f
+0000000016 00000 n
+0000000201 00000 n
+0000007817 00000 n
+0000000006 00000 f
+0000033017 00000 n
+0000000008 00000 f
+0000007868 00000 n
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000033648 00000 n
+0000033679 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000022 00000 f
+0000033087 00000 n
+0000000023 00000 f
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000031 00000 f
+0000033532 00000 n
+0000033563 00000 n
+0000000032 00000 f
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000037 00000 f
+0000033158 00000 n
+0000000038 00000 f
+0000000039 00000 f
+0000000040 00000 f
+0000000041 00000 f
+0000000042 00000 f
+0000000043 00000 f
+0000000046 00000 f
+0000033416 00000 n
+0000033447 00000 n
+0000000047 00000 f
+0000000048 00000 f
+0000000049 00000 f
+0000000050 00000 f
+0000000000 00000 f
+0000033229 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000033300 00000 n
+0000033331 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000009075 00000 n
+0000033764 00000 n
+0000008185 00000 n
+0000009375 00000 n
+0000009262 00000 n
+0000008353 00000 n
+0000008513 00000 n
+0000008561 00000 n
+0000009146 00000 n
+0000009177 00000 n
+0000009449 00000 n
+0000009623 00000 n
+0000010916 00000 n
+0000013003 00000 n
+0000033789 00000 n
+trailer
+<</Size 81/Root 1 0 R/Info 80 0 R/ID[<8EBA933D12F01E43BD17F97E988B7437><00622D9544B6FB4CB9849814F75D92FA>]>>
+startxref
+33986
+%%EOF
diff --git a/Assets/webui/mainmenu/resume.ai b/Assets/webui/mainmenu/resume.ai
new file mode 100644
index 000000000..bcd060844
--- /dev/null
+++ b/Assets/webui/mainmenu/resume.ai
@@ -0,0 +1,431 @@
+%PDF-1.5 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R 36 0 R 51 0 R 66 0 R 81 0 R 95 0 R]/Order 96 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R 36 0 R 51 0 R 66 0 R 81 0 R 95 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 8305/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c132 79.159284, 2016/04/19-13:13:40 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <xmp:CreatorTool>Adobe Illustrator CC 2015.3 (Windows)</xmp:CreatorTool>
+ <xmp:CreateDate>2016-10-15T14:52:21+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2016-10-15T14:58:06+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2016-10-15T14:58:06+02:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>80</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAABQAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8AmdzqV9c3rXsszm6ZuQlD&#xA;EEGtRxPanamdLHHEDhA2eTlklKXETuzbyz+Yv2LTWj/kpegf8nAP+JD+3NdqND1h8naabtHpP5/r&#xA;Z9HJHLGskbB43FVdTUEHuCM1hFO3BBFhdgS7FXYq7FXYq7FXYq8AzqHj3Yqnfl3zbqeiOFjPrWZN&#xA;XtXPw+5U/snMbPpo5Pf3uXp9XPFy3Hc9S0PzDpmswepaSfvFH7yBtpE+Y8PcZps2CWM7u+waiGUX&#xA;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</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>27.000000</stDim:w>
+ <stDim:h>26.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ <illustrator:Type>Document</illustrator:Type>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">resume</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>uuid:89857e89-8de5-4e2d-bfb3-253c668c1e48</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:cb701cee-0442-4ae3-b543-92dbd183b4fc</xmpMM:InstanceID>
+ <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 2/Kids[7 0 R 83 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[7.0 3.26439 21.3813 22.7356]/BleedBox[0.0 0.0 27.0 26.0]/Contents 97 0 R/LastModified(D:20161015145806+02'00')/MediaBox[0.0 0.0 27.0 26.0]/Parent 3 0 R/PieceInfo<</Illustrator 98 0 R>>/Resources<</ExtGState<</GS0 99 0 R>>/Properties<</MC0 95 0 R>>>>/Thumb 71 0 R/TrimBox[0.0 0.0 27.0 26.0]/Type/Page>> endobj 83 0 obj <</ArtBox[7.0 3.26439 21.3813 22.7356]/BleedBox[0.0 0.0 27.0 26.0]/Contents 100 0 R/LastModified(D:20161015145806+02'00')/MediaBox[0.0 0.0 27.0 26.0]/Parent 3 0 R/PieceInfo<</Illustrator 98 0 R>>/Resources<</ExtGState<</GS0 99 0 R>>/Properties<</MC0 95 0 R>>>>/TrimBox[0.0 0.0 27.0 26.0]/Type/Page>> endobj 100 0 obj <</Filter/FlateDecode/Length 178>>stream
+H‰L±Â0 DwÅý@]ÛiÒd¥ &„*> @*ü¿„C©„<$ïNç\Úã€ö06Û4“À¬GãÇëBg<IQçu£vÜÞ4;ŠÂ”ÅR„ÍÓƒªñ Æ•^3šÌE w[*h
+[v]»š¬~.Ý?š)&Z…Â1wßøÂ*lÑÛý¶9¦¨X_«®·™¼„rHÁƒÂ]œ$–»pKÿ‰®4Òîàé#À
+endstream endobj 95 0 obj <</Intent 101 0 R/Name(Ebene 1)/Type/OCG/Usage 102 0 R>> endobj 101 0 obj [/View/Design] endobj 102 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 99 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 98 0 obj <</LastModified(D:20161015145806+02'00')/Private 103 0 R>> endobj 103 0 obj <</AIMetaData 104 0 R/AIPrivateData1 105 0 R/AIPrivateData2 106 0 R/ContainerVersion 11/CreatorVersion 20/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>> endobj 104 0 obj <</Length 1280>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 17.0
+%%AI8_CreatorVersion: 20.1.0
+%%For: (Jakob) ()
+%%Title: (resume.ai)
+%%CreationDate: 10/15/2016 2:58 PM
+%%Canvassize: 16383
+%%BoundingBox: 7 -24 22 23
+%%HiResBoundingBox: 7 -23.7356102980448 21.3812835504759 22.7356102980466
+%%DocumentProcessColors: Cyan Magenta Yellow
+%AI5_FileFormat 13.0
+%AI12_BuildNumber: 174
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: 0 -27 27 -1
+%AI3_TemplateBox: 13.5 12.5 13.5 12.5
+%AI3_TileBox: -396.179991722107 -300.380003929138 422.699981689453 267.939971923828
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI17_Begin_Content_if_version_gt:17 1
+%AI9_OpenToView: -47 28 16 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_Alternate_Content
+%AI9_OpenToView: -47 28 16 1478 1043 90 0 0 46 112 0 0 0 1 1 0 1 1 0 1
+%AI17_End_Versioned_Content
+%AI5_OpenViewLayers: 7
+%%PageOrigin:2 -35
+%AI7_GridSettings: 128 8 128 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 105 0 obj <</Length 4740>>stream
+%%BoundingBox: 7 -24 22 23
+%%HiResBoundingBox: 7 -23.7356102980448 21.3812835504759 22.7356102980466
+%AI7_Thumbnail: 40 128 8
+%%BeginData: 4571 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FF5A6184FD24FF5A615A5A5AAFFD22FF615A615A613685FD21FF5A
+%5A36605A5A3661A8FD1FFF615A615A615A615A6184FD1EFF5A605A615A60
+%5A615A5A5AFD1DFF615A615A615A615A615A615AAFFD1BFF36605A5A3660
+%5A5A36605A5A3685A9FD19FF615A615A615A615A615A615A615A61A9FD18
+%FF5A615A605A615A605A615A605A615A5A84FD17FF615A615A615A615A61
+%5A615A615A615A615AFD16FF5A5A36605A5A36605A5A36605A5A36605A5A
+%3685FD14FF615A615A615A615A615A615A615A615A615A615A85AFFD12FF
+%5A605A615A605A615A605A615A605A615A605A61365A84FD11FF615A615A
+%615A615A615A615A615A615A615A615A615A6184FD10FF36605A5A36605A
+%5A36605A5A36605A5A36605A5A36605A5A5AAFFD0EFF615A615A615A615A
+%615A615A615A615A615A615A615A615A615A85FD0DFF5A615A605A615A60
+%5A615A605A615A605A615A605A615A605A613660A8FD0BFF615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A6184FD0AFF5A5A36
+%605A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A5AFD09
+%FF615A615A615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615AAFFD07FF5A605A615A605A615A605A615A605A615A605A615A605A
+%615A605A615A605A613685A9FD05FF615A615A615A615A615A615A615A61
+%5A615A615A615A615A615A615A615A615A615A61A9FD04FF36605A5A3660
+%5A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A3660365A
+%7EFFFFFF615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615A6160FFFF5A615A605A615A605A615A605A615A60
+%5A615A605A615A605A615A605A615A605A615A605A615AAF615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A61845A5A36605A5A36605A5A36605A5A36605A5A36605A5A36605A5A
+%36605A5A36605A5A36605A5A3685615A615A615A615A615A615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A85FF5A605A615A60
+%5A615A605A615A605A615A605A615A605A615A605A615A605A615A605A61
+%5A85FFFF615A615A615A615A615A615A615A615A615A615A615A615A615A
+%615A615A615A615A615AAFFFFFFF36605A5A36605A5A36605A5A36605A5A
+%36605A5A36605A5A36605A5A36605A5A365A84FD05FF615A615A615A615A
+%615A615A615A615A615A615A615A615A615A615A615A615A85A9FD06FF5A
+%615A605A615A605A615A605A615A605A615A605A615A605A615A605A6136
+%85A9FD07FF615A615A615A615A615A615A615A615A615A615A615A615A61
+%5A615A615AAFFD09FF5A5A36605A5A36605A5A36605A5A36605A5A36605A
+%5A36605A5A365A5AAFFD0AFF615A615A615A615A615A615A615A615A615A
+%615A615A615A615A6185FD0CFF5A605A615A605A615A605A615A605A615A
+%605A615A605A613660A8FD0DFF615A615A615A615A615A615A615A615A61
+%5A615A615A613685FD0FFF36605A5A36605A5A36605A5A36605A5A36605A
+%5A365A5AA9FD10FF615A615A615A615A615A615A615A615A615A615A6184
+%FD12FF5A615A605A615A605A615A605A615A605A61365A84FD13FF615A61
+%5A615A615A615A615A615A615A613685AFFD14FF5A5A36605A5A36605A5A
+%36605A5A36603685AFFD15FF615A615A615A615A615A615A615A6160AFFD
+%17FF5A605A615A605A615A605A615A5A84FD19FF615A615A615A615A615A
+%613661A9FD1AFF36605A5A36605A5A5A603685A8FD1BFF615A615A615A61
+%5A615AAFFD1DFF5A615A605A615A5A5AFD1FFF615A615A615A6185FD20FF
+%365A36603660A8FD21FF8536615A85FD24FF855AAFFDFCFFFDFCFFFDFCFF
+%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDDFFFFF
+%%EndData
+
+endstream endobj 106 0 obj <</Length 25015>>stream
+%AI12_CompressedDataxœÜ½×zÂÈÒ(z®×÷ùÀ`“A9˜(26pD &˜Y³.öÓìgØWçî±ÓÝÊB˜ÿ̿׬ñ
+üHS»Ã/åÌ]<2ð29؃‡8ÀÃÃ#"ŽYZ÷¨Í`õÇ`·›ÿ¶ˆcAøc~}Xç«i~ýï„%jñ! AXô¬2oS»£A4Žàa¡PÌBàþ` 'bÁp EÃqð¾¸E$A‘ëèíjߢ×#j·+¬—kz—°þ¬,÷ƒ)x2°¼QËåúOÐ:W ÷Jó%Fÿ;Ø[ð "F®Š½üa¾?~‡  ¡ßƒ=ïi
+aó—}Ô>,)úi5߃EÐoq†z÷ë1µo JË"úþ²-ºzJ퇬—‡=âÛÌPc𧘈G{yj:_\«=èuo>éýÁð{oºOàQ¶]¼×ÜP«îú ÉôŽfCˆ‚ÿb¡ %Îô'~à ¾s¸ð—×[î)zf‡ÃyiÅոǮYj,AFH
+QÈy-ÀŒMzÈ À̇Y&-Óó±À£`%YbÜ_ˆÜ¹üó&1úKý/ÁÃ1<Dù…%˜÷=
+?uD¯p/ZC˜ÿ¾G†_XÿBÜ!A§,¬åzÊ>¾ g
+‰?Œ‹ØöŸÁäpœ#à‹­ÿâïoeÑ0÷ñu(4Æ9õ¿cÝ€ýÓúó×RÞMþüð÷ÿ
+mÉÿ3ì  þþýø¥öƒ10À.ЙøÙ±Ù(Š!žµf^ÇüÌf®…û Óy.÷à¾r~ýï×7öŒ[Ûù%E!ó>‹zÃÑ&2ähjC»vJ6„|ÇðhÌ‚þ ø­õmo÷,N”D Y!‹…œï6ËÁ_÷zÁ ‡ITcxZÍG`ôÜPD9Π•ksë†ð¼mjÙ]·”LZëÝv=&ønãoáBçaRÝåèýp= Ç$5–â¨g—(S — RoýEŸ@*˜˜r±|øßK¬$Ú›Bm£Éȫ⸅8¢ü
+$€š€÷ƒÕˆ{!†ÇqØ …ð#––Cèì<ƒð jàµÑ€ïŸñaŽGÌ' 1k«øï½ J ¾É&y/ŽEC*ý*-×kZÌ=Z¬†‹8H·­B ¥DD\­Ãptâþ†cñ®ÑVÆð-tÙR’¾êŒk2ÙQ</©NYZ. À âZU¡Â–0Ž£”zW+0ch½ªˆÝ/Beø]Q€ˆ(ëi¨qž–ÀsQÍÆ/"Ÿˆ—´@NF,&+‹¢-ƒÕ~n,çƒBCLÔp}Ø/aæÍžú·°:µ›îöôzÁÛ¶a"DÄxa· XanÁŒA a
+¼"înálËbµ-
+ó‚[h~eê6*ë7ŶS±Ñã S…ãJ´€]DÑP–.àa”°1Η‚0AyÌ<`Î`2E«^ÉAå÷>Á£@ñß›5½‡ÊÜÈŸ]Ä•/Œaº* XOø ±çÁj¾›ù+FM+åí=ÏwsftP¯Êôq4n@ °ºë¹¥.
+¦FFfV'ÅàzÁ¨
+OP–”h â— 0ŒêRc=V¢§`åŒæ"žà 6
+Ñ+DÛ!*ˆŸÁH„‰"Yˆ hÉ?±,Fö0E –¼DK*hüCo*½)¾bˆ e´@ Y™ŒÆFË Ó÷²Ñ6åêLO`p¬ö2?ë¡8ßÿ 0Sûâö›éïÂ?„r=™ø™m΋PmêèŽÚã
+Ý‘‚?ì(°‘8æy÷Qd0‰xB ç†öÏa ¿æV`8ö `³÷BW{ïO©~ÜAІÉnÑh4fb£œÅÄüxö…ÂA\»Û2ÅB¸?Ž+™ˆãV¦2xU²{¬Ô«Ñ¯ÿwÍ‹šp4îC:†Ã±p<Óî-eH2™e6Œáz¹¤G*p±¸án¿äè…šñNmð=öÑÖŠ9YsRc¾GK0ßëXj{RØé4Xmµ¡vÌ¢3Ò™)2Õ¥ØpÈn%ÃÇ›ÍØàÔð LËf i±Í‹Î[p¢Öj$S»ùt5ГS#´$Öâ ¢F;ñÒQœZØ
+ƒtaýi§XШ¬VÎqýþÅo‘z4³tij>JÌÌ|5¼©MZˆODZ%&èà::ŽZ¨ôi½Ÿ «´°vÞØRj–Û¹`Üòé¬všœˆ„¢>"„nèÓ¥#) `1ŸG EüôØ¿¦ç°h\:ÿŠ-'À
+Õf#z­µžP›ô­©b&²D2ÙÈK@Cïá9%zAóÄ5òaÕ ºTºf9l»öÜ|5Ñ’cÌÈàÞÃp@k*s);íÅôÕk,1–µ‰†4Æ`µâ7« ,+ZÇΟ¬öþñRd‰€¹×äqwî´l놞¬‡4¨, —ÔÔRË}Ú—z±Ú"uEM¢”&•VK|„"ÇPYÃÝl0šWK¿#9 ò•N`ÿA{Ad-(;|ŒY¡cT@·‚¼ —ƒg
+áƒ#Ž’x¨I~K †nr\S Œ¨F„4¢7§†h
+üB­Qõ±vSè9
+¡CŽ·¯Lô©ž±[Ì7€Ž«…
+ŽÚr©InÔVU‹ëä:»Sœ Úz ÍÅÓ#]ÁéQ
+^‰âClTO ÂÔV¢à ¸MX€¶æÿ¦–-ŠžPÓˆ·xez0†æ¹e°³ûš;Ì[è”ͼ…ö{Þ’âb†góšlzîü*â;'¢(Œ`W[d©Çí§h°h‚M¹0™ësPáaDU‰–ÔéA[Gßpå[ NrNí,€AÇ0OŽL@Eïö <MÅ2¤æ¿ð,ˆùhOf
+W .sÓ® 5íÒƒÍFÌÃ:ŒÙÐÝqm»ôüW62Ày½0µ@Æ«ËÑFÓé9¯xí2~5¡0R‰^ÿà®é…h´¡äòqo¹ø¹þsÅT'¢“ðrÃõZÚ‰›vO´ºµò;—óÑ_Ú/Ü8×Qâ\˜éÂz5F®k,ðý|2?ÚôSYûùŠMLÕï¸Àʵêó•V4T™Ä¢—Ÿ×Fe(¤K›ñ.ÿé%ëZ̘G»ë*~–|¼èECyùÂÌ{W”$'p¶&íDûô"âiɆ§…Ì£®Øל"È@Ðvg‡ßáj0_òÂJ18Ľ&ìÏ£íy#ú”Ù€€”ï\k2¤ŒTPè¤už¶ªÌ½,ZVÊÉ'Ò—Œ%¢(ÇÝTV¥–]'Gn,¥Eoq‹ôñ0-"Ýå­ÌÚæD½Dÿ„40Þ¯WëÑ ¼H]­ØÐÓV1²ù9Ò1¦Ø²ŠÎÏdUˆÃÌu^×NVœ"éäj½)ÚŒ¶ DHW칧Rݤ¹¤z戋Cš/Û·X™ÆìòäFôz8Ø3‡™7”“ÊOÙÝ©˜ñ‡ò"´·<ôçCù&2úŒÐNä_ÀôeÐõÂ`Ã$1Ï)#–³Êê°òN‡Ï1QÒâm²xõ8ÐüAÝ€[€ädŒh,ĉ)äÔ×ÖCK¹);‹ØÖaáŽÜ󚞆 ¯™†òä1 ñ!>ù9ç—ç:…j5&)È=èi(Ó¼ýð¤^îÉÁ«·¼múòYºü;KLWÖZÉêu:
+óg<UŠ["ûTN߇2‰Æ§ã>KFÑR‘¸Ýà¡ Ãvä9õbölòÛïΦ¼›]vW'
+ßÓï5øt»%«ãª5ï‹ýØsŸmÅtâu0>
+³Oy¢!\,vD/—£~mßL1oÖ91 Üir£ƒð×Þ hßÅí…á‰Áç霋¸„#K ×¬©Y=šÒwkƒc<iY0Ú7¶;bšœé`ÆǤ%4AsÃϹ0š³X
+H×­ˆKø×`cº#¬[RS1i%tUúMÆø ³ ŠìsS:Iž= /#k#š@jŠ£Ñ€ÅË3´R/õ˜W@ÃÉAìr¢@„QšãV0¡ŸR[Óë>×W¥¬ƒêÿbBˆõR<·ZyÚ(õïß%«Û?èa"Æ™>;@ì$r‘}±=M óï!rÞð8phêùˆXl®G‘eÓ­<j힀™–»e
+ÑOº[°–ÿ.1¬VÆkHˆ Kìx}u£Ùdýíº¼¹žYyH@Ÿ£™ë”Ç?€Óîh"ûd³,ð‘òÚwÎAå+ÝÛ z&°}lé§+¸×YˆKÕR–¦gO¡ÄýKAIb™d:Yl/TÙ¨Åáí:…ÍM¾’òî}Úñë÷Ë„èÇw.ž¬ûøÝÐÖ?ϱÁ®›Âj•ë$ ¸ß“&fQUÔ0ü €ý¨Y¶D!‰0¼/l…Ù§5|Ê^OÜ_Ï/î=ÀÙlMBÒyøÎ/ˆ;«ð€W„IYòK*/è*Ì­ `ó$fŸåŠ£ÅöÍHü‡Ž—Jß“¢£”{¬y_~t2ìNDr·¬¬~­å‘¯¸oæ ð m˜†Õ7°Ó9œkÊ­d 4ƒq‰ŠW‰¢e Y@a%Ç—¥õD¶’—±¸'`—7X)Ê âåB}ÉIhH½¯¸@~^˜}ÀŠÜ÷áJ£ o_n¶Izû DÁÔšÝfF”HB;¹Øp3eB €º`yLßȉßfHzW£wXõ£œâuV1Q ý\ô为žÊÝgHl³•OG®[hBšô·Ç¾lâa1T˜À}L\÷¶Ò~ÍE¿ÆEïúþ‹–n‰DÁæªËD(«á€<b -.˜Â6ͯa¤(Ø'ëõu²Ð_äCÀƈ4ÉêÈó~ëâ¬}Àâ÷¦³’/×98¯cäæ½8 `Sðç}žx˜&çÅa÷v‹ÌÄЬƒÌG¬{kï”z¶Ûv©×ÊíaÜ|¨ÜýéÍÌaüµ*
+–çø;»ÍãI ™‚¶¢ÏêÈ'i—NLrõºÐ„WÒ’VÕÈ6$Ž
+ó»L t«îï£ù¬ ¾±X;Y­B«(_’Têû:×z|
+ìî» ~iÛ8›Ê„¼`nz£Raô‹‹qí°g ^ô©Aœ3º‰‡ïá¡Ôÿ&~áò,L2AlŒbL 1n°Åô!œ@jol‘}}Wê-ýQc†AÉ;šøötSLE9“]« $¡A.äp¬ãøK=‹•w{&µ¡Ý¬Råå
+~1+¾~[bÑL¡¹éš‰ ¯³©Çà7`žÔ5¿.ˆä4ðî6^¸gö ˜S–®l0å.ÙâñjIoÝ5rT, GàžF‰{Oð,Ï[ÞÁçd/¦x õ)IZh½G»} Ý8° ¾±~d‹íæ…Ÿ¬?&±:1¢uë¹ËÇ òr/ä4ôµ
+ùdipCÇšïV6éùî÷ŸÛ04‹k¡]hýZ*|¹½ ;>0ôþðüÔsƒ‡ƒàO¼ç)Þ{âÀêÎÿ€å¹9d·×óÿJ_ñõ‹ÒŒ=ÝÉÀ&WЉ® •]E s™;*am÷ðê_(©Qü“r 'îG=™ça
+DV;2³º‚•;«/à€[¾VOz‘²ºÞãVïlžõ'~«çèX½÷¯¤Õ‡ÝXàî͉ð‡­×chGìîAïÈp¬ûé`>Œ»ï÷=åë—Öȹžb•Cð4¾æ¼›‡Z¶ߥc•Ô‹¿´~=éÏwŒ|/½uKw¹»üÕhRO04E`µV»€Uúá
+èÏÁGÈlÄžtÙz+ ÄØÅÊÄá­?dX ¼d± p“»WúËEÞcP‡™apàeÏ{èšH¸Ákø
+ö·)Âúõ!eX4,âðcpA«aíÓ_Ûý“
+ÖÂ0ÒøE¬»Ø óª ·ŠßäÊXS×·;‡}½QÂJú~»sho
+XaКGŒ•°LJkÄf%'qe¬¡·O¬ÔÍ?*Žõº´ç/ß4ç÷m¥ábeÛº¡ŠÕQk„îÕ(üDŽˆÄêBX™¼@äë—àMxï
+”¿‹ÁšëR¡è¥wOi+Äê°B4¬„ªú¸áö2¬ždå:Â`ÍàuŸL.z7¡‡>´'
+u)V;M†ðÎ$ˆ“—ÎQkŽkV¹4ÿ$ò,ÖÄ£_Fáë5Õï2úŽô"r“#\yºý^'d „§oøï³ÚÓ0 oªOáºqçÈ[•`n=ÖÆ¢~¨¨ìi$†÷¸žï1ùÓÕìú•[žJ ¢­jâSõõán÷ÕŸÎßÙSÑ"¶qû>R}½áYeõ§Ãæ$©ú i^†•±Êm%õ´cžNÛ¸ìõ'Ï<ùÃ>ůò§ÃZgÅM¡Á3éáìO…§/7ÀUýé'™¸“=•­óµ«¾þ³om*ªOÏDþQõ)@ó»(¥¿Õ€N<&êOkD(ýªút´vD»µÞV?Ýj¯ßs÷CJõiÈ\ãDËY »+¡òz¸‚ïÜܨΤ쩧û¸Ë°O þ”ì)@Óí—Ý9µ3·=ÙÊJO3ïÙ¦øiÈÛf ýÑSð¹ ØØñQlèþÍùo¬óVê…5œ7bo‡žqÁê«Å߀güÓ…üð·’ÕK¶ ðÏ {q;z ‰NÏ=#lX„ƒvž¢ô5á¸kùXå€ßˆFÚt ?“q†€ó&ZUûØÊ<Í×r†7j’â~[`~7t9w]„þO"ºÅX=)bú¨‚5b³=m–[@Œ8ôö®Š¨¤\+Vš<tT±4P‹Ž”‡z‹±†:vÖØC¾#Â:¾½µ Xw¶Õæ±2Él"§·ö_~¸å¥«ëM+ ð¡Š²
+°/ô=y]¬Ñ­}¦¦¢=›m¶;Z}âl¦[ê¶?}†æ0n—Í¡Ä#` -@2‡«£s(Û,V¢W¹õ{6G°JBë¬.Å_@ÁÈ@ñ»¸§@{ÓvrLMÇà3I´}1¢I¥›y¢mÄìÖÒGÞí>­(8µfÆr®˜ñÛj2-ÿ:³°¾ÑŠW^žûÌõå–gþuk7êNsœÆn +(ƒ×¦tÔ7<“@é¯©Õ F­ACCÙh¬è‹#=Aû7F½@õžèÈ8‘Z'ôMO
+2O7áEب)?eÚ蛹€:RͧÊÐÆÌ\¸ßå@I!¢qßäqì\€°RÁ¿6Êâªtà¯ùVæÉê﵃Ð\(J :¦¶ÍHh¸xŒnqÈøU:7pò´Õ ÆGP¤žfP¶!iÚRT‚"P
+€ÎÝç@Pƒ°yæt¡"4É.£ºÉahŸÖ1xRK´€²iµ·'`\ÀXœ¬€²dOT?G¾'„FøMîªRó‡r#j˜Ѧ¹¦tÛ-\GÒm·ðˆÜ¨³Ì‹ Mv«MMÖÅÕ4ó^ŸÎ–n¢à=€v1éö$“n§P0 mJº©J0yn
+’n8M¾tcÌA]@ØÅE€4v”¼y'¿P\AÒISò³Eœ&ÞT¶]Ø<2.×xDGQuø›ÂVîI]pKÝ<â-6å]ÜXñMm1itg‚z¶Ê0`ó„„
+%P¬°1 qžÏñ¸…¹“'Ë™:E<@(ÇV¿ˆÓL
+¹ƒ:u[%y~«©€”xC’”Ûƺ¤Rs€?HdH‹–N$•, ¥@*NWü™)Ê%nn ß*ä±Ý *ÒPHõ‡z¾ W©fy‰ý·1fHúÌP?ÈÊî¤.MÂkö) ßX9™ðz.u£]¿g¨xcZ>QY…o‹òLîâ„oÞ½(ÕÊPŠ‰j~
+7
+7OÌ/‘I7ŸÍTP^™ÌÇù%Ê —zew¦óK”Ü(Xvwnd Ê´<´QÏ/‘{)<C«8*EíB1}Ÿg#KKèãÇ›>Cb«ÇîFÅ t%ª,6çMé0¨ž§Éç@­{\ß+Ö@jÚTÄ€^™m’@#bEl#‹¨€×Ÿ.VŽl1C›­GãËÚ ÍŠÁõšÂƒžâ4SS8Ô®¿±Ib\ê5r×r)`¼Ôñ¸O3›ZŸ²BDšMÑ›FÌ{3i ã²4ê©`RžCZV“£huš€¦ç‚° DJZš^‰ŽnÇ„íUM'™ßÄ0e;gM·pÕÑôNkÐìŸ2—ïä_ß|Ò<ªŠvùŽQ3ê>Z¬¿ìU*Óôêö˜3t`,®u:Ñ'¾qø§¯ºÈÙ\õÊÅüÁiEæ*årðþ * =A¡ @$l¦½£\„é6[²'®XÑŸéfÔQS•°ØNO
+è‘TÕÉSò=Õ)¢W®«º§#6`Hº+^5Ð(!HìóòJ¨ô"÷f<dõZ#%Ò«1´N ”n,HV–¥²‹K|íöª:Þ”VE _ÝN3µöªJk_n§#•™XÌ—äCÃ
+¶Àeø@æ7¢<Ý’ö‰0Ú'6©U
+g*z£]캩ôkqµº%Þø£7¿5í觩DojçDoaƒ×í—‰Þí èçˆrˆÞÔ.’œ`8/P¿ÈEo”wØ×Ìޠå©UwvôÖÁ…tÃvÆh£Wtõ/ƒB°`PºöÌ$ª\ñ‡gñ¥±™î“Òu½ÒX]CúŠ=0#˜yòØ´®Ë›ºjøGT|aÌ«JÇP1«4ü£¢¤Áàγ'X¬8…Q3O7ê±(—¢Deõ?õdÃCB ºR“ãÄ?ý„@ÝEH›sŠY%nT]3rª[ç'ÏlÉ7d™Ñ€Ÿ n]hj>õÊ<±c “üÔÊ<ÅÝ(XNwÙʼs9Í`ežKTæ¡ Éãâ¼’a5+ód¹ƒú€NËͽ:*]<±J]©O‚©-:/V™'Í0]'b´2ïÊÈ™)çWæÉæ†+λtež Wœwæ¾,¨»@á?Ôw¦v—4jaNí"©—Œ°y^Kýí+Ø‚ª—nziÙ°…㜋ÓJå ï¹&uá8ABµ†]Ðe
+Êøô%ïÚÔùªh• 8´j
+Úç5üyP¸li«cm—÷8äKàŽÝnÑŽ‡ñ-,14GC5™vÚÁÉ* z×W+’\Õ W†‹d_.T$û¹½D‘,„r‘"YX·v‘"Yèü"Yå¨HVí ký2²¥£`eùK(Á_7…‰_>…õøj f,µ÷ì¢<¹ZëÑKQžâÜ\¾(O°ôü³ŠòŽ‰ö·åð=/Q”Ç‹NÍn]”'I²@uyæ‹ò XŒÌ6¬¾R7Í~_8ʹm¬˜/ñS÷›d;>Âܨlú@h†ÎÓÌ;ä¢êÚù!M–ho×Æv£ôw&P-‘âlܾ§Šºî´ö€ÌéŠ7Æ“þT=ÃÇpº«°Œá=z^•ÌvÐ ¢é欼|ôHÛøP,ÅíÙïR7Ý*f{G¡ÔÍDßÐðä{‘Îæ*‘n­÷
+…| ¯]èl8åt³<ŠÜ²!*iQ˜F\Êú¡~™]ì1Ñó«¼ØÏ“5ïÅqkÖðÌ}“²®Õ
+à^µ®Ðd —²²»n^½ØÞD>PÃÚ×.ö+ûâ"¬ò ÞžU^voçæ/|”Õ¡]Ê|­²;ܯŠÕ“JþªûEl¶mäð©^ì÷ö¡U
+_Õ±>ÊÖ«£{
+í«`²§†õñˆ¡Àºeñ£O,»'”X@¹iÒÈÐgÃ@»+t;¶«Å4e#0ˆ‚•Ê­àÒa)W°Z§ÁeÅ©½ï9𬎒ó[·ky W†îô2t^½(À¢y§×Ö@·ŒôIáäzÍŒ®Ó®×S2ŒÅž´¼['^¯w¤![«<fs2©´31çÙn[‘˜žÚwás³ž ”À ¼esÒ~*ià¢4BÑÜhuKçvÝ>±¶
+û”ªúŽbçö)V¬\¤°O©ªO©båÌÂ>%»ZÝÅ=¹°O
+D»XaŸÒ,©dwŸSاTÕ§ï{ªRÄpýêFþY…}²!àoª°OÚ'=ñJ¹HVê#*ìÝþTM9¥áFUõ®ñ4\¶•g?èL¡[ü”ØÒŒÉað?CwEèÞâg”T{èú$Ö#8Tä^×Ú¤q½Ýѽæû„–§ üŒÖ›ªÜÕ+Nð7L*÷TËú¤,lªšé&û#¦…ªË”Ák;™Ë´Ç7òÄ& [@#lfúò?e¢Éïÿ;=ƒ½üOL´“³õ/ÿ3å¨}ù"šîýkúÔî5ž}Ö墌.ûÿŒ—J©\þ' ¦Ën1ùÔžú÷ÿ‰û«{ùŸá³í6õó«<3OøLßœœæX7ZÜtõ/}‹|S?;ýÿ
+žDþtç:¿¦O3½Ñ`v7ªé;£®éJ(+½1œD­U쨜"ÖžÆê¹äFSIj
+ —@†Šp –4Uú6‡4e„­ tjÇãm•[¿Gþ͉…j:’˜IµÐ å>KµÐŒ$‘kç´#)x™BÌ“®à”$õq€Î.ôEPÄ:PYt¤ž¡eîÉ ÝÃÉÜ!yÑjßÎqøíêrÇhªÕ.WÒzO#/ ¿F›8¶$¿üDLЮAjŠM5³‚Ñ7.÷±çëÏ<¼€/ÁºLaŒüXçca«—Î#…ÖÐ.È0s¹#xÖ2°á¬w³¡Ô¸¿:¹ÓT …zú(tö>1ºïÇ0€t-|–¡uI×£þeDêŽZ(zUfJ(<Âb£y¾ÐzT¸÷ïê¤zOÓ÷þ1 ­qõßeJšPZ‚ÖÕףνMõsïý|O•«ÿÌ.#å{ÿDœfY[ÁT—^ý§ð4{ïŸTؘ‚&¯öÕº÷O+Ç`µï‹Ô)#2ís{¶ñ#â4
+Ð0WÓU‡þ©ÚÕt.¹VX½2oçˆÞÒâìî ¬èÒåÌ|,Ujä\š×ð «!Ñ"×SÂÔÊKoBd_­2¯§µlH×üþ¿GÛ»
+ÖXERê)ÇÚVÂʤó 6®?«+ŸJÒ©µÃ§^þ[zpß”Ú]1¥‹’¦Áf
+gÙîåáfºšvKEWñ2±ifnªöu.®ÓŽ…ñ þFöß|:)6ª>²‚°¹@Xú»(;|ç¤xšùCï”ãiÅKì…ˆô•ÚÉIÆJž®{Åß®L›³¼9C“]g#©(
+;µèf¿‹t]º¤'=(CVÚ#€µö—©€Á ¤°G`ö¼$iø%´=ÊHXÄhy€øœ:»Wõ FC'YHêõì9õ–'ÀŒË
+ªŒUSÅEr–ó=5÷TÔëì´Ž{5bªKº¥^$ LŸör!U@Õ…ýBµ¥
+·þȶðLÔ%ê_
+5Z§xÌÄe…Wf\ð²B4š ]TªqY¡d›èﻬðØ“þ[.+4¶;ó²Bqhèo¼¬Wkïe…G”QRE4ìjÔ§Zpá¡ñS­Îºð/ûS¼íP–™rú…‡Úñ×+õrlsª Îy¨šÁ ½S­Œ_x¨]
+Dœ1Ò‘›Â|/Q¯è~ÑÂWÍV)Ò©ª
+ù"Ñ%ÉŒ'VÚ•â¶Î–6Ï[.sŨ÷,¢°¶òí;›lXi4®ÜﺱËÕ_^zžâók~n-ý°”ØËÄâÒá7¹VX`ï„É ½=ïIÂ~#¡a܉b΀,Ñøu£rd {ªðõ΋¾µöAƒ¯?÷Z)P*÷1
+Â8£¤g€å'RPi°æƒ
+óèD\¼ßÜG‹m\ªô ˆADip7K±¦lcZšzku¥BV_Àñ u6iõŒüM«Œù¬žò¶kXý×//VïìjO«÷ù»hõ储¸ì<ùn™€#µîÞ˜Nósèf}$ ØÙ&ƒ­!§ :Ñ2¦â€ù­[¸]׫¸`5ä/ u ¯àÏÛÚÏHMGÖú…¸ÚË^TMŽx.0Ýû™ÐÐÜ ”´€‚öd±¦´<á³ÌóCYlüøà  ‰¡”Žºxîûb¥PúÎÃ1^¨„»õ«~F’¦£ÏðÌ”B‘‹¹5ÝÀ°ð°žQ©Ð²š6ÁÊž%ð™c§´\ð2¿ÁøZeš@‡=ÿúö“_^¯JP¢âH¢Š€W2m(e݆ CÖ”Ìs+·¢ã 9É ïúÎL£‰¯Ö}<W‰DàmÞ©|¾ÿ`{@_·k2AÚ(oµø’§ÚÙI¿O‰ÐÅát)no‘öN¦Àiõ‡èg`ܺˆFú™;S!€Îð#fàÎö@kÉnÏ&ŠÛÏD°@örÝÂ÷g±ÒšãÙm.#«¿ó]‰\ây–ñCä
+ù…cõIú£Ž©eº°¹ œã´§qr›0`·Û¿a=wñÄo`ÔÌF>cH:|+_lijÙ]s
+Fj|LÇ0—=†a;r•o¶²_%2îçºÉ'YýˆÔÀt8á‚À9.ùù àV˜‡ÀìfE³á3.ßö0Žú™Ê>×ï`TÌC×ZìGš3C6ÆÝ»Í<V(:bbÔsg“Ÿ³éo÷éÂän54Œ•·,T*$¡Ï4) U’$ò¿E·!‰Ã¹QŒ]uâLë 9Çš¼ u µÊ˜0*´-
+„Ƭa5bè³T)‡Ýêþ^n8y»w^`ö%¤7 oäøOÑrhnLib+vc¶6ZFuÍgÁ<Ëo+EozÉ6õÐ-ïN j–¡’ÕÛ×àWÌêÝn^ Ö
+y?F_òo9ïËæF%2ã ×rÞuÂA¾—ö_¹J¤ÿt7É"ý5„e>É þCùdÆ] –º™èÛ¥ƒ…ÜÁõJ&#l.ѸÐÁ)>½h ÷{¦;{¢'}bDCièŒ'mÄÖ<ËÉa=‚Óƒ¶Æð›ÜžÈøиU0·/íäÀBÅ ‹óQ‹rÚ¹žÆß¹ÕóïØx~F<ÍiÿðÃØY~mÉ|%GæJrg±Ñ;¨}aý¢ *6 åî…gž}èå
+ö¸¯NéÙ5L–V¤¸oÃkñ}2è·ëBîšß«z†ÂF|Ã%†áe0<{¦(X§„3þÆ€~»¾NgÊœ»v_I‹ýàÄ_—J7 Œºd0^_[9ÆÜ):0± XN&³¯ø™ôo“вžéÅËß~¦È
+ý ¦ñÙÏüöµëÁl»Ï—ØÛË=(4Â1}”\_Äò†'9j2W‡5©køìMz“ƒÒÌ}q¸¼ü;BXÝðª¤/ÐÏPVHùÛ³âææ`eæØ/hB»[ny¢+«â6¶G˧1C½yW,Ñò®º‡» ©òå¿þyBë `õÃ4ÏÖš6’Ë›ÈLûõ°t wžŸb:>š<d7hyDDø ƒCD(lÐuZ
+ïãoŽ Gb:À¼NŽ*DpÛEDȶk©’Î8Iš¡‹•½¨Š™:Ȉ´Çk0Ú\°D 8"·øA¿Z×"à tþíC ‚shoª0ƒËÉE9˜žß¤¬}%†Ò„á2
+(Âð;¿
+àÂÆëUé„[ˆ"P^Ÿ’NÈ©éWR‰SÌ>:,ŒA¦)…aŽµd`j<¼Ø™kÄ‹kS‚“ZkÄKp0"6a‘í®Ëõ‚¤]À-´³¯‚Éw©à/!ç´€"£È¸Dk\EÄpšQÚÔ¸DUEœPgƒPç §iÂÀÎY· §ä2Èô@íN𜦱öAýNTBw÷€N‡%wsö TIŸ"įN@ÐêÇ©¬ÅðK•ô)kŸ0bò &(i¹#Î@.ç4‚6Q.$ùöJ¿J©–â
+äË3ŒIàÒ¯ÒžÈæ0\KàAfw¨UpšÃžnÏKÝLâ½Hûßs•ÈC¥0˜Ö~`¬ ,®f‚媨žš¾¦Êj!C›®¬5_V{…j£LVÖzL—Õ2ËÓde­ÇtY-Dcº²Ö|Yíw•‹™ÊZóeµüNá¹e°ÚeµÒä$ã M–ÕBN3]Yk¾¬öŠ9äÔ\e-fº¬Íle­ù²Z&}Ôde­ù²Z˜ý [Y ¯¤òâø'S¸Zûeå˜ffi ®kh–<\“ç-E~6Ò‰‚?°A€'Ú'o
+>Š ùýˆ¡À*>ª4ÑW.>zÿÀ9«¢¢À}gMœ.S|O¸" ž6]¿8 qÙ¹)zã.`ˆbÏvÒö#"¤¨x‹¤¸ H&Àƒœ†l»”ç)IGÒO¡‡\ôkìd–ë½ceÙøíCÐÖ}É×a¼à†þ"€ÜAûùÅÏÍ A¾W9 ³Ãì§åÁ~:||3UªE× Ç~"¦P0¿„2÷Þ³ä»^ôº&zËcq½C› Ñô]¯3®GGýäø‡YÂhú/Ö/¿Úù¥êεF“Y¯Z;Â/à gü1 ·¢³E91•Þª¼¾ú
+0+þ–x
+±v@ò#Ì~"¼÷䈼}þÍÉ{Ô,t¿Jäòz”kw?Å¡/‹LºíŠ5ö›cAI¦ôð¯[ùHü EfÏ@
+/‡™u‘þz®—âö'JIˆŠv0O¶s 9l.ðYvŽ#²À¹vŽ#‡•ÐgÙ9Œ& kçH€Q:ýñüÑÆâuƒ&^ØXfh+~‡ù]ÛG…-[ŸxËv«Ë·}­{çŽÐRÚö ¹Ë(ÅQص•mÙÒtÊw/ÄwŽ·}#6ëMÞÎ'.n·}i:ÁÀK¯e\°SX— Z10"˜§Ÿ QÑZÃbÒ˜àÀýö¼å~{ƒ,˜7WAL¡#c$1”àÀì`ZÙ­ÍäoÛІ*òJÁD¡^¥½DtºŒò^"Znª{‰²D&+C¾—(최+Å7<¾øLf«›¥Ã»˜ Gb:,bnC5ÅèX"„`wWâ"DææZm:d‹·¡ê–ré½úöáÀõÝ^wcYƒC'Z{Sì2f€U;´w¦NÓ„ñC9ÏÙÝFwƒ %} æ>€Æ²`æF ~í9¯ §W´<OƒŽÙÕ Þ¾’Àh„üç ä)øêŠ=ýÄk}‹›üT³Óü:ÀV.
+¸òDS‹¹^&àÊ,O˜ëe® ˜ëe®Wèxìÿ¯µ«íiÂß‘úü…©%œ}¶ÏfZ¯[Ó^D%„ª
+.rŒ(XÔÈ-c#K|dï[ìocYüì²–ÌÖfÎAq%\pÑ׫Ђ‹mF’o¡¥•]ÄD‚
+›5 M5RV P[Š
+Po–q"eÌ}L
+%‚¤)¼[ »r F/8û?0ÒÝmˆŒy-ÑX&ïÌ럋AùmXÜÜ
+¯ Š?¥*ªênTŒÊ{>¥Ãòat7,ÕÃÏ»G‘H¦IfÉSîKþ4{ôÐ
+endstream endobj 97 0 obj <</Filter/FlateDecode/Length 187>>stream
+H‰LPAÂ0 »çþÀ²$]»öÊ@œBxÀ»0¤Áÿ%RªÔÖ¶œ8iÚà ØlÐBK°?Ï+]ð áP„SéüΩÇs¢vL/Z ?
+SKj4GŒ3Ua¦Æ™^3šÌE w'[*h
+[v^»ê¬zöÐL1Ò(s÷±¯X…-zÒo5‡)*~ݪêiF¡Rp£p×G ëßG kþ‘nt¢ÝÁ—p¢·
+endstream endobj 71 0 obj <</BitsPerComponent 8/ColorSpace 72 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 3/Length 24/Width 3>>stream
+8;Tru],m:GJcGfU!#/Z?j8~>
+endstream endobj 72 0 obj [/Indexed/DeviceRGB 255 73 0 R] endobj 73 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 21 0 obj <</Intent 29 0 R/Name(Ebene 1)/Type/OCG/Usage 30 0 R>> endobj 36 0 obj <</Intent 44 0 R/Name(Ebene 1)/Type/OCG/Usage 45 0 R>> endobj 51 0 obj <</Intent 59 0 R/Name(Ebene 1)/Type/OCG/Usage 60 0 R>> endobj 66 0 obj <</Intent 74 0 R/Name(Ebene 1)/Type/OCG/Usage 75 0 R>> endobj 81 0 obj <</Intent 88 0 R/Name(Ebene 1)/Type/OCG/Usage 89 0 R>> endobj 88 0 obj [/View/Design] endobj 89 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 74 0 obj [/View/Design] endobj 75 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 59 0 obj [/View/Design] endobj 60 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 44 0 obj [/View/Design] endobj 45 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 29 0 obj [/View/Design] endobj 30 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 20.1)/Subtype/Artwork>>>> endobj 96 0 obj [95 0 R] endobj 107 0 obj <</CreationDate(D:20161015145221+02'00')/Creator(Adobe Illustrator CC 2015.3 \(Windows\))/ModDate(D:20161015145806+02'00')/Producer(Adobe PDF library 15.00)/Title(resume)>> endobj xref
+0 108
+0000000004 65535 f
+0000000016 00000 n
+0000000229 00000 n
+0000008611 00000 n
+0000000006 00000 f
+0000042295 00000 n
+0000000008 00000 f
+0000008669 00000 n
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000043300 00000 n
+0000043331 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000022 00000 f
+0000042365 00000 n
+0000000023 00000 f
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000031 00000 f
+0000043184 00000 n
+0000043215 00000 n
+0000000032 00000 f
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000037 00000 f
+0000042436 00000 n
+0000000038 00000 f
+0000000039 00000 f
+0000000040 00000 f
+0000000041 00000 f
+0000000042 00000 f
+0000000043 00000 f
+0000000046 00000 f
+0000043068 00000 n
+0000043099 00000 n
+0000000047 00000 f
+0000000048 00000 f
+0000000049 00000 f
+0000000050 00000 f
+0000000052 00000 f
+0000042507 00000 n
+0000000053 00000 f
+0000000054 00000 f
+0000000055 00000 f
+0000000056 00000 f
+0000000057 00000 f
+0000000058 00000 f
+0000000061 00000 f
+0000042952 00000 n
+0000042983 00000 n
+0000000062 00000 f
+0000000063 00000 f
+0000000064 00000 f
+0000000065 00000 f
+0000000067 00000 f
+0000042578 00000 n
+0000000068 00000 f
+0000000069 00000 f
+0000000070 00000 f
+0000000076 00000 f
+0000041570 00000 n
+0000041733 00000 n
+0000041781 00000 n
+0000042836 00000 n
+0000042867 00000 n
+0000000077 00000 f
+0000000078 00000 f
+0000000079 00000 f
+0000000080 00000 f
+0000000000 00000 f
+0000042649 00000 n
+0000000000 00000 f
+0000008996 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000042720 00000 n
+0000042751 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000009561 00000 n
+0000043416 00000 n
+0000041313 00000 n
+0000009865 00000 n
+0000009752 00000 n
+0000009312 00000 n
+0000009634 00000 n
+0000009666 00000 n
+0000009940 00000 n
+0000010118 00000 n
+0000011451 00000 n
+0000016244 00000 n
+0000043441 00000 n
+trailer
+<</Size 108/Root 1 0 R/Info 107 0 R/ID[<DACA733AEF1D2C42A15FB5C1739E8ECB><13FACF114CEE524FBE098FDA2F744EA7>]>>
+startxref
+43631
+%%EOF
diff --git a/Assets/webui/three_dots.svg b/Assets/webui/three_dots.svg
new file mode 100644
index 000000000..23a68df91
--- /dev/null
+++ b/Assets/webui/three_dots.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#65B1DD;}
+</style>
+<path class="st0" d="M11.5,6C12.9,6,14,4.9,14,3.5S12.9,1,11.5,1S9,2.1,9,3.5S10.1,6,11.5,6z M11.5,8.5C10.1,8.5,9,9.6,9,11
+ s1.1,2.5,2.5,2.5S14,12.4,14,11S12.9,8.5,11.5,8.5z M11.5,16C10.1,16,9,17.1,9,18.5s1.1,2.5,2.5,2.5s2.5-1.1,2.5-2.5
+ S12.9,16,11.5,16z"/>
+</svg>
diff --git a/Duplicati/Library/Main/Controller.cs b/Duplicati/Library/Main/Controller.cs
index 1ba14245f..28dea0b01 100644
--- a/Duplicati/Library/Main/Controller.cs
+++ b/Duplicati/Library/Main/Controller.cs
@@ -606,10 +606,15 @@ namespace Duplicati.Library.Main
if (mx.Value is Library.Interface.IGenericSourceModule)
{
- var sourceoptions = ((Library.Interface.IGenericSourceModule)mx.Value).ParseSourcePaths(ref paths, ref pristinefilter, m_options.RawOptions);
+ var sourcemodule = (Library.Interface.IGenericSourceModule)mx.Value;
- foreach (var sourceoption in sourceoptions)
- m_options.RawOptions[sourceoption.Key] = sourceoption.Value;
+ if (sourcemodule.ContainFilesForBackup(paths))
+ {
+ var sourceoptions = sourcemodule.ParseSourcePaths(ref paths, ref pristinefilter, m_options.RawOptions);
+
+ foreach (var sourceoption in sourceoptions)
+ m_options.RawOptions[sourceoption.Key] = sourceoption.Value;
+ }
}
if (mx.Value is Library.Interface.IGenericCallbackModule)
diff --git a/Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj b/Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
index 5db35f961..fad2aeab4 100644
--- a/Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
+++ b/Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
@@ -65,6 +65,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ConsolePasswordInput.cs" />
+ <Compile Include="MSSQLOptions.cs" />
<Compile Include="HyperVOptions.cs" />
<Compile Include="HttpOptions.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
diff --git a/Duplicati/Library/Modules/Builtin/HyperVOptions.cs b/Duplicati/Library/Modules/Builtin/HyperVOptions.cs
index 7fdf1176e..82582f211 100644
--- a/Duplicati/Library/Modules/Builtin/HyperVOptions.cs
+++ b/Duplicati/Library/Modules/Builtin/HyperVOptions.cs
@@ -27,8 +27,7 @@ namespace Duplicati.Library.Modules.Builtin
{
public class HyperVOptions : Interface.IGenericSourceModule
{
- private const string m_HyperVPathGuidRegExp = @"\%HYPERV\%\\(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}";
- private const string m_HyperVGuidRegExp = @"(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}";
+ private const string m_HyperVPathGuidRegExp = @"\%HYPERV\%\\([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})";
private const string m_HyperVPathAllRegExp = @"%HYPERV%";
#region IGenericModule Members
@@ -75,6 +74,13 @@ namespace Duplicati.Library.Modules.Builtin
if (paths != null)
paths = paths.Where(x => !x.Equals(m_HyperVPathAllRegExp, StringComparison.OrdinalIgnoreCase) && !Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).ToArray();
+ if (!string.IsNullOrEmpty(filter))
+ {
+ var filters = filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries);
+ var remainingfilters = filters.Where(x => !Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).ToArray();
+ filter = string.Join(System.IO.Path.PathSeparator.ToString(), remainingfilters);
+ }
+
return new Dictionary<string, string>();
}
@@ -96,15 +102,17 @@ namespace Duplicati.Library.Modules.Builtin
var filters = filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries);
filtersInclude = filters.Where(x => x.StartsWith("+") && Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
- .Select(x => Regex.Match(x.Substring(1), m_HyperVGuidRegExp).Value).ToList();
+ .Select(x => Regex.Match(x.Substring(1), m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant).Groups[1].Value).ToList();
filtersExclude = filters.Where(x => x.StartsWith("-") && Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
- .Select(x => Regex.Match(x.Substring(1), m_HyperVGuidRegExp).Value).ToList();
+ .Select(x => Regex.Match(x.Substring(1), m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant).Groups[1].Value).ToList();
- var remainingfilters = filters.Where(x => !Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase)).ToArray();
+ var remainingfilters = filters.Where(x => !Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).ToArray();
filter = string.Join(System.IO.Path.PathSeparator.ToString(), remainingfilters);
}
- if (paths == null || !ContainFilesForBackup(paths))
+ var hypervUtility = new HyperVUtility();
+
+ if (paths == null || !ContainFilesForBackup(paths) || !hypervUtility.IsHyperVInstalled)
return changedOptions;
if (commandlineOptions.Keys.Contains("vss-exclude-writers"))
@@ -114,7 +122,6 @@ namespace Duplicati.Library.Modules.Builtin
if (excludedWriters.Contains(HyperVUtility.HyperVWriterGuid))
{
Logging.Log.WriteMessage(string.Format("Excluded writers for VSS cannot contain Hyper-V writer when backuping Hyper-V virtual machines. Removing \"{0}\" to continue", HyperVUtility.HyperVWriterGuid.ToString()), Logging.LogMessageType.Warning);
-
changedOptions["vss-exclude-writers"] = string.Join(";", excludedWriters.Where(x => x != HyperVUtility.HyperVWriterGuid));
}
}
@@ -124,24 +131,24 @@ namespace Duplicati.Library.Modules.Builtin
Logging.Log.WriteMessage("Snapshot strategy have to be set to \"required\" when backuping Hyper-V virtual machines. Changing to \"required\" to continue", Logging.LogMessageType.Warning);
changedOptions["snapshot-policy"] = "required";
}
-
- var hypervUtility = new HyperVUtility();
-
+
if (!hypervUtility.IsVSSWriterSupported)
Logging.Log.WriteMessage("This is client version of Windows. Hyper-V VSS writer is present only on Server version. Backup will continue, but will be crash consistent only in opposite to application consistent in Server version", Logging.LogMessageType.Warning);
- hypervUtility.QueryHyperVGuestsInfo(true);
-
Logging.Log.WriteMessage("Starting to gather Hyper-V information", Logging.LogMessageType.Information);
+ hypervUtility.QueryHyperVGuestsInfo(true);
Logging.Log.WriteMessage(string.Format("Found {0} virtual machines on Hyper-V", hypervUtility.Guests.Count), Logging.LogMessageType.Information);
+ foreach (var guest in hypervUtility.Guests)
+ Logging.Log.WriteMessage(string.Format("Found VM name {0}, ID {1}, files {2}", guest.Name, guest.ID, string.Join(";", guest.DataPaths)), Logging.LogMessageType.Profiling);
+
List<HyperVGuest> guestsForBackup = new List<HyperVGuest>();
if (paths.Contains(m_HyperVPathAllRegExp, StringComparer.OrdinalIgnoreCase))
guestsForBackup = hypervUtility.Guests;
else
foreach (var guestID in paths.Where(x => Regex.IsMatch(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
- .Select(x => Regex.Match(x.Substring(1), m_HyperVGuidRegExp).Value).ToArray())
+ .Select(x => Regex.Match(x, m_HyperVPathGuidRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant).Groups[1].Value).ToArray())
{
var foundGuest = hypervUtility.Guests.Where(x => x.ID == new Guid(guestID));
@@ -160,6 +167,7 @@ namespace Duplicati.Library.Modules.Builtin
throw new Exception(string.Format("Hyper-V guest specified in include filter with ID {0} cannot be found", guestID));
guestsForBackup.Add(foundGuest.First());
+ Logging.Log.WriteMessage(string.Format("Including {0} based on including filters", guestID), Logging.LogMessageType.Information);
}
guestsForBackup = guestsForBackup.Distinct().ToList();
@@ -173,17 +181,18 @@ namespace Duplicati.Library.Modules.Builtin
throw new Exception(string.Format("Hyper-V guest specified in exclude filter with ID {0} cannot be found", guestID));
guestsForBackup.Remove(foundGuest.First());
+ Logging.Log.WriteMessage(string.Format("Excluding {0} based on excluding filters", guestID), Logging.LogMessageType.Information);
}
var pathsForBackup = new List<string>(paths);
-
+ var filterhandler = new Utility.FilterExpression(
+ filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries).Where(x => x.StartsWith("-")).Select(x => x.Substring(1)).ToList());
+
foreach (var guestForBackup in guestsForBackup)
foreach (var pathForBackup in guestForBackup.DataPaths)
{
bool bResult;
Utility.IFilter matchFilter;
- var filterhandler = new Utility.FilterExpression(
- filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries).Where(x => x.StartsWith("-")).Select(x => x.Substring(1)).ToList());
if (!filterhandler.Matches(pathForBackup, out bResult, out matchFilter))
{
diff --git a/Duplicati/Library/Modules/Builtin/MSSQLOptions.cs b/Duplicati/Library/Modules/Builtin/MSSQLOptions.cs
new file mode 100644
index 000000000..03a94bb2c
--- /dev/null
+++ b/Duplicati/Library/Modules/Builtin/MSSQLOptions.cs
@@ -0,0 +1,219 @@
+#region Disclaimer / License
+// Copyright (C) 2015, The Duplicati Team
+// http://www.duplicati.com, info@duplicati.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using Duplicati.Library.Snapshots;
+
+namespace Duplicati.Library.Modules.Builtin
+{
+ public class MSSQLOptions : Interface.IGenericSourceModule
+ {
+ private const string m_MSSQLPathDBRegExp = @"\%MSSQL\%\\(.+)";
+ private const string m_MSSQLPathAllRegExp = @"%MSSQL%";
+
+ #region IGenericModule Members
+
+ public string Key
+ {
+ get { return "mssql-options"; }
+ }
+
+ public string DisplayName
+ {
+ get { return Strings.MSSQLOptions.DisplayName; }
+ }
+
+ public string Description
+ {
+ get { return Strings.MSSQLOptions.Description; }
+ }
+
+ public bool LoadAsDefault
+ {
+ get { return true; }
+ }
+
+ public IList<Interface.ICommandLineArgument> SupportedCommands
+ {
+ get { return null; }
+ }
+
+ public void Configure(IDictionary<string, string> commandlineOptions)
+ {
+ }
+
+ #endregion
+
+ #region Implementation of IGenericSourceModule
+ public Dictionary<string, string> ParseSourcePaths(ref string[] paths, ref string filter, Dictionary<string, string> commandlineOptions)
+ {
+ // Early exit in case we are non-windows to prevent attempting to load Windows-only components
+ if (!Utility.Utility.IsClientWindows)
+ {
+ Logging.Log.WriteMessage("Microsoft SQL Server databases backup works only on Windows OS", Logging.LogMessageType.Warning);
+
+ if (paths != null)
+ paths = paths.Where(x => !x.Equals(m_MSSQLPathAllRegExp, StringComparison.OrdinalIgnoreCase) && !Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).ToArray();
+
+ if (!string.IsNullOrEmpty(filter))
+ {
+ var filters = filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries);
+ var remainingfilters = filters.Where(x => !Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).ToArray();
+ filter = string.Join(System.IO.Path.PathSeparator.ToString(), remainingfilters);
+ }
+
+ return new Dictionary<string, string>();
+ }
+
+ // Windows, do the real stuff!
+ return RealParseSourcePaths(ref paths, ref filter, commandlineOptions);
+ }
+
+ // Make sure the JIT does not attempt to inline this call and thus load
+ // referenced types from System.Management here
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
+ private Dictionary<string, string> RealParseSourcePaths(ref string[] paths, ref string filter, Dictionary<string, string> commandlineOptions)
+ {
+ var changedOptions = new Dictionary<string, string>();
+ var filtersInclude = new List<string>();
+ var filtersExclude = new List<string>();
+
+ if (!string.IsNullOrEmpty(filter))
+ {
+ var filters = filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries);
+
+ filtersInclude = filters.Where(x => x.StartsWith("+") && Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
+ .Select(x => Regex.Match(x.Substring(1), m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant).Groups[1].Value).ToList();
+ filtersExclude = filters.Where(x => x.StartsWith("-") && Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
+ .Select(x => Regex.Match(x.Substring(1), m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant).Groups[1].Value).ToList();
+
+ var remainingfilters = filters.Where(x => !Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).ToArray();
+ filter = string.Join(System.IO.Path.PathSeparator.ToString(), remainingfilters);
+ }
+
+ var mssqlUtility = new MSSQLUtility();
+
+ if (paths == null || !ContainFilesForBackup(paths) || !mssqlUtility.IsMSSQLInstalled)
+ return changedOptions;
+
+ if (commandlineOptions.Keys.Contains("vss-exclude-writers"))
+ {
+ var excludedWriters = commandlineOptions["vss-exclude-writers"].Split(';').Where(x => !string.IsNullOrWhiteSpace(x) && x.Trim().Length > 0).Select(x => new Guid(x)).ToArray();
+
+ if (excludedWriters.Contains(MSSQLUtility.MSSQLWriterGuid))
+ {
+ Logging.Log.WriteMessage(string.Format("Excluded writers for VSS cannot contain MS SQL writer when backuping Microsoft SQL Server databases. Removing \"{0}\" to continue", MSSQLUtility.MSSQLWriterGuid.ToString()), Logging.LogMessageType.Warning);
+ changedOptions["vss-exclude-writers"] = string.Join(";", excludedWriters.Where(x => x != MSSQLUtility.MSSQLWriterGuid));
+ }
+ }
+
+ if (!commandlineOptions.Keys.Contains("snapshot-policy") || commandlineOptions["snapshot-policy"] != "required")
+ {
+ Logging.Log.WriteMessage("Snapshot strategy have to be set to \"required\" when backuping Microsoft SQL Server databases. Changing to \"required\" to continue", Logging.LogMessageType.Warning);
+ changedOptions["snapshot-policy"] = "required";
+ }
+
+ Logging.Log.WriteMessage("Starting to gather Microsoft SQL Server information", Logging.LogMessageType.Information);
+ mssqlUtility.QueryDBsInfo();
+ Logging.Log.WriteMessage(string.Format("Found {0} databases on Microsoft SQL Server", mssqlUtility.DBs.Count), Logging.LogMessageType.Information);
+
+ foreach(var db in mssqlUtility.DBs)
+ Logging.Log.WriteMessage(string.Format("Found DB name {0}, ID {1}, files {2}", db.Name, db.ID, string.Join(";", db.DataPaths)), Logging.LogMessageType.Profiling);
+
+ List<MSSQLDB> dbsForBackup = new List<MSSQLDB>();
+
+ if (paths.Contains(m_MSSQLPathAllRegExp, StringComparer.OrdinalIgnoreCase))
+ dbsForBackup = mssqlUtility.DBs;
+ else
+ foreach (var dbID in paths.Where(x => Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
+ .Select(x => Regex.Match(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant).Groups[1].Value).ToArray())
+ {
+ var foundDB = mssqlUtility.DBs.Where(x => x.ID.Equals(dbID, StringComparison.OrdinalIgnoreCase));
+
+ if (foundDB.Count() != 1)
+ throw new Exception(string.Format("DB name specified in source with ID {0} cannot be found", dbID));
+
+ dbsForBackup.Add(foundDB.First());
+ }
+
+ if (filtersInclude.Count > 0)
+ foreach (var dbID in filtersInclude)
+ {
+ var foundDB = mssqlUtility.DBs.Where(x => x.ID.Equals(dbID, StringComparison.OrdinalIgnoreCase));
+
+ if (foundDB.Count() != 1)
+ throw new Exception(string.Format("DB name specified in include filter with ID {0} cannot be found", dbID));
+
+ dbsForBackup.Add(foundDB.First());
+ Logging.Log.WriteMessage(string.Format("Including {0} based on including filters", dbID), Logging.LogMessageType.Information);
+ }
+
+ dbsForBackup = dbsForBackup.Distinct().ToList();
+
+ if (filtersExclude.Count > 0)
+ foreach (var dbID in filtersExclude)
+ {
+ var foundDB = dbsForBackup.Where(x => x.ID.Equals(dbID, StringComparison.OrdinalIgnoreCase));
+
+ if (foundDB.Count() != 1)
+ throw new Exception(string.Format("DB name specified in exclude filter with ID {0} cannot be found", dbID));
+
+ dbsForBackup.Remove(foundDB.First());
+ Logging.Log.WriteMessage(string.Format("Excluding {0} based on excluding filters", dbID), Logging.LogMessageType.Information);
+ }
+
+ var pathsForBackup = new List<string>(paths);
+ var filterhandler = new Utility.FilterExpression(
+ filter.Split(new string[] { System.IO.Path.PathSeparator.ToString() }, StringSplitOptions.RemoveEmptyEntries).Where(x => x.StartsWith("-")).Select(x => x.Substring(1)).ToList());
+
+ foreach (var dbForBackup in dbsForBackup)
+ foreach (var pathForBackup in dbForBackup.DataPaths)
+ {
+ bool bResult;
+ Utility.IFilter matchFilter;
+
+ if (!filterhandler.Matches(pathForBackup, out bResult, out matchFilter))
+ {
+ Logging.Log.WriteMessage(string.Format("For DB {0} - adding {1}", dbForBackup.Name, pathForBackup), Logging.LogMessageType.Information);
+ pathsForBackup.Add(pathForBackup);
+ }
+ else
+ Logging.Log.WriteMessage(string.Format("Excluding {0} based on excluding filters", pathForBackup), Logging.LogMessageType.Information);
+ }
+
+ paths = pathsForBackup.Where(x => !x.Equals(m_MSSQLPathAllRegExp, StringComparison.OrdinalIgnoreCase) && !Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
+ .Distinct(Utility.Utility.ClientFilenameStringComparer).OrderBy(a => a).ToArray();
+
+ return changedOptions;
+ }
+
+ public bool ContainFilesForBackup(string[] paths)
+ {
+ if (paths == null)
+ return false;
+
+ return paths.Where(x => x.Equals(m_MSSQLPathAllRegExp, StringComparison.OrdinalIgnoreCase) || Regex.IsMatch(x, m_MSSQLPathDBRegExp, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)).Count() > 0;
+ }
+
+ #endregion
+ }
+}
diff --git a/Duplicati/Library/Modules/Builtin/Strings.cs b/Duplicati/Library/Modules/Builtin/Strings.cs
index be32193bd..4bec9d83b 100644
--- a/Duplicati/Library/Modules/Builtin/Strings.cs
+++ b/Duplicati/Library/Modules/Builtin/Strings.cs
@@ -36,6 +36,11 @@ namespace Duplicati.Library.Modules.Builtin.Strings {
public static string Description { get { return LC.L(@"This module works internaly to parse source parameters to backup Hyper-V virtual machines"); } }
public static string DisplayName { get { return LC.L(@"Configure Hyper-V module"); } }
}
+ internal static class MSSQLOptions
+ {
+ public static string Description { get { return LC.L(@"This module works internaly to parse source parameters to backup Microsoft SQL Server databases"); } }
+ public static string DisplayName { get { return LC.L(@"Configure Microsoft SQL Server module"); } }
+ }
internal static class RunScript {
public static string Description { get { return LC.L(@"Executes a script before starting an operation, and again on completion"); } }
public static string DisplayName { get { return LC.L(@"Run script"); } }
diff --git a/Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj b/Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
index 34da4a9e2..dc74d4b6d 100644
--- a/Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
+++ b/Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
@@ -79,6 +79,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="DefineDosDevice.cs" />
+ <Compile Include="MSSQLUtility.cs" />
<Compile Include="HyperVUtility.cs" />
<Compile Include="ISnapshotService.cs" />
<Compile Include="LinuxSnapshot.cs" />
diff --git a/Duplicati/Library/Snapshots/HyperVUtility.cs b/Duplicati/Library/Snapshots/HyperVUtility.cs
index 9263cdc00..cc671ab95 100644
--- a/Duplicati/Library/Snapshots/HyperVUtility.cs
+++ b/Duplicati/Library/Snapshots/HyperVUtility.cs
@@ -140,7 +140,7 @@ namespace Duplicati.Library.Snapshots
var wmiQuery = _wmiv2Namespace
? "SELECT * FROM Msvm_VirtualSystemSettingData WHERE VirtualSystemType = 'Microsoft:Hyper-V:System:Realized'"
: "SELECT * FROM Msvm_VirtualSystemSettingData WHERE SettingType = 3";
-
+
if (IsVSSWriterSupported)
using (var moCollection = new ManagementObjectSearcher(_wmiScope, new ObjectQuery(wmiQuery)).Get())
foreach (var mObject in moCollection)
@@ -148,7 +148,7 @@ namespace Duplicati.Library.Snapshots
else
using (var moCollection = new ManagementObjectSearcher(_wmiScope, new ObjectQuery(wmiQuery)).Get())
foreach (var mObject in moCollection)
- m_Guests.Add(new HyperVGuest((string)mObject["ElementName"], new Guid((string)mObject[_vmIdField]), bIncludePaths ?
+ m_Guests.Add(new HyperVGuest((string)mObject["ElementName"], new Guid((string)mObject[_vmIdField]), bIncludePaths ?
GetVMVhdPathsWMI((string)mObject[_vmIdField])
.Union(GetVMConfigPathsWMI((string)mObject[_vmIdField]))
.Distinct(Utility.Utility.ClientFilenameStringComparer)
@@ -161,17 +161,15 @@ namespace Duplicati.Library.Snapshots
/// <returns>A collection of VMs and paths</returns>
private Dictionary<string, List<string>> GetAllVMsPathsVSS()
{
- IVssBackupComponents m_backup = null;
var ret = new Dictionary<string, List<string>>();
- try
- {
- //Substitute for calling VssUtils.LoadImplementation(), as we have the dlls outside the GAC
- string alphadir = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "alphavss");
- string alphadll = System.IO.Path.Combine(alphadir, VssUtils.GetPlatformSpecificAssemblyShortName() + ".dll");
- IVssImplementation vss = (IVssImplementation)System.Reflection.Assembly.LoadFile(alphadll).CreateInstance("Alphaleonis.Win32.Vss.VssImplementation");
+ //Substitute for calling VssUtils.LoadImplementation(), as we have the dlls outside the GAC
+ string alphadir = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "alphavss");
+ string alphadll = Path.Combine(alphadir, VssUtils.GetPlatformSpecificAssemblyShortName() + ".dll");
+ IVssImplementation vss = (IVssImplementation)System.Reflection.Assembly.LoadFile(alphadll).CreateInstance("Alphaleonis.Win32.Vss.VssImplementation");
- m_backup = vss.CreateVssBackupComponents();
+ using (var m_backup = vss.CreateVssBackupComponents())
+ {
m_backup.InitializeForBackup(null);
m_backup.SetContext(VssSnapshotContext.Backup);
m_backup.SetBackupState(false, true, VssBackupType.Full, false);
@@ -209,15 +207,6 @@ namespace Duplicati.Library.Snapshots
m_backup.FreeWriterMetadata();
}
}
- finally
- {
- try
- {
- if (m_backup != null)
- m_backup.Dispose();
- }
- catch { }
- }
return ret;
}
diff --git a/Duplicati/Library/Snapshots/MSSQLUtility.cs b/Duplicati/Library/Snapshots/MSSQLUtility.cs
new file mode 100644
index 000000000..9bf57c610
--- /dev/null
+++ b/Duplicati/Library/Snapshots/MSSQLUtility.cs
@@ -0,0 +1,154 @@
+using Alphaleonis.Win32.Vss;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+
+namespace Duplicati.Library.Snapshots
+{
+ public class MSSQLDB : IEquatable<MSSQLDB>
+ {
+ public string Name { get; }
+ public string ID { get; }
+ public List<string> DataPaths { get; }
+
+ public MSSQLDB(string Name, string ID, List<string> DataPaths)
+ {
+ this.Name = Name;
+ this.ID = ID;
+ this.DataPaths = DataPaths;
+ }
+
+ bool IEquatable<MSSQLDB>.Equals(MSSQLDB other)
+ {
+ return ID.Equals(other.ID);
+ }
+
+ public override int GetHashCode()
+ {
+ return ID.GetHashCode();
+ }
+
+ public override bool Equals(object obj)
+ {
+ MSSQLDB db = obj as MSSQLDB;
+ if (db != null)
+ {
+ return Equals(db);
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public static bool operator ==(MSSQLDB db1, MSSQLDB db2)
+ {
+ if (object.ReferenceEquals(db1, db2)) return true;
+ if (object.ReferenceEquals(db1, null)) return false;
+ if (object.ReferenceEquals(db2, null)) return false;
+
+ return db1.Equals(db2);
+ }
+
+ public static bool operator !=(MSSQLDB db1, MSSQLDB db2)
+ {
+ if (object.ReferenceEquals(db1, db2)) return false;
+ if (object.ReferenceEquals(db1, null)) return true;
+ if (object.ReferenceEquals(db2, null)) return true;
+
+ return !db1.Equals(db2);
+ }
+ }
+
+ public class MSSQLUtility
+ {
+ /// <summary>
+ /// The MS SQL VSS Writer Guid
+ /// </summary>
+ public static readonly Guid MSSQLWriterGuid = new Guid("a65faa63-5ea8-4ebc-9dbd-a0c4db26912a");
+ /// <summary>
+ /// MS SQL is supported only on Windows platform
+ /// </summary>
+ public bool IsMSSQLInstalled { get; }
+ /// <summary>
+ /// Enumerated MS SQL DBs
+ /// </summary>
+ public List<MSSQLDB> DBs { get { return m_DBs; } }
+ private List<MSSQLDB> m_DBs;
+
+ public MSSQLUtility()
+ {
+ m_DBs = new List<MSSQLDB>();
+
+ if (!Utility.Utility.IsClientWindows)
+ {
+ IsMSSQLInstalled = false;
+ return;
+ }
+
+ var arrInstalledInstances = (string [])Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server", "InstalledInstances", "");
+ IsMSSQLInstalled = arrInstalledInstances == null ? false : arrInstalledInstances.Length > 0;
+
+ if (!IsMSSQLInstalled)
+ Logging.Log.WriteMessage("Cannot find any MS SQL Server instance. MS SQL Server is probably not installed.", Logging.LogMessageType.Information);
+ }
+
+ /// <summary>
+ /// For all MS SQL databases it enumerate all associated paths using VSS data
+ /// </summary>
+ /// <returns>A collection of DBs and paths</returns>
+ public void QueryDBsInfo()
+ {
+ if (!IsMSSQLInstalled)
+ return;
+
+ m_DBs.Clear();
+
+ //Substitute for calling VssUtils.LoadImplementation(), as we have the dlls outside the GAC
+ string alphadir = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "alphavss");
+ string alphadll = Path.Combine(alphadir, VssUtils.GetPlatformSpecificAssemblyShortName() + ".dll");
+ IVssImplementation vss = (IVssImplementation)System.Reflection.Assembly.LoadFile(alphadll).CreateInstance("Alphaleonis.Win32.Vss.VssImplementation");
+
+ using (var m_backup = vss.CreateVssBackupComponents())
+ {
+ m_backup.InitializeForBackup(null);
+ m_backup.SetContext(VssSnapshotContext.Backup);
+ m_backup.SetBackupState(false, true, VssBackupType.Full, false);
+ m_backup.EnableWriterClasses(new Guid[] { MSSQLWriterGuid });
+
+ try
+ {
+ m_backup.GatherWriterMetadata();
+ var writerMetaData = m_backup.WriterMetadata.FirstOrDefault(o => o.WriterId.Equals(MSSQLWriterGuid));
+
+ if (writerMetaData == null)
+ throw new Exception("Microsoft SQL Server VSS Writer not found - cannot backup SQL databases.");
+
+ foreach (var component in writerMetaData.Components)
+ {
+ var paths = new List<string>();
+
+ foreach (var file in component.Files)
+ if (file.FileSpecification.Contains("*"))
+ {
+ if (Directory.Exists(Utility.Utility.AppendDirSeparator(file.Path)))
+ paths.Add(Utility.Utility.AppendDirSeparator(file.Path));
+ }
+ else
+ {
+ if (File.Exists(Path.Combine(file.Path, file.FileSpecification)))
+ paths.Add(Path.Combine(file.Path, file.FileSpecification));
+ }
+
+ m_DBs.Add(new MSSQLDB(component.ComponentName, component.LogicalPath + "\\" + component.ComponentName, paths.Distinct(Utility.Utility.ClientFilenameStringComparer).OrderBy(a => a).ToList()));
+ }
+ }
+ finally
+ {
+ m_backup.FreeWriterMetadata();
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Duplicati/Server/Duplicati.Server.csproj b/Duplicati/Server/Duplicati.Server.csproj
index 7a3bd5c19..a9ef8cf09 100644
--- a/Duplicati/Server/Duplicati.Server.csproj
+++ b/Duplicati/Server/Duplicati.Server.csproj
@@ -76,6 +76,7 @@
<Compile Include="Database\Schedule.cs" />
<Compile Include="SpecialFolders.cs" />
<Compile Include="WebServer\AuthenticationHandler.cs" />
+ <Compile Include="WebServer\RESTMethods\MSSQL.cs" />
<Compile Include="WebServer\RESTMethods\HyperV.cs" />
<Compile Include="WebServer\Server.cs" />
<Compile Include="WebServer\BodyWriter.cs" />
diff --git a/Duplicati/Server/WebServer/RESTMethods/HyperV.cs b/Duplicati/Server/WebServer/RESTMethods/HyperV.cs
index 69b2286a8..cbc1705c9 100644
--- a/Duplicati/Server/WebServer/RESTMethods/HyperV.cs
+++ b/Duplicati/Server/WebServer/RESTMethods/HyperV.cs
@@ -26,6 +26,16 @@ namespace Duplicati.Server.WebServer.RESTMethods
{
public void GET(string key, RequestInfo info)
{
+ // Early exit in case we are non-windows to prevent attempting to load Windows-only components
+ if (Library.Utility.Utility.IsClientWindows)
+ RealGET(key, info);
+ }
+
+ // Make sure the JIT does not attempt to inline this call and thus load
+ // referenced types from System.Management here
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
+ private void RealGET(string key, RequestInfo info)
+ {
var hypervUtility = new HyperVUtility();
if (!hypervUtility.IsHyperVInstalled)
diff --git a/Duplicati/Server/WebServer/RESTMethods/MSSQL.cs b/Duplicati/Server/WebServer/RESTMethods/MSSQL.cs
new file mode 100644
index 000000000..d82a1ede8
--- /dev/null
+++ b/Duplicati/Server/WebServer/RESTMethods/MSSQL.cs
@@ -0,0 +1,80 @@
+// Copyright (C) 2015, The Duplicati Team
+// http://www.duplicati.com, info@duplicati.com
+//
+// This library is free software; you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as
+// published by the Free Software Foundation; either version 2.1 of the
+// License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+using System;
+using System.Collections.Generic;
+using Duplicati.Library.Interface;
+using System.Linq;
+using Duplicati.Library.Snapshots;
+
+namespace Duplicati.Server.WebServer.RESTMethods
+{
+ public class MSSQL : IRESTMethodGET, IRESTMethodDocumented
+ {
+ public void GET(string key, RequestInfo info)
+ {
+ // Early exit in case we are non-windows to prevent attempting to load Windows-only components
+ if (Library.Utility.Utility.IsClientWindows)
+ RealGET(key, info);
+ }
+
+ // Make sure the JIT does not attempt to inline this call and thus load
+ // referenced types from System.Management here
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
+ private void RealGET(string key, RequestInfo info)
+ {
+ var mssqlUtility = new MSSQLUtility();
+
+ if (!mssqlUtility.IsMSSQLInstalled)
+ info.OutputOK();
+
+ try
+ {
+ mssqlUtility.QueryDBsInfo();
+
+ if (string.IsNullOrEmpty(key))
+ info.OutputOK(mssqlUtility.DBs.Select(x => new { id = x.ID, name = x.Name }).ToList());
+ else
+ {
+ var foundDBs = mssqlUtility.DBs.FindAll(x => x.ID.Equals(key, StringComparison.OrdinalIgnoreCase));
+
+ if (foundDBs.Count == 1)
+ info.OutputOK(foundDBs[0].DataPaths.Select(x => new { text = x, id = x, cls = "folder", iconCls = "x-tree-icon-leaf", check = "false", leaf = "true" }).ToList());
+ else
+ info.ReportClientError(string.Format("Cannot find DB with ID {0}.", key));
+ }
+ }
+ catch (Exception ex)
+ {
+ info.ReportClientError("Failed to enumerate Microsoft SQL Server databases: " + ex.Message);
+ }
+ }
+
+ public string Description { get { return "Return a list of Microsoft SQL Server databases"; } }
+
+ public IEnumerable<KeyValuePair<string, Type>> Types
+ {
+ get
+ {
+ return new KeyValuePair<string, Type>[] {
+ new KeyValuePair<string, Type>(HttpServer.Method.Get, typeof(ICommandLineArgument[]))
+ };
+ }
+ }
+
+ }
+}
+
diff --git a/Duplicati/Server/webroot/ngax/img/arrow_collapse_blue.png b/Duplicati/Server/webroot/ngax/img/arrow_collapse_blue.png
new file mode 100644
index 000000000..03109105a
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/arrow_collapse_blue.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/arrow_collapse_green.png b/Duplicati/Server/webroot/ngax/img/arrow_collapse_green.png
new file mode 100644
index 000000000..ac783ca6e
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/arrow_collapse_green.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/arrow_expand_blue.png b/Duplicati/Server/webroot/ngax/img/arrow_expand_blue.png
new file mode 100644
index 000000000..d4f358e83
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/arrow_expand_blue.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/arrow_expand_green.png b/Duplicati/Server/webroot/ngax/img/arrow_expand_green.png
new file mode 100644
index 000000000..7cda7f0c4
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/arrow_expand_green.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/clippy.png b/Duplicati/Server/webroot/ngax/img/clippy.png
new file mode 100644
index 000000000..2c2e4ec9e
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/clippy.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.png b/Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.png
new file mode 100644
index 000000000..ac22b631a
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.png b/Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.png
new file mode 100644
index 000000000..a17e35c21
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.png b/Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.png
new file mode 100644
index 000000000..acbb4f7a2
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/resume.png b/Duplicati/Server/webroot/ngax/img/mainmenu/resume.png
new file mode 100644
index 000000000..f37caa0ea
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/mainmenu/resume.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/img/three_dots.png b/Duplicati/Server/webroot/ngax/img/three_dots.png
new file mode 100644
index 000000000..c41ab07fb
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/img/three_dots.png
Binary files differ
diff --git a/Duplicati/Server/webroot/ngax/index.html b/Duplicati/Server/webroot/ngax/index.html
index d35b5884d..8d349bbd7 100755
--- a/Duplicati/Server/webroot/ngax/index.html
+++ b/Duplicati/Server/webroot/ngax/index.html
@@ -26,7 +26,6 @@
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" type="text/css" href="styles/smoothness/jquery-ui.min.css">
- <link rel="stylesheet" type="text/css" href="styles/styles2.css">
<link rel="stylesheet" type="text/css" href="styles/style.css">
<link rel="stylesheet" type="text/css" href="../oem/ngax/styles/oem.css" />
<link rel="stylesheet" type="text/css" href="../customized/customized.css" />
@@ -51,11 +50,14 @@
<script type="text/javascript" src="scripts/libs/modal.min.js"></script>
<script type="text/javascript" src="scripts/libs/dxTree.js"></script>
<script type="text/javascript" src="scripts/libs/moment-with-locales.min.js"></script>
+ <script type="text/javascript" src="scripts/libs/clipboard.min.js"></script>
+ <script type="text/javascript" src="scripts/libs/ngclipboard.min.js"></script>
<script type="text/javascript" src="scripts/libs/angular-gettext.min.js"></script>
<script type="text/javascript" src="scripts/app.js"></script>
<script type="text/javascript" src="scripts/menu.js"></script>
+ <script type="text/javascript" src="scripts/helper.js"></script>
<script type="text/javascript" src="scripts/angular-gettext-cli_compiled_js_output.js"></script>
@@ -78,7 +80,6 @@
<script type="text/javascript" src="scripts/controllers/SystemSettingsController.js"></script>
<script type="text/javascript" src="scripts/controllers/HomeController.js"></script>
<script type="text/javascript" src="scripts/controllers/EditBackupController.js"></script>
- <script type="text/javascript" src="scripts/controllers/PauseController.js"></script>
<script type="text/javascript" src="scripts/controllers/RestoreController.js"></script>
<script type="text/javascript" src="scripts/controllers/RestoreDirectController.js"></script>
<script type="text/javascript" src="scripts/controllers/LogController.js"></script>
@@ -129,10 +130,10 @@
<span translate>Donate</span>
<ul>
<li>
- <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" /></a>
+ <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" title="{{'Donate with Bitcoins' | translate}}" /></a>
</li>
<li>
- <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" /></a>
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" title="{{'Donate with PayPal' | translate}}" /></a>
</li>
</ul>
</div>
@@ -144,13 +145,37 @@
<div class="mainmenu menu" id="mainmenu">
<ul>
<li>
- <a href="#/add" class="add" translate>Add new backup</a>
+ <a href="#/add" class="add" translate>Add backup</a>
</li>
<li>
<a href="#/restoredirect" class="restore" translate>Restore backup</a>
</li>
- <li>
- <a href="#/pause" id="pause" class="pause" translate>Pause</a>
+ <li ng-show="state.programState == 'Running'">
+ <a href class="pause" id="contextmenulink_pause" translate><span>Pause</span></a>
+
+ <ul class="contextmenu" id="contextmenu_pause">
+ <li>
+ <a href ng-click="pause('5m')" class="pause-5" translate translate-params-number="5">{{number}} Minutes</a>
+ </li>
+ <li>
+ <a href ng-click="pause('10m')" class="pause-10" translate translate-params-number="10">{{number}} Minutes</a>
+ </li>
+ <li>
+ <a href ng-click="pause('15m')" class="pause-15" translate translate-params-number="15">{{number}} Minutes</a>
+ </li>
+ <li>
+ <a href ng-click="pause('30m')" class="pause-30" translate translate-params-number="30">{{number}} Minutes</a>
+ </li>
+ <li>
+ <a href ng-click="pause('1h')" class="pause-60" translate translate-params-number="1">{{number}} Hour</a>
+ </li>
+ <li>
+ <a href ng-click="pause()" class="pause-x" translate>Until resumed</a>
+ </li>
+ </ul>
+ </li>
+ <li ng-hide="state.programState == 'Running'">
+ <a href ng-click="resume()" id="resume" class="resume" translate>Resume</a>
</li>
<li>
<a href="#/settings" class="settings">{{'Settings' | translate}}</a>
@@ -158,7 +183,6 @@
<li>
<a href="#/log" class="log">{{'Show log' | translate}}</a>
</li>
-
</ul>
</div>
@@ -179,19 +203,19 @@
{{'Visit us on' | translate}}
<ul>
<li>
- <a href="https://groups.google.com/forum/#!forum/duplicati" target="_blank"><img src="img/social/ggroups.png" alt="Google Groups" width="28" /></a>
+ <a href="https://groups.google.com/forum/#!forum/duplicati" target="_blank"><img src="img/social/ggroups.png" alt="Google Groups" title="Google Groups" width="28" /></a>
</li>
<li>
- <a href="https://github.com/duplicati" target="_blank"><img src="img/social/github.png" alt="Github" /></a>
+ <a href="https://github.com/duplicati" target="_blank"><img src="img/social/github.png" alt="Github" title="Github" /></a>
</li>
<li>
- <a href="https://www.facebook.com/pages/Duplicati/105118456272281" target="_blank"><img src="img/social/facebook.png" alt="Facebook" /></a>
+ <a href="https://www.facebook.com/pages/Duplicati/105118456272281" target="_blank"><img src="img/social/facebook.png" alt="Facebook" title="Facebook" /></a>
</li>
<li>
- <a href="https://plus.google.com/105271984558189185842" target="_blank"><img src="img/social/google.png" alt="Google Plus" /></a>
+ <a href="https://plus.google.com/105271984558189185842" target="_blank"><img src="img/social/google.png" alt="Google Plus" title="Google Plus" /></a>
</li>
<li>
- <a href="http://www.duplicati.com" target="_blank"><img src="img/social/duplicati.png" alt="duplicati.com" /></a>
+ <a href="http://www.duplicati.com" target="_blank"><img src="img/social/duplicati.png" alt="{{'Duplicati Website' | translate}}" title="{{'Duplicati Website' | translate}}" /></a>
</li>
</ul>
</div>
@@ -200,10 +224,10 @@
<span translate>Donate</span>
<ul>
<li>
- <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" /></a>
+ <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" title="{{'Donate with Bitcoins' | translate}}" /></a>
</li>
<li>
- <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" /></a>
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" title="{{'Donate with PayPal' | translate}}" /></a>
</li>
</ul>
</div>
@@ -218,11 +242,17 @@
<div ng-show="state.CurrentItem != null" class="modal-dialog ng-cloak">
<div class="info">
<div class="title">{{state.CurrentItem.title}}</div>
- <div class="content" ng-show="state.CurrentItem.message">{{state.CurrentItem.message}}</div>
+ <div class="content" ng-show="state.CurrentItem.message || state.CurrentItem.enableTextarea">
+ {{state.CurrentItem.message}}
+ <form ng-show="state.CurrentItem.enableTextarea">
+ <textarea placeholder="{{state.CurrentItem.placeholder}}" ng-model="state.CurrentItem.textarea" id="copytarget"></textarea>
+ </form>
+ </div>
<div class="content" ng-show="state.CurrentItem.htmltemplate" ng-include="state.CurrentItem.htmltemplate"></div>
<div class="content buttons">
<ul>
- <li ng-repeat="btn in state.CurrentItem.buttons track by $index" style="display: inline-block"><a href class="button" ng-click="onButtonClick($index)" >{{btn}}</a></li>
+ <li ng-show="state.CurrentItem.buttonTemplate" ng-include="state.CurrentItem.buttonTemplate" style="display: inline-block"></li>
+ <li ng-repeat="btn in state.CurrentItem.buttons track by $index" style="display: inline-block"><a href class="button" ng-click="onButtonClick($index)">{{btn}}</a></li>
</ul>
</div>
</div>
@@ -231,7 +261,7 @@
<div id="connection-lost-blocker" ng-show="state.connectionState != 'connected'" class="blocker ng-cloak" ng-click=""></div>
- <div id="connection-lost-dialog" ng-show="state.connectionState != 'connected'" class="connection-lost ng-cloak" >
+ <div id="connection-lost-dialog" ng-show="state.connectionState != 'connected'" class="connection-lost ng-cloak" >
<div class="info">
<div class="title" translate>Connection lost</div>
<div class="content" ng-show="state.connectionState !='connecting'" translate translate-params-time="(state.connectionAttemptTimer + 1000) | timeremaining">
diff --git a/Duplicati/Server/webroot/ngax/less/fonts.less b/Duplicati/Server/webroot/ngax/less/fonts.less
index 29f6c7270..8870da65d 100755
--- a/Duplicati/Server/webroot/ngax/less/fonts.less
+++ b/Duplicati/Server/webroot/ngax/less/fonts.less
@@ -1,5 +1,4 @@
-@font-face
-{
+@font-face {
font-family: 'Clear Sans';
src: url('../fonts/ClearSans-Light-webfont.eot');
src: url('../fonts/ClearSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
@@ -10,8 +9,7 @@
font-style: normal;
}
-@font-face
-{
+@font-face {
font-family: 'Clear Sans';
src: url('../fonts/ClearSans-Regular-webfont.eot');
src: url('../fonts/ClearSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
@@ -22,8 +20,7 @@
font-style: normal;
}
-@font-face
-{
+@font-face {
font-family: 'Clear Sans';
src: url('../fonts/ClearSans-Medium-webfont.eot');
src: url('../fonts/ClearSans-Medium-webfont.eot?#iefix') format('embedded-opentype'),
@@ -34,8 +31,7 @@
font-style: normal;
}
-@font-face
-{
+@font-face {
font-family: 'Clear Sans';
src: url('../fonts/ClearSans-Bold-webfont.eot');
src: url('../fonts/ClearSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
diff --git a/Duplicati/Server/webroot/ngax/less/form.less b/Duplicati/Server/webroot/ngax/less/form.less
index 0e60a58e7..9054d27a4 100755
--- a/Duplicati/Server/webroot/ngax/less/form.less
+++ b/Duplicati/Server/webroot/ngax/less/form.less
@@ -1,19 +1,26 @@
// form.css for duplicati 2.0 | Alex Franzelin 2015
-form.styled
-{
- label
- {
+form.styled {
+ div.leftflush input {
+ width: auto;
+ margin-top: 10px;
+ }
+
+ div.leftflush label {
+ width: auto;
+ min-width: 190px;
+ }
+
+ label {
display: block;
width: 190px;
float: left;
line-height: 37px;
}
-
+
input,
textarea,
- select
- {
+ select {
color: @tColor;
font-size: 16px;
font-weight: 300;
@@ -23,44 +30,37 @@ form.styled
border-radius: 2px;
width: 420px;
}
-
+
input:focus,
textarea:focus,
- select:focus
- {
+ select:focus {
border: 1px darken(@border, 20%) solid;
}
-
-
- .input
- {
+
+
+ .input {
padding-bottom: 18px;
overflow: hidden;
}
-
+
.input.text,
- .input.password
- {
- input
- {
+ .input.password {
+ input {
height: 35px;
line-height: 35px;
padding: 0 12px;
}
}
-
- .input.text.text-browse
- {
- input
- {
+
+ .input.text.text-browse {
+ input {
width: 375px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: 0;
}
-
- a.browse
- {
+
+ a.browse {
width: 45px;
display: block;
float: left;
@@ -72,26 +72,21 @@ form.styled
background: @lColor;
line-height: 37px;
}
-
- a.browse:hover
- {
+
+ a.browse:hover {
background: darken(@lColor, 20%);
}
}
-
- .input.textarea
- {
- textarea
- {
+
+ .input.textarea {
+ textarea {
height: 130px;
padding: 10px 12px;
}
}
-
- .input.select
- {
- select
- {
+
+ .input.select {
+ select {
width: 446px;
padding: 0 12px;
-webkit-appearance: menulist-button;
@@ -101,15 +96,13 @@ form.styled
line-height: 38px;
}
}
-
- .buttons
- {
+
+ .buttons {
overflow: hidden;
float: right;
-
+
input,
- a
- {
+ a {
display: block;
background: @lColor;
color: white !important;
@@ -124,28 +117,23 @@ form.styled
font-weight: 300;
border-radius: 0;
}
-
- input
- {
+
+ input {
padding: 4px 15px;
}
-
+
input:hover,
- a:hover
- {
+ a:hover {
background: darken(@lColor, 25%);
}
}
}
-@media(max-width: 480px)
-{
- form.styled
- {
+@media (max-width: 480px) {
+ form.styled {
input,
textarea,
- select
- {
+ select {
font-size: 15px;
}
}
diff --git a/Duplicati/Server/webroot/ngax/less/style.less b/Duplicati/Server/webroot/ngax/less/style.less
index 8483ff30a..4f3f79922 100755
--- a/Duplicati/Server/webroot/ngax/less/style.less
+++ b/Duplicati/Server/webroot/ngax/less/style.less
@@ -1,54 +1,62 @@
// duplicati 2.0 less | Alex Franzelin 2015
-
@import 'fonts.less';
@import 'variables.less';
@import 'form.less';
@import 'font-awesome/font-awesome.less';
-*
-{
+// https://css-tricks.com/snippets/css/a-guide-to-flexbox/
+.flexbox() {
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+}
+
+.flex(@grow: 0; @shrink: 1; @basis: auto) {
+ -webkit-box-flex: @grow @shrink @basis;
+ -moz-box-flex: @grow @shrink @basis;
+ -webkit-flex: @grow @shrink @basis;
+ -ms-flex: @grow @shrink @basis;
+ flex: @grow @shrink @basis;
+}
+
+* {
font-family: 'Clear Sans', sans-serif;
}
html,
-body
-{
+body {
margin: 0;
padding: 0;
height: 100%;
}
h1,
-h2
-{
+h2 {
font-weight: 300;
color: @hColor;
}
-h1
-{
+h1 {
margin: 10px 0;
}
-h3
-{
+h3 {
font-weight: 400;
}
-a
-{
+a {
text-decoration: none;
}
-ul
-{
+ul {
list-style: none;
margin: 0;
padding: 0;
}
-hr
-{
+hr {
border: none;
border-bottom: 1px #ddd solid;
}
@@ -57,8 +65,7 @@ textarea {
max-width: 94%;
}
-.button
-{
+.button {
display: block;
background: @lColor;
color: white !important;
@@ -74,230 +81,554 @@ textarea {
border-radius: 0;
}
-.button:hover
-{
+.button:hover {
background: darken(@lColor, 10%);
}
+.step3 source-folder-picker, #folder_path_picker, #restore_file_picker {
+ display: block;
+ border: 1px solid lightgray;
+ padding: 2px;
+ height: 100%;
+ overflow: auto;
+}
+
+.ui-match {
+ font-weight: bold;
+ color: darkgreen;
+}
+
+wait-area {
+ min-width: 350px;
+ text-align: center;
+ display: block;
+}
+
+.prewrapped-text {
+ white-space: pre-wrap;
+}
+
+.exceptiontext {
+ background-color: lightgray;
+ color: black;
+}
+
+ul.tabs {
+ margin-bottom: 10px;
+
+ > li {
+ display: inline;
+ margin-right: 10px;
+ border: 1px solid @lColor;
+ padding: 5px;
+
+ &.active {
+ background-color: @lColor;
+ color: white;
+
+ > a {
+ background-color: @lColor;
+ color: white;
+ }
+
+ &.disabled {
+ border: 1px solid lightgray;
+ background-color: lightgray;
+ color: grey;
+ cursor: default;
+
+ > a {
+ background-color: lightgray;
+ color: grey;
+ cursor: default;
+ }
+ }
+ }
+ }
+}
+
+.licenses {
+ > ul {
+ list-style: initial;
+ margin: 10px;
+ margin-left: 20px;
+ }
+
+ li {
+ margin-bottom: 10px;
+ }
+
+ a.itemlink {
+ font-weight: bold;
+ }
+}
+
+.logpage {
+ ul.entries {
+ list-style: initial;
+ margin: 10px;
+ margin-left: 20px;
+ }
+
+ .entries {
+ div.entryline {
+ cursor: pointer;
+ }
+ }
+
+ .entries.livedata {
+ li {
+ height: 1.2em;
+ overflow: hidden;
+ }
+
+ li.expanded {
+ height: auto;
+ overflow: auto;
+ }
+ }
+
+ .button {
+ text-align: center;
+ margin-right: 10px;
+ border: 1px solid @lColor;
+ padding: 5px;
+ background-color: @lColor;
+ color: white;
+ cursor: pointer;
+ }
+}
+
+.exportpage {
+ .checkbox {
+ input {
+ width: auto;
+ margin-top: 10px;
+ }
+ }
+ .commandline {
+ div {
+ background-color: lightgray;
+ color: black;
+ }
+ }
+}
+
+.themelink {
+ margin-left: 20px;
+}
+
+ul.notification {
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ right: 0px;
+ margin: auto;
+ width: 300px;
+}
+
+.notification {
+ .title {
+ border: 1px solid @lColor;
+ background-color: @lColor;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ border-bottom-left-radius: 0px;
+ border-bottom-right-radius: 0px;
+ padding: 2px;
+ padding-left: 5px;
+ padding-right: 5px;
+ font-weight: bold;
+ color: lightgray;
+ width: 100%;
+ text-align: center;
+ clear: both;
+ }
+
+ .content {
+ background-color: white;
+ border: 1px solid @lColor;
+ border-top-left-radius: 0px;
+ border-top-right-radius: 0px;
+ border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 5px;
+ padding: 2px;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-bottom: 30px;
+ width: 100%;
+ }
+
+ .message {
+ width: 100%;
+ color: black;
+ }
+ .buttons {
+ padding-top: 6px;
+ }
+
+ .button {
+ padding: 2px 10px;
+ }
+
+ .error {
+ .title {
+ border-color: red;
+ background-color: red;
+ }
+
+ .content {
+ border-color: red;
+ }
-body
-{
+ .button {
+ border-color: red;
+ background-color: red;
+ }
+ }
+
+ .warning {
+ .title {
+ background-color: orange;
+ border-color: orange;
+ }
+
+ .button {
+ background-color: orange;
+ border-color: orange;
+ }
+
+ .content {
+ border-color: orange;
+ }
+ }
+}
+
+.filepicker {
+ height: 200px;
+}
+
+.resizable {
+ margin-bottom: 6px;
+ max-width: 100%;
+}
+
+.advanced-toggle {
+ float: right;
+ margin-right: 25px;
+ line-height: 37px;
+}
+
+.advancedoptions {
+ li {
+ clear: both;
+ margin-bottom: 10px;
+ padding: 10px 0;
+ border-top: 1px lightgray solid;
+ }
+}
+
+.advancedentry {
+ .multiple {
+ display: inline;
+ }
+
+ .shortname {
+ font-weight: bold;
+ }
+
+ input[type="text"] {
+ width: 300px;
+ }
+
+ select {
+ width: 300px;
+ }
+
+ input[type="checkbox"] {
+ margin-top: 13px;
+ width: auto;
+ }
+
+ .longdescription {
+ margin-left: 190px;
+ clear: both;
+ font-style: italic;
+ }
+}
+
+.settings {
+ div.sublabel {
+ clear: both;
+ padding: 0 31px;
+ font-style: italic;
+ }
+}
+
+.logo {
+ div.build-suffix {
+ display: inline;
+ font-size: 16px;
+ }
+
+ div.powered-by {
+ font-size: 16px;
+ margin: 0px;
+ line-height: 16px;
+ padding: 0px;
+ margin-top: -25px;
+ margin-left: 10px;
+ }
+}
+
+.fixed-width-font {
+ font-family: monospace;
+}
+
+.warning {
+ margin: 10px;
+ font-style: italic;
+ color: #f49b42;
+}
+
+div.captcha {
+ .details {
+ padding-top: 10px;
+ margin-left: auto;
+ margin-right: auto;
+ width: 180px;
+ }
+}
+
+.centered-text {
+ text-align: center;
+}
+
+body {
color: @tColor;
-
- .container
- {
+
+ .container {
min-height: 100%;
position: relative;
-
- .header
- {
+
+ .header {
height: 70px;
line-height: 70px;
background: @headerBg;
overflow: hidden;
-
- a
- {
+
+ a {
color: @lColor;
}
-
+
a:hover,
- a.active
- {
+ a.active {
color: darken(@tColor, 25%);
}
-
- .logo
- {
+
+ .logo {
font-size: 30px;
font-weight: 700;
float: left;
padding-left: 50px;
}
-
- .about-header
- {
+
+ .about-header {
float: right;
padding-right: 20px;
overflow: hidden;
-
- ul
- {
+
+ ul {
overflow: hidden;
list-style: none;
-
- li
- {
+
+ li {
float: right;
padding-right: 20px;
}
}
}
-
- .donate
- {
- img
- {
+
+ .donate {
+ float: right;
+
+ ul {
+ overflow: hidden;
+ float: right;
+ padding-left: 20px;
+ padding-right: 10px;
+
+ li {
+ float: right;
+ margin-right: 10px;
+ padding-top: 5px;
+ }
+ }
+
+ img {
opacity: 0.6;
}
-
- img:hover
- {
+
+ img:hover {
opacity: 1;
}
}
}
-
- .body
- {
+
+ .body {
width: 100%;
overflow: hidden;
min-height: 500px;
padding-top: 50px;
padding-bottom: 70px;
-
- a
- {
+
+ a {
color: @lColor;
}
-
- .mainmenu
- {
+
+ .mainmenu {
width: 260px;
padding-left: 40px;
float: left;
-
- ul
- {
- li
- {
+
+ > ul {
+ > li {
position: relative;
-
- a
- {
+
+ > a {
font-size: 22px;
font-weight: 300;
padding: 5px 10px 5px 55px;
display: block;
}
-
- a:hover,
- a.active
- {
+
+ > a:hover,
+ > a.active {
color: white;
}
-
- a.add
- {
+
+ > a.add {
background: url('../img/mainmenu/add.png') no-repeat 8px 7px;
}
-
- a.restore
- {
+
+ > a.restore {
background: url('../img/mainmenu/restore.png') no-repeat 8px 7px;
}
-
- a.pause
- {
+
+ > a.pause {
background: url('../img/mainmenu/pause.png') no-repeat 8px 7px;
+
+ span {
+ padding-right: 25px;
+ background: url('../img/mainmenu/arrow_right.png') right center no-repeat;
+ }
+ }
+
+ > a.resume {
+ background: url('../img/mainmenu/resume.png') no-repeat 8px 7px;
}
-
- a.settings
- {
+
+ > a.settings {
background: url('../img/mainmenu/settings.png') no-repeat 8px 7px;
}
-
- a.log
- {
+
+ > a.log {
background: url('../img/mainmenu/log.png') no-repeat 8px 7px;
}
-
- a.add:hover,
- a.add.active
- {
+
+ > a.add:hover,
+ > a.add.active {
background: @lColor url('../img/mainmenu/over/add.png') no-repeat 8px 7px;
}
-
- a.restore:hover,
- a.restore.active
- {
+
+ > a.restore:hover,
+ > a.restore.active {
background: @lColor url('../img/mainmenu/over/restore.png') no-repeat 8px 7px;
}
-
- a.pause:hover,
- a.pause.active
- {
+
+ > a.pause:hover,
+ > a.pause.active {
background: @lColor url('../img/mainmenu/over/pause.png') no-repeat 8px 7px;
+
+ span {
+ background: url('../img/mainmenu/over/arrow_right.png') right center no-repeat;
+ }
+ }
+
+ > a.resume:hover,
+ > a.resume.active {
+ background: @lColor url('../img/mainmenu/over/resume.png') no-repeat 8px 7px;
}
-
- a.settings:hover,
- a.settings.active
- {
+
+ > a.settings:hover,
+ > a.settings.active {
background: @lColor url('../img/mainmenu/over/settings.png') no-repeat 8px 7px;
}
-
- a.log:hover,
- a.log.active
- {
+
+ > a.log:hover,
+ > a.log.active {
background: @lColor url('../img/mainmenu/over/log.png') no-repeat 8px 7px;
}
-
- ul
- {
- position: absolute;
- left: 200px;
- top: 25px;
- background: white;
- border: 1px @headerBg solid;
- box-shadow: 0px 7px 15px rgba(0,0,0,0.2);
- z-index: 200;
-
- li
- {
- a
- {
- color: @tColor;
- font-size: 15px;
- font-weight: 400;
- padding: 0;
- display: block;
- width: 205px;
- padding: 4px 10px;
- }
-
- a:hover,
- a.active
- {
- background: @lColor;
- color: white;
- }
- }
- }
}
-
- li.hr-top
- {
+
+ li.hr-top {
padding-top: 25px;
margin-top: 25px;
border-top: 1px @headerBg solid;
}
}
}
-
- .content
- {
+
+ div.contextmenu_container {
+ position: relative;
+ }
+
+ .contextmenu {
+ display: none;
+ position: absolute;
+ left: 260px;
+ top: 19px;
+ background: white;
+ border: 1px @headerBg solid;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
+ z-index: 200;
+ padding: 5px;
+
+ li {
+ a {
+ color: @lColor;
+ font-size: 15px;
+ font-weight: 400;
+ padding: 0;
+ display: block;
+ min-width: 200px;
+ padding: 4px 10px;
+ white-space: nowrap;
+ }
+
+ a:hover,
+ a.active {
+ background: @lColor;
+ color: white;
+ }
+ }
+ }
+
+ .contextmenu.open {
+ display: block;
+ }
+
+ .content {
float: left;
padding-left: 50px;
padding-bottom: 50px;
max-width: 700px;
-
- ul.tabs > li
- {
+
+ ul.tabs > li {
display: inline-block;
}
-
- .state
- {
+
+ .state {
color: @hColor;
width: 575px;
padding: 13px 15px;
@@ -305,83 +636,78 @@ body
font-weight: 300;
font-size: 18px;
overflow: hidden;
-
- strong
- {
+
+ strong {
display: inline-block;
margin-right: 10px;
}
-
- .button
- {
+
+ .button {
position: static;
margin-top: 70px;
}
}
-
- .tasks
- {
+
+ .tasks {
padding-top: 20px;
-
- .tasklist
- {
- .task
- {
+
+ .tasklist {
+ .task {
border-top: 1px solid #eee;
padding-top: 20px;
margin-bottom: 25px;
}
-
- .task:last-child
- {
+
+ .task:last-child {
border-bottom: 1px solid #eee;
padding-bottom: 20px;
}
-
- a
- {
+
+ a {
font-size: 30px;
padding-left: 55px;
background: url('../img/backup.png') no-repeat 5px 6px;
font-weight: 300;
display: inline-block;
+
+ &.action-link {
+ font-size: 14px;
+ background: none;
+ padding-left: 0px;
+ }
}
-
- a::after
- {
- content: " >";
- }
-
- dl
- {
+
+ dl {
padding-left: 55px;
overflow: hidden;
font-size: 14px;
-
+
dt,
- dd
- {
+ dd {
display: block;
float: left;
}
-
- dt
- {
+
+ dt {
clear: both;
font-weight: 500;
margin-bottom: 5px;
}
-
- dd
- {
+
+ dd {
margin-left: 10px;
}
}
-
- dl.contextmenu
- {
- dt
- {
+
+ dl.taskmenu {
+ p {
+ display: inline;
+ margin-right: 10px;
+ color: @lColor;
+ cursor: pointer;
+ }
+
+ dt {
float: left;
margin-right: 10px;
margin-bottom: 0;
@@ -390,16 +716,14 @@ body
cursor: pointer;
clear: none;
}
-
+
dt.active,
- dt:hover
- {
+ dt:hover {
//background: @lColor;
//color: white;
}
-
- dd
- {
+
+ dd {
clear: both;
float: none;
padding-bottom: 8px;
@@ -409,24 +733,19 @@ body
}
}
}
-
- div.add
- {
- .steps
- {
+
+ div.add,
+ div.restore {
+ .steps {
width: 100%;
overflow: hidden;
- margin-left: 50px;
-
- .step
- {
+
+ .step {
float: left;
- padding-left: 130px;
background: url('../img/steps/line-out.png') no-repeat top left;
color: #c7e5f6;
-
- span
- {
+
+ span {
display: block;
border: 4px #c7e5f6 solid;
background: white;
@@ -439,57 +758,66 @@ body
cursor: pointer;
}
}
-
- .step.active
- {
+
+ .step.active {
color: @lColor;
-
- span
- {
+
+ span {
border: 4px @lColor solid;
background: @lColor;
color: white;
}
-
- h2
- {
+
+ h2 {
color: @lColor;
}
}
-
- .step:first-child
- {
+
+ .step:first-child {
padding-left: 0;
background: transparent;
}
}
-
- .steps-boxes
- {
+
+ .steps-legend {
+ overflow: hidden;
+ padding-bottom: 50px;
+ list-style: none;
+ margin: 0;
+
+ li {
+ color: #c7e5f6;
+ font-size: 18px;
+ text-align: center;
+ float: left;
+ padding-top: 10px;
+ cursor: pointer;
+ }
+
+ li.active {
+ color: @lColor;
+ }
+ }
+
+ .steps-boxes {
padding-left: 40px;
-
- .step
- {
+
+ .step {
display: none;
}
-
- .step.active
- {
+
+ .step.active {
display: block;
}
-
- .box.browser
- {
- .checklinks
- {
- a
- {
+
+ .box.browser {
+ .checklinks {
+ a {
float: left;
margin-left: 20px;
color: @tColor;
-
- i
- {
+
+ i {
border: 2px solid;
border-color: @tColor;
border-radius: 2px;
@@ -499,53 +827,43 @@ body
width: 18px;
}
}
-
- a.inactive
- {
+
+ a.inactive {
color: lighten(@tColor, 20%);
cursor: default;
-
- i
- {
+
+ i {
border-color: lighten(@tColor, 20%);
}
}
-
- a:first-child
- {
+
+ a:first-child {
margin-left: 0;
}
}
-
- .input.overlayButton
- {
+
+ .input.overlayButton {
padding-top: 10px;
max-width: 100%;
-
- input#sourcePath
- {
+
+ input#sourcePath {
width: 100%;
box-sizing: border-box;
height: 37px;
}
-
- a.button
- {
+
+ a.button {
top: 10px;
}
}
}
-
- .box.filters
- {
- .input.link
- {
- a
- {
+
+ .box.filters {
+ .input.link {
+ a {
color: @tColor;
-
- i
- {
+
+ i {
border: 2px solid;
border-color: @tColor;
border-radius: 2px;
@@ -556,102 +874,112 @@ body
}
}
}
-
- ul#simplefilterlist
- {
+
+ ul#simplefilterlist {
overflow: hidden;
padding-bottom: 15px;
-
- li
- {
+
+ li {
overflow: hidden;
clear: both;
padding-bottom: 5px;
-
- select
- {
+
+ select {
width: 200px;
margin-right: 5px;
height: 36px;
line-height: 36px;
}
-
- input
- {
+
+ input {
width: 280px;
padding: 5px;
}
}
}
}
-
- .step4
- {
+
+ .step1 {
+ li.strength.score-0 {
+ color: #ff0000;
+ }
+
+ li.strength.score-1 {
+ color: #ff7700;
+ }
+
+ li.strength.score-2 {
+ color: #aaaa00;
+ }
+
+ li.strength.score-3 {
+ color: #007700;
+ }
+
+ li.strength.score-4 {
+ color: #427e27;
+ }
+
+ li.strength.score-x {
+ color: #ff0000;
+ }
+
+ }
+
+ .step5 {
div.input.maxSize input.number,
- div.input.keepBackups input.number
- {
+ div.input.keepBackups input.number {
width: 60px;
}
-
- .advancedoptions
- {
+
+ .advancedoptions {
padding-top: 15px;
clear: both;
-
- li
- {
+
+ li {
border-top: none;
}
-
- li > a
- {
+
+ li > a {
.button;
}
-
- li.advancedentry
- {
+
+ li.advancedentry {
border-bottom: 1px solid lightgray;
}
-
- li:last-child
- {
+
+ li:last-child {
padding-top: 0;
-
- select
- {
+
+ select {
max-width: 400px;
}
}
-
- label
- {
+
+ label {
line-height: normal;
}
-
+
input,
- select
- {
+ select {
width: auto;
max-width: 100%;
box-sizing: border-box;
}
-
- .longdescription
- {
+
+ .longdescription {
margin-top: 10px;
}
}
-
- .advanced-toggle
- {
+
+ .advanced-toggle {
color: @tColor;
line-height: normal;
margin-top: 16px;
clear: both;
float: left;
-
- i.fa
- {
+
+ i.fa {
border: 2px solid;
border-color: @tColor;
border-radius: 2px;
@@ -661,9 +989,8 @@ body
width: 18px;
}
}
-
- textarea
- {
+
+ textarea {
box-sizing: border-box;
clear: both;
margin-top: 15px;
@@ -671,198 +998,218 @@ body
}
}
}
-
- .steps-legend
- {
- overflow: hidden;
- padding-bottom: 50px;
- list-style: none;
- padding-left: 0;
- margin: 0;
-
- li
- {
- color: #c7e5f6;
- font-size: 18px;
- text-align: center;
- float: left;
- width: 175px;
- padding-top: 10px;
- cursor: pointer;
- }
-
- li:first-child
- {
- width: 140px;
- padding-right: 15px;
- }
-
- li.active
- {
- color: @lColor;
- }
- }
-
- form
- {
+
+ form {
padding-bottom: 50px;
overflow: hidden;
-
- .input.password
- {
- .tools
- {
+
+ .input.password {
+ .tools {
clear: both;
padding-left: 190px;
padding-top: 10px;
-
- ul
- {
+
+ ul {
overflow: hidden;
-
- li
- {
+
+ li {
float: left;
padding-right: 7px;
}
-
- li.strength.useless
- {
+
+ li.strength.useless {
color: red;
}
-
- li.strength.average
- {
+
+ li.strength.average {
color: yellow;
}
-
- li.strength.good
- {
+
+ li.strength.good {
color: @lColor;
}
}
}
}
-
- .input.multiple
- {
+
+ .input.multiple {
input,
- select
- {
+ select {
width: auto;
margin-right: 5px;
}
-
- select
- {
+
+ select {
padding: 5px 12px;
}
}
-
- .input.overlayButton
- {
+
+ .input.overlayButton {
overflow: hidden;
position: relative;
max-width: 446px;
-
- input
- {
+
+ input {
width: 347px;
}
-
- a.button
- {
+
+ a.button {
position: absolute;
top: 0;
right: 0;
padding: 7px 12px 8px;
}
}
-
- .input.checkbox.multiple
- {
- strong
- {
+
+ .input.checkbox.multiple {
+ strong {
display: block;
padding-bottom: 5px;
}
-
- label
- {
+
+ label {
display: inline-block;
float: none;
width: auto;
padding-right: 10px;
}
-
- input
- {
+
+ input {
width: auto;
display: inline-block;
float: none;
}
}
-
- .buttons
- {
+
+ .buttons {
float: none;
width: 635px;
padding-top: 30px;
}
}
}
-
- div.settings
- {
+
+ div.add {
+ @legends-steps: 5;
+ @legends-width: 700px;
+ @legends-padding-left: (700px - @legends-width) / 2;
+ @circle-width: 43px;
+ @step-width: @legends-width / @legends-steps;
+
+ .steps {
+ margin-left: (@step-width - @circle-width) / 2 + @legends-padding-left;
+
+ .step {
+ padding-left: @step-width - @circle-width;
+ }
+ }
+
+ .steps-legend {
+ padding-left: @legends-padding-left;
+
+ li {
+ width: @step-width;
+ }
+ }
+ }
+
+ div.restore {
+ @legends-steps: 2;
+ @legends-width: 450px;
+ @legends-padding-left: (700px - @legends-width) / 2;
+ @circle-width: 43px;
+ @step-width: @legends-width / @legends-steps;
+
+ .steps {
+ margin-left: (@step-width - @circle-width) / 2 + @legends-padding-left;
+
+ .step {
+ padding-left: @step-width - @circle-width;
+ }
+ }
+
+ .steps-legend {
+ padding-left: @legends-padding-left;
+
+ li {
+ width: @step-width;
+ }
+ }
+ }
+
+ div.headerthreedotmenu {
+ margin: 20px 0 20px 0;
+
+ h2 {
+ display: inline;
+ }
+
+ .contextmenu_container {
+ float: right;
+ }
+
+ .contextmenu {
+ left: auto;
+ right: 0;
+ top: auto;
+ }
+ .threedotmenubutton {
+ padding: 5px;
+ }
+ }
+
+ .expandable {
+ margin: 20px 0 20px 0;
+
+ h2 {
+ display: inline;
+ }
+
+ img {
+ padding: 0 6px;
+ }
+ }
+
+ div.settings {
.input.mixed.multiple,
- .input.checkbox
- {
- input.checkbox
- {
+ .input.checkbox {
+ input.checkbox {
width: auto;
}
-
- select
- {
+
+ select {
width: auto;
margin-right: 5px;
}
-
- label
- {
+
+ label {
line-height: normal;
padding: 0 15px;
width: auto;
}
}
}
-
- .logpage
- {
- ul.tabs
- {
+
+ .logpage {
+ ul.tabs {
padding: 15px 0;
}
-
- ul.entries
- {
- li
- {
+
+ ul.entries {
+ li {
padding-top: 15px;
}
}
}
-
- .prewrapped-text
- {
+
+ .prewrapped-text {
white-space: pre-wrap;
overflow-x: auto;
}
}
}
-
- .footer
- {
+
+ .footer {
background: @headerBg;
min-height: 70px;
line-height: 70px;
@@ -870,120 +1217,100 @@ body
position: absolute;
bottom: 0;
width: 100%;
-
- a
- {
+
+ a {
color: @lColor;
}
-
- .about-footer
- {
+
+ .about-footer {
float: left;
overflow: hidden;
padding-right: 20px;
-
- span
- {
+
+ span {
display: block;
float: left;
padding-left: 20px;
}
-
- ul
- {
+
+ ul {
float: left;
}
-
- li
- {
+
+ li {
float: left;
padding-left: 20px;
}
}
-
- .donate
- {
+
+ .donate {
float: right;
padding-right: 40px;
overflow: hidden;
-
- ul
- {
+
+ ul {
overflow: hidden;
float: right;
-
- li
- {
+
+ li {
float: left;
margin-left: 20px;
-
- a
- {
- img
- {
+
+ a {
+ img {
margin-top: 24px;
display: inline-block;
opacity: 0.6;
}
-
- img:hover
- {
+
+ img:hover {
opacity: 1;
}
}
}
}
}
-
- .donate > a
- {
+
+ .donate > a {
float: left;
}
-
- .social
- {
+
+ .social {
float: right;
-
- ul
- {
+
+ ul {
overflow: hidden;
float: right;
padding-left: 20px;
padding-right: 10px;
-
- li
- {
+
+ li {
float: right;
margin-right: 10px;
padding-top: 5px;
-
- img
- {
+
+ img {
opacity: 0.6;
}
-
- img:hover
- {
+
+ img:hover {
opacity: 1;
}
}
}
}
-
- .themelink
- {
+
+ .themelink {
float: right;
padding-right: 20px;
}
}
}
-
- #modal-menu
- {
+
+ #modal-menu {
max-width: 400px;
-
- a
- {
+
+ a {
color: @lColor;
font-size: 20px;
line-height: 40px;
@@ -992,29 +1319,24 @@ body
}
// Modal windows
-.remodal
-{
+.remodal {
padding: 30px;
- box-shadow: 0px 2px 7px rgba(0,0,0,0.3);
+ box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.3);
background: white;
display: none;
-
- form
- {
- .buttons
- {
+
+ form {
+ .buttons {
float: none;
}
}
}
-.remodal-wrapper .remodal
-{
+.remodal-wrapper .remodal {
display: block;
}
-span.info
-{
+span.info {
font-size: 10px;
font-weight: 500;
display: inline-block;
@@ -1029,49 +1351,440 @@ span.info
text-align: center;
}
-.hidden
-{
+.hidden {
display: none;
}
-.clear
-{
+.clear {
clear: both;
}
-.nofloat
-{
+.nofloat {
float: none !important;
}
-div.blocker
-{
+div.blocker,
+div.connection-lost,
+div.modal-dialog {
+ position: fixed;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: 0px;
+ margin: auto;
+}
+
+div.blocker {
z-index: 5000;
+ background-color: #000000;
+ opacity: 0.65;
+}
+
+#connection-lost-blocker {
+ z-index: 5100;
+}
+
+#connection-lost-dialog {
+ z-index: 5200;
}
div.connection-lost,
-div.modal-dialog
-{
+div.modal-dialog {
z-index: 5001;
+ .flexbox;
+
+ -webkit-box-pack: center;
+ -moz-box-pack: center;
+ -ms-flex-pack: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+
+ -webkit-box-align: center;
+ -moz-box-align: center;
+ -ms-flex-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+
+ div.info {
+ min-width: 310px;
+ max-width: 650px;
+ margin: 5px;
+ }
+
+ div.title {
+ border: 1px solid #65b1dd;
+ background-color: #65b1dd;
+ border-radius: 5px 5px 0 0;
+ padding: 10px 20px;
+ font-weight: bold;
+ color: lightgray;
+ text-align: center;
+ }
+
+ div.content {
+ background-color: white;
+ border: 1px solid white;
+ padding: 20px;
+ }
+
+ .buttons {
+ border-radius: 0 0 5px 5px;
+ padding-top: 10px;
+ overflow: auto;
+ }
+
+ form {
+ margin-top: 15px;
+
+ textarea {
+ height: 130px;
+ width: 420px;
+ padding: 10px 12px;
+ border: 1px #d8d8d8 solid;
+ border-radius: 2px;
+ color: #8f8f8f;
+ font-size: 16px;
+ font-weight: 300;
+ }
+
+ input {
+ height: 35px;
+ line-height: 35px;
+ padding: 0 12px;
+ }
+ }
}
+div.modal-dialog {
+ .content.buttons {
+ ul {
+ float: right;
+ }
+
+ // tooltipped css taken from: https://github.com/primer/primer-tooltips and https://sachinchoolur.github.io/ngclipboard/
+ .tooltipped {
+ position: relative
+ }
+
+ .tooltipped:after {
+ position: absolute;
+ z-index: 1000000;
+ display: none;
+ padding: 5px 8px;
+ font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
+ color: #fff;
+ text-align: center;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-wrap: break-word;
+ white-space: pre;
+ pointer-events: none;
+ content: attr(aria-label);
+ background: rgba(0, 0, 0, 0.8);
+ border-radius: 3px;
+ -webkit-font-smoothing: subpixel-antialiased
+ }
+
+ .tooltipped:before {
+ position: absolute;
+ z-index: 1000001;
+ display: none;
+ width: 0;
+ height: 0;
+ color: rgba(0, 0, 0, 0.8);
+ pointer-events: none;
+ content: "";
+ border: 5px solid transparent
+ }
+
+ .tooltipped:hover:before, .tooltipped:hover:after, .tooltipped:active:before, .tooltipped:active:after, .tooltipped:focus:before, .tooltipped:focus:after {
+ display: inline-block;
+ text-decoration: none
+ }
+
+ .tooltipped-w:after {
+ right: 100%;
+ bottom: 50%;
+ margin-right: 5px;
+ -webkit-transform: translateY(50%);
+ -ms-transform: translateY(50%);
+ transform: translateY(50%)
+ }
+
+ .tooltipped-w:before {
+ top: 50%;
+ bottom: 50%;
+ left: -5px;
+ margin-top: -5px;
+ border-left-color: rgba(0, 0, 0, 0.8)
+ }
+ }
+}
+
+/* Progress bar styles from Bootstrap */
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ background-size: 40px 40px;
+}
+
+.progress-striped {
+ .progress-bar {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ background-size: 40px 40px;
+ }
+}
+
+.progress {
+ position: relative;
+ min-height: 25px;
+
+ > span {
+ position: absolute;
+ vertical-align: middle;
+ display: block;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ z-index: 100;
+ padding-top: 2px;
+ }
+
+ &.active {
+ .progress-bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+ }
+ }
+
+ .progress-bar {
+ float: left;
+ width: 0;
+ height: 100%;
+ font-size: 12px;
+ line-height: 20px;
+ color: #fff;
+ text-align: center;
+ background-color: #337ab7;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+ -webkit-transition: width .6s ease;
+ -o-transition: width .6s ease;
+ transition: width .6s ease;
+ height: 100%;
+ position: absolute;
+
+ &.active {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+ }
+ }
+}
+
+.tree-view {
+ list-style-type: none;
+ margin-left: 10px;
+ padding-bottom: 5px;
+
+ ul {
+ margin-left: 16px;
+ }
+
+ span {
+ &.nodeLabel {
+ cursor: pointer;
+
+ &.selected {
+ border: 1px solid #aaa;
+ background-color: #ddd;
+ padding: 1px 3px;
+ }
+ }
+ }
+
+ li {
+ .node {
+ padding-bottom: 5px;
+ }
+
+ div.selected {
+ border-color: lightblue;
+ background-color: lightblue;
+ }
+
+ > ul {
+ display: none;
+ }
+
+ > ul.expanded {
+ display: block;
+ }
+
+ a {
+ &.nav {
+ cursor: pointer;
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ vertical-align: middle;
+ background-image: url(../img/treeicons.png);
+ background-repeat: no-repeat;
+ background-position: -80px 0px;
+
+ &.leaf {
+ background: none;
+ }
+
+ &.expanded {
+ background-position: -80px -16px;
+ }
+ }
+
+ &.type {
+ cursor: auto;
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ vertical-align: middle;
+ background-image: url(../img/treeicons.png);
+ background-repeat: no-repeat;
+ background-position: 0px -16px;
+
+ &.invisible {
+ background-position: 0px -32px;
+ }
+
+ &.loading {
+ cursor: progress;
+ background-image: url(../img/loader-16.gif);
+ background-repeat: no-repeat;
+ background-position: 0px 0px;
+ }
+
+ &.x-tree-icon-drive {
+ background-position: -16px -16px;
+ }
+
+ &.x-tree-icon-leaf {
+ background-position: -32px -16px;
+ }
+
+ &.x-tree-icon-symlink {
+ background-position: -48px -16px;
+ }
+
+ &.x-tree-icon-userdata {
+ background-position: -16px -48px;
+ }
+
+ &.x-tree-icon-locked {
+ background-position: -64px -16px;
+ }
+
+ &.x-tree-icon-broken {
+ background-position: -64px -16px;
+ }
+
+ &.x-tree-icon-computer {
+ background-position: 0px -48px;
+ }
+
+ &.x-tree-icon-hyperv {
+ background-position: -96px -16px;
+ }
+
+ &.x-tree-icon-hypervmachine {
+ background-position: -96px 0px;
+ }
+
+ &.x-tree-icon-mydocuments {
+ background-position: -32px -48px;
+ }
+
+ &.x-tree-icon-mymusic {
+ background-position: -48px -48px;
+ }
+
+ &.x-tree-icon-mypictures {
+ background-position: -64px -48px;
+ }
+
+ &.x-tree-icon-desktop {
+ background-position: -80px -48px;
+ }
+
+ &.x-tree-icon-home {
+ background-position: -96px -48px;
+ }
+
+ &.x-tree-icon-drive.invisible {
+ background-position: -16px -32px;
+ }
+
+ &.x-tree-icon-leaf.invisible {
+ background-position: -32px -32px;
+ }
+
+ &.x-tree-icon-symlink.invisible {
+ cursor: auto;
+ background-position: -48px -32px;
+ }
+
+ &.x-tree-icon-locked.invisible {
+ background-position: -64px -32px;
+ }
+ }
+
+ &.check {
+ height: 16px;
+ width: 16px;
+ display: inline-block;
+ cursor: pointer;
+ background-image: url(../img/treeicons.png);
+ background-repeat: no-repeat;
+ background-position: 0px 0px;
+ vertical-align: middle;
+ }
+
+ &.partial {
+ background-position: -32px 0px;
+ }
+
+ &.include {
+ background-position: -16px 0px;
+ }
+
+ &.exclude {
+ background-position: -48px 0px;
+ }
+
+ &.root {
+ background: none;
+ display: none;
+ }
+ }
+ }
+}
// Smaller screen sizes
-@media(max-width: 1100px)
-{
- body
- {
- .container
- {
- .header
- {
- .donate
- {
+@media (max-width: 1100px) {
+ body {
+ .container {
+ .header {
+ .donate {
display: none;
}
-
- .menubutton
- {
+
+ .menubutton {
display: block;
font-size: 18px;
padding-right: 50px;
@@ -1088,21 +1801,18 @@ div.modal-dialog
text-transform: uppercase;
text-align: right;
}
-
- .menubutton.active
- {
+
+ .menubutton.active {
background-image: url('../img/menu_active.png');
color: @lColor;
}
}
-
- .body
- {
+
+ .body {
position: relative;
padding-top: 0;
-
- .mainmenu
- {
+
+ .mainmenu {
display: none;
position: absolute;
background: none repeat scroll 0 0 white;
@@ -1111,69 +1821,59 @@ div.modal-dialog
padding: 20px;
top: 60px;
}
-
- .mainmenu.mobile-open
- {
+
+ .mainmenu.mobile-open {
display: block;
left: auto;
right: 0;
top: 0;
z-index: 1000;
}
-
- .content
- {
+
+ .contextmenu {
+ left: 0;
+ top: auto;
+ }
+
+ .content {
float: none;
padding: 50px 20px;
margin: 0 auto;
-
- .state
- {
+
+ .state {
width: auto;
}
}
}
-
- .footer
- {
- .donate
- {
+
+ .footer {
+ .donate {
display: block;
}
}
-
- .mobileOpen
- {
+
+ .mobileOpen {
display: block !important;
}
}
}
}
-@media(max-width: 768px)
-{
- body
- {
- .container
- {
- .body
- {
- .content
- {
- .tasks
- {
- .tasklist
- {
- a
- {
+@media (max-width: 768px) {
+ body {
+ .container {
+ .body {
+ .content {
+ .tasks {
+ .tasklist {
+ a {
font-size: 20px;
background-size: 24px;
background-position: 0 4px;
padding-left: 35px;
}
-
- dl
- {
+
+ dl {
padding-left: 35px;
}
}
@@ -1182,96 +1882,77 @@ div.modal-dialog
}
}
}
-
- body
- {
- .container
- {
- .body
- {
- .content
- {
+
+ body {
+ .container {
+ .body {
+ .content {
div.add,
- div.settings
- {
- .steps
- {
+ div.restore,
+ div.settings {
+ .steps {
display: none;
}
-
- .steps-legend
- {
+
+ .steps-legend {
list-style: decimal;
padding-left: 20px;
border-bottom: 1px solid #eee;
margin-bottom: 30px;
padding-bottom: 20px;
-
- li
- {
+
+ li {
float: none;
font-weight: 500;
width: auto !important;
padding-right: 0 !important;
}
}
-
- .steps-boxes
- {
+
+ .steps-boxes {
padding-left: 0;
}
-
- form.styled
- {
- .input
- {
+
+ form.styled {
+ .input {
input,
select,
- textarea
- {
+ textarea {
max-width: 100%;
box-sizing: border-box;
}
}
-
- .input.select select
- {
+
+ .input.select select {
width: 420px;
}
-
- .buttons
- {
+
+ .buttons {
max-width: 100%;
width: auto;
}
-
- .tools
- {
+
+ .tools {
padding-left: 0 !important;
}
-
- .input.checkbox.multiple
- {
+
+ .input.checkbox.multiple {
padding-bottom: 5px;
-
+
input,
- label
- {
+ label {
display: block !important;
float: left !important;
line-height: normal;
}
-
- input
- {
+
+ input {
clear: both;
}
}
-
- .input.text.multiple
- {
- input
- {
+
+ .input.text.multiple {
+ input {
max-width: 48% !important;
}
}
@@ -1283,125 +1964,97 @@ div.modal-dialog
}
}
-@media(max-width: 640px)
-{
- body
- {
- h2
- {
+@media (max-width: 640px) {
+ body {
+ h2 {
font-size: 20px;
text-align: center;
}
-
- .container
- {
- .body
- {
+
+ .container {
+ .body {
padding-bottom: 0;
-
- .content
- {
- div.add
- {
- form
- {
- .input.overlayButton
- {
+
+ .content {
+ div.add,
+ div.restore {
+ form {
+ .input.overlayButton {
padding-top: 8px;
padding-bottom: 30px;
//border-bottom: 1px #ddd solid;
margin-bottom: 10px;
-
- a.button
- {
+
+ a.button {
padding: 7px 10px;
right: 1px;
top: 9px;
}
}
-
- .input.checkbox.multiple
- {
- div
- {
+
+ .input.checkbox.multiple {
+ div {
display: block;
}
}
-
- .input.select.multiple
- {
- input#exclude-larger-than-number
- {
+
+ .input.select.multiple {
+ input#exclude-larger-than-number {
width: 75px;
}
-
- select#exclude-larger-than-multiplier
- {
+
+ select#exclude-larger-than-multiplier {
width: 140px;
}
}
-
- .filters
- {
+
+ .filters {
//border-bottom: 1px #ddd solid;
-
- .input.link
- {
+
+ .input.link {
//padding-bottom: 0;
}
-
- .input.textarea
- {
+
+ .input.textarea {
padding-bottom: 10px;
}
-
- h3
- {
+
+ h3 {
margin: 5px 0;
}
}
-
- .input.text.select.multiple.repeat
- {
- label
- {
+
+ .input.text.select.multiple.repeat {
+ label {
float: none;
}
-
- input#repeatRunNumber
- {
+
+ input#repeatRunNumber {
width: 70px;
}
-
- select#repeatRunMultiplier
- {
+
+ select#repeatRunMultiplier {
width: 100px;
}
}
-
- .input.multiple.text.select.maxSize
- {
- input
- {
+
+ .input.multiple.text.select.maxSize {
+ input {
width: 70px;
}
-
- select
- {
+
+ select {
width: 100px;
}
}
-
- .input.multiple.text.select.keepBackups
- {
- select
- {
+
+ .input.multiple.text.select.keepBackups {
+ select {
width: 85px;
padding: 4px 6px;
}
-
- input
- {
+
+ input {
width: 60px;
}
}
@@ -1409,34 +2062,29 @@ div.modal-dialog
}
}
}
-
- .footer
- {
+
+ .footer {
position: static;
padding: 15px;
line-height: normal;
text-align: left;
box-sizing: border-box;
-
- *
- {
+
+ * {
float: none !important;
text-align: center;
box-sizing: border-box;
}
-
- .about-footer
- {
+
+ .about-footer {
padding-right: 0;
-
- span
- {
+
+ span {
padding-left: 0;
padding-bottom: 5px;
}
-
- li
- {
+
+ li {
padding-left: 0;
float: none;
display: inline-block;
@@ -1444,74 +2092,61 @@ div.modal-dialog
width: 32px;
background-size: 28px !important;
border-bottom: none;
-
- a
- {
+
+ a {
/*color: transparent;
height: 32px;
width: 32px;*/
}
}
-
- li.support
- {
+
+ li.support {
background: url('../img/support.png') no-repeat center center;
}
-
- li.about
- {
+
+ li.about {
background: url('../img/about.png') no-repeat center center;
}
-
- li:first-child
- {
+
+ li:first-child {
padding-bottom: 0;
}
-
- li:last-child
- {
+
+ li:last-child {
padding-bottom: 20px;
}
}
-
+
li,
.donate,
.social,
- .about-footer
- {
+ .about-footer {
padding: 8px 0;
border-bottom: 1px #ddd solid;
}
-
- .donate
- {
- ul
- {
- li
- {
+
+ .donate {
+ ul {
+ li {
display: inline-block;
border: none;
margin: 0 5px;
-
- a img
- {
+
+ a img {
margin-top: 0;
}
}
}
}
-
- .social
- {
- li
- {
+
+ .social {
+ li {
display: inline-block;
border: none;
}
}
-
- .themelink
- {
+
+ .themelink {
padding: 5px 0;
}
}
@@ -1519,85 +2154,69 @@ div.modal-dialog
}
}
-@media(max-width: 480px)
-{
- body
- {
+@media (max-width: 580px) {
+ .advancedentry .longdescription {
+ margin-left: 0;
+ }
+}
+
+@media (max-width: 480px) {
+ body {
font-size: 15px;
-
- .container
- {
- .header
- {
- .logo
- {
+
+ .container {
+ .header {
+ .logo {
padding-left: 20px;
}
-
- .menubutton
- {
+
+ .menubutton {
margin-right: 5px;
-
+
}
}
-
- .body
- {
- .mainmenu
- {
+
+ .body {
+ .mainmenu {
width: 280px;
box-sizing: border-box;
-
- ul
- {
- li
- {
- a
- {
+
+ ul {
+ li {
+ a {
font-size: 22px;
}
}
}
}
-
- .content
- {
+
+ .content {
padding: 50px 15px;
-
- div.add
- {
- form
- {
- .input.password
- {
- .tools
- {
- ul li
- {
+
+ div.add,
+ div.restore {
+ form {
+ .input.password {
+ .tools {
+ ul li {
font-size: 14px;
}
}
}
-
- .buttons
- {
- a
- {
+
+ .buttons {
+ a {
float: none;
text-align: center;
margin-bottom: 5px;
}
}
}
-
- .steps-boxes
- {
- .box.browser
- {
- .checklinks
- {
- a
- {
+
+ .steps-boxes {
+ .box.browser {
+ .checklinks {
+ a {
float: none;
margin-bottom: 8px;
display: block;
@@ -1610,4 +2229,4 @@ div.modal-dialog
}
}
}
-} \ No newline at end of file
+}
diff --git a/Duplicati/Server/webroot/ngax/scripts/app.js b/Duplicati/Server/webroot/ngax/scripts/app.js
index ded4511ab..224a187af 100644
--- a/Duplicati/Server/webroot/ngax/scripts/app.js
+++ b/Duplicati/Server/webroot/ngax/scripts/app.js
@@ -5,7 +5,8 @@ var backupApp = angular.module(
'dotjem.angular.tree',
'ngCookies',
'ngSanitize',
- 'gettext'
+ 'gettext',
+ 'ngclipboard'
]
);
@@ -58,9 +59,6 @@ backupApp.config(['$routeProvider',
when('/localdb/:backupid', {
templateUrl: 'templates/localdatabase.html'
}).
- when('/pause', {
- templateUrl: 'templates/pause.html'
- }).
otherwise({
templateUrl: 'templates/home.html'
//redirectTo: '/home'
diff --git a/Duplicati/Server/webroot/ngax/scripts/controllers/AppController.js b/Duplicati/Server/webroot/ngax/scripts/controllers/AppController.js
index 355055802..a1aacb16d 100644
--- a/Duplicati/Server/webroot/ngax/scripts/controllers/AppController.js
+++ b/Duplicati/Server/webroot/ngax/scripts/controllers/AppController.js
@@ -1,4 +1,4 @@
-backupApp.controller('AppController', function($scope, BrandingService, ServerStatus, SystemInfo) {
+backupApp.controller('AppController', function($scope, BrandingService, ServerStatus, SystemInfo, AppUtils) {
$scope.brandingService = BrandingService.watch($scope);
$scope.state = ServerStatus.watch($scope);
$scope.systemInfo = SystemInfo.watch($scope);
@@ -8,4 +8,12 @@ backupApp.controller('AppController', function($scope, BrandingService, ServerSt
$scope.doReconnect = function() {
ServerStatus.reconnect();
};
+
+ $scope.resume = function() {
+ ServerStatus.resume().then(function() {}, AppUtils.connectionError);
+ };
+
+ $scope.pause = function(duration) {
+ ServerStatus.pause(duration).then(function() {}, AppUtils.connectionError);
+ };
});
diff --git a/Duplicati/Server/webroot/ngax/scripts/controllers/DialogController.js b/Duplicati/Server/webroot/ngax/scripts/controllers/DialogController.js
index ec45eaa5f..ac0b5ded2 100644
--- a/Duplicati/Server/webroot/ngax/scripts/controllers/DialogController.js
+++ b/Duplicati/Server/webroot/ngax/scripts/controllers/DialogController.js
@@ -1,12 +1,33 @@
-backupApp.controller('DialogController', function($scope, DialogService) {
+backupApp.controller('DialogController', function($scope, DialogService, gettextCatalog) {
$scope.state = DialogService.watch($scope);
+
+ function showTooltip(elem, msg) {
+ elem.addEventListener('mouseleave', function(e) {
+ e.currentTarget.setAttribute('class', 'button');
+ e.currentTarget.removeAttribute('aria-label');
+ });
+
+ elem.setAttribute('class', 'button tooltipped tooltipped-w');
+ elem.setAttribute('aria-label', msg);
+ }
+
+ $scope.onCopySuccess = function(e) {
+ e.clearSelection();
+ showTooltip(e.trigger, gettextCatalog.getString('Copied!'));
+ };
+
+ $scope.onCopyError = function(e) {
+ showTooltip(e.trigger, gettextCatalog.getString('Copy failed. Please manually copy the URL'));
+ };
+
$scope.onButtonClick = function(index) {
- var cur = $scope.state.CurrentItem;
+ var cur = $scope.state.CurrentItem;
+ var input = cur.textarea;
DialogService.dismissCurrent();
if (cur.callback)
- cur.callback(index);
+ cur.callback(index, input);
};
});
diff --git a/Duplicati/Server/webroot/ngax/scripts/controllers/EditBackupController.js b/Duplicati/Server/webroot/ngax/scripts/controllers/EditBackupController.js
index c5eac1a40..62cb4d54f 100644
--- a/Duplicati/Server/webroot/ngax/scripts/controllers/EditBackupController.js
+++ b/Duplicati/Server/webroot/ngax/scripts/controllers/EditBackupController.js
@@ -6,7 +6,6 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
$scope.RepeatPasshrase = null;
$scope.PasswordStrength = 'unknown';
$scope.CurrentStep = 0;
- $scope.EditUriState = false;
$scope.showhiddenfolders = false;
$scope.EditSourceAdvanced = false;
$scope.EditFilterAdvanced = false;
@@ -25,7 +24,6 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
function computePassPhraseStrength() {
var strengthMap = {
- '': gettextCatalog.getString("Empty"),
'x': gettextCatalog.getString("Passwords do not match"),
0: gettextCatalog.getString("Useless"),
1: gettextCatalog.getString("Very weak"),
@@ -43,7 +41,7 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
else
scope.PassphraseScore = (zxcvbn(passphrase) || {'score': -1}).score;
- scope.PassphraseScoreString = strengthMap[scope.PassphraseScore] || gettextCatalog.getString('Unknown');
+ scope.PassphraseScoreString = strengthMap[scope.PassphraseScore];
}
$scope.$watch('Options["passphrase"]', computePassPhraseStrength);
@@ -56,20 +54,32 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
};
$scope.togglePassphraseVisibility = function() {
- this.ShowPassphrase = !this.ShowPassphrase;;
+ this.ShowPassphrase = !this.ShowPassphrase;
};
$scope.nextPage = function() {
- $scope.CurrentStep = Math.min(3, $scope.CurrentStep + 1);
+ $scope.CurrentStep = Math.min(4, $scope.CurrentStep + 1);
};
$scope.prevPage = function() {
$scope.CurrentStep = Math.max(0, $scope.CurrentStep - 1);
+ };
+ $scope.setBuilduriFn = function(builduriFn) {
+ $scope.builduri = builduriFn;
};
- $scope.HideEditUri = function() {
- scope.EditUriState = false;
+ $scope.importUrl = function () {
+ DialogService.textareaDialog('Import URL', 'Enter a Backup destination URL:', null, gettextCatalog.getString('Enter URL'), [gettextCatalog.getString('Cancel'), gettextCatalog.getString('OK')], null, function(btn, input) {
+ if (btn == 1)
+ scope.Backup.TargetURL = input;
+ });
+ };
+
+ $scope.copyUrlToClipboard = function () {
+ $scope.builduri(function(res) {
+ DialogService.textareaDialog('Copy URL', null, null, res, [gettextCatalog.getString('OK')], 'templates/copy_clipboard_buttons.html');
+ });
};
var oldSchedule = null;
@@ -125,7 +135,7 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
}
});
});
- };
+ }
if (scope.manualSourcePath.substr(scope.manualSourcePath.length - 1, 1) != dirsep) {
DialogService.dialog(gettextCatalog.getString('Include a file?'), gettextCatalog.getString("The path does not end with a '{{dirsep}}' character, which means that you include a file, not a folder.\n\nDo you want to include the specified file?", {dirsep: dirsep}), [gettextCatalog.getString('No'), gettextCatalog.getString('Yes')], function(ix) {
@@ -135,10 +145,6 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
} else {
continuation();
}
-
-
-
-
};
$scope.toggleArraySelection = function (lst, value) {
@@ -190,7 +196,7 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
if (exclattr.length == 0)
delete opts['--exclude-files-attributes'];
else
- opts['--exclude-files-attributes'] = exclattr.join(',')
+ opts['--exclude-files-attributes'] = exclattr.join(',');
if (($scope.Backup.Name || '').trim().length == 0) {
DialogService.dialog(gettextCatalog.getString('Missing name'), gettextCatalog.getString('You must enter a name for the backup'));
@@ -213,15 +219,9 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
}
}
- if (($scope.Backup.TargetURL || '').trim().length == 0) {
- DialogService.dialog(gettextCatalog.getString('Missing destination'), gettextCatalog.getString('You must enter a destination where the backups are stored'));
- $scope.CurrentStep = 0;
- return;
- }
-
if ($scope.Backup.Sources == null || $scope.Backup.Sources.length == 0) {
DialogService.dialog(gettextCatalog.getString('Missing sources'), gettextCatalog.getString('You must choose at least one source folder'));
- $scope.CurrentStep = 1;
+ $scope.CurrentStep = 2;
return;
}
@@ -233,14 +233,14 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
if ($scope.KeepType == 'time' && (opts['keep-time'] || '').trim().length == 0)
{
DialogService.dialog(gettextCatalog.getString('Invalid retention time'), gettextCatalog.getString('You must enter a valid duration for the time to keep backups'));
- $scope.CurrentStep = 3;
+ $scope.CurrentStep = 4;
return;
}
if ($scope.KeepType == 'versions' && (parseInt(opts['keep-versions']) <= 0 || isNaN(parseInt(opts['keep-versions']))))
{
DialogService.dialog(gettextCatalog.getString('Invalid retention time'), gettextCatalog.getString('You must enter a positive number of backups to keep'));
- $scope.CurrentStep = 3;
+ $scope.CurrentStep = 4;
return;
}
@@ -343,6 +343,15 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
};
+ function checkForValidBackupDestination(continuation) {
+ $scope.builduri(function(res) {
+ result.Backup.TargetURL = res;
+ $scope.Backup.TargetURL = res;
+ continuation();
+ });
+ $scope.CurrentStep = 1;
+ }
+
function checkForDisabledEncryption(continuation) {
if (encryptionEnabled || $scope.Backup.TargetURL.indexOf('file://') == 0 || $scope.SystemInfo.EncryptionModules.length == 0)
continuation();
@@ -387,8 +396,10 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
checkForGeneratedPassphrase(function() {
checkForDisabledEncryption(function() {
warnWeakPassphrase(function() {
- checkForExistingDb(function() {
- EditBackupService.postValidate($scope, postDb);
+ checkForValidBackupDestination(function() {
+ checkForExistingDb(function () {
+ EditBackupService.postValidate($scope, postDb);
+ });
});
});
});
@@ -401,9 +412,11 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
AppService.put('/backup/' + $routeParams.backupid, result, {'headers': {'Content-Type': 'application/json'}}).then(function() {
$location.path('/');
}, AppUtils.connectionError);
- };
+ }
- checkForChangedPassphrase(putDb);
+ checkForChangedPassphrase(function() {
+ checkForValidBackupDestination(putDb);
+ });
}
};
@@ -480,7 +493,7 @@ backupApp.controller('EditBackupController', function ($scope, $routeParams, $lo
$scope.KeepType = 'versions';
}
- var delopts = ['--skip-files-larger-than', '--no-encryption']
+ var delopts = ['--skip-files-larger-than', '--no-encryption'];
for(var n in delopts)
delete extopts[delopts[n]];
diff --git a/Duplicati/Server/webroot/ngax/scripts/controllers/PauseController.js b/Duplicati/Server/webroot/ngax/scripts/controllers/PauseController.js
deleted file mode 100644
index 1b1f8a8b8..000000000
--- a/Duplicati/Server/webroot/ngax/scripts/controllers/PauseController.js
+++ /dev/null
@@ -1,15 +0,0 @@
-backupApp.controller('PauseController', function ($scope, $location, AppService, AppUtils, ServerStatus) {
- $scope.state = ServerStatus.watch($scope);
-
- $scope.pause = function(duration) {
- ServerStatus.pause(duration).then(function() {
- $location.path('/');
- }, AppUtils.connectionError);
- };
-
- $scope.resume = function() {
- ServerStatus.resume().then(function() {
- $location.path('/');
- }, AppUtils.connectionError);
- };
-});
diff --git a/Duplicati/Server/webroot/ngax/scripts/controllers/RestoreDirectController.js b/Duplicati/Server/webroot/ngax/scripts/controllers/RestoreDirectController.js
index f16da89a7..7193923c0 100644
--- a/Duplicati/Server/webroot/ngax/scripts/controllers/RestoreDirectController.js
+++ b/Duplicati/Server/webroot/ngax/scripts/controllers/RestoreDirectController.js
@@ -5,51 +5,86 @@ backupApp.controller('RestoreDirectController', function ($rootScope, $scope, $l
$scope.ServerStatus = ServerStatus;
$scope.serverstate = ServerStatus.watch($scope);
+ $scope.CurrentStep = 0;
$scope.connecting = false;
- $scope.HideEditUri = function() {
- $scope.EditUriState = false;
+ $scope.nextPage = function() {
+ $scope.CurrentStep = Math.min(1, $scope.CurrentStep + 1);
};
- $scope.doConnect = function() {
- $scope.connecting = true;
- $scope.ConnectionProgress = gettextCatalog.getString('Registering temporary backup ...');
+ $scope.prevPage = function() {
+ $scope.CurrentStep = Math.max(0, $scope.CurrentStep - 1);
+ };
- var opts = {};
- var obj = {'Backup': {'TargetURL': $scope.TargetURL } };
+ $scope.setBuilduriFn = function(builduriFn) {
+ $scope.builduri = builduriFn;
+ };
- if (($scope.EncryptionPassphrase || '') == '')
- opts['--no-encryption'] = 'true';
- else
- opts['passphrase'] = $scope.EncryptionPassphrase;
+ $scope.importUrl = function () {
+ DialogService.textareaDialog('Import URL', 'Enter a Backup destination URL:', null, gettextCatalog.getString('Enter URL'), [gettextCatalog.getString('Cancel'), gettextCatalog.getString('OK')], null, function(btn, input) {
+ if (btn == 1) {
+ $scope.TargetURL = input;
+ }
+ });
+ };
- if (!AppUtils.parse_extra_options($scope.ExtendedOptions, opts))
- return false;
+ $scope.copyUrlToClipboard = function () {
+ $scope.builduri(function(res) {
+ DialogService.textareaDialog('Copy URL', null, null, res, [gettextCatalog.getString('OK')], 'templates/copy_clipboard_buttons.html');
+ });
+ };
- obj.Backup.Settings = [];
- for(var k in opts) {
- obj.Backup.Settings.push({
- Name: k,
- Value: opts[k]
- });
- }
+ $scope.doConnect = function() {
+ function connect() {
+ $scope.connecting = true;
+ $scope.ConnectionProgress = gettextCatalog.getString('Registering temporary backup ...');
- AppService.post('/backups?temporary=true', obj, {'headers': {'Content-Type': 'application/json'}}).then(
- function(resp) {
+ var opts = {};
+ var obj = {'Backup': {'TargetURL': $scope.TargetURL } };
- $scope.ConnectionProgress = gettextCatalog.getString('Listing backup dates ...');
- $scope.BackupID = resp.data.ID;
- $scope.fetchBackupTimes();
- }, function(resp) {
- var message = resp.statusText;
- if (resp.data != null && resp.data.Message != null)
- message = resp.data.Message;
+ if (($scope.EncryptionPassphrase || '') == '')
+ opts['--no-encryption'] = 'true';
+ else
+ opts['passphrase'] = $scope.EncryptionPassphrase;
- $scope.connecting = false;
- $scope.ConnectionProgress = '';
- DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to connect: {{message}}', { message: message }));
+ if (!AppUtils.parse_extra_options($scope.ExtendedOptions, opts))
+ return false;
+
+ obj.Backup.Settings = [];
+ for(var k in opts) {
+ obj.Backup.Settings.push({
+ Name: k,
+ Value: opts[k]
+ });
}
- );
+
+ AppService.post('/backups?temporary=true', obj, {'headers': {'Content-Type': 'application/json'}}).then(
+ function(resp) {
+
+ $scope.ConnectionProgress = gettextCatalog.getString('Listing backup dates ...');
+ $scope.BackupID = resp.data.ID;
+ $scope.fetchBackupTimes();
+ }, function(resp) {
+ var message = resp.statusText;
+ if (resp.data != null && resp.data.Message != null)
+ message = resp.data.Message;
+
+ $scope.connecting = false;
+ $scope.ConnectionProgress = '';
+ DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to connect: {{message}}', { message: message }));
+ }
+ );
+ }
+
+ function checkForValidBackupDestination(continuation) {
+ $scope.builduri(function(res) {
+ $scope.TargetURL = res;
+ continuation();
+ });
+ $scope.CurrentStep = 0;
+ }
+
+ checkForValidBackupDestination(connect);
};
$scope.fetchBackupTimes = function() {
diff --git a/Duplicati/Server/webroot/ngax/scripts/directives/backupEditUri.js b/Duplicati/Server/webroot/ngax/scripts/directives/backupEditUri.js
index a7b07821e..c3ba70f97 100644
--- a/Duplicati/Server/webroot/ngax/scripts/directives/backupEditUri.js
+++ b/Duplicati/Server/webroot/ngax/scripts/directives/backupEditUri.js
@@ -1,9 +1,9 @@
-backupApp.directive('backupEditUri', function() {
+backupApp.directive('backupEditUri', function(gettextCatalog) {
return {
restrict: 'E',
scope: {
uri: '=uri',
- hide: '=hide'
+ setBuilduriFn: '&'
},
templateUrl: 'templates/edituri.html',
controller: function($scope, AppService, AppUtils, SystemInfo, EditUriBackendConfig, DialogService, EditUriBuiltins) {
@@ -18,13 +18,15 @@ backupApp.directive('backupEditUri', function() {
callback(EditUriBackendConfig.defaultbuilder(scope));
else
callback(EditUriBackendConfig.builders[scope.Backend.Key](scope));
- };
+ }
if (EditUriBackendConfig.validaters[scope.Backend.Key] == null)
EditUriBackendConfig.defaultvalidater(scope, validationCompleted);
else
EditUriBackendConfig.validaters[scope.Backend.Key](scope, validationCompleted);
- }
+ };
+
+ $scope.setBuilduriFn({ builduriFn: builduri });
function performConnectionTest(uri) {
@@ -39,17 +41,17 @@ backupApp.directive('backupEditUri', function() {
if (dlg != null)
dlg.dismiss();
- dlg = DialogService.dialog('Testing ...', 'Testing connection ...', [], null, function() {
+ dlg = DialogService.dialog(gettextCatalog.getString('Testing ...'), gettextCatalog.getString('Testing connection ...'), [], null, function() {
AppService.post('/remoteoperation/test', uri).then(function() {
scope.Testing = false;
dlg.dismiss();
if (EditUriBackendConfig.testers[scope.Backend.Key] != null)
EditUriBackendConfig.testers[scope.Backend.Key](scope, function() {
- DialogService.dialog('Success', 'Connection worked!');
+ DialogService.dialog(gettextCatalog.getString('Success'), gettextCatalog.getString('Connection worked!'));
});
else
- DialogService.dialog('Success', 'Connection worked!');
+ DialogService.dialog(gettextCatalog.getString('Success'), gettextCatalog.getString('Connection worked!'));
}, handleError);
});
@@ -79,10 +81,10 @@ backupApp.directive('backupEditUri', function() {
}
scope.AdvancedOptions.push('--accept-specified-ssl-hash=' + hash);
- }
+ };
var askApproveCert = function(hash) {
- DialogService.dialog('Trust server certificate?', 'The server certificate could not be validated.\nDo you want to approve the SSL certificate with the hash: ' + hash + '?', ['No', 'Yes'], function(ix) {
+ DialogService.dialog(gettextCatalog.getString('Trust server certificate?'), gettextCatalog.getString('The server certificate could not be validated.\nDo you want to approve the SSL certificate with the hash: {{hash}}?', { hash: hash }), [gettextCatalog.getString('No'), gettextCatalog.getString('Yes')], function(ix) {
if (ix == 1) {
appendApprovedCert(hash);
builduri(function(res) {
@@ -108,7 +110,7 @@ backupApp.directive('backupEditUri', function() {
}
return false;
- }
+ };
var handleError = function(data) {
@@ -126,7 +128,7 @@ backupApp.directive('backupEditUri', function() {
if ((folder || "") == "")
folder = '';
- DialogService.dialog('Create folder?', 'The folder ' + folder + ' does not exist\nCreate it now?', ['No', 'Yes'], function(ix) {
+ DialogService.dialog(gettextCatalog.getString('Create folder?'), gettextCatalog.getString('The folder {{folder}} does not exist\nCreate it now?', { folder: folder }), [gettextCatalog.getString('No'), gettextCatalog.getString('Yes')], function(ix) {
if (ix == 1)
createFolder();
});
@@ -138,7 +140,7 @@ backupApp.directive('backupEditUri', function() {
if (data.data != null && data.data.Message != null)
message = data.data.Message;
- DialogService.dialog('Error', 'Failed to connect: ' + message);
+ DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to connect: ') + message);
return;
}
@@ -148,13 +150,13 @@ backupApp.directive('backupEditUri', function() {
AppService.post('/webmodule/check-mono-ssl', {'mono-ssl-config': 'List'}).then(function(data) {
if (data.data.Result.count == 0) {
- if (confirm('You appear to be running Mono with no SSL certificates loaded.\nDo you want to import the list of trusted certificates from Mozilla?'))
+ if (confirm(gettextCatalog.getString('You appear to be running Mono with no SSL certificates loaded.\nDo you want to import the list of trusted certificates from Mozilla?')))
{
scope.Testing = true;
AppService.post('/webmodule/check-mono-ssl', {'mono-ssl-config': 'Install'}).then(function(data) {
scope.Testing = false;
if (data.data.Result.count == 0) {
- DialogService.dialog('Import failed', 'Import completed, but no certificates were found after the import');
+ DialogService.dialog(gettextCatalog.getString('Import failed'), gettextCatalog.getString('Import completed, but no certificates were found after the import'));
} else {
testConnection();
}
@@ -165,7 +167,7 @@ backupApp.directive('backupEditUri', function() {
if (data.data != null && data.data.Message != null)
message = data.data.Message;
- DialogService.dialog('Error', 'Failed to import: ' + message);
+ DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to import: ') + message);
});
}
@@ -200,16 +202,16 @@ backupApp.directive('backupEditUri', function() {
if (data.data != null && data.data.Message != null)
message = data.data.Message;
- DialogService.dialog('Error', 'Failed to connect: ' + message);
+ DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to connect: ') + message);
}
else
{
var message = ((prev || '').trim().length == 0) ?
- ('No certificate was specified previously, please verify with the server administrator that the key is correct: ' + key + ' \n\nDo you want to approve the reported host key?')
+ (gettextCatalog.getString('No certificate was specified previously, please verify with the server administrator that the key is correct: {{key}} \n\nDo you want to approve the reported host key?', { key: key }))
:
- ('The host key has changed, please check with the server administrator if this is correct, otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.\n\nDo you want to REPLACE your CURRENT host key "' + prev + '" with the REPORTED host key: ' + key + '?');
+ (gettextCatalog.getString('The host key has changed, please check with the server administrator if this is correct, otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.\n\nDo you want to REPLACE your CURRENT host key "{{prev}}" with the REPORTED host key: {{key}}?', { prev: pref, key: key }));
- DialogService.dialog('Trust host certificate?', message, ['No', 'Yes'], function(ix) {
+ DialogService.dialog(gettextCatalog.getString('Trust host certificate?'), message, [gettextCatalog.getString('No'), gettextCatalog.getString('Yes')], function(ix) {
if (ix == 1) {
hasTriedHostkey = true;
for(var n in scope.AdvancedOptions) {
@@ -234,24 +236,17 @@ backupApp.directive('backupEditUri', function() {
if (data.data != null && data.data.Message != null)
message = data.data.Message;
- DialogService.dialog('Error', 'Failed to connect: ' + message);
+ DialogService.dialog(gettextCatalog.getString('Error'), gettextCatalog.getString('Failed to connect: ') + message);
}
- }
+ };
testConnection();
- };
+ }
$scope.testConnection = function() {
builduri(performConnectionTest);
};
- $scope.save = function() {
- builduri(function(res) {
- scope.uri = res;
- scope.hide();
- });
- };
-
$scope.contains_value = AppUtils.contains_value;
$scope.$watch('Backend', function() {
diff --git a/Duplicati/Server/webroot/ngax/scripts/helper.js b/Duplicati/Server/webroot/ngax/scripts/helper.js
new file mode 100644
index 000000000..11a144a15
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/scripts/helper.js
@@ -0,0 +1,5 @@
+angular.module('backupApp').run(function($rootScope){
+ $rootScope.parseInt = function(str) {
+ return parseInt(str);
+ };
+});
diff --git a/Duplicati/Server/webroot/ngax/scripts/libs/clipboard.min.js b/Duplicati/Server/webroot/ngax/scripts/libs/clipboard.min.js
new file mode 100644
index 000000000..dac064248
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/scripts/libs/clipboard.min.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v1.5.13
+ * https://zenorocha.github.io/clipboard.js
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function r(c,a){if(!n[c]){if(!e[c]){var l="function"==typeof require&&require;if(!a&&l)return l(c,!0);if(i)return i(c,!0);var s=new Error("Cannot find module '"+c+"'");throw s.code="MODULE_NOT_FOUND",s}var u=n[c]={exports:{}};e[c][0].call(u.exports,function(t){var n=e[c][1][t];return r(n?n:t)},u,u.exports,t,e,n,o)}return n[c].exports}for(var i="function"==typeof require&&require,c=0;c<o.length;c++)r(o[c]);return r}({1:[function(t,e,n){function o(t,e,n){for(n=n||document.documentElement;t&&t!==n;){if(r(t,e))return t;t=t.parentNode}return r(t,e)?t:null}try{var r=t("matches-selector")}catch(e){var r=t("component-matches-selector")}e.exports=o},{"component-matches-selector":2,"matches-selector":2}],2:[function(t,e,n){function o(t,e){if(!t||1!==t.nodeType)return!1;if(c)return c.call(t,e);for(var n=r.all(e,t.parentNode),o=0;o<n.length;++o)if(n[o]==t)return!0;return!1}try{var r=t("query")}catch(e){var r=t("component-query")}var i=Element.prototype,c=i.matches||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector;e.exports=o},{"component-query":3,query:3}],3:[function(t,e,n){function o(t,e){return e.querySelector(t)}n=e.exports=function(t,e){return e=e||document,o(t,e)},n.all=function(t,e){return e=e||document,e.querySelectorAll(t)},n.engine=function(t){if(!t.one)throw new Error(".one callback required");if(!t.all)throw new Error(".all callback required");return o=t.one,n.all=t.all,n}},{}],4:[function(t,e,n){function o(t,e,n,o,i){var c=r.apply(this,arguments);return t.addEventListener(n,c,i),{destroy:function(){t.removeEventListener(n,c,i)}}}function r(t,e,n,o){return function(n){n.delegateTarget=i(n.target,e,!0),n.delegateTarget&&o.call(t,n)}}var i=t("component-closest");e.exports=o},{"component-closest":1}],5:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],6:[function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!a.string(e))throw new TypeError("Second argument must be a String");if(!a.fn(n))throw new TypeError("Third argument must be a Function");if(a.node(t))return r(t,e,n);if(a.nodeList(t))return i(t,e,n);if(a.string(t))return c(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function r(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function c(t,e,n){return l(document.body,t,e,n)}var a=t("./is"),l=t("delegate");e.exports=o},{"./is":5,delegate:4}],7:[function(t,e,n){function o(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.focus(),t.setSelectionRange(0,t.value.length),e=t.value;else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),o=document.createRange();o.selectNodeContents(t),n.removeAllRanges(),n.addRange(o),e=n.toString()}return e}e.exports=o},{}],8:[function(t,e,n){function o(){}o.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){r.off(t,o),e.apply(n,arguments)}var r=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;for(o;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,c=o.length;i<c;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},e.exports=o},{}],9:[function(e,n,o){!function(r,i){if("function"==typeof t&&t.amd)t(["module","select"],i);else if("undefined"!=typeof o)i(n,e("select"));else{var c={exports:{}};i(c,r.select),r.clipboardAction=c.exports}}(this,function(t,e){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var r=n(e),i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},c=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),a=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){this.text?this.selectFake():this.target&&this.selectTarget()},t.prototype.selectFake=function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.addEventListener("focus",window.scrollTo(0,o)),this.fakeElem.style.top=o+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,r.default)(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=(0,r.default)(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},c(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==("undefined"==typeof e?"undefined":i(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=a})},{select:7}],10:[function(e,n,o){!function(r,i){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],i);else if("undefined"!=typeof o)i(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var c={exports:{}};i(c,r.clipboardAction,r.tinyEmitter,r.goodListener),r.clipboard=c.exports}}(this,function(t,e,n,o){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var s=r(e),u=r(n),f=r(o),d=function(t){function e(n,o){i(this,e);var r=c(this,t.call(this));return r.resolveOptions(o),r.listenClick(n),r}return a(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})},e.prototype.defaultAction=function t(e){return l("action",e)},e.prototype.defaultTarget=function t(e){var n=l("target",e);if(n)return document.querySelector(n)},e.prototype.defaultText=function t(e){return l("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(u.default);t.exports=d})},{"./clipboard-action":9,"good-listener":6,"tiny-emitter":8}]},{},[10])(10)}); \ No newline at end of file
diff --git a/Duplicati/Server/webroot/ngax/scripts/libs/ngclipboard.min.js b/Duplicati/Server/webroot/ngax/scripts/libs/ngclipboard.min.js
new file mode 100644
index 000000000..a43bb6bcd
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/scripts/libs/ngclipboard.min.js
@@ -0,0 +1,4 @@
+/*! ngclipboard - v1.1.1 - 2016-02-26
+* https://github.com/sachinchoolur/ngclipboard
+* Copyright (c) 2016 Sachin; Licensed MIT */
+!function(){"use strict";var a,b,c="ngclipboard";"object"==typeof module&&module.exports?(a=require("angular"),b=require("clipboard"),module.exports=c):(a=window.angular,b=window.Clipboard),a.module(c,[]).directive("ngclipboard",function(){return{restrict:"A",scope:{ngclipboardSuccess:"&",ngclipboardError:"&"},link:function(a,c){var d=new b(c[0]);d.on("success",function(b){a.$apply(function(){a.ngclipboardSuccess({e:b})})}),d.on("error",function(b){a.$apply(function(){a.ngclipboardError({e:b})})})}}})}(); \ No newline at end of file
diff --git a/Duplicati/Server/webroot/ngax/scripts/menu.js b/Duplicati/Server/webroot/ngax/scripts/menu.js
index f6f0e016f..63b3c660a 100755
--- a/Duplicati/Server/webroot/ngax/scripts/menu.js
+++ b/Duplicati/Server/webroot/ngax/scripts/menu.js
@@ -1,6 +1,13 @@
$(document).ready(function() {
$('html').on('click', function(e) {
$('#mainmenu').removeClass('mobile-open');
+ $('#threedotmenu_add_general').removeClass('open');
+ $('#threedotmenu_add_destination').removeClass('open');
+ $('#threedotmenu_add_destination_adv').removeClass('open');
+ $('#threedotmenu_add_source_folders').removeClass('open');
+ $('#threedotmenu_add_source_filters').removeClass('open');
+ $('#threedotmenu_add_options_adv').removeClass('open');
+ $('#contextmenu_pause').removeClass('open');
});
$('body').on('click', '.menubutton', function(e) {
@@ -8,4 +15,46 @@ $(document).ready(function() {
e.preventDefault();
$('#mainmenu').toggleClass('mobile-open');
});
+
+ $('body').on('click', '#threedotmenubutton_add_general', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#threedotmenu_add_general').toggleClass('open');
+ });
+
+ $('body').on('click', '#threedotmenubutton_add_destination', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#threedotmenu_add_destination').toggleClass('open');
+ });
+
+ $('body').on('click', '#threedotmenubutton_add_destination_adv', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#threedotmenu_add_destination_adv').toggleClass('open');
+ });
+
+ $('body').on('click', '#threedotmenubutton_add_source_folders', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#threedotmenu_add_source_folders').toggleClass('open');
+ });
+
+ $('body').on('click', '#threedotmenubutton_add_source_filters', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#threedotmenu_add_source_filters').toggleClass('open');
+ });
+
+ $('body').on('click', '#threedotmenubutton_add_options_adv', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#threedotmenu_add_options_adv').toggleClass('open');
+ });
+
+ $('body').on('click', '#contextmenulink_pause', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+ $('#contextmenu_pause').toggleClass('open');
+ });
});
diff --git a/Duplicati/Server/webroot/ngax/scripts/services/CaptchaService.js b/Duplicati/Server/webroot/ngax/scripts/services/CaptchaService.js
index 413b1ae95..731480bbc 100644
--- a/Duplicati/Server/webroot/ngax/scripts/services/CaptchaService.js
+++ b/Duplicati/Server/webroot/ngax/scripts/services/CaptchaService.js
@@ -19,7 +19,7 @@ backupApp.service('CaptchaService', function(DialogService, AppService, AppUtils
cb.token = null;
}
- DialogService.htmlDialog(title, 'templates/captcha.html', [gettextCatalog.getString('Cancel'), gettextCatalog.getString('OK')], function(btn) {
+ DialogService.htmlDialog(title, 'templates/captcha.html', [gettextCatalog.getString('Cancel'), gettextCatalog.getString('OK')], null, function(btn) {
if (btn != 1) {
self.active = null;
return;
diff --git a/Duplicati/Server/webroot/ngax/scripts/services/DialogService.js b/Duplicati/Server/webroot/ngax/scripts/services/DialogService.js
index 2a243c1a2..d5ab6e5d6 100644
--- a/Duplicati/Server/webroot/ngax/scripts/services/DialogService.js
+++ b/Duplicati/Server/webroot/ngax/scripts/services/DialogService.js
@@ -1,4 +1,4 @@
-backupApp.service('DialogService', function() {
+backupApp.service('DialogService', function(gettextCatalog) {
var state = this.state = {
CurrentItem: null,
Queue: []
@@ -21,11 +21,11 @@ backupApp.service('DialogService', function() {
this.enqueueDialog = function(config) {
- if (config == null || (config.message == null && config.htmltemplate == null))
+ if (config == null || (config.message == null && config.htmltemplate == null && config.enableTextarea == null))
return;
- config.title = config.title || 'Information';
- config.buttons = config.buttons || ['OK'];
+ config.title = config.title || gettextCatalog.getString('Information');
+ config.buttons = config.buttons || [gettextCatalog.getString('OK')];
state.Queue.push(config);
if (state.CurrentItem == null)
@@ -47,7 +47,7 @@ backupApp.service('DialogService', function() {
return this.enqueueDialog({
'message': message,
'callback': callback,
- 'buttons': ['Cancel', 'OK']
+ 'buttons': [gettextCatalog.getString('Cancel'), gettextCatalog.getString('OK')]
});
};
@@ -55,7 +55,7 @@ backupApp.service('DialogService', function() {
return this.enqueueDialog({
'message': message,
'callback': callback,
- 'buttons': ['OK']
+ 'buttons': [gettextCatalog.getString('OK')]
});
};
@@ -73,8 +73,22 @@ backupApp.service('DialogService', function() {
return this.enqueueDialog({
'htmltemplate': htmltemplate,
'title': title,
- 'callback': callback,
+ 'callback': callback,
+ 'buttons': buttons,
+ 'onshow': onshow
+ });
+ };
+
+ this.textareaDialog = function(title, message, placeholder, textarea, buttons, buttonTemplate, callback, onshow) {
+ return this.enqueueDialog({
+ 'enableTextarea': true,
+ 'title': title,
+ 'message': message,
+ 'placeholder': placeholder,
+ 'textarea': textarea,
+ 'callback': callback,
'buttons': buttons,
+ 'buttonTemplate': buttonTemplate,
'onshow': onshow
});
};
diff --git a/Duplicati/Server/webroot/ngax/scripts/services/EditUriBackendConfig.js b/Duplicati/Server/webroot/ngax/scripts/services/EditUriBackendConfig.js
index 8a2d27cc5..671e0059e 100644
--- a/Duplicati/Server/webroot/ngax/scripts/services/EditUriBackendConfig.js
+++ b/Duplicati/Server/webroot/ngax/scripts/services/EditUriBackendConfig.js
@@ -60,14 +60,14 @@ backupApp.service('EditUriBackendConfig', function(AppService, AppUtils, SystemI
this.show_error_dialog = function(msg) {
DialogService.dialog('Error', msg);
return false;
- }
+ };
this.show_warning_dialog = function(msg, continuation) {
DialogService.dialog(gettextCatalog.getString('Confirmation required'), msg, [gettextCatalog.getString('No'), gettextCatalog.getString('Yes')], function(ix) {
if (ix == 1)
continuation();
});
- }
+ };
this.defaultvalidater = function(scope, continuation) {
continuation();
@@ -89,7 +89,7 @@ backupApp.service('EditUriBackendConfig', function(AppService, AppUtils, SystemI
this.require_path = function(scope) {
if ((scope.Path || '').trim().length == 0)
- return self.show_error_dialog(gettextCatalog.getString('You must fill in the path'));
+ return self.show_error_dialog(gettextCatalog.getString('You must specify a path'));
return true;
};
diff --git a/Duplicati/Server/webroot/ngax/styles/style.css b/Duplicati/Server/webroot/ngax/styles/style.css
index 432dd1fdf..2d2d0b4b3 100755
--- a/Duplicati/Server/webroot/ngax/styles/style.css
+++ b/Duplicati/Server/webroot/ngax/styles/style.css
@@ -1,4 +1,4 @@
-@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Light-webfont.eot);src:url(../fonts/ClearSans-Light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Light-webfont.woff) format('woff'),url(../fonts/ClearSans-Light-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Light-webfont.svg#clear_sans_lightregular) format('svg');font-weight:300;font-style:normal}@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Regular-webfont.eot);src:url(../fonts/ClearSans-Regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Regular-webfont.woff) format('woff'),url(../fonts/ClearSans-Regular-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Regular-webfont.svg#clear_sansregular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Medium-webfont.eot);src:url(../fonts/ClearSans-Medium-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Medium-webfont.woff) format('woff'),url(../fonts/ClearSans-Medium-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Medium-webfont.svg#clear_sans_mediumregular) format('svg');font-weight:500;font-style:normal}@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Bold-webfont.eot);src:url(../fonts/ClearSans-Bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Bold-webfont.woff) format('woff'),url(../fonts/ClearSans-Bold-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Bold-webfont.svg#clear_sansbold) format('svg');font-weight:700;font-style:normal}form.styled label{display:block;width:190px;float:left;line-height:37px}form.styled input,form.styled select,form.styled textarea{color:#8f8f8f;font-size:16px;font-weight:300;float:left;display:block;border:1px #d8d8d8 solid;border-radius:2px;width:420px}form.styled input:focus,form.styled select:focus,form.styled textarea:focus{border:1px #a5a5a5 solid}form.styled .input{padding-bottom:18px;overflow:hidden}form.styled .input.password input,form.styled .input.text input{height:35px;line-height:35px;padding:0 12px}form.styled .input.text.text-browse input{width:375px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}form.styled .input.text.text-browse a.browse{width:45px;display:block;float:left;height:37px;border-radius:2px;border-top-left-radius:0;border-bottom-left-radius:0;color:#fff;background:#65b1dd;line-height:37px}form.styled .input.text.text-browse a.browse:hover{background:#2881b4}form.styled .input.textarea textarea{height:130px;padding:10px 12px}form.styled .input.select select{width:446px;padding:0 12px;-webkit-appearance:menulist-button;background:#fff;border-radius:2px;height:38px;line-height:38px}form.styled .buttons{overflow:hidden;float:right}form.styled .buttons a,form.styled .buttons input{display:block;background:#65b1dd;color:#fff!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}form.styled .buttons input{padding:4px 15px}form.styled .buttons a:hover,form.styled .buttons input:hover{background:#23729f}@media (max-width:480px){form.styled input,form.styled select,form.styled textarea{font-size:15px}}/*!
+@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Light-webfont.eot);src:url(../fonts/ClearSans-Light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Light-webfont.woff) format('woff'),url(../fonts/ClearSans-Light-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Light-webfont.svg#clear_sans_lightregular) format('svg');font-weight:300;font-style:normal}@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Regular-webfont.eot);src:url(../fonts/ClearSans-Regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Regular-webfont.woff) format('woff'),url(../fonts/ClearSans-Regular-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Regular-webfont.svg#clear_sansregular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Medium-webfont.eot);src:url(../fonts/ClearSans-Medium-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Medium-webfont.woff) format('woff'),url(../fonts/ClearSans-Medium-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Medium-webfont.svg#clear_sans_mediumregular) format('svg');font-weight:500;font-style:normal}@font-face{font-family:'Clear Sans';src:url(../fonts/ClearSans-Bold-webfont.eot);src:url(../fonts/ClearSans-Bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/ClearSans-Bold-webfont.woff) format('woff'),url(../fonts/ClearSans-Bold-webfont.ttf) format('truetype'),url(../fonts/ClearSans-Bold-webfont.svg#clear_sansbold) format('svg');font-weight:700;font-style:normal}form.styled div.leftflush input{width:auto;margin-top:10px}form.styled div.leftflush label{width:auto;min-width:190px}form.styled label{display:block;width:190px;float:left;line-height:37px}form.styled input,form.styled select,form.styled textarea{color:#8f8f8f;font-size:16px;font-weight:300;float:left;display:block;border:1px #d8d8d8 solid;border-radius:2px;width:420px}form.styled input:focus,form.styled select:focus,form.styled textarea:focus{border:1px #a5a5a5 solid}form.styled .input{padding-bottom:18px;overflow:hidden}form.styled .input.password input,form.styled .input.text input{height:35px;line-height:35px;padding:0 12px}form.styled .input.text.text-browse input{width:375px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}form.styled .input.text.text-browse a.browse{width:45px;display:block;float:left;height:37px;border-radius:2px;border-top-left-radius:0;border-bottom-left-radius:0;color:#fff;background:#65b1dd;line-height:37px}form.styled .input.text.text-browse a.browse:hover{background:#2881b4}form.styled .input.textarea textarea{height:130px;padding:10px 12px}form.styled .input.select select{width:446px;padding:0 12px;-webkit-appearance:menulist-button;background:#fff;border-radius:2px;height:38px;line-height:38px}form.styled .buttons{overflow:hidden;float:right}form.styled .buttons a,form.styled .buttons input{display:block;background:#65b1dd;color:#fff!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}form.styled .buttons input{padding:4px 15px}form.styled .buttons a:hover,form.styled .buttons input:hover{background:#23729f}@media (max-width:480px){form.styled input,form.styled select,form.styled textarea{font-size:15px}}/*!
* Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.5.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.5.0) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.5.0) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.5.0) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}*{font-family:'Clear Sans',sans-serif}body,html{margin:0;padding:0;height:100%}h1,h2{font-weight:300;color:#81c401}h1{margin:10px 0}h3{font-weight:400}a{text-decoration:none}ul{list-style:none;margin:0;padding:0}hr{border:none;border-bottom:1px #ddd solid}textarea{max-width:94%}.button{display:block;background:#65b1dd;color:#fff!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}.button:hover{background:#3b9cd4}body{color:#8f8f8f}body .container{min-height:100%;position:relative}body .container .header{height:70px;line-height:70px;background:#ededed;overflow:hidden}body .container .header a{color:#65b1dd}body .container .header a.active,body .container .header a:hover{color:#4f4f4f}body .container .header .logo{font-size:30px;font-weight:700;float:left;padding-left:50px}body .container .header .about-header{float:right;padding-right:20px;overflow:hidden}body .container .header .about-header ul{overflow:hidden;list-style:none}body .container .header .about-header ul li{float:right;padding-right:20px}body .container .header .donate img{opacity:.6}body .container .header .donate img:hover{opacity:1}body .container .body{width:100%;overflow:hidden;min-height:500px;padding-top:50px;padding-bottom:70px}body .container .body a{color:#65b1dd}body .container .body .mainmenu{width:260px;padding-left:40px;float:left}body .container .body .mainmenu ul li{position:relative}body .container .body .mainmenu ul li a{font-size:22px;font-weight:300;padding:5px 10px 5px 55px;display:block}body .container .body .mainmenu ul li a.active,body .container .body .mainmenu ul li a:hover{color:#fff}body .container .body .mainmenu ul li a.add{background:url(../img/mainmenu/add.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.restore{background:url(../img/mainmenu/restore.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.pause{background:url(../img/mainmenu/pause.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.settings{background:url(../img/mainmenu/settings.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.log{background:url(../img/mainmenu/log.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.add.active,body .container .body .mainmenu ul li a.add:hover{background:#65b1dd url(../img/mainmenu/over/add.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.restore.active,body .container .body .mainmenu ul li a.restore:hover{background:#65b1dd url(../img/mainmenu/over/restore.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.pause.active,body .container .body .mainmenu ul li a.pause:hover{background:#65b1dd url(../img/mainmenu/over/pause.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.settings.active,body .container .body .mainmenu ul li a.settings:hover{background:#65b1dd url(../img/mainmenu/over/settings.png) no-repeat 8px 7px}body .container .body .mainmenu ul li a.log.active,body .container .body .mainmenu ul li a.log:hover{background:#65b1dd url(../img/mainmenu/over/log.png) no-repeat 8px 7px}body .container .body .mainmenu ul li ul{position:absolute;left:200px;top:25px;background:#fff;border:1px #ededed solid;box-shadow:0 7px 15px rgba(0,0,0,.2);z-index:200}body .container .body .mainmenu ul li ul li a{color:#8f8f8f;font-size:15px;font-weight:400;padding:0;display:block;width:205px;padding:4px 10px}body .container .body .mainmenu ul li ul li a.active,body .container .body .mainmenu ul li ul li a:hover{background:#65b1dd;color:#fff}body .container .body .mainmenu ul li.hr-top{padding-top:25px;margin-top:25px;border-top:1px #ededed solid}body .container .body .content{float:left;padding-left:50px;padding-bottom:50px;max-width:700px}body .container .body .content ul.tabs>li{display:inline-block}body .container .body .content .state{color:#81c401;width:575px;padding:13px 15px;border:1px #81c401 solid;font-weight:300;font-size:18px;overflow:hidden}body .container .body .content .state strong{display:inline-block;margin-right:10px}body .container .body .content .state .button{position:static;margin-top:70px}body .container .body .content .tasks{padding-top:20px}body .container .body .content .tasks .tasklist .task{border-top:1px solid #eee;padding-top:20px;margin-bottom:25px}body .container .body .content .tasks .tasklist .task:last-child{border-bottom:1px solid #eee;padding-bottom:20px}body .container .body .content .tasks .tasklist a{font-size:30px;padding-left:55px;background:url(../img/backup.png) no-repeat 5px 6px;font-weight:300;display:inline-block}body .container .body .content .tasks .tasklist a::after{content:" >"}body .container .body .content .tasks .tasklist dl{padding-left:55px;overflow:hidden;font-size:14px}body .container .body .content .tasks .tasklist dl dd,body .container .body .content .tasks .tasklist dl dt{display:block;float:left}body .container .body .content .tasks .tasklist dl dt{clear:both;font-weight:500;margin-bottom:5px}body .container .body .content .tasks .tasklist dl dd{margin-left:10px}body .container .body .content .tasks .tasklist dl.contextmenu dt{float:left;margin-right:10px;margin-bottom:0;padding:5px 8px;color:#8f8f8f;cursor:pointer;clear:none}body .container .body .content .tasks .tasklist dl.contextmenu dd{clear:both;float:none;padding-bottom:8px;border-bottom:1px #ddd solid;margin-bottom:5px}body .container .body .content div.add .steps{width:100%;overflow:hidden;margin-left:50px}body .container .body .content div.add .steps .step{float:left;padding-left:130px;background:url(../img/steps/line-out.png) no-repeat top left;color:#c7e5f6}body .container .body .content div.add .steps .step span{display:block;border:4px #c7e5f6 solid;background:#fff;border-radius:50%;width:35px;height:35px;text-align:center;font-size:22px;line-height:35px;cursor:pointer}body .container .body .content div.add .steps .step.active{color:#65b1dd}body .container .body .content div.add .steps .step.active span{border:4px #65b1dd solid;background:#65b1dd;color:#fff}body .container .body .content div.add .steps .step.active h2{color:#65b1dd}body .container .body .content div.add .steps .step:first-child{padding-left:0;background:0 0}body .container .body .content div.add .steps-boxes{padding-left:40px}body .container .body .content div.add .steps-boxes .step{display:none}body .container .body .content div.add .steps-boxes .step.active{display:block}body .container .body .content div.add .steps-boxes .box.browser .checklinks a{float:left;margin-left:20px;color:#8f8f8f}body .container .body .content div.add .steps-boxes .box.browser .checklinks a i{border:2px solid;border-color:#8f8f8f;border-radius:2px;font-size:18px;height:18px;vertical-align:top;width:18px}body .container .body .content div.add .steps-boxes .box.browser .checklinks a.inactive{color:#c2c2c2;cursor:default}body .container .body .content div.add .steps-boxes .box.browser .checklinks a.inactive i{border-color:#c2c2c2}body .container .body .content div.add .steps-boxes .box.browser .checklinks a:first-child{margin-left:0}body .container .body .content div.add .steps-boxes .box.browser .input.overlayButton{padding-top:10px;max-width:100%}body .container .body .content div.add .steps-boxes .box.browser .input.overlayButton input#sourcePath{width:100%;box-sizing:border-box;height:37px}body .container .body .content div.add .steps-boxes .box.browser .input.overlayButton a.button{top:10px}body .container .body .content div.add .steps-boxes .box.filters .input.link a{color:#8f8f8f}body .container .body .content div.add .steps-boxes .box.filters .input.link a i{border:2px solid;border-color:#8f8f8f;border-radius:2px;font-size:18px;height:18px;vertical-align:top;width:18px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist{overflow:hidden;padding-bottom:15px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist li{overflow:hidden;clear:both;padding-bottom:5px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist li select{width:200px;margin-right:5px;height:36px;line-height:36px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist li input{width:280px;padding:5px}body .container .body .content div.add .steps-boxes .step4 div.input.keepBackups input.number,body .container .body .content div.add .steps-boxes .step4 div.input.maxSize input.number{width:60px}body .container .body .content div.add .steps-boxes .step4 .advancedoptions{padding-top:15px;clear:both}body .container .body .content div.add .steps-boxes .step4 .advancedoptions li{border-top:none}body .container .body .content div.add .steps-boxes .step4 .advancedoptions li>a{display:block;background:#65b1dd;color:#fff!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}body .container .body .content div.add .steps-boxes .step4 .advancedoptions li.advancedentry{border-bottom:1px solid #d3d3d3}body .container .body .content div.add .steps-boxes .step4 .advancedoptions li:last-child{padding-top:0}body .container .body .content div.add .steps-boxes .step4 .advancedoptions li:last-child select{max-width:400px}body .container .body .content div.add .steps-boxes .step4 .advancedoptions label{line-height:normal}body .container .body .content div.add .steps-boxes .step4 .advancedoptions input,body .container .body .content div.add .steps-boxes .step4 .advancedoptions select{width:auto;max-width:100%;box-sizing:border-box}body .container .body .content div.add .steps-boxes .step4 .advancedoptions .longdescription{margin-top:10px}body .container .body .content div.add .steps-boxes .step4 .advanced-toggle{color:#8f8f8f;line-height:normal;margin-top:16px;clear:both;float:left}body .container .body .content div.add .steps-boxes .step4 .advanced-toggle i.fa{border:2px solid;border-color:#8f8f8f;border-radius:2px;font-size:18px;height:18px;vertical-align:top;width:18px}body .container .body .content div.add .steps-boxes .step4 textarea{box-sizing:border-box;clear:both;margin-top:15px;width:100%}body .container .body .content div.add .steps-legend{overflow:hidden;padding-bottom:50px;list-style:none;padding-left:0;margin:0}body .container .body .content div.add .steps-legend li{color:#c7e5f6;font-size:18px;text-align:center;float:left;width:175px;padding-top:10px;cursor:pointer}body .container .body .content div.add .steps-legend li:first-child{width:140px;padding-right:15px}body .container .body .content div.add .steps-legend li.active{color:#65b1dd}body .container .body .content div.add form{padding-bottom:50px;overflow:hidden}body .container .body .content div.add form .input.password .tools{clear:both;padding-left:190px;padding-top:10px}body .container .body .content div.add form .input.password .tools ul{overflow:hidden}body .container .body .content div.add form .input.password .tools ul li{float:left;padding-right:7px}body .container .body .content div.add form .input.password .tools ul li.strength.useless{color:red}body .container .body .content div.add form .input.password .tools ul li.strength.average{color:#ff0}body .container .body .content div.add form .input.password .tools ul li.strength.good{color:#65b1dd}body .container .body .content div.add form .input.multiple input,body .container .body .content div.add form .input.multiple select{width:auto;margin-right:5px}body .container .body .content div.add form .input.multiple select{padding:5px 12px}body .container .body .content div.add form .input.overlayButton{overflow:hidden;position:relative;max-width:446px}body .container .body .content div.add form .input.overlayButton input{width:347px}body .container .body .content div.add form .input.overlayButton a.button{position:absolute;top:0;right:0;padding:7px 12px 8px}body .container .body .content div.add form .input.checkbox.multiple strong{display:block;padding-bottom:5px}body .container .body .content div.add form .input.checkbox.multiple label{display:inline-block;float:none;width:auto;padding-right:10px}body .container .body .content div.add form .input.checkbox.multiple input{width:auto;display:inline-block;float:none}body .container .body .content div.add form .buttons{float:none;width:635px;padding-top:30px}body .container .body .content div.settings .input.checkbox input.checkbox,body .container .body .content div.settings .input.mixed.multiple input.checkbox{width:auto}body .container .body .content div.settings .input.checkbox select,body .container .body .content div.settings .input.mixed.multiple select{width:auto;margin-right:5px}body .container .body .content div.settings .input.checkbox label,body .container .body .content div.settings .input.mixed.multiple label{line-height:normal;padding:0 15px;width:auto}body .container .body .content .logpage ul.tabs{padding:15px 0}body .container .body .content .logpage ul.entries li{padding-top:15px}body .container .body .content .prewrapped-text{white-space:pre-wrap;overflow-x:auto}body .container .footer{background:#ededed;min-height:70px;line-height:70px;overflow:hidden;position:absolute;bottom:0;width:100%}body .container .footer a{color:#65b1dd}body .container .footer .about-footer{float:left;overflow:hidden;padding-right:20px}body .container .footer .about-footer span{display:block;float:left;padding-left:20px}body .container .footer .about-footer ul{float:left}body .container .footer .about-footer li{float:left;padding-left:20px}body .container .footer .donate{float:right;padding-right:40px;overflow:hidden}body .container .footer .donate ul{overflow:hidden;float:right}body .container .footer .donate ul li{float:left;margin-left:20px}body .container .footer .donate ul li a img{margin-top:24px;display:inline-block;opacity:.6}body .container .footer .donate ul li a img:hover{opacity:1}body .container .footer .donate>a{float:left}body .container .footer .social{float:right}body .container .footer .social ul{overflow:hidden;float:right;padding-left:20px;padding-right:10px}body .container .footer .social ul li{float:right;margin-right:10px;padding-top:5px}body .container .footer .social ul li img{opacity:.6}body .container .footer .social ul li img:hover{opacity:1}body .container .footer .themelink{float:right;padding-right:20px}body #modal-menu{max-width:400px}body #modal-menu a{color:#65b1dd;font-size:20px;line-height:40px}.remodal{padding:30px;box-shadow:0 2px 7px rgba(0,0,0,.3);background:#fff;display:none}.remodal form .buttons{float:none}.remodal-wrapper .remodal{display:block}span.info{font-size:10px;font-weight:500;display:inline-block;background:#65b1dd;border-radius:50%;width:15px;height:15px;vertical-align:super;color:#fff;line-height:15px;margin-left:5px;text-align:center}.hidden{display:none}.clear{clear:both}.nofloat{float:none!important}div.blocker{z-index:5000}div.connection-lost,div.modal-dialog{z-index:5001}@media (max-width:1100px){body .container .header .donate{display:none}body .container .header .menubutton{display:block;font-size:18px;padding-right:50px;margin-top:5px;margin-right:15px;background:url(../img/menu.png) no-repeat right top;position:relative;height:40px;line-height:40px;color:#8f8f8f;float:right;top:10px;width:80px;text-transform:uppercase;text-align:right}body .container .header .menubutton.active{background-image:url(../img/menu_active.png);color:#65b1dd}body .container .body{position:relative;padding-top:0}body .container .body .mainmenu{display:none;position:absolute;background:none repeat scroll 0 0 #fff;box-shadow:0 4px 8px rgba(0,0,0,.3);left:10px;padding:20px;top:60px}body .container .body .mainmenu.mobile-open{display:block;left:auto;right:0;top:0;z-index:1000}body .container .body .content{float:none;padding:50px 20px;margin:0 auto}body .container .body .content .state{width:auto}body .container .footer .donate{display:block}body .container .mobileOpen{display:block!important}}@media (max-width:768px){body .container .body .content .tasks .tasklist a{font-size:20px;background-size:24px;background-position:0 4px;padding-left:35px}body .container .body .content .tasks .tasklist dl{padding-left:35px}body .container .body .content div.add .steps,body .container .body .content div.settings .steps{display:none}body .container .body .content div.add .steps-legend,body .container .body .content div.settings .steps-legend{list-style:decimal;padding-left:20px;border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}body .container .body .content div.add .steps-legend li,body .container .body .content div.settings .steps-legend li{float:none;font-weight:500;width:auto!important;padding-right:0!important}body .container .body .content div.add .steps-boxes,body .container .body .content div.settings .steps-boxes{padding-left:0}body .container .body .content div.add form.styled .input input,body .container .body .content div.add form.styled .input select,body .container .body .content div.add form.styled .input textarea,body .container .body .content div.settings form.styled .input input,body .container .body .content div.settings form.styled .input select,body .container .body .content div.settings form.styled .input textarea{max-width:100%;box-sizing:border-box}body .container .body .content div.add form.styled .input.select select,body .container .body .content div.settings form.styled .input.select select{width:420px}body .container .body .content div.add form.styled .buttons,body .container .body .content div.settings form.styled .buttons{max-width:100%;width:auto}body .container .body .content div.add form.styled .tools,body .container .body .content div.settings form.styled .tools{padding-left:0!important}body .container .body .content div.add form.styled .input.checkbox.multiple,body .container .body .content div.settings form.styled .input.checkbox.multiple{padding-bottom:5px}body .container .body .content div.add form.styled .input.checkbox.multiple input,body .container .body .content div.add form.styled .input.checkbox.multiple label,body .container .body .content div.settings form.styled .input.checkbox.multiple input,body .container .body .content div.settings form.styled .input.checkbox.multiple label{display:block!important;float:left!important;line-height:normal}body .container .body .content div.add form.styled .input.checkbox.multiple input,body .container .body .content div.settings form.styled .input.checkbox.multiple input{clear:both}body .container .body .content div.add form.styled .input.text.multiple input,body .container .body .content div.settings form.styled .input.text.multiple input{max-width:48%!important}}@media (max-width:640px){body h2{font-size:20px;text-align:center}body .container .body{padding-bottom:0}body .container .body .content div.add form .input.overlayButton{padding-top:8px;padding-bottom:30px;margin-bottom:10px}body .container .body .content div.add form .input.overlayButton a.button{padding:7px 10px;right:1px;top:9px}body .container .body .content div.add form .input.checkbox.multiple div{display:block}body .container .body .content div.add form .input.select.multiple input#exclude-larger-than-number{width:75px}body .container .body .content div.add form .input.select.multiple select#exclude-larger-than-multiplier{width:140px}body .container .body .content div.add form .filters .input.textarea{padding-bottom:10px}body .container .body .content div.add form .filters h3{margin:5px 0}body .container .body .content div.add form .input.text.select.multiple.repeat label{float:none}body .container .body .content div.add form .input.text.select.multiple.repeat input#repeatRunNumber{width:70px}body .container .body .content div.add form .input.text.select.multiple.repeat select#repeatRunMultiplier{width:100px}body .container .body .content div.add form .input.multiple.text.select.maxSize input{width:70px}body .container .body .content div.add form .input.multiple.text.select.maxSize select{width:100px}body .container .body .content div.add form .input.multiple.text.select.keepBackups select{width:85px;padding:4px 6px}body .container .body .content div.add form .input.multiple.text.select.keepBackups input{width:60px}body .container .footer{position:static;padding:15px;line-height:normal;text-align:left;box-sizing:border-box}body .container .footer *{float:none!important;text-align:center;box-sizing:border-box}body .container .footer .about-footer{padding-right:0}body .container .footer .about-footer span{padding-left:0;padding-bottom:5px}body .container .footer .about-footer li{padding-left:0;float:none;display:inline-block;height:32px;width:32px;background-size:28px!important;border-bottom:none}body .container .footer .about-footer li.support{background:url(../img/support.png) no-repeat center center}body .container .footer .about-footer li.about{background:url(../img/about.png) no-repeat center center}body .container .footer .about-footer li:first-child{padding-bottom:0}body .container .footer .about-footer li:last-child{padding-bottom:20px}body .container .footer .about-footer,body .container .footer .donate,body .container .footer .social,body .container .footer li{padding:8px 0;border-bottom:1px #ddd solid}body .container .footer .donate ul li{display:inline-block;border:none;margin:0 5px}body .container .footer .donate ul li a img{margin-top:0}body .container .footer .social li{display:inline-block;border:none}body .container .footer .themelink{padding:5px 0}}@media (max-width:480px){body{font-size:15px}body .container .header .logo{padding-left:20px}body .container .header .menubutton{margin-right:5px}body .container .body .mainmenu{width:280px;box-sizing:border-box}body .container .body .mainmenu ul li a{font-size:22px}body .container .body .content{padding:50px 15px}body .container .body .content div.add form .input.password .tools ul li{font-size:14px}body .container .body .content div.add form .buttons a{float:none;text-align:center;margin-bottom:5px}body .container .body .content div.add .steps-boxes .box.browser .checklinks a{float:none;margin-bottom:8px;display:block}} \ No newline at end of file
+ */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.5.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.5.0) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.5.0) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.5.0) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}*{font-family:'Clear Sans',sans-serif}body,html{margin:0;padding:0;height:100%}h1,h2{font-weight:300;color:#81c401}h1{margin:10px 0}h3{font-weight:400}a{text-decoration:none}ul{list-style:none;margin:0;padding:0}hr{border:none;border-bottom:1px #ddd solid}textarea{max-width:94%}.button{display:block;background:#65b1dd;color:#fff!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}.button:hover{background:#3b9cd4}#folder_path_picker,#restore_file_picker,.step3 source-folder-picker{display:block;border:1px solid #d3d3d3;padding:2px;height:100%;overflow:auto}.ui-match{font-weight:700;color:#006400}wait-area{min-width:350px;text-align:center;display:block}.prewrapped-text{white-space:pre-wrap}.exceptiontext{background-color:#d3d3d3;color:#000}ul.tabs{margin-bottom:10px}ul.tabs>li{display:inline;margin-right:10px;border:1px solid #65b1dd;padding:5px}ul.tabs>li.active{background-color:#65b1dd;color:#fff}ul.tabs>li.active>a{background-color:#65b1dd;color:#fff}ul.tabs>li.active.disabled{border:1px solid #d3d3d3;background-color:#d3d3d3;color:grey;cursor:default}ul.tabs>li.active.disabled>a{background-color:#d3d3d3;color:grey;cursor:default}.licenses>ul{list-style:initial;margin:10px;margin-left:20px}.licenses li{margin-bottom:10px}.licenses a.itemlink{font-weight:700}.logpage ul.entries{list-style:initial;margin:10px;margin-left:20px}.logpage .entries div.entryline{cursor:pointer}.logpage .entries.livedata li{height:1.2em;overflow:hidden}.logpage .entries.livedata li.expanded{height:auto;overflow:auto}.logpage .button{text-align:center;margin-right:10px;border:1px solid #65b1dd;padding:5px;background-color:#65b1dd;color:#fff;cursor:pointer}.exportpage .checkbox input{width:auto;margin-top:10px}.exportpage .commandline div{background-color:#d3d3d3;color:#000}.themelink{margin-left:20px}ul.notification{position:fixed;bottom:0;left:0;right:0;margin:auto;width:300px}.notification .title{border:1px solid #65b1dd;background-color:#65b1dd;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:2px;padding-left:5px;padding-right:5px;font-weight:700;color:#d3d3d3;width:100%;text-align:center;clear:both}.notification .content{background-color:#fff;border:1px solid #65b1dd;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:2px;padding-left:5px;padding-right:5px;padding-bottom:30px;width:100%}.notification .message{width:100%;color:#000}.notification .buttons{padding-top:6px}.notification .button{padding:2px 10px}.notification .error .title{border-color:red;background-color:red}.notification .error .content{border-color:red}.notification .error .button{border-color:red;background-color:red}.notification .warning .title{background-color:orange;border-color:orange}.notification .warning .button{background-color:orange;border-color:orange}.notification .warning .content{border-color:orange}.filepicker{height:200px}.resizable{margin-bottom:6px;max-width:100%}.advanced-toggle{float:right;margin-right:25px;line-height:37px}.advancedoptions li{clear:both;margin-bottom:10px;padding:10px 0;border-top:1px #d3d3d3 solid}.advancedentry .multiple{display:inline}.advancedentry .shortname{font-weight:700}.advancedentry input[type=text]{width:300px}.advancedentry select{width:300px}.advancedentry input[type=checkbox]{margin-top:13px;width:auto}.advancedentry .longdescription{margin-left:190px;clear:both;font-style:italic}.settings div.sublabel{clear:both;padding:0 31px;font-style:italic}.logo div.build-suffix{display:inline;font-size:16px}.logo div.powered-by{font-size:16px;margin:0;line-height:16px;padding:0;margin-top:-25px;margin-left:10px}.fixed-width-font{font-family:monospace}.warning{margin:10px;font-style:italic;color:#f49b42}div.captcha .details{padding-top:10px;margin-left:auto;margin-right:auto;width:180px}.centered-text{text-align:center}body{color:#8f8f8f}body .container{min-height:100%;position:relative}body .container .header{height:70px;line-height:70px;background:#ededed;overflow:hidden}body .container .header a{color:#65b1dd}body .container .header a.active,body .container .header a:hover{color:#4f4f4f}body .container .header .logo{font-size:30px;font-weight:700;float:left;padding-left:50px}body .container .header .about-header{float:right;padding-right:20px;overflow:hidden}body .container .header .about-header ul{overflow:hidden;list-style:none}body .container .header .about-header ul li{float:right;padding-right:20px}body .container .header .donate{float:right}body .container .header .donate ul{overflow:hidden;float:right;padding-left:20px;padding-right:10px}body .container .header .donate ul li{float:right;margin-right:10px;padding-top:5px}body .container .header .donate img{opacity:.6}body .container .header .donate img:hover{opacity:1}body .container .body{width:100%;overflow:hidden;min-height:500px;padding-top:50px;padding-bottom:70px}body .container .body a{color:#65b1dd}body .container .body .mainmenu{width:260px;padding-left:40px;float:left}body .container .body .mainmenu>ul>li{position:relative}body .container .body .mainmenu>ul>li>a{font-size:22px;font-weight:300;padding:5px 10px 5px 55px;display:block}body .container .body .mainmenu>ul>li>a.active,body .container .body .mainmenu>ul>li>a:hover{color:#fff}body .container .body .mainmenu>ul>li>a.add{background:url(../img/mainmenu/add.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.restore{background:url(../img/mainmenu/restore.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.pause{background:url(../img/mainmenu/pause.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.pause span{padding-right:25px;background:url(../img/mainmenu/arrow_right.png) right center no-repeat}body .container .body .mainmenu>ul>li>a.resume{background:url(../img/mainmenu/resume.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.settings{background:url(../img/mainmenu/settings.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.log{background:url(../img/mainmenu/log.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.add.active,body .container .body .mainmenu>ul>li>a.add:hover{background:#65b1dd url(../img/mainmenu/over/add.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.restore.active,body .container .body .mainmenu>ul>li>a.restore:hover{background:#65b1dd url(../img/mainmenu/over/restore.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.pause.active,body .container .body .mainmenu>ul>li>a.pause:hover{background:#65b1dd url(../img/mainmenu/over/pause.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.pause.active span,body .container .body .mainmenu>ul>li>a.pause:hover span{background:url(../img/mainmenu/over/arrow_right.png) right center no-repeat}body .container .body .mainmenu>ul>li>a.resume.active,body .container .body .mainmenu>ul>li>a.resume:hover{background:#65b1dd url(../img/mainmenu/over/resume.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.settings.active,body .container .body .mainmenu>ul>li>a.settings:hover{background:#65b1dd url(../img/mainmenu/over/settings.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.log.active,body .container .body .mainmenu>ul>li>a.log:hover{background:#65b1dd url(../img/mainmenu/over/log.png) no-repeat 8px 7px}body .container .body .mainmenu>ul li.hr-top{padding-top:25px;margin-top:25px;border-top:1px #ededed solid}body .container .body div.contextmenu_container{position:relative}body .container .body .contextmenu{display:none;position:absolute;left:260px;top:19px;background:#fff;border:1px #ededed solid;box-shadow:0 4px 8px rgba(0,0,0,.3);z-index:200;padding:5px}body .container .body .contextmenu li a{color:#65b1dd;font-size:15px;font-weight:400;padding:0;display:block;min-width:200px;padding:4px 10px;white-space:nowrap}body .container .body .contextmenu li a.active,body .container .body .contextmenu li a:hover{background:#65b1dd;color:#fff}body .container .body .contextmenu.open{display:block}body .container .body .content{float:left;padding-left:50px;padding-bottom:50px;max-width:700px}body .container .body .content ul.tabs>li{display:inline-block}body .container .body .content .state{color:#81c401;width:575px;padding:13px 15px;border:1px #81c401 solid;font-weight:300;font-size:18px;overflow:hidden}body .container .body .content .state strong{display:inline-block;margin-right:10px}body .container .body .content .state .button{position:static;margin-top:70px}body .container .body .content .tasks{padding-top:20px}body .container .body .content .tasks .tasklist .task{border-top:1px solid #eee;padding-top:20px;margin-bottom:25px}body .container .body .content .tasks .tasklist .task:last-child{border-bottom:1px solid #eee;padding-bottom:20px}body .container .body .content .tasks .tasklist a{font-size:30px;padding-left:55px;background:url(../img/backup.png) no-repeat 5px 6px;font-weight:300;display:inline-block}body .container .body .content .tasks .tasklist a.action-link{font-size:14px;background:0 0;padding-left:0}body .container .body .content .tasks .tasklist dl{padding-left:55px;overflow:hidden;font-size:14px}body .container .body .content .tasks .tasklist dl dd,body .container .body .content .tasks .tasklist dl dt{display:block;float:left}body .container .body .content .tasks .tasklist dl dt{clear:both;font-weight:500;margin-bottom:5px}body .container .body .content .tasks .tasklist dl dd{margin-left:10px}body .container .body .content .tasks .tasklist dl.taskmenu p{display:inline;margin-right:10px;color:#65b1dd;cursor:pointer}body .container .body .content .tasks .tasklist dl.taskmenu dt{float:left;margin-right:10px;margin-bottom:0;padding:5px 8px;color:#8f8f8f;cursor:pointer;clear:none}body .container .body .content .tasks .tasklist dl.taskmenu dd{clear:both;float:none;padding-bottom:8px;border-bottom:1px #ddd solid;margin-bottom:5px}body .container .body .content div.add .steps,body .container .body .content div.restore .steps{width:100%;overflow:hidden}body .container .body .content div.add .steps .step,body .container .body .content div.restore .steps .step{float:left;background:url(../img/steps/line-out.png) no-repeat top left;color:#c7e5f6}body .container .body .content div.add .steps .step span,body .container .body .content div.restore .steps .step span{display:block;border:4px #c7e5f6 solid;background:#fff;border-radius:50%;width:35px;height:35px;text-align:center;font-size:22px;line-height:35px;cursor:pointer}body .container .body .content div.add .steps .step.active,body .container .body .content div.restore .steps .step.active{color:#65b1dd}body .container .body .content div.add .steps .step.active span,body .container .body .content div.restore .steps .step.active span{border:4px #65b1dd solid;background:#65b1dd;color:#fff}body .container .body .content div.add .steps .step.active h2,body .container .body .content div.restore .steps .step.active h2{color:#65b1dd}body .container .body .content div.add .steps .step:first-child,body .container .body .content div.restore .steps .step:first-child{padding-left:0;background:0 0}body .container .body .content div.add .steps-legend,body .container .body .content div.restore .steps-legend{overflow:hidden;padding-bottom:50px;list-style:none;margin:0}body .container .body .content div.add .steps-legend li,body .container .body .content div.restore .steps-legend li{color:#c7e5f6;font-size:18px;text-align:center;float:left;padding-top:10px;cursor:pointer}body .container .body .content div.add .steps-legend li.active,body .container .body .content div.restore .steps-legend li.active{color:#65b1dd}body .container .body .content div.add .steps-boxes,body .container .body .content div.restore .steps-boxes{padding-left:40px}body .container .body .content div.add .steps-boxes .step,body .container .body .content div.restore .steps-boxes .step{display:none}body .container .body .content div.add .steps-boxes .step.active,body .container .body .content div.restore .steps-boxes .step.active{display:block}body .container .body .content div.add .steps-boxes .box.browser .checklinks a,body .container .body .content div.restore .steps-boxes .box.browser .checklinks a{float:left;margin-left:20px;color:#8f8f8f}body .container .body .content div.add .steps-boxes .box.browser .checklinks a i,body .container .body .content div.restore .steps-boxes .box.browser .checklinks a i{border:2px solid;border-color:#8f8f8f;border-radius:2px;font-size:18px;height:18px;vertical-align:top;width:18px}body .container .body .content div.add .steps-boxes .box.browser .checklinks a.inactive,body .container .body .content div.restore .steps-boxes .box.browser .checklinks a.inactive{color:#c2c2c2;cursor:default}body .container .body .content div.add .steps-boxes .box.browser .checklinks a.inactive i,body .container .body .content div.restore .steps-boxes .box.browser .checklinks a.inactive i{border-color:#c2c2c2}body .container .body .content div.add .steps-boxes .box.browser .checklinks a:first-child,body .container .body .content div.restore .steps-boxes .box.browser .checklinks a:first-child{margin-left:0}body .container .body .content div.add .steps-boxes .box.browser .input.overlayButton,body .container .body .content div.restore .steps-boxes .box.browser .input.overlayButton{padding-top:10px;max-width:100%}body .container .body .content div.add .steps-boxes .box.browser .input.overlayButton input#sourcePath,body .container .body .content div.restore .steps-boxes .box.browser .input.overlayButton input#sourcePath{width:100%;box-sizing:border-box;height:37px}body .container .body .content div.add .steps-boxes .box.browser .input.overlayButton a.button,body .container .body .content div.restore .steps-boxes .box.browser .input.overlayButton a.button{top:10px}body .container .body .content div.add .steps-boxes .box.filters .input.link a,body .container .body .content div.restore .steps-boxes .box.filters .input.link a{color:#8f8f8f}body .container .body .content div.add .steps-boxes .box.filters .input.link a i,body .container .body .content div.restore .steps-boxes .box.filters .input.link a i{border:2px solid;border-color:#8f8f8f;border-radius:2px;font-size:18px;height:18px;vertical-align:top;width:18px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist,body .container .body .content div.restore .steps-boxes .box.filters ul#simplefilterlist{overflow:hidden;padding-bottom:15px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist li,body .container .body .content div.restore .steps-boxes .box.filters ul#simplefilterlist li{overflow:hidden;clear:both;padding-bottom:5px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist li select,body .container .body .content div.restore .steps-boxes .box.filters ul#simplefilterlist li select{width:200px;margin-right:5px;height:36px;line-height:36px}body .container .body .content div.add .steps-boxes .box.filters ul#simplefilterlist li input,body .container .body .content div.restore .steps-boxes .box.filters ul#simplefilterlist li input{width:280px;padding:5px}body .container .body .content div.add .steps-boxes .step1 li.strength.score-0,body .container .body .content div.restore .steps-boxes .step1 li.strength.score-0{color:red}body .container .body .content div.add .steps-boxes .step1 li.strength.score-1,body .container .body .content div.restore .steps-boxes .step1 li.strength.score-1{color:#f70}body .container .body .content div.add .steps-boxes .step1 li.strength.score-2,body .container .body .content div.restore .steps-boxes .step1 li.strength.score-2{color:#aa0}body .container .body .content div.add .steps-boxes .step1 li.strength.score-3,body .container .body .content div.restore .steps-boxes .step1 li.strength.score-3{color:#070}body .container .body .content div.add .steps-boxes .step1 li.strength.score-4,body .container .body .content div.restore .steps-boxes .step1 li.strength.score-4{color:#427e27}body .container .body .content div.add .steps-boxes .step1 li.strength.score-x,body .container .body .content div.restore .steps-boxes .step1 li.strength.score-x{color:red}body .container .body .content div.add .steps-boxes .step5 div.input.keepBackups input.number,body .container .body .content div.add .steps-boxes .step5 div.input.maxSize input.number,body .container .body .content div.restore .steps-boxes .step5 div.input.keepBackups input.number,body .container .body .content div.restore .steps-boxes .step5 div.input.maxSize input.number{width:60px}body .container .body .content div.add .steps-boxes .step5 .advancedoptions,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions{padding-top:15px;clear:both}body .container .body .content div.add .steps-boxes .step5 .advancedoptions li,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions li{border-top:none}body .container .body .content div.add .steps-boxes .step5 .advancedoptions li>a,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions li>a{display:block;background:#65b1dd;color:#fff!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}body .container .body .content div.add .steps-boxes .step5 .advancedoptions li.advancedentry,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions li.advancedentry{border-bottom:1px solid #d3d3d3}body .container .body .content div.add .steps-boxes .step5 .advancedoptions li:last-child,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions li:last-child{padding-top:0}body .container .body .content div.add .steps-boxes .step5 .advancedoptions li:last-child select,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions li:last-child select{max-width:400px}body .container .body .content div.add .steps-boxes .step5 .advancedoptions label,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions label{line-height:normal}body .container .body .content div.add .steps-boxes .step5 .advancedoptions input,body .container .body .content div.add .steps-boxes .step5 .advancedoptions select,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions input,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions select{width:auto;max-width:100%;box-sizing:border-box}body .container .body .content div.add .steps-boxes .step5 .advancedoptions .longdescription,body .container .body .content div.restore .steps-boxes .step5 .advancedoptions .longdescription{margin-top:10px}body .container .body .content div.add .steps-boxes .step5 .advanced-toggle,body .container .body .content div.restore .steps-boxes .step5 .advanced-toggle{color:#8f8f8f;line-height:normal;margin-top:16px;clear:both;float:left}body .container .body .content div.add .steps-boxes .step5 .advanced-toggle i.fa,body .container .body .content div.restore .steps-boxes .step5 .advanced-toggle i.fa{border:2px solid;border-color:#8f8f8f;border-radius:2px;font-size:18px;height:18px;vertical-align:top;width:18px}body .container .body .content div.add .steps-boxes .step5 textarea,body .container .body .content div.restore .steps-boxes .step5 textarea{box-sizing:border-box;clear:both;margin-top:15px;width:100%}body .container .body .content div.add form,body .container .body .content div.restore form{padding-bottom:50px;overflow:hidden}body .container .body .content div.add form .input.password .tools,body .container .body .content div.restore form .input.password .tools{clear:both;padding-left:190px;padding-top:10px}body .container .body .content div.add form .input.password .tools ul,body .container .body .content div.restore form .input.password .tools ul{overflow:hidden}body .container .body .content div.add form .input.password .tools ul li,body .container .body .content div.restore form .input.password .tools ul li{float:left;padding-right:7px}body .container .body .content div.add form .input.password .tools ul li.strength.useless,body .container .body .content div.restore form .input.password .tools ul li.strength.useless{color:red}body .container .body .content div.add form .input.password .tools ul li.strength.average,body .container .body .content div.restore form .input.password .tools ul li.strength.average{color:#ff0}body .container .body .content div.add form .input.password .tools ul li.strength.good,body .container .body .content div.restore form .input.password .tools ul li.strength.good{color:#65b1dd}body .container .body .content div.add form .input.multiple input,body .container .body .content div.add form .input.multiple select,body .container .body .content div.restore form .input.multiple input,body .container .body .content div.restore form .input.multiple select{width:auto;margin-right:5px}body .container .body .content div.add form .input.multiple select,body .container .body .content div.restore form .input.multiple select{padding:5px 12px}body .container .body .content div.add form .input.overlayButton,body .container .body .content div.restore form .input.overlayButton{overflow:hidden;position:relative;max-width:446px}body .container .body .content div.add form .input.overlayButton input,body .container .body .content div.restore form .input.overlayButton input{width:347px}body .container .body .content div.add form .input.overlayButton a.button,body .container .body .content div.restore form .input.overlayButton a.button{position:absolute;top:0;right:0;padding:7px 12px 8px}body .container .body .content div.add form .input.checkbox.multiple strong,body .container .body .content div.restore form .input.checkbox.multiple strong{display:block;padding-bottom:5px}body .container .body .content div.add form .input.checkbox.multiple label,body .container .body .content div.restore form .input.checkbox.multiple label{display:inline-block;float:none;width:auto;padding-right:10px}body .container .body .content div.add form .input.checkbox.multiple input,body .container .body .content div.restore form .input.checkbox.multiple input{width:auto;display:inline-block;float:none}body .container .body .content div.add form .buttons,body .container .body .content div.restore form .buttons{float:none;width:635px;padding-top:30px}body .container .body .content div.add .steps{margin-left:48.5px}body .container .body .content div.add .steps .step{padding-left:97px}body .container .body .content div.add .steps-legend{padding-left:0}body .container .body .content div.add .steps-legend li{width:140px}body .container .body .content div.restore .steps{margin-left:216px}body .container .body .content div.restore .steps .step{padding-left:182px}body .container .body .content div.restore .steps-legend{padding-left:125px}body .container .body .content div.restore .steps-legend li{width:225px}body .container .body .content div.headerthreedotmenu{margin:20px 0 20px 0}body .container .body .content div.headerthreedotmenu h2{display:inline}body .container .body .content div.headerthreedotmenu .contextmenu_container{float:right}body .container .body .content div.headerthreedotmenu .contextmenu{left:auto;right:0;top:auto}body .container .body .content div.headerthreedotmenu .threedotmenubutton{padding:5px}body .container .body .content .expandable{margin:20px 0 20px 0}body .container .body .content .expandable h2{display:inline}body .container .body .content .expandable img{padding:0 6px}body .container .body .content div.settings .input.checkbox input.checkbox,body .container .body .content div.settings .input.mixed.multiple input.checkbox{width:auto}body .container .body .content div.settings .input.checkbox select,body .container .body .content div.settings .input.mixed.multiple select{width:auto;margin-right:5px}body .container .body .content div.settings .input.checkbox label,body .container .body .content div.settings .input.mixed.multiple label{line-height:normal;padding:0 15px;width:auto}body .container .body .content .logpage ul.tabs{padding:15px 0}body .container .body .content .logpage ul.entries li{padding-top:15px}body .container .body .content .prewrapped-text{white-space:pre-wrap;overflow-x:auto}body .container .footer{background:#ededed;min-height:70px;line-height:70px;overflow:hidden;position:absolute;bottom:0;width:100%}body .container .footer a{color:#65b1dd}body .container .footer .about-footer{float:left;overflow:hidden;padding-right:20px}body .container .footer .about-footer span{display:block;float:left;padding-left:20px}body .container .footer .about-footer ul{float:left}body .container .footer .about-footer li{float:left;padding-left:20px}body .container .footer .donate{float:right;padding-right:40px;overflow:hidden}body .container .footer .donate ul{overflow:hidden;float:right}body .container .footer .donate ul li{float:left;margin-left:20px}body .container .footer .donate ul li a img{margin-top:24px;display:inline-block;opacity:.6}body .container .footer .donate ul li a img:hover{opacity:1}body .container .footer .donate>a{float:left}body .container .footer .social{float:right}body .container .footer .social ul{overflow:hidden;float:right;padding-left:20px;padding-right:10px}body .container .footer .social ul li{float:right;margin-right:10px;padding-top:5px}body .container .footer .social ul li img{opacity:.6}body .container .footer .social ul li img:hover{opacity:1}body .container .footer .themelink{float:right;padding-right:20px}body #modal-menu{max-width:400px}body #modal-menu a{color:#65b1dd;font-size:20px;line-height:40px}.remodal{padding:30px;box-shadow:0 2px 7px rgba(0,0,0,.3);background:#fff;display:none}.remodal form .buttons{float:none}.remodal-wrapper .remodal{display:block}span.info{font-size:10px;font-weight:500;display:inline-block;background:#65b1dd;border-radius:50%;width:15px;height:15px;vertical-align:super;color:#fff;line-height:15px;margin-left:5px;text-align:center}.hidden{display:none}.clear{clear:both}.nofloat{float:none!important}div.blocker,div.connection-lost,div.modal-dialog{position:fixed;top:0;left:0;right:0;bottom:0;margin:auto}div.blocker{z-index:5000;background-color:#000;opacity:.65}#connection-lost-blocker{z-index:5100}#connection-lost-dialog{z-index:5200}div.connection-lost,div.modal-dialog{z-index:5001;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}div.connection-lost div.info,div.modal-dialog div.info{min-width:310px;max-width:650px;margin:5px}div.connection-lost div.title,div.modal-dialog div.title{border:1px solid #65b1dd;background-color:#65b1dd;border-radius:5px 5px 0 0;padding:10px 20px;font-weight:700;color:#d3d3d3;text-align:center}div.connection-lost div.content,div.modal-dialog div.content{background-color:#fff;border:1px solid #fff;padding:20px}div.connection-lost .buttons,div.modal-dialog .buttons{border-radius:0 0 5px 5px;padding-top:10px;overflow:auto}div.connection-lost form,div.modal-dialog form{margin-top:15px}div.connection-lost form textarea,div.modal-dialog form textarea{height:130px;width:420px;padding:10px 12px;border:1px #d8d8d8 solid;border-radius:2px;color:#8f8f8f;font-size:16px;font-weight:300}div.connection-lost form input,div.modal-dialog form input{height:35px;line-height:35px;padding:0 12px}div.modal-dialog .content.buttons ul{float:right}div.modal-dialog .content.buttons .tooltipped{position:relative}div.modal-dialog .content.buttons .tooltipped:after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font:normal normal 11px/1.5 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,.8);border-radius:3px;-webkit-font-smoothing:subpixel-antialiased}div.modal-dialog .content.buttons .tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,.8);pointer-events:none;content:"";border:5px solid transparent}div.modal-dialog .content.buttons .tooltipped:active:after,div.modal-dialog .content.buttons .tooltipped:active:before,div.modal-dialog .content.buttons .tooltipped:focus:after,div.modal-dialog .content.buttons .tooltipped:focus:before,div.modal-dialog .content.buttons .tooltipped:hover:after,div.modal-dialog .content.buttons .tooltipped:hover:before{display:inline-block;text-decoration:none}div.modal-dialog .content.buttons .tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%)}div.modal-dialog .content.buttons .tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress{position:relative;min-height:25px}.progress>span{position:absolute;vertical-align:middle;display:block;width:100%;height:100%;text-align:center;z-index:100;padding-top:2px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress .progress-bar{float:left;width:0;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;height:100%;position:absolute}.progress .progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.tree-view{list-style-type:none;margin-left:10px;padding-bottom:5px}.tree-view ul{margin-left:16px}.tree-view span.nodeLabel{cursor:pointer}.tree-view span.nodeLabel.selected{border:1px solid #aaa;background-color:#ddd;padding:1px 3px}.tree-view li .node{padding-bottom:5px}.tree-view li div.selected{border-color:#add8e6;background-color:#add8e6}.tree-view li>ul{display:none}.tree-view li>ul.expanded{display:block}.tree-view li a.nav{cursor:pointer;display:inline-block;width:16px;height:16px;vertical-align:middle;background-image:url(../img/treeicons.png);background-repeat:no-repeat;background-position:-80px 0}.tree-view li a.nav.leaf{background:0 0}.tree-view li a.nav.expanded{background-position:-80px -16px}.tree-view li a.type{cursor:auto;display:inline-block;width:16px;height:16px;vertical-align:middle;background-image:url(../img/treeicons.png);background-repeat:no-repeat;background-position:0 -16px}.tree-view li a.type.invisible{background-position:0 -32px}.tree-view li a.type.loading{cursor:progress;background-image:url(../img/loader-16.gif);background-repeat:no-repeat;background-position:0 0}.tree-view li a.type.x-tree-icon-drive{background-position:-16px -16px}.tree-view li a.type.x-tree-icon-leaf{background-position:-32px -16px}.tree-view li a.type.x-tree-icon-symlink{background-position:-48px -16px}.tree-view li a.type.x-tree-icon-userdata{background-position:-16px -48px}.tree-view li a.type.x-tree-icon-locked{background-position:-64px -16px}.tree-view li a.type.x-tree-icon-broken{background-position:-64px -16px}.tree-view li a.type.x-tree-icon-computer{background-position:0 -48px}.tree-view li a.type.x-tree-icon-hyperv{background-position:-96px -16px}.tree-view li a.type.x-tree-icon-hypervmachine{background-position:-96px 0}.tree-view li a.type.x-tree-icon-mydocuments{background-position:-32px -48px}.tree-view li a.type.x-tree-icon-mymusic{background-position:-48px -48px}.tree-view li a.type.x-tree-icon-mypictures{background-position:-64px -48px}.tree-view li a.type.x-tree-icon-desktop{background-position:-80px -48px}.tree-view li a.type.x-tree-icon-home{background-position:-96px -48px}.tree-view li a.type.x-tree-icon-drive.invisible{background-position:-16px -32px}.tree-view li a.type.x-tree-icon-leaf.invisible{background-position:-32px -32px}.tree-view li a.type.x-tree-icon-symlink.invisible{cursor:auto;background-position:-48px -32px}.tree-view li a.type.x-tree-icon-locked.invisible{background-position:-64px -32px}.tree-view li a.check{height:16px;width:16px;display:inline-block;cursor:pointer;background-image:url(../img/treeicons.png);background-repeat:no-repeat;background-position:0 0;vertical-align:middle}.tree-view li a.partial{background-position:-32px 0}.tree-view li a.include{background-position:-16px 0}.tree-view li a.exclude{background-position:-48px 0}.tree-view li a.root{background:0 0;display:none}@media (max-width:1100px){body .container .header .donate{display:none}body .container .header .menubutton{display:block;font-size:18px;padding-right:50px;margin-top:5px;margin-right:15px;background:url(../img/menu.png) no-repeat right top;position:relative;height:40px;line-height:40px;color:#8f8f8f;float:right;top:10px;width:80px;text-transform:uppercase;text-align:right}body .container .header .menubutton.active{background-image:url(../img/menu_active.png);color:#65b1dd}body .container .body{position:relative;padding-top:0}body .container .body .mainmenu{display:none;position:absolute;background:none repeat scroll 0 0 #fff;box-shadow:0 4px 8px rgba(0,0,0,.3);left:10px;padding:20px;top:60px}body .container .body .mainmenu.mobile-open{display:block;left:auto;right:0;top:0;z-index:1000}body .container .body .contextmenu{left:0;top:auto}body .container .body .content{float:none;padding:50px 20px;margin:0 auto}body .container .body .content .state{width:auto}body .container .footer .donate{display:block}body .container .mobileOpen{display:block!important}}@media (max-width:768px){body .container .body .content .tasks .tasklist a{font-size:20px;background-size:24px;background-position:0 4px;padding-left:35px}body .container .body .content .tasks .tasklist dl{padding-left:35px}body .container .body .content div.add .steps,body .container .body .content div.restore .steps,body .container .body .content div.settings .steps{display:none}body .container .body .content div.add .steps-legend,body .container .body .content div.restore .steps-legend,body .container .body .content div.settings .steps-legend{list-style:decimal;padding-left:20px;border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}body .container .body .content div.add .steps-legend li,body .container .body .content div.restore .steps-legend li,body .container .body .content div.settings .steps-legend li{float:none;font-weight:500;width:auto!important;padding-right:0!important}body .container .body .content div.add .steps-boxes,body .container .body .content div.restore .steps-boxes,body .container .body .content div.settings .steps-boxes{padding-left:0}body .container .body .content div.add form.styled .input input,body .container .body .content div.add form.styled .input select,body .container .body .content div.add form.styled .input textarea,body .container .body .content div.restore form.styled .input input,body .container .body .content div.restore form.styled .input select,body .container .body .content div.restore form.styled .input textarea,body .container .body .content div.settings form.styled .input input,body .container .body .content div.settings form.styled .input select,body .container .body .content div.settings form.styled .input textarea{max-width:100%;box-sizing:border-box}body .container .body .content div.add form.styled .input.select select,body .container .body .content div.restore form.styled .input.select select,body .container .body .content div.settings form.styled .input.select select{width:420px}body .container .body .content div.add form.styled .buttons,body .container .body .content div.restore form.styled .buttons,body .container .body .content div.settings form.styled .buttons{max-width:100%;width:auto}body .container .body .content div.add form.styled .tools,body .container .body .content div.restore form.styled .tools,body .container .body .content div.settings form.styled .tools{padding-left:0!important}body .container .body .content div.add form.styled .input.checkbox.multiple,body .container .body .content div.restore form.styled .input.checkbox.multiple,body .container .body .content div.settings form.styled .input.checkbox.multiple{padding-bottom:5px}body .container .body .content div.add form.styled .input.checkbox.multiple input,body .container .body .content div.add form.styled .input.checkbox.multiple label,body .container .body .content div.restore form.styled .input.checkbox.multiple input,body .container .body .content div.restore form.styled .input.checkbox.multiple label,body .container .body .content div.settings form.styled .input.checkbox.multiple input,body .container .body .content div.settings form.styled .input.checkbox.multiple label{display:block!important;float:left!important;line-height:normal}body .container .body .content div.add form.styled .input.checkbox.multiple input,body .container .body .content div.restore form.styled .input.checkbox.multiple input,body .container .body .content div.settings form.styled .input.checkbox.multiple input{clear:both}body .container .body .content div.add form.styled .input.text.multiple input,body .container .body .content div.restore form.styled .input.text.multiple input,body .container .body .content div.settings form.styled .input.text.multiple input{max-width:48%!important}}@media (max-width:640px){body h2{font-size:20px;text-align:center}body .container .body{padding-bottom:0}body .container .body .content div.add form .input.overlayButton,body .container .body .content div.restore form .input.overlayButton{padding-top:8px;padding-bottom:30px;margin-bottom:10px}body .container .body .content div.add form .input.overlayButton a.button,body .container .body .content div.restore form .input.overlayButton a.button{padding:7px 10px;right:1px;top:9px}body .container .body .content div.add form .input.checkbox.multiple div,body .container .body .content div.restore form .input.checkbox.multiple div{display:block}body .container .body .content div.add form .input.select.multiple input#exclude-larger-than-number,body .container .body .content div.restore form .input.select.multiple input#exclude-larger-than-number{width:75px}body .container .body .content div.add form .input.select.multiple select#exclude-larger-than-multiplier,body .container .body .content div.restore form .input.select.multiple select#exclude-larger-than-multiplier{width:140px}body .container .body .content div.add form .filters .input.textarea,body .container .body .content div.restore form .filters .input.textarea{padding-bottom:10px}body .container .body .content div.add form .filters h3,body .container .body .content div.restore form .filters h3{margin:5px 0}body .container .body .content div.add form .input.text.select.multiple.repeat label,body .container .body .content div.restore form .input.text.select.multiple.repeat label{float:none}body .container .body .content div.add form .input.text.select.multiple.repeat input#repeatRunNumber,body .container .body .content div.restore form .input.text.select.multiple.repeat input#repeatRunNumber{width:70px}body .container .body .content div.add form .input.text.select.multiple.repeat select#repeatRunMultiplier,body .container .body .content div.restore form .input.text.select.multiple.repeat select#repeatRunMultiplier{width:100px}body .container .body .content div.add form .input.multiple.text.select.maxSize input,body .container .body .content div.restore form .input.multiple.text.select.maxSize input{width:70px}body .container .body .content div.add form .input.multiple.text.select.maxSize select,body .container .body .content div.restore form .input.multiple.text.select.maxSize select{width:100px}body .container .body .content div.add form .input.multiple.text.select.keepBackups select,body .container .body .content div.restore form .input.multiple.text.select.keepBackups select{width:85px;padding:4px 6px}body .container .body .content div.add form .input.multiple.text.select.keepBackups input,body .container .body .content div.restore form .input.multiple.text.select.keepBackups input{width:60px}body .container .footer{position:static;padding:15px;line-height:normal;text-align:left;box-sizing:border-box}body .container .footer *{float:none!important;text-align:center;box-sizing:border-box}body .container .footer .about-footer{padding-right:0}body .container .footer .about-footer span{padding-left:0;padding-bottom:5px}body .container .footer .about-footer li{padding-left:0;float:none;display:inline-block;height:32px;width:32px;background-size:28px!important;border-bottom:none}body .container .footer .about-footer li.support{background:url(../img/support.png) no-repeat center center}body .container .footer .about-footer li.about{background:url(../img/about.png) no-repeat center center}body .container .footer .about-footer li:first-child{padding-bottom:0}body .container .footer .about-footer li:last-child{padding-bottom:20px}body .container .footer .about-footer,body .container .footer .donate,body .container .footer .social,body .container .footer li{padding:8px 0;border-bottom:1px #ddd solid}body .container .footer .donate ul li{display:inline-block;border:none;margin:0 5px}body .container .footer .donate ul li a img{margin-top:0}body .container .footer .social li{display:inline-block;border:none}body .container .footer .themelink{padding:5px 0}}@media (max-width:580px){.advancedentry .longdescription{margin-left:0}}@media (max-width:480px){body{font-size:15px}body .container .header .logo{padding-left:20px}body .container .header .menubutton{margin-right:5px}body .container .body .mainmenu{width:280px;box-sizing:border-box}body .container .body .mainmenu ul li a{font-size:22px}body .container .body .content{padding:50px 15px}body .container .body .content div.add form .input.password .tools ul li,body .container .body .content div.restore form .input.password .tools ul li{font-size:14px}body .container .body .content div.add form .buttons a,body .container .body .content div.restore form .buttons a{float:none;text-align:center;margin-bottom:5px}body .container .body .content div.add .steps-boxes .box.browser .checklinks a,body .container .body .content div.restore .steps-boxes .box.browser .checklinks a{float:none;margin-bottom:8px;display:block}} \ No newline at end of file
diff --git a/Duplicati/Server/webroot/ngax/styles/styles2.css b/Duplicati/Server/webroot/ngax/styles/styles2.css
deleted file mode 100644
index 7aeb158df..000000000
--- a/Duplicati/Server/webroot/ngax/styles/styles2.css
+++ /dev/null
@@ -1,659 +0,0 @@
-/* tree */
-.tree-view {
- list-style-type: none;
- margin-left: 10px;
- padding-bottom: 5px;
-}
-
-.tree-view ul {
- margin-left: 16px;
-}
-
-.tree-view li .node {
- padding-bottom: 5px;
-}
-.tree-view span.nodeLabel {
- cursor: pointer;
-}
-.tree-view span.nodeLabel.selected {
- border: 1px solid #aaa;
- background-color: #ddd;
- padding: 1px 3px;
-}
-
-.tree-view li div.selected {
- border-color: lightblue;
- background-color: lightblue;
-}
-
-
-.tree-view li a.nav {
- cursor: pointer;
- display: inline-block;
- width: 16px;
- height: 16px;
- vertical-align: middle;
- background-image: url(../img/treeicons.png);
- background-repeat: no-repeat;
- background-position: -80px 0px;
-}
-
-.tree-view a.nav.expanded {
- background-position: -80px -16px;
-}
-
-.tree-view a.nav.leaf {
- background: none;
-}
-
-.tree-view li a.type {
- cursor: auto;
- display: inline-block;
- width: 16px;
- height: 16px;
- vertical-align: middle;
- background-image: url(../img/treeicons.png);
- background-repeat: no-repeat;
- background-position: 0px -16px;
-}
-
-.tree-view a.type.x-tree-icon-drive {
- background-position: -16px -16px;
-}
-
-.tree-view a.type.x-tree-icon-leaf {
- background-position: -32px -16px;
-}
-
-.tree-view a.type.x-tree-icon-symlink {
- background-position: -48px -16px;
-}
-
-.tree-view a.type.x-tree-icon-userdata {
- background-position: -16px -48px;
-}
-
-.tree-view a.type.x-tree-icon-locked {
- background-position: -64px -16px;
-}
-
-.tree-view a.type.x-tree-icon-broken {
- background-position: -64px -16px;
-}
-
-.tree-view a.type.x-tree-icon-computer {
- background-position: 0px -48px;
-}
-
-.tree-view a.type.x-tree-icon-hyperv {
- background-position: -96px -16px;
-}
-
-.tree-view a.type.x-tree-icon-hypervmachine {
- background-position: -96px 0px;
-}
-
-.tree-view a.type.x-tree-icon-mydocuments {
- background-position: -32px -48px;
-}
-
-.tree-view a.type.x-tree-icon-mymusic {
- background-position: -48px -48px;
-}
-
-.tree-view a.type.x-tree-icon-mypictures {
- background-position: -64px -48px;
-}
-
-.tree-view a.type.x-tree-icon-desktop {
- background-position: -80px -48px;
-}
-
-.tree-view a.type.x-tree-icon-home {
- background-position: -96px -48px;
-}
-
-
-.tree-view li a.type.invisible {
- background-position: 0px -32px;
-}
-
-.tree-view a.type.x-tree-icon-drive.invisible {
- background-position: -16px -32px;
-}
-
-
-.tree-view a.type.x-tree-icon-leaf.invisible {
- background-position: -32px -32px;
-}
-
-.tree-view a.type.x-tree-icon-symlink.invisible {
- cursor: auto;
- background-position: -48px -32px;
-}
-
-.tree-view a.type.x-tree-icon-locked.invisible {
- background-position: -64px -32px;
-}
-
-
-.tree-view a.type.loading {
- cursor: progress;
- background-image: url(../img/loader-16.gif);
- background-repeat: no-repeat;
- background-position: 0px 0px;
-}
-
-.tree-view li a.check {
- height: 16px;
- width: 16px;
- display: inline-block;
- cursor: pointer;
- background-image: url(../img/treeicons.png);
- background-repeat: no-repeat;
- background-position: 0px 0px;
- vertical-align: middle;
-}
-
-.tree-view li a.check.partial {
- background-position: -32px 0px;
-}
-
-.tree-view li a.check.include {
- background-position: -16px 0px;
-}
-
-.tree-view li a.check.exclude {
- background-position: -48px 0px;
-}
-
-.tree-view li a.check.root {
- background: none;
- display: none;
-}
-
-.tree-view li > ul {
- display: none;
-}
-
-.tree-view li > ul.expanded {
- display: block;
-}
-
-.step2 source-folder-picker, #folder_path_picker, #restore_file_picker {
- overflow: auto;
- display: block;
- border: 1px solid lightgray;
- padding: 2px;
- height: 100%;
- overflow: auto;
-}
-
-.step1 li.strength.score-0 {
- color: #ff0000;
-}
-
-.step1 li.strength.score-1 {
- color: #ff7700;
-}
-
-.step1 li.strength.score-2 {
- color: #aaaa00;
-}
-
-.step1 li.strength.score-3 {
- color: #007700;
-}
-
-.step1 li.strength.score-4 {
- color: #427e27;
-}
-
-.step1 li.strength.score-x {
- color: #ff0000;
-}
-
-.pause a {
- margin-top: 20px;
- margin-bottom: 20px;
- display: block;
- font-weight: 300;
- font-size: 24px;
-}
-
-body .container .body .content .tasks .tasklist a.action-link {
- font-size: 14px;
- background: none;
- padding-left: 0px;
-}
-
-
-/* Progress bar styles from Bootstrap */
-.progress-bar {
- float: left;
- width: 0;
- height: 100%;
- font-size: 12px;
- line-height: 20px;
- color: #fff;
- text-align: center;
- background-color: #337ab7;
- -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
- box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
- -webkit-transition: width .6s ease;
- -o-transition: width .6s ease;
- transition: width .6s ease;
- height: 100%;
- position: absolute;
-}
-
-.progress-bar-striped, .progress-striped .progress-bar {
- background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
- background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
- background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
- -webkit-background-size: 40px 40px;
- background-size: 40px 40px;
-}
-
-.progress-bar.active, .progress.active .progress-bar {
- -webkit-animation: progress-bar-stripes 2s linear infinite;
- -o-animation: progress-bar-stripes 2s linear infinite;
- animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress {
- position: relative;
- min-height: 25px;
-}
-.progress > span {
- position: absolute;
- vertical-align: middle;
- display: block;
- width: 100%;
- height: 100%;
- text-align: center;
- z-index: 100;
- padding-top: 2px;
-}
-
-.ui-match {
- font-weight: bold;
- color: darkgreen;
-}
-
-
-form.styled div.leftflush input {
- width: auto;
- margin-top: 10px;
-}
-
-form.styled div.leftflush label {
- width: auto;
- min-width: 190px;
-}
-
-wait-area {
- min-width: 350px;
- text-align: center;
- display: block;
-}
-
-.contextmenu p {
- display: inline;
- margin-right: 10px;
- color: #65b1dd;
- cursor: pointer;
-}
-
-.prewrapped-text {
- white-space: pre-wrap;
-}
-
-.exceptiontext {
- background-color: lightgray;
- color: black;
-}
-
-
-ul.tabs {
- margin-bottom: 10px;
-}
-
-ul.tabs > li {
- display: inline;
- margin-right: 10px;
- border: 1px solid #65b1dd;
- padding: 5px;
-}
-
-ul.tabs > li.active, ul.tabs > li.active > a {
- background-color: #65b1dd;
- color: white;
-
-}
-
-ul.tabs > li.active.disabled {
- border: 1px solid lightgray;
-}
-
-ul.tabs > li.active.disabled, ul.tabs > li.active.disabled > a {
- background-color: lightgray;
- color: grey;
- cursor: default;
-
-}
-
-.licenses > ul {
- list-style: initial;
- margin: 10px;
- margin-left: 20px;
-}
-
-.licenses li {
- margin-bottom: 10px;
-}
-
-.licenses a.itemlink {
- font-weight: bold;
-}
-
-.logpage ul.entries {
- list-style: initial;
- margin: 10px;
- margin-left: 20px;
-}
-
-.logpage .entries div.entryline {
- cursor: pointer;
-}
-
-.logpage .entries.livedata li {
- height: 1.2em;
- overflow: hidden;
-}
-
-.logpage .entries.livedata li.expanded {
- height: auto;
- overflow: auto;
-}
-
-.logpage .button {
- text-align: center;
- margin-right: 10px;
- border: 1px solid #65b1dd;
- padding: 5px;
- background-color: #65b1dd;
- color: white;
- cursor: pointer;
-}
-
-.exportpage .checkbox input {
- width: auto;
- margin-top: 10px;
-}
-
-.exportpage .commandline div {
- background-color: lightgray;
- color: black;
-}
-
-div.connection-lost, div.blocker, div.modal-dialog {
- position: fixed;
- top: 0px;
- left: 0px;
- right: 0px;
- bottom: 0px;
- margin: auto;
-}
-
-#connection-lost-dialog {
- z-index: 5200;
-}
-
-#connection-lost-blocker {
- z-index: 5100;
-}
-
-div.connection-lost {
- width: 250px;
- height: 200px;
-}
-
-div.modal-dialog {
- width: 350px;
- height: 250px;
-}
-
-div.blocker {
- background-color: #000000;
- opacity: 0.65;
-}
-
-.connection-lost div.info, .modal-dialog div.info {
- display: inline-block;
-}
-
-.connection-lost div.title, .modal-dialog div.title {
- border: 1px solid #65b1dd;
- background-color: #65b1dd;
- border-top-left-radius: 5px;
- border-top-right-radius: 5px;
- border-bottom-left-radius: 0px;
- border-bottom-right-radius: 0px;
- padding: 10px;
- padding-left: 20px;
- padding-right: 20px;
- font-weight: bold;
- color: lightgray;
- width: 100%;
- text-align: center;
-}
-
-.connection-lost div.content, .modal-dialog div.content {
- background-color: white;
- border: 1px solid white;
- padding: 20px;
- width: 100%;
- min-width: 250px;
-}
-
-.connection-lost div.content.buttons, .modal-dialog div.content.buttons {
- border-top-left-radius: 0px;
- border-top-right-radius: 0px;
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
- overflow: auto;
-}
-
-.modal-dialog .content.buttons ul {
- float: right;
-}
-
-.themelink {
- margin-left: 20px;
-}
-
-body .container .header .donate ul {
- overflow: hidden;
- float: right;
- padding-left: 20px;
- padding-right: 10px;
-}
-
-body .container .header .donate ul li {
- float: right;
- margin-right: 10px;
- padding-top: 5px;
- }
-
-.header .donate {
- float: right;
-}
-
-ul.notification {
- position: fixed;
- bottom: 0px;
- left: 0px;
- right: 0px;
- margin: auto;
- width: 300px;
-}
-
-.notification .title {
- border: 1px solid #65b1dd;
- background-color: #65b1dd;
- border-top-left-radius: 5px;
- border-top-right-radius: 5px;
- border-bottom-left-radius: 0px;
- border-bottom-right-radius: 0px;
- padding: 2px;
- padding-left: 5px;
- padding-right: 5px;
- font-weight: bold;
- color: lightgray;
- width: 100%;
- text-align: center;
- clear: both;
-}
-
-.notification .content {
- background-color: white;
- border: 1px solid #65b1dd;
- border-top-left-radius: 0px;
- border-top-right-radius: 0px;
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
- padding: 2px;
- padding-left: 5px;
- padding-right: 5px;
- padding-bottom: 30px;
- width: 100%;
-}
-
-.notification .message {
- width: 100%;
- color: black;
-}
-
-.notification .buttons {
- padding-top: 6px;
-}
-
-.notification .button {
- padding: 2px 10px;
-}
-
-
-.notification .error .title, .notification .error .content, .notification .error .button {
- border-color: red;
-}
-
-.notification .error .title, .notification .error .button {
- background-color: red;
-}
-
-.notification .warning .title, .notification .warning .button {
- background-color: orange;
-}
-
-.notification .warning .title, .notification .warning .content, .notification .warning .button {
- border-color: orange;
-}
-
-.filepicker {
- height: 200px;
-}
-
-.resizable {
- margin-bottom: 6px;
- max-width: 100%;
-}
-
-.advanced-toggle {
- float: right;
- margin-right: 25px;
- line-height: 37px;
-}
-
-.advancedoptions li {
- clear: both;
- margin-bottom: 10px;
- padding: 10px 0;
- border-top: 1px lightgray solid;
-}
-
-.advancedentry .multiple {
- display: inline;
-}
-
-.advancedentry .shortname {
- font-weight: bold;
-}
-
-.advancedentry input[type="text"],
-.advancedentry select
-{
- width: 300px;
-}
-
-.advancedentry input[type="checkbox"]
-{
- margin-top: 13px;
- width: auto;
-}
-
-.advancedentry .longdescription {
- margin-left: 190px;
- clear: both;
- font-style: italic;
-}
-
-.settings div.sublabel {
- clear: both;
- padding: 0 31px;
- font-style: italic;
-}
-
-.logo div.build-suffix {
- display: inline;
- font-size: 16px;
-}
-
-.logo div.powered-by {
- font-size: 16px;
- margin: 0px;
- line-height: 16px;
- padding: 0px;
- margin-top: -25px;
- margin-left: 10px
-}
-
-.fixed-width-font {
- font-family: monospace;
-}
-
-@media(max-width: 580px)
-{
- .advancedentry .longdescription
- {
- margin-left: 0;
- }
-}
-
-.warning {
- margin: 10px;
- font-style: italic;
- color: #f49b42;
-}
-
-div.captcha .details {
- padding-top: 10px;
- margin-left: auto;
- margin-right: auto;
- width: 180px;
-}
-
-.centered-text {
- text-align: center;
-}
-
diff --git a/Duplicati/Server/webroot/ngax/templates/addoredit.html b/Duplicati/Server/webroot/ngax/templates/addoredit.html
index 5c404f36f..26c565ba3 100755
--- a/Duplicati/Server/webroot/ngax/templates/addoredit.html
+++ b/Duplicati/Server/webroot/ngax/templates/addoredit.html
@@ -14,14 +14,18 @@
<div class="step step4" ng-class="{active: CurrentStep == 3}" ng-click="CurrentStep = 3">
<span>4</span>
</div>
+ <div class="step step5" ng-class="{active: CurrentStep == 4}" ng-click="CurrentStep = 4">
+ <span>5</span>
+ </div>
</div>
<!-- .steps -->
<ol class="steps-legend">
<li ng-class="{active: CurrentStep == 0}" class="step1" ng-click="CurrentStep = 0" translate>General</li>
- <li ng-class="{active: CurrentStep == 1}" class="step2" ng-click="CurrentStep = 1" translate>Source Data</li>
- <li ng-class="{active: CurrentStep == 2}" class="step3" ng-click="CurrentStep = 2" translate>Schedule</li>
- <li ng-class="{active: CurrentStep == 3}" class="step4" ng-click="CurrentStep = 3" translate>Options</li>
+ <li ng-class="{active: CurrentStep == 1}" class="step2" ng-click="CurrentStep = 1" translate>Destination</li>
+ <li ng-class="{active: CurrentStep == 2}" class="step3" ng-click="CurrentStep = 2" translate>Source Data</li>
+ <li ng-class="{active: CurrentStep == 3}" class="step4" ng-click="CurrentStep = 3" translate>Schedule</li>
+ <li ng-class="{active: CurrentStep == 4}" class="step5" ng-click="CurrentStep = 4" translate>Options</li>
</ol>
<!-- .steps-legend -->
@@ -29,73 +33,121 @@
<div class="step step1" ng-class="{active: CurrentStep == 0}">
<div class="form">
<form class="styled">
- <backup-edit-uri uri="Backup.TargetURL" hide="HideEditUri" ng-show="EditUriState"></backup-edit-uri>
-
- <div ng-hide="EditUriState">
- <div class="input text linklabel">
- <label for="importlink">&nbsp;</label>
- <a href="#import" translate>Import configuration from a file ...</a>
- </div>
-
- <div class="input text">
- <label for="name" translate>Name</label>
- <input type="text" name="name" id="name" ng-model="Backup.Name" placeholder="{{'My Photos' | translate}}"/>
- </div>
- <div class="input textarea linklabel">
- <label for="target"><a href class="target" ng-click="EditUriState = true" translate>Backup to &gt;</a></label>
- <textarea name="target" id="target" ng-model="Backup.TargetURL" placeholder="{{'Enter a url, or click the \'Backup to &gt;\' link' | translate }}"></textarea>
- </div>
- <div class="input select" ng-hide="SystemInfo.EncryptionModules.length == 0">
- <label for="encryption" translate>Encryption</label>
- <select name="encryption" id="encryption" ng-model="Options['encryption-module']" ng-options="module.Key as module.DisplayName for module in SystemInfo.EncryptionModules">
- <option value="" translate>No encryption</option>
- </select>
- </div>
+ <div class="headerthreedotmenu">
+ <h2 translate>General backup settings</h2>
- <div class="input encryptionhint" ng-show="(Options['encryption-module'] || '').length == 0">
- <h3 class="warning" translate>We recommend that you encrypt all backups stored outside your system</h3>
- </div>
+ <div class="contextmenu_container">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_general" class="threedotmenubutton"/></a>
- <div class="input password" ng-hide="(Options['encryption-module'] || '').length == 0">
- <label for="passphrase" translate>Passphrase</label>
- <input type="{{ShowPassphrase ? 'text' : 'password'}}" name="passphrase" id="passphrase" ng-model="Options['passphrase']" />
- </div>
- <div class="input password" ng-hide="(Options['encryption-module'] || '').length == 0">
- <label for="repeat-passphrase" translate>Repeat Passphrase</label>
- <input type="{{ShowPassphrase ? 'text' : 'password'}}" name="repeat-passphrase" id="repeat-passphrase" ng-model="RepeatPasshrase"/>
-
- <div class="tools">
+ <div class="contextmenu" id="threedotmenu_add_general">
<ul>
<li>
- <a href ng-click="togglePassphraseVisibility()" ng-show="ShowPassphrase" translate>Hide</a>
- <a href ng-click="togglePassphraseVisibility()" ng-hide="ShowPassphrase" translate>Show</a>
- </li>
- <li>|</li>
- <li>
- <a href ng-click="generatePassphrase()" translate>Generate</a>
+ <a href="#import" translate>Import a backup configuration from file</a>
</li>
- <li>|</li>
- <li class="strength score-{{PassphraseScore}}">{{PassphraseScore != 'x' ? 'Strength: ' : ''}} {{PassphraseScoreString}}</li>
</ul>
</div>
</div>
-
- <div class="buttons">
- <input class="submit next" type="button" id="nextStep1" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
+ </div>
+
+ <div class="input text">
+ <label for="name" translate>Name</label>
+ <input type="text" name="name" id="name" ng-model="Backup.Name" placeholder="{{'My Photos' | translate}}"/>
+ </div>
+ <div class="input select" ng-hide="SystemInfo.EncryptionModules.length == 0">
+ <label for="encryption" translate>Encryption</label>
+ <select name="encryption" id="encryption" ng-model="Options['encryption-module']" ng-options="module.Key as module.DisplayName for module in SystemInfo.EncryptionModules">
+ <option value="" translate>No encryption</option>
+ </select>
+ </div>
+
+ <div class="input encryptionhint" ng-show="(Options['encryption-module'] || '').length == 0">
+ <h3 class="warning" translate>We recommend that you encrypt all backups stored outside your system</h3>
+ </div>
+
+ <div class="input password" ng-hide="(Options['encryption-module'] || '').length == 0">
+ <label for="passphrase" translate>Passphrase</label>
+ <input type="{{ShowPassphrase ? 'text' : 'password'}}" name="passphrase" id="passphrase" ng-model="Options['passphrase']" />
+ </div>
+ <div class="input password" ng-hide="(Options['encryption-module'] || '').length == 0">
+ <label for="repeat-passphrase" translate>Repeat Passphrase</label>
+ <input type="{{ShowPassphrase ? 'text' : 'password'}}" name="repeat-passphrase" id="repeat-passphrase" ng-model="RepeatPasshrase"/>
+
+ <div class="tools">
+ <ul>
+ <li>
+ <a href ng-click="togglePassphraseVisibility()" ng-show="ShowPassphrase" translate>Hide</a>
+ <a href ng-click="togglePassphraseVisibility()" ng-hide="ShowPassphrase" translate>Show</a>
+ </li>
+ <li>|</li>
+ <li>
+ <a href ng-click="generatePassphrase()" translate>Generate</a>
+ </li>
+ <li ng-show="PassphraseScoreString">|</li>
+ <li class="strength score-{{PassphraseScore}}" ng-show="PassphraseScoreString">{{PassphraseScore != 'x' ? 'Strength: ' : ''}} {{PassphraseScoreString}}</li>
+ </ul>
</div>
</div>
+
+ <div class="buttons">
+ <input class="submit next" type="button" id="nextStep1" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
+ </div>
</form>
</div>
</div>
<!-- .step1 -->
-
+
<div class="step step2" ng-class="{active: CurrentStep == 1}">
<form class="styled">
+ <div class="headerthreedotmenu">
+ <h2 translate>Backup destination</h2>
+
+ <div class="contextmenu_container">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_destination" class="threedotmenubutton"/></a>
+
+ <div class="contextmenu" id="threedotmenu_add_destination">
+ <ul>
+ <li>
+ <a href ng-click="importUrl()" translate>Import Destination URL</a>
+ </li>
+ <li>
+ <a href ng-click="copyUrlToClipboard()" translate>Copy Destination URL to Clipboard</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ <backup-edit-uri uri="Backup.TargetURL" set-builduri-fn="setBuilduriFn(builduriFn)"></backup-edit-uri>
+
+ <div class="buttons">
+ <input class="submit next" type="button" id="nextStep2" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
+ <input class="submit prev" type="button" id="prevStep2" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
+ </div>
+ </form>
+ </div>
+ <!-- .step2 -->
+
+ <div class="step step3" ng-class="{active: CurrentStep == 2}">
+ <form class="styled">
<div class="box browser">
- <h2 translate>Folders</h2>
+ <div class="headerthreedotmenu">
+ <h2 translate>Folders</h2>
+
+ <div class="contextmenu_container">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_source_filters" class="threedotmenubutton"/></a>
+
+ <div class="contextmenu" id="threedotmenu_add_source_filters">
+ <ul>
+ <li>
+ <a href ng-click="EditSourceAdvanced = !EditSourceAdvanced" translate>Show advanced editor</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
<div class="input checklinks">
<a href class="{{EditSourceAdvanced ? 'inactive' : ''}}" ng-click="showhiddenfolders = !showhiddenfolders"><i class="fa {{showhiddenfolders ? 'fa-check' : ''}}"></i> {{'Show hidden folders' | translate}}</a>
- <a href ng-click="EditSourceAdvanced = !EditSourceAdvanced"><i class="fa {{EditSourceAdvanced ? 'fa-check' : ''}}"></i> {{'Show advanced editor' | translate}}</a>
</div>
<div class="resizable filepicker" ng-hide="EditSourceAdvanced">
<source-folder-picker ng-sources="Backup.Sources" ng-filters="Backup.Filters" ng-show-hidden="showhiddenfolders"></source-folder-picker>
@@ -113,64 +165,95 @@
</div>
</div>
<div class="box filters">
- <h2 translate>Filters</h2>
- <div class="input link">
- <a href ng-click="EditFilterAdvanced = !EditFilterAdvanced"><i class="fa {{EditFilterAdvanced ? 'fa-check' : ''}}"></i> {{'Show advanced editor' | translate}}</a>
- </div>
- <div class="input textarea" ng-show="EditFilterAdvanced">
- <!--<label for="FilterList">Filters <span class="info">i</span></label>-->
- <textarea id="FilterList" string-array-as-text ng-model="Backup.Filters" ng-model-options="{updateOn: 'blur'}"></textarea>
+ <div class="headerthreedotmenu">
+ <a href ng-click="showFilter = !showFilter" class="expandable">
+ <h2 translate>Filters</h2>
+ <img ng-show="showFilter" src="img/arrow_collapse_green.png">
+ <img ng-hide="showFilter" src="img/arrow_expand_green.png">
+ </a>
+
+ <div class="contextmenu_container" ng-show="showFilter">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_source_filters" class="threedotmenubutton" title="{{'Menu' | translate}}"/></a>
+
+ <div class="contextmenu" id="threedotmenu_add_source_filters">
+ <ul>
+ <li>
+ <a href ng-show="EditFilterAdvanced" ng-click="EditFilterAdvanced = false" translate>Edit as list</a>
+ </li>
+ <li>
+ <a href ng-hide="EditFilterAdvanced" ng-click="EditFilterAdvanced = true" translate>Edit as text</a>
+ </li>
+ </ul>
+ </div>
+ </div>
</div>
- <div class="input textarea" ng-hide="EditFilterAdvanced">
- <ul id="simplefilterlist">
- <li ng-repeat="f in Backup.Filters track by $index">
- <select parse-filter-type ng-model="Backup.Filters[$index]" ng-options="item.key as item.name for item in AppUtils.filterClasses">
- </select>
-
- <input type="text" parse-filter-content ng-model="Backup.Filters[$index]" ng-model-options="{updateOn: 'blur'}" placeholder="{{'Enter expression here' | translate}}"/>
-
- <a class="button" href title="{{'Remove' | translate}}" ng-click="Backup.Filters.splice($index, 1)">X</a>
- </li>
-
- </ul>
- <a href ng-click="Backup.Filters.push('-*')" translate>Add filter</a>
+
+ <div ng-show="showFilter">
+ <div class="input textarea" ng-show="EditFilterAdvanced">
+ <!--<label for="FilterList">Filters <span class="info">i</span></label>-->
+ <textarea id="FilterList" string-array-as-text ng-model="Backup.Filters" ng-model-options="{updateOn: 'blur'}"></textarea>
+ </div>
+ <div class="input textarea" ng-hide="EditFilterAdvanced">
+ <ul id="simplefilterlist">
+ <li ng-repeat="f in Backup.Filters track by $index">
+ <select parse-filter-type ng-model="Backup.Filters[$index]" ng-options="item.key as item.name for item in AppUtils.filterClasses">
+ </select>
+
+ <input type="text" parse-filter-content ng-model="Backup.Filters[$index]" ng-model-options="{updateOn: 'blur'}" placeholder="{{'Enter expression here' | translate}}"/>
+
+ <a class="button" href title="{{'Remove' | translate}}" ng-click="Backup.Filters.splice($index, 1)">X</a>
+ </li>
+
+ </ul>
+ <a href ng-click="Backup.Filters.push('-*')" translate>Add filter</a>
+ </div>
</div>
</div>
<div class="box exclude">
- <h2 translate>Exclude</h2>
- <div class="input checkbox multiple">
- <div ng-repeat="attr in fileAttributes">
- <input
- id="fileattr_{{attr.value}}"
- type="checkbox"
- name="fileattr_{{attr.value}}"
- value="{{attr.value}}"
- ng-checked="ExcludeAttributes.indexOf(attr.value) > -1"
- ng-click="toggleArraySelection(ExcludeAttributes, attr.value)"
- />
- <label for="fileattr_{{attr.value}}">{{attr.name}}</label>
- </div>
+ <div class="expandable">
+ <a href ng-click="showExclude = !showExclude">
+ <h2 translate>Exclude</h2>
+ <img ng-show="showExclude" src="img/arrow_collapse_green.png">
+ <img ng-hide="showExclude" src="img/arrow_expand_green.png">
+ </a>
</div>
-
- <div class="input text select multiple">
- <input id="exclude-large-files" type="checkbox" class="simple-checkbox" ng-model="ExcludeLargeFiles" />
- <label for="exclude-large-files" translate>Files larger than:</label>
-
- <input type="number" parse-size-number="uppercase" ng-model="Options['--skip-files-larger-than']" id="exclude-larger-than-number" ng-disabled="!ExcludeLargeFiles" value="1" />
- <select parse-size-multiplier="uppercase" id="exclude-larger-than-multiplier" ng-model="Options['--skip-files-larger-than']" ng-disabled="!ExcludeLargeFiles" ng-options="item.value as item.name for item in AppUtils.fileSizeMultipliers">
- </select>
+
+ <div ng-show="showExclude">
+ <div class="input checkbox multiple">
+ <div ng-repeat="attr in fileAttributes">
+ <input
+ id="fileattr_{{attr.value}}"
+ type="checkbox"
+ name="fileattr_{{attr.value}}"
+ value="{{attr.value}}"
+ ng-checked="ExcludeAttributes.indexOf(attr.value) > -1"
+ ng-click="toggleArraySelection(ExcludeAttributes, attr.value)"
+ />
+ <label for="fileattr_{{attr.value}}">{{attr.name}}</label>
+ </div>
+ </div>
+
+ <div class="input text select multiple">
+ <input id="exclude-large-files" type="checkbox" class="simple-checkbox" ng-model="ExcludeLargeFiles" />
+ <label for="exclude-large-files" translate>Files larger than:</label>
+
+ <input type="number" parse-size-number="uppercase" ng-model="Options['--skip-files-larger-than']" id="exclude-larger-than-number" ng-disabled="!ExcludeLargeFiles" value="1" />
+ <select parse-size-multiplier="uppercase" id="exclude-larger-than-multiplier" ng-model="Options['--skip-files-larger-than']" ng-disabled="!ExcludeLargeFiles" ng-options="item.value as item.name for item in AppUtils.fileSizeMultipliers">
+ </select>
+ </div>
</div>
</div>
<div class="buttons">
- <input class="submit next" type="button" id="nextStep2" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
- <input class="submit prev" type="button" id="prevStep2" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
+ <input class="submit next" type="button" id="nextStep3" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
+ <input class="submit prev" type="button" id="prevStep3" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
</div>
</form>
</div>
- <!-- .step2 -->
+ <!-- .step3 -->
- <div class="step step3" ng-class="{active: CurrentStep == 2}">
+ <div class="step step4" ng-class="{active: CurrentStep == 3}">
<form class="styled">
+ <h2 translate>Schedule</h2>
<div class="input checkbox multiple">
<input type="checkbox" id="useScheduleRun" ng-checked="Schedule != null" ng-click="toggleSchedule()" />
<label for="useScheduleRun" translate>Automatically run backups.</label>
@@ -211,14 +294,14 @@
</div>
<div class="buttons">
- <input class="submit next" type="button" id="nextStep3" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
- <input class="submit prev" type="button" id="prevStep3" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
+ <input class="submit next" type="button" id="nextStep4" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
+ <input class="submit prev" type="button" id="prevStep4" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
</div>
</form>
</div>
- <!-- .step3 -->
+ <!-- .step4 -->
- <div class="step step4" ng-class="{active: CurrentStep == 3}">
+ <div class="step step5" ng-class="{active: CurrentStep == 4}">
<form class="styled">
<h2 translate>General options</h2>
<div class="input multiple text select maxSize">
@@ -247,25 +330,47 @@
</select>
</div>
</div>
- <div class="input textarea" ng-show="ShowAdvancedTextArea">
- <h2 translate>Advanced options</h2>
- <a href ng-click="ShowAdvancedTextArea = false" class="advanced-toggle"><i class="fa fa-check"></i> <span translate>Edit as text</span></a>
- <textarea id="backupOptions" ng-model="ExtendedOptions" string-array-as-text placeholder="{{AppUtils.format(AppUtils.exampleOptionString, '--dblock-size=100MB')}}"></textarea>
+
+ <div class="headerthreedotmenu">
+ <a href ng-click="showAdvanced = !showAdvanced" class="expandable">
+ <h2 translate>Advanced options</h2>
+ <img ng-show="showAdvanced" src="img/arrow_collapse_green.png">
+ <img ng-hide="showAdvanced" src="img/arrow_expand_green.png">
+ </a>
+
+ <div class="contextmenu_container" ng-show="showAdvanced">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_options_adv" class="threedotmenubutton" title="{{'Menu' | translate}}"/></a>
+
+ <div class="contextmenu" id="threedotmenu_add_options_adv">
+ <ul>
+ <li>
+ <a href ng-show="ShowAdvancedTextArea" ng-click="ShowAdvancedTextArea = false" translate>Edit as list</a>
+ </li>
+ <li>
+ <a href ng-hide="ShowAdvancedTextArea" ng-click="ShowAdvancedTextArea = true" translate>Edit as text</a>
+ </li>
+ </ul>
+ </div>
+ </div>
</div>
-
- <div class="input" ng-hide="ShowAdvancedTextArea">
- <h2 translate>Advanced options</h2>
- <a href ng-click="ShowAdvancedTextArea = true" class="advanced-toggle"><i class="fa"></i> {{'Edit as text' | translate}}</a>
- <advanced-options-editor ng-option-list="ExtendedOptionList" ng-model="ExtendedOptions"></advanced-options-editor>
+
+ <div ng-show="showAdvanced">
+ <div class="input textarea" ng-show="ShowAdvancedTextArea">
+ <textarea id="backupOptions" ng-model="ExtendedOptions" string-array-as-text placeholder="{{AppUtils.format(AppUtils.exampleOptionString, '--dblock-size=100MB')}}"></textarea>
+ </div>
+
+ <div class="input" ng-hide="ShowAdvancedTextArea">
+ <advanced-options-editor ng-option-list="ExtendedOptionList" ng-model="ExtendedOptions"></advanced-options-editor>
+ </div>
</div>
<div class="buttons">
<input class="submit save" type="submit" id="save" ng-click="save()" value="{{'Save' | translate}}" />
- <input class="submit prev" type="button" id="prevStep4" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
+ <input class="submit prev" type="button" id="prevStep5" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
</div>
</form>
</div>
- <!-- .step4 -->
+ <!-- .step5 -->
</div>
<!-- .steps-boxes -->
</div>
diff --git a/Duplicati/Server/webroot/ngax/templates/copy_clipboard_buttons.html b/Duplicati/Server/webroot/ngax/templates/copy_clipboard_buttons.html
new file mode 100644
index 000000000..69659ead3
--- /dev/null
+++ b/Duplicati/Server/webroot/ngax/templates/copy_clipboard_buttons.html
@@ -0,0 +1,4 @@
+<a href class="button" ngclipboard ngclipboard-success="onCopySuccess(e);" ngclipboard-error="onCopyError(e);" data-clipboard-action="copy" data-clipboard-target="#copytarget">
+ <img src="img/clippy.png" style="vertical-align: middle;"/>
+ <span style="vertical-align: middle;">Copy</span>
+</a>
diff --git a/Duplicati/Server/webroot/ngax/templates/edituri.html b/Duplicati/Server/webroot/ngax/templates/edituri.html
index e40c793db..221efcc69 100644
--- a/Duplicati/Server/webroot/ngax/templates/edituri.html
+++ b/Duplicati/Server/webroot/ngax/templates/edituri.html
@@ -1,40 +1,57 @@
-<a href ng-click="hide()" ng-hide="Testing">&lt; {{'Back' | translate}}</a>
-
-<div class="input select">
- <label for="type" translate>Storage Type</label>
- <select name="type" id="type" ng-model="Backend" ng-options="backend.DisplayName group by backend.GroupType for backend in SystemInfo.GroupedBackendModules | orderBy: ['OrderKey', 'GroupType', 'DisplayName'] track by backend.Key">
- </select>
-</div>
-
-<div ng-include="TemplateUrl">
-</div>
-
-<div ng-show="TemplateUrl == null &amp;&amp; Backend != null">
- <h3 translate translate-params-backend="Backend.DisplayName">No editor found for the &quot;{{backend}}&quot; storage type</h3>
-</div>
-
-<div ng-show="Backend == null">
- <h3 translate>Chose a storage type to get started</h3>
-</div>
-
-<div class="input textarea" ng-show="ShowAdvancedTextArea">
- <label for="targetOptions" translate>Options</label>
- <a href ng-click="ShowAdvancedTextArea = false" class="advanced-toggle" translate>Edit as list</a>
- <textarea id="targetOptions" name="targetOptions" string-array-as-text placeholder="{{AppUtils.format(AppUtils.exampleOptionString, '--use-ssl=true')}}" ng-model="AdvancedOptions"></textarea>
-</div>
-
-<div class="input" ng-hide="ShowAdvancedTextArea">
- <label for="backupOptions" translate>Options</label>
- <a href ng-click="ShowAdvancedTextArea = true" class="advanced-toggle" translate>Edit as text</a>
- <advanced-options-editor ng-option-list="AdvanceOptionList" ng-model="AdvancedOptions"></advanced-options-editor>
-</div>
-
-<div class="buttons" ng-hide="Testing">
- <a href ng-click="save()" class="save" translate>OK</a>
- <a href ng-click="testConnection()" class="test-connection" translate>Test connection</a>
- <a href ng-click="hide()" class="cancel" translate>Cancel</a>
-</div>
-
-<div class="button testmessage" ng-show="Testing">
- <h3 translate>Testing ...</h3>
+<div>
+ <div class="input select">
+ <label for="type" translate>Storage Type</label>
+ <select name="type" id="type" ng-model="Backend" ng-options="backend.DisplayName group by backend.GroupType for backend in SystemInfo.GroupedBackendModules | orderBy: ['OrderKey', 'GroupType', 'DisplayName'] track by backend.Key">
+ </select>
+ </div>
+
+ <div ng-include="TemplateUrl">
+ </div>
+
+ <div ng-show="TemplateUrl == null &amp;&amp; Backend != null">
+ <h3 translate translate-params-backend="Backend.DisplayName">No editor found for the &quot;{{backend}}&quot; storage type</h3>
+ </div>
+
+ <div ng-show="Backend == null">
+ <h3 translate>Chose a storage type to get started</h3>
+ </div>
+</div>
+
+<div class="buttons">
+ <a href ng-hide="Testing" class="test-connection" ng-click="testConnection()" translate>Test connection</a>
+ <a href ng-show="Testing" class="test-connection" translate>Testing ...</a>
+</div>
+
+<div class="input textarea">
+ <div class="headerthreedotmenu">
+ <a href ng-click="showAdvanced = !showAdvanced" class="expandable">
+ <h2 translate>Advanced options</h2>
+ <img ng-show="showAdvanced" src="img/arrow_collapse_green.png">
+ <img ng-hide="showAdvanced" src="img/arrow_expand_green.png">
+ </a>
+
+ <div class="contextmenu_container" ng-show="showAdvanced">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_destination_adv" class="threedotmenubutton" title="{{'Menu' | translate}}"/></a>
+
+ <div class="contextmenu" id="threedotmenu_add_destination_adv">
+ <ul>
+ <li>
+ <a href ng-show="ShowAdvancedTextArea" ng-click="ShowAdvancedTextArea = false" translate>Edit as list</a>
+ </li>
+ <li>
+ <a href ng-hide="ShowAdvancedTextArea" ng-click="ShowAdvancedTextArea = true" translate>Edit as text</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ <div ng-show="showAdvanced">
+ <div ng-show="ShowAdvancedTextArea">
+ <label for="targetOptions" translate>Options</label>
+ <textarea id="targetOptions" name="targetOptions" string-array-as-text placeholder="{{AppUtils.format(AppUtils.exampleOptionString, '--use-ssl=true')}}" ng-model="AdvancedOptions"></textarea>
+ </div>
+
+ <advanced-options-editor ng-hide="ShowAdvancedTextArea" ng-option-list="AdvanceOptionList" ng-model="AdvancedOptions"></advanced-options-editor>
+ </div>
</div>
diff --git a/Duplicati/Server/webroot/ngax/templates/home.html b/Duplicati/Server/webroot/ngax/templates/home.html
index a0b3f9f6c..1dc62040c 100644
--- a/Duplicati/Server/webroot/ngax/templates/home.html
+++ b/Duplicati/Server/webroot/ngax/templates/home.html
@@ -2,9 +2,8 @@
<div class="state" ng-controller="StateController">
<div ng-hide="state.programState == 'Running'">
- <strong style="margin-right: 0px;" translate>Backups are currently paused,</strong>
- <div style="display: inline" ng-show="state.pauseTimeRemain > 0">{{'resuming in' | translate}} {{state.pauseTimeRemain | timeremaining}}</div>
- <a href ng-click="sendResume()" translate>click to resume now</a>
+ <strong style="margin-right: 0px;" translate>Duplicati is paused</strong>
+ - <a href ng-click="sendResume()" translate>resume now</a>
</div>
<div ng-hide="activeBackup == null">
@@ -32,16 +31,19 @@
<div ng-show="state.activeTask == null &amp;&amp; nextTask == null &amp;&amp; nextScheduledTask != null"><strong translate>Next scheduled task:</strong> {{nextScheduledTask.Backup.Name}} <span title="{{nextScheduledTime | parsetimestamp}}">{{nextScheduledTime | moment: 'calendar'}}</span></div>
- <div ng-show="state.activeTask == null &amp;&amp; nextTask == null &amp;&amp; nextScheduledTask == null" translate>No scheduled tasks, you can manually start a task</div>
+ <div ng-show="state.activeTask == null &amp;&amp; nextTask == null &amp;&amp; nextScheduledTask == null" translate>No scheduled tasks</div>
</div>
<div class="tasks" ng-controller="HomeController">
<div class="tasklist">
<div ng-repeat="item in backups" class="task">
- <a href ng-click="$parent.ContextMenuID == item.Backup.ID ? $parent.ContextMenuID = null : $parent.ContextMenuID = item.Backup.ID">{{item.Backup.Name}}</a>
+ <a href ng-click="$parent.TaskMenuID == item.Backup.ID ? $parent.TaskMenuID = null : $parent.TaskMenuID = item.Backup.ID">{{item.Backup.Name}}
+ <img ng-show="$parent.TaskMenuID == item.Backup.ID" src="img/arrow_collapse_blue.png">
+ <img ng-show="$parent.TaskMenuID != item.Backup.ID" src="img/arrow_expand_blue.png">
+ </a>
- <dl class="contextmenu" ng-show="$parent.ContextMenuID == item.Backup.ID">
+ <dl class="taskmenu" ng-show="$parent.TaskMenuID == item.Backup.ID">
<dt translate>Operations:</dt>
<dd>
<p ng-click="doRun(item.Backup.ID)" translate>Run now</p>
@@ -72,9 +74,12 @@
<dl>
<dt translate>Last successful run:</dt>
- <dd ng-hide="item.Backup.Metadata == null || item.Backup.Metadata.LastBackupFinished == null" title="{{item.Backup.Metadata.LastBackupFinished | parsetimestamp }}" translate translate translate-params-time="item.Backup.Metadata.LastBackupFinished | moment: 'calendar'" translate-params-duration="formatDuration(item.Backup.Metadata.LastDuration)">{{time}} (took {{duration}})</dd>
- <dd ng-show="item.Backup.Metadata == null || item.Backup.Metadata.LastBackupFinished == null">
- {{'Never' | translate}} - <a href class="action-link" ng-click="doRun(item.Backup.ID)" translate>Run now</a>
+ <dd ng-hide="item.Backup.Metadata == null || item.Backup.Metadata.LastBackupFinished == null"
+ title="{{item.Backup.Metadata.LastBackupFinished | parsetimestamp }}"
+ translate translate-params-time="item.Backup.Metadata.LastBackupFinished | moment: 'calendar'"
+ translate-params-duration="formatDuration(item.Backup.Metadata.LastDuration)">{{time}} (took {{duration}})</dd>
+ <dd>
+ <span ng-show="item.Backup.Metadata == null || item.Backup.Metadata.LastBackupFinished == null">{{'Never' | translate}} - </span><a href class="action-link" ng-click="doRun(item.Backup.ID)" translate>Run now</a>
</dd>
<div ng-hide="item.Backup.Metadata == null || item.Backup.Metadata.NextScheduledRun == null">
@@ -88,7 +93,7 @@
</div>
<div ng-hide="item.Backup.Metadata.TargetSizeString == null">
<dt translate>Backup:</dt>
- <dd>{{item.Backup.Metadata.TargetSizeString}}</dd>
+ <dd translate translate-n="parseInt(item.Backup.Metadata.BackupListCount)" translate-plural="{{item.Backup.Metadata.TargetSizeString}} / {{$count}} Versions">{{item.Backup.Metadata.TargetSizeString}} / {{$count}} Version</dd>
</div>
</div>
</dl>
diff --git a/Duplicati/Server/webroot/ngax/templates/import.html b/Duplicati/Server/webroot/ngax/templates/import.html
index db8bbeba4..91ed2b33b 100644
--- a/Duplicati/Server/webroot/ngax/templates/import.html
+++ b/Duplicati/Server/webroot/ngax/templates/import.html
@@ -15,7 +15,7 @@
<input type="hidden" name="callback" value="{{CallbackMethod}}">
<div class="buttons" ng-hide="Connecting">
- <a href="#" class="submit" translate>Cancel</a>
+ <a href="#add" class="submit" translate>Cancel</a>
<a href ng-click="doSubmit()" translate>Import</a>
</div>
@@ -26,4 +26,4 @@
<iframe style="display:none" id="submit-target" name="submit-target"></iframe>
-<div>
+</div>
diff --git a/Duplicati/Server/webroot/ngax/templates/pause.html b/Duplicati/Server/webroot/ngax/templates/pause.html
deleted file mode 100644
index fff9a93b6..000000000
--- a/Duplicati/Server/webroot/ngax/templates/pause.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="pause" ng-controller="PauseController">
- <h1 translate>Pause controls</h1>
-
- <form class="styled">
-
- <ul>
- <li ng-show="state.programState != 'Running'">
- <a href ng-click="resume()" class="resume" translate>Resume now</a>
- </li>
-
- <li>
- <a href ng-click="pause('5m')" class="pause-5" translate translate-params-number="5">{{number}} Minutes</a>
- </li>
- <li>
- <a href ng-click="pause('10m')" class="pause-10" translate translate-params-number="10">{{number}} Minutes</a>
- </li>
- <li>
- <a href ng-click="pause('15m')" class="pause-15" translate translate-params-number="15">{{number}} Minutes</a>
- </li>
- <li>
- <a href ng-click="pause('30m')" class="pause-30" translate translate-params-number="30">{{number}} Minutes</a>
- </li>
- <li>
- <a href ng-click="pause('1h')" class="pause-60" translate translate-params-number="1">{{number}} Hour</a>
- </li>
- <li>
- <a href ng-click="pause()" class="pause-x" translate>Until resumed</a>
- </li>
- </ul>
- </form>
-</div>
diff --git a/Duplicati/Server/webroot/ngax/templates/restoredirect.html b/Duplicati/Server/webroot/ngax/templates/restoredirect.html
index 92b3cd4a3..2d70ab74b 100644
--- a/Duplicati/Server/webroot/ngax/templates/restoredirect.html
+++ b/Duplicati/Server/webroot/ngax/templates/restoredirect.html
@@ -1,31 +1,84 @@
<div class="restore" ng-controller="RestoreDirectController">
<form id="restore" class="styled">
-
<div ng-show="!connecting">
- <backup-edit-uri uri="TargetURL" hide="HideEditUri" ng-show="EditUriState"></backup-edit-uri>
-
- <div ng-hide="EditUriState">
- <h1 translate>Restore files</h1>
- <div class="input textarea linklabel">
- <label for="target"><a href class="target" ng-click="EditUriState = true" translate>Connect to &gt;</a></label>
- <textarea name="target" id="target" ng-model="TargetURL" placeholder="{{'Enter a url, or click the &quot;Connect to &gt;&quot; link' | translate}}"></textarea>
+ <div class="steps">
+ <div class="step step1" ng-class="{active: CurrentStep == 0}" ng-click="CurrentStep = 0">
+ <span>1</span>
</div>
- <div class="input password">
- <label for="password" translate>Passphrase</label>
- <input type="password" id="password" name="password" ng-model="EncryptionPassphrase" placeholder="{{'Enter backup passphrase, if any' | translate}}" />
+ <div class="step step2" ng-class="{active: CurrentStep == 1}" ng-click="CurrentStep = 1">
+ <span>2</span>
</div>
- <div class="input textarea">
- <label for="options">{{'Advanced Options' | translate}}<span class="info">i</span></label>
- <textarea id="options" name="options" ng-model="ExtendedOptions" placeholder="{{AppUtils.format(AppUtils.exampleOptionString, '--backup-prefix')}}"></textarea>
- </div>
- <div class="buttons" ng-hide="connecting">
- <a href="#" class="submit" translate>Cancel</a>
- <a href ng-click="doConnect()" translate>Connect</a>
+ </div>
+ <!-- .steps -->
+
+ <ol class="steps-legend">
+ <li ng-class="{active: CurrentStep == 0}" class="step1" ng-click="CurrentStep = 0" translate>Destination</li>
+ <li ng-class="{active: CurrentStep == 1}" class="step2" ng-click="CurrentStep = 1" translate>Options</li>
+ </ol>
+ <!-- .steps-legend -->
+
+ <div class="steps-boxes">
+ <div class="step step1" ng-class="{active: CurrentStep == 0}">
+ <div class="headerthreedotmenu">
+ <h2 translate>Backup destination</h2>
+
+ <div class="contextmenu_container">
+ <a href title="{{'Menu' | translate}}"><img src="img/three_dots.png" id="threedotmenubutton_add_destination" class="threedotmenubutton"/></a>
+
+ <div class="contextmenu" id="threedotmenu_add_destination">
+ <ul>
+ <li>
+ <a href ng-click="importUrl()" translate>Import Destination URL</a>
+ </li>
+ <li>
+ <a href ng-click="copyUrlToClipboard()" translate>Copy Destination URL to Clipboard</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ <backup-edit-uri uri="TargetURL" set-builduri-fn="setBuilduriFn(builduriFn)"></backup-edit-uri>
+
+ <div class="buttons">
+ <input class="submit next" type="button" id="nextStep1" ng-click="nextPage()" value="{{'Next' | translate}} &gt;" />
+ </div>
</div>
- <div ng-show="connecting">
- {{ConnectionProgress}}
+ <!-- .step1 -->
+
+ <div class="step step2" ng-class="{active: CurrentStep == 1}">
+ <h2 translate>Encryption</h2>
+ <div class="input password">
+ <label for="password" translate>Passphrase</label>
+ <input type="password" id="password" name="password" ng-model="EncryptionPassphrase" placeholder="{{'Enter backup passphrase, if any' | translate}}" />
+ </div>
+
+ <div class="expandable">
+ <a href ng-click="showAdvanced = !showAdvanced">
+ <h2 translate>Advanced Options</h2>
+ <img ng-show="showAdvanced" src="img/arrow_collapse_green.png">
+ <img ng-hide="showAdvanced" src="img/arrow_expand_green.png">
+ </a>
+ </div>
+
+ <div ng-show="showAdvanced">
+ <div class="input textarea">
+ <label for="options">{{'Advanced Options' | translate}}<span class="info">i</span></label>
+ <textarea id="options" name="options" ng-model="ExtendedOptions" placeholder="{{AppUtils.format(AppUtils.exampleOptionString, '--backup-prefix')}}"></textarea>
+ </div>
+ </div>
+
+ <div class="buttons" ng-hide="connecting">
+ <input class="submit" type="button" id="connect" ng-click="doConnect()" value="{{'Connect' | translate}}" />
+ <input class="submit prev" type="button" id="prevStep2" ng-click="prevPage()" value="&lt; {{'Previous' | translate}}" />
+ </div>
+ <div ng-show="connecting">
+ {{ConnectionProgress}}
+ </div>
</div>
+ <!-- .step2 -->
</div>
+ <!-- .steps-boxes -->
</div>
<div ng-show="connecting == true &amp;&amp; taskid == null">
diff --git a/Localizations/duplicati/localization.pot b/Localizations/duplicati/localization.pot
index 0b0859815..2796bef51 100644
--- a/Localizations/duplicati/localization.pot
+++ b/Localizations/duplicati/localization.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-10-31 12:25+0100\n"
+"POT-Creation-Date: 2016-11-01 12:49+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/Localizations/webroot/localization_webroot.pot b/Localizations/webroot/localization_webroot.pot
index 41390c953..b50d3aa5d 100644
--- a/Localizations/webroot/localization_webroot.pot
+++ b/Localizations/webroot/localization_webroot.pot
@@ -13,6 +13,10 @@ msgstr ""
msgid "...loading..."
msgstr ""
+#: index.html:154
+msgid "<span>Pause</span>"
+msgstr ""
+
#: templates/backends/openstack.html:32
msgid "API Key"
msgstr ""
@@ -33,7 +37,7 @@ msgstr ""
msgid "AWS IAM Policy"
msgstr ""
-#: index.html:173
+#: index.html:197
msgid "About"
msgstr ""
@@ -73,15 +77,15 @@ msgstr ""
msgid "Add advanced option"
msgstr ""
-#: templates/addoredit.html:136
-msgid "Add filter"
+#: index.html:148
+msgid "Add backup"
msgstr ""
-#: index.html:147
-msgid "Add new backup"
+#: templates/addoredit.html:194
+msgid "Add filter"
msgstr ""
-#: templates/addoredit.html:111
+#: templates/addoredit.html:149
msgid "Add path"
msgstr ""
@@ -94,16 +98,17 @@ msgstr ""
msgid "Adjust path name?"
msgstr ""
-#: templates/restoredirect.html:18
+#: templates/restoredirect.html:58
+#: templates/restoredirect.html:66
msgid "Advanced Options"
msgstr ""
-#: templates/addoredit.html:251
-#: templates/addoredit.html:257
+#: templates/addoredit.html:322
+#: templates/edituri.html:28
msgid "Advanced options"
msgstr ""
-#: templates/home.html:59
+#: templates/home.html:61
msgid "Advanced:"
msgstr ""
@@ -119,7 +124,7 @@ msgstr ""
msgid "Allow remote access (requires restart)"
msgstr ""
-#: templates/addoredit.html:196
+#: templates/addoredit.html:265
msgid "Allowed days"
msgstr ""
@@ -133,7 +138,7 @@ msgid ""
"Are you sure you want the database to point to an existing file?"
msgstr ""
-#: scripts/controllers/EditBackupController.js:371
+#: scripts/controllers/EditBackupController.js:380
msgid ""
"An existing local database for the storage has been found.\n"
"Re-using the database will allow the command-line and server instances to work on the same remote storage.\n"
@@ -171,7 +176,7 @@ msgstr ""
msgid "Autogenerated passphrase"
msgstr ""
-#: templates/addoredit.html:176
+#: templates/addoredit.html:245
msgid "Automatically run backups."
msgstr ""
@@ -193,7 +198,6 @@ msgstr ""
msgid "B2 Cloud Storage Application Key"
msgstr ""
-#: templates/edituri.html:1
#: templates/restore.html:31
#: templates/restore.html:93
msgid "Back"
@@ -203,18 +207,15 @@ msgstr ""
msgid "Backend modules:"
msgstr ""
-#: templates/addoredit.html:45
-msgid "Backup to &gt;"
+#: templates/addoredit.html:102
+#: templates/restoredirect.html:23
+msgid "Backup destination"
msgstr ""
-#: templates/home.html:90
+#: templates/home.html:95
msgid "Backup:"
msgstr ""
-#: templates/home.html:5
-msgid "Backups are currently paused,"
-msgstr ""
-
#: templates/settings.html:72
msgid "Beta"
msgstr ""
@@ -283,20 +284,21 @@ msgstr ""
#: scripts/controllers/EditBackupController.js:293
#: scripts/controllers/EditBackupController.js:327
#: scripts/controllers/EditBackupController.js:336
-#: scripts/controllers/EditBackupController.js:350
-#: scripts/controllers/EditBackupController.js:371
+#: scripts/controllers/EditBackupController.js:359
+#: scripts/controllers/EditBackupController.js:380
+#: scripts/controllers/EditBackupController.js:73
#: scripts/controllers/LocalDatabaseController.js:72
#: scripts/controllers/LocalDatabaseController.js:88
+#: scripts/controllers/RestoreDirectController.js:24
#: scripts/services/CaptchaService.js:22
+#: scripts/services/DialogService.js:50
#: scripts/services/EditUriBuiltins.js:45
#: scripts/services/EditUriBuiltins.js:574
#: scripts/services/EditUriBuiltins.js:647
#: scripts/services/EditUriBuiltins.js:664
#: templates/delete.html:54
-#: templates/edituri.html:35
#: templates/export.html:26
#: templates/import.html:18
-#: templates/restoredirect.html:22
#: templates/settings.html:124
#: templates/waitarea.html:19
msgid "Cancel"
@@ -330,7 +332,7 @@ msgstr ""
msgid "Checking for updates ..."
msgstr ""
-#: templates/edituri.html:17
+#: templates/edituri.html:16
msgid "Chose a storage type to get started"
msgstr ""
@@ -339,7 +341,7 @@ msgstr ""
msgid "Click the AuthID link to create an AuthID"
msgstr ""
-#: templates/home.html:63
+#: templates/home.html:65
msgid "Compact now"
msgstr ""
@@ -367,7 +369,7 @@ msgstr ""
msgid "Configuration file:"
msgstr ""
-#: templates/home.html:51
+#: templates/home.html:53
msgid "Configuration:"
msgstr ""
@@ -381,27 +383,28 @@ msgstr ""
msgid "Confirmation required"
msgstr ""
-#: templates/restoredirect.html:23
+#: templates/restoredirect.html:72
msgid "Connect"
msgstr ""
-#: index.html:244
+#: index.html:274
msgid "Connect now"
msgstr ""
-#: templates/restoredirect.html:10
-msgid "Connect to &gt;"
-msgstr ""
-
-#: index.html:245
+#: index.html:275
msgid "Connecting..."
msgstr ""
-#: index.html:236
+#: index.html:266
msgid "Connection lost"
msgstr ""
-#: index.html:240
+#: scripts/directives/backupEditUri.js:51
+#: scripts/directives/backupEditUri.js:54
+msgid "Connection worked!"
+msgstr ""
+
+#: index.html:270
msgid "Connnecting to server ..."
msgstr ""
@@ -418,10 +421,23 @@ msgstr ""
msgid "Continue"
msgstr ""
-#: scripts/controllers/EditBackupController.js:350
+#: scripts/controllers/EditBackupController.js:359
msgid "Continue without encryption"
msgstr ""
+#: scripts/controllers/DialogController.js:17
+msgid "Copied!"
+msgstr ""
+
+#: templates/addoredit.html:113
+#: templates/restoredirect.html:34
+msgid "Copy Destination URL to Clipboard"
+msgstr ""
+
+#: scripts/controllers/DialogController.js:21
+msgid "Copy failed. Please manually copy the URL"
+msgstr ""
+
#: scripts/services/AppUtils.js:597
msgid "Core options"
msgstr ""
@@ -434,10 +450,14 @@ msgstr ""
msgid "Crashes only"
msgstr ""
-#: templates/home.html:69
+#: templates/home.html:71
msgid "Create bug report ..."
msgstr ""
+#: scripts/directives/backupEditUri.js:131
+msgid "Create folder?"
+msgstr ""
+
#: scripts/services/EditUriBuiltins.js:119
msgid "Created new limited user"
msgstr ""
@@ -497,7 +517,7 @@ msgid "Custom storage class ({{class}})"
msgstr ""
#: scripts/services/AppUtils.js:90
-#: templates/addoredit.html:242
+#: templates/addoredit.html:311
msgid "Days"
msgstr ""
@@ -517,7 +537,7 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: templates/home.html:55
+#: templates/home.html:57
msgid "Delete ..."
msgstr ""
@@ -555,6 +575,11 @@ msgstr ""
msgid "Desktop"
msgstr ""
+#: templates/addoredit.html:25
+#: templates/restoredirect.html:15
+msgid "Destination"
+msgstr ""
+
#: templates/restore.html:102
msgid "Did we help save your files? If so, please consider supporting Duplicati with a donation. We suggest {{smallamount}} for private use and {{largeamount}} for commercial use."
msgstr ""
@@ -576,18 +601,18 @@ msgstr ""
msgid "Do you really want to delete the local database for: {{name}}"
msgstr ""
-#: index.html:129
-#: index.html:200
+#: index.html:130
+#: index.html:224
msgid "Donate"
msgstr ""
-#: index.html:132
-#: index.html:203
+#: index.html:133
+#: index.html:227
msgid "Donate with Bitcoins"
msgstr ""
-#: index.html:135
-#: index.html:206
+#: index.html:136
+#: index.html:230
msgid "Donate with PayPal"
msgstr ""
@@ -628,6 +653,14 @@ msgstr ""
msgid "Duplicate option {{opt}}"
msgstr ""
+#: index.html:218
+msgid "Duplicati Website"
+msgstr ""
+
+#: templates/home.html:5
+msgid "Duplicati is paused"
+msgstr ""
+
#: templates/delete.html:15
msgid ""
"Each backup has a local database associated with it, which stores information about the remote backup on the local machine.\r\n"
@@ -639,31 +672,30 @@ msgstr ""
msgid "Each backup has a local database associated with it, which stores information about the remote backup on the local machine.\\nThis makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation."
msgstr ""
-#: templates/home.html:53
+#: templates/home.html:55
msgid "Edit ..."
msgstr ""
-#: templates/edituri.html:22
+#: templates/addoredit.html:167
+#: templates/addoredit.html:333
+#: templates/edituri.html:39
#: templates/settings.html:113
msgid "Edit as list"
msgstr ""
-#: templates/addoredit.html:252
-#: templates/addoredit.html:258
-#: templates/edituri.html:28
+#: templates/addoredit.html:170
+#: templates/addoredit.html:336
+#: templates/edituri.html:42
#: templates/settings.html:119
msgid "Edit as text"
msgstr ""
-#: scripts/controllers/EditBackupController.js:28
-msgid "Empty"
-msgstr ""
-
#: templates/export.html:18
msgid "Encrypt file"
msgstr ""
-#: templates/addoredit.html:49
+#: templates/addoredit.html:57
+#: templates/restoredirect.html:50
msgid "Encryption"
msgstr ""
@@ -675,12 +707,9 @@ msgstr ""
msgid "Encryption modules:"
msgstr ""
-#: templates/restoredirect.html:11
-msgid "Enter a url, or click the &quot;Connect to &gt;&quot; link"
-msgstr ""
-
-#: templates/addoredit.html:46
-msgid "Enter a url, or click the 'Backup to &gt;' link"
+#: scripts/controllers/EditBackupController.js:73
+#: scripts/controllers/RestoreDirectController.js:24
+msgid "Enter URL"
msgstr ""
#: templates/backends/azure.html:12
@@ -691,7 +720,7 @@ msgstr ""
msgid "Enter account name"
msgstr ""
-#: templates/restoredirect.html:15
+#: templates/restoredirect.html:53
msgid "Enter backup passphrase, if any"
msgstr ""
@@ -704,7 +733,7 @@ msgstr ""
msgid "Enter encryption passphrase"
msgstr ""
-#: templates/addoredit.html:130
+#: templates/addoredit.html:188
msgid "Enter expression here"
msgstr ""
@@ -732,8 +761,12 @@ msgstr ""
#: scripts/controllers/RestoreController.js:383
#: scripts/controllers/RestoreController.js:392
#: scripts/controllers/RestoreController.js:85
-#: scripts/controllers/RestoreDirectController.js:50
-#: scripts/controllers/RestoreDirectController.js:75
+#: scripts/controllers/RestoreDirectController.js:110
+#: scripts/controllers/RestoreDirectController.js:74
+#: scripts/directives/backupEditUri.js:143
+#: scripts/directives/backupEditUri.js:170
+#: scripts/directives/backupEditUri.js:205
+#: scripts/directives/backupEditUri.js:239
#: scripts/services/AppUtils.js:259
#: scripts/services/AppUtils.js:305
#: scripts/services/AppUtils.js:307
@@ -750,7 +783,7 @@ msgstr ""
msgid "Errors and crashes"
msgstr ""
-#: templates/addoredit.html:140
+#: templates/addoredit.html:201
msgid "Exclude"
msgstr ""
@@ -794,7 +827,7 @@ msgstr ""
msgid "Export"
msgstr ""
-#: templates/home.html:54
+#: templates/home.html:56
msgid "Export ..."
msgstr ""
@@ -819,14 +852,20 @@ msgstr ""
msgid "Failed to build temporary database: {{message}}"
msgstr ""
+#: scripts/directives/backupEditUri.js:143
+#: scripts/directives/backupEditUri.js:205
+#: scripts/directives/backupEditUri.js:239
+msgid "Failed to connect:"
+msgstr ""
+
#: scripts/controllers/ExportController.js:28
#: scripts/controllers/LogController.js:74
#: scripts/controllers/RestoreController.js:286
#: scripts/controllers/RestoreController.js:304
#: scripts/controllers/RestoreController.js:392
#: scripts/controllers/RestoreController.js:85
-#: scripts/controllers/RestoreDirectController.js:50
-#: scripts/controllers/RestoreDirectController.js:75
+#: scripts/controllers/RestoreDirectController.js:110
+#: scripts/controllers/RestoreDirectController.js:74
msgid "Failed to connect: {{message}}"
msgstr ""
@@ -839,7 +878,11 @@ msgstr ""
msgid "Failed to fetch path information: {{message}}"
msgstr ""
-#: scripts/controllers/EditBackupController.js:553
+#: scripts/directives/backupEditUri.js:170
+msgid "Failed to import:"
+msgstr ""
+
+#: scripts/controllers/EditBackupController.js:566
msgid "Failed to read backup defaults:"
msgstr ""
@@ -860,11 +903,11 @@ msgstr ""
msgid "File"
msgstr ""
-#: templates/addoredit.html:157
+#: templates/addoredit.html:224
msgid "Files larger than:"
msgstr ""
-#: templates/addoredit.html:116
+#: templates/addoredit.html:156
msgid "Filters"
msgstr ""
@@ -887,12 +930,12 @@ msgstr ""
msgid "Folder path"
msgstr ""
-#: templates/addoredit.html:95
+#: templates/addoredit.html:133
msgid "Folders"
msgstr ""
-#: templates/home.html:14
-#: templates/home.html:24
+#: templates/home.html:13
+#: templates/home.html:23
msgid "Force stop"
msgstr ""
@@ -913,16 +956,20 @@ msgid "GCS Project ID"
msgstr ""
#: templates/about.html:4
-#: templates/addoredit.html:21
+#: templates/addoredit.html:24
#: templates/log.html:8
msgid "General"
msgstr ""
-#: templates/addoredit.html:223
+#: templates/addoredit.html:37
+msgid "General backup settings"
+msgstr ""
+
+#: templates/addoredit.html:292
msgid "General options"
msgstr ""
-#: templates/addoredit.html:75
+#: templates/addoredit.html:83
msgid "Generate"
msgstr ""
@@ -930,11 +977,11 @@ msgstr ""
msgid "Generate IAM access policy"
msgstr ""
-#: scripts/controllers/EditBackupController.js:18
+#: scripts/controllers/EditBackupController.js:17
msgid "Hidden files"
msgstr ""
-#: templates/addoredit.html:70
+#: templates/addoredit.html:78
msgid "Hide"
msgstr ""
@@ -973,7 +1020,7 @@ msgstr ""
msgid "ID:"
msgstr ""
-#: templates/addoredit.html:179
+#: templates/addoredit.html:248
msgid "If a date was missed, the job will run as soon as possible."
msgstr ""
@@ -1007,19 +1054,32 @@ msgstr ""
msgid "Import"
msgstr ""
+#: templates/addoredit.html:110
+#: templates/restoredirect.html:31
+msgid "Import Destination URL"
+msgstr ""
+
+#: templates/addoredit.html:45
+msgid "Import a backup configuration from file"
+msgstr ""
+
#: templates/import.html:2
msgid "Import backup configuration"
msgstr ""
-#: templates/addoredit.html:37
-msgid "Import configuration from a file ..."
+#: scripts/directives/backupEditUri.js:159
+msgid "Import completed, but no certificates were found after the import"
+msgstr ""
+
+#: scripts/directives/backupEditUri.js:159
+msgid "Import failed"
msgstr ""
#: templates/import.html:23
msgid "Importing ..."
msgstr ""
-#: scripts/controllers/EditBackupController.js:131
+#: scripts/controllers/EditBackupController.js:141
msgid "Include a file?"
msgstr ""
@@ -1039,6 +1099,10 @@ msgstr ""
msgid "Individual builds for developers only."
msgstr ""
+#: scripts/services/DialogService.js:27
+msgid "Information"
+msgstr ""
+
#: templates/notificationarea.html:25
#: templates/updatechangelog.html:10
msgid "Install"
@@ -1067,7 +1131,7 @@ msgstr ""
msgid "KByte/s"
msgstr ""
-#: templates/addoredit.html:231
+#: templates/addoredit.html:300
msgid "Keep backups"
msgstr ""
@@ -1079,7 +1143,7 @@ msgstr ""
msgid "Last month"
msgstr ""
-#: templates/home.html:74
+#: templates/home.html:76
msgid "Last successful run:"
msgstr ""
@@ -1091,7 +1155,7 @@ msgstr ""
msgid "Libraries"
msgstr ""
-#: scripts/controllers/RestoreDirectController.js:40
+#: scripts/controllers/RestoreDirectController.js:64
msgid "Listing backup dates ..."
msgstr ""
@@ -1163,7 +1227,7 @@ msgstr ""
msgid "Maintenance"
msgstr ""
-#: templates/home.html:61
+#: templates/home.html:63
msgid "Manage database ..."
msgstr ""
@@ -1172,7 +1236,13 @@ msgstr ""
msgid "Manually type path"
msgstr ""
-#: index.html:140
+#: index.html:141
+#: templates/addoredit.html:105
+#: templates/addoredit.html:162
+#: templates/addoredit.html:328
+#: templates/addoredit.html:40
+#: templates/edituri.html:34
+#: templates/restoredirect.html:26
msgid "Menu"
msgstr ""
@@ -1181,15 +1251,11 @@ msgstr ""
msgid "Minutes"
msgstr ""
-#: scripts/controllers/EditBackupController.js:217
-msgid "Missing destination"
-msgstr ""
-
-#: scripts/controllers/EditBackupController.js:196
+#: scripts/controllers/EditBackupController.js:202
msgid "Missing name"
msgstr ""
-#: scripts/controllers/EditBackupController.js:204
+#: scripts/controllers/EditBackupController.js:210
msgid "Missing passphrase"
msgstr ""
@@ -1202,7 +1268,7 @@ msgid "Mon"
msgstr ""
#: scripts/services/AppUtils.js:92
-#: templates/addoredit.html:244
+#: templates/addoredit.html:313
msgid "Months"
msgstr ""
@@ -1222,7 +1288,7 @@ msgstr ""
msgid "My Music"
msgstr ""
-#: templates/addoredit.html:42
+#: templates/addoredit.html:54
msgid "My Photos"
msgstr ""
@@ -1230,11 +1296,11 @@ msgstr ""
msgid "My Pictures"
msgstr ""
-#: templates/addoredit.html:41
+#: templates/addoredit.html:53
msgid "Name"
msgstr ""
-#: templates/home.html:77
+#: templates/home.html:82
msgid "Never"
msgstr ""
@@ -1248,36 +1314,41 @@ msgid ""
"Updated credentials to use the new limited user"
msgstr ""
-#: templates/addoredit.html:165
-#: templates/addoredit.html:214
-#: templates/addoredit.html:84
+#: templates/addoredit.html:123
+#: templates/addoredit.html:233
+#: templates/addoredit.html:283
+#: templates/addoredit.html:92
+#: templates/restoredirect.html:44
msgid "Next"
msgstr ""
-#: templates/home.html:81
+#: templates/home.html:86
msgid "Next scheduled run:"
msgstr ""
-#: templates/home.html:33
+#: templates/home.html:32
msgid "Next scheduled task:"
msgstr ""
-#: templates/home.html:29
+#: templates/home.html:28
msgid "Next task:"
msgstr ""
-#: templates/addoredit.html:182
+#: templates/addoredit.html:251
msgid "Next time"
msgstr ""
#: scripts/controllers/DeleteController.js:77
-#: scripts/controllers/EditBackupController.js:121
#: scripts/controllers/EditBackupController.js:131
-#: scripts/controllers/EditBackupController.js:371
+#: scripts/controllers/EditBackupController.js:141
+#: scripts/controllers/EditBackupController.js:380
#: scripts/controllers/HomeController.js:7
#: scripts/controllers/LocalDatabaseController.js:28
#: scripts/controllers/LocalDatabaseController.js:72
#: scripts/controllers/LocalDatabaseController.js:88
+#: scripts/directives/backupEditUri.js:131
+#: scripts/directives/backupEditUri.js:214
+#: scripts/directives/backupEditUri.js:87
#: scripts/services/EditUriBackendConfig.js:66
#: scripts/services/EditUriBuiltins.js:45
#: scripts/services/EditUriBuiltins.js:574
@@ -1286,12 +1357,19 @@ msgstr ""
msgid "No"
msgstr ""
-#: templates/edituri.html:13
+#: scripts/directives/backupEditUri.js:210
+msgid ""
+"No certificate was specified previously, please verify with the server administrator that the key is correct: {{key}} \n"
+"\n"
+"Do you want to approve the reported host key?"
+msgstr ""
+
+#: templates/edituri.html:12
msgid "No editor found for the &quot;{{backend}}&quot; storage type"
msgstr ""
-#: scripts/controllers/EditBackupController.js:350
-#: templates/addoredit.html:51
+#: scripts/controllers/EditBackupController.js:359
+#: templates/addoredit.html:59
msgid "No encryption"
msgstr ""
@@ -1307,11 +1385,11 @@ msgstr ""
msgid "No passphrase entered"
msgstr ""
-#: templates/home.html:35
-msgid "No scheduled tasks, you can manually start a task"
+#: templates/home.html:34
+msgid "No scheduled tasks"
msgstr ""
-#: scripts/controllers/EditBackupController.js:210
+#: scripts/controllers/EditBackupController.js:216
msgid "Non-matching passphrase"
msgstr ""
@@ -1319,9 +1397,15 @@ msgstr ""
msgid "None / disabled"
msgstr ""
+#: scripts/controllers/EditBackupController.js:73
+#: scripts/controllers/EditBackupController.js:81
+#: scripts/controllers/RestoreDirectController.js:24
+#: scripts/controllers/RestoreDirectController.js:33
#: scripts/services/CaptchaService.js:22
+#: scripts/services/DialogService.js:28
+#: scripts/services/DialogService.js:50
+#: scripts/services/DialogService.js:58
#: scripts/services/EditUriBuiltins.js:119
-#: templates/edituri.html:33
#: templates/restore.html:108
#: templates/settings.html:125
msgid "OK"
@@ -1340,7 +1424,7 @@ msgstr ""
msgid "Operation failed:"
msgstr ""
-#: templates/home.html:45
+#: templates/home.html:47
msgid "Operations:"
msgstr ""
@@ -1352,9 +1436,9 @@ msgstr ""
msgid "Optional authentication username"
msgstr ""
-#: templates/addoredit.html:24
-#: templates/edituri.html:21
-#: templates/edituri.html:27
+#: templates/addoredit.html:28
+#: templates/edituri.html:51
+#: templates/restoredirect.html:16
#: templates/settings.html:112
#: templates/settings.html:118
msgid "Options"
@@ -1372,9 +1456,9 @@ msgstr ""
msgid "Overwrite"
msgstr ""
-#: templates/addoredit.html:60
+#: templates/addoredit.html:68
#: templates/export.html:21
-#: templates/restoredirect.html:14
+#: templates/restoredirect.html:52
msgid "Passphrase"
msgstr ""
@@ -1386,7 +1470,7 @@ msgstr ""
msgid "Passphrase changed"
msgstr ""
-#: scripts/controllers/EditBackupController.js:210
+#: scripts/controllers/EditBackupController.js:216
msgid "Passphrases are not matching"
msgstr ""
@@ -1400,7 +1484,7 @@ msgstr ""
msgid "Password"
msgstr ""
-#: scripts/controllers/EditBackupController.js:29
+#: scripts/controllers/EditBackupController.js:27
msgid "Passwords do not match"
msgstr ""
@@ -1408,7 +1492,7 @@ msgstr ""
msgid "Patching files with local blocks ..."
msgstr ""
-#: scripts/controllers/EditBackupController.js:121
+#: scripts/controllers/EditBackupController.js:131
msgid "Path not found"
msgstr ""
@@ -1422,7 +1506,6 @@ msgstr ""
msgid "Path or subfolder in the bucket"
msgstr ""
-#: index.html:153
#: templates/settings.html:18
msgid "Pause"
msgstr ""
@@ -1431,10 +1514,6 @@ msgstr ""
msgid "Pause after startup or hibernation"
msgstr ""
-#: templates/pause.html:2
-msgid "Pause controls"
-msgstr ""
-
#: templates/restore.html:84
msgid "Permissions"
msgstr ""
@@ -1447,9 +1526,11 @@ msgstr ""
msgid "Port"
msgstr ""
-#: templates/addoredit.html:166
-#: templates/addoredit.html:215
-#: templates/addoredit.html:264
+#: templates/addoredit.html:124
+#: templates/addoredit.html:234
+#: templates/addoredit.html:284
+#: templates/addoredit.html:355
+#: templates/restoredirect.html:73
msgid "Previous"
msgstr ""
@@ -1473,11 +1554,11 @@ msgstr ""
msgid "Recreating database ..."
msgstr ""
-#: scripts/controllers/RestoreDirectController.js:16
+#: scripts/controllers/RestoreDirectController.js:40
msgid "Registering temporary backup ..."
msgstr ""
-#: scripts/controllers/EditBackupController.js:106
+#: scripts/controllers/EditBackupController.js:116
msgid "Relative paths not allowed"
msgstr ""
@@ -1489,7 +1570,7 @@ msgstr ""
msgid "Remote"
msgstr ""
-#: templates/addoredit.html:132
+#: templates/addoredit.html:190
msgid "Remove"
msgstr ""
@@ -1505,11 +1586,11 @@ msgstr ""
msgid "Reparing ..."
msgstr ""
-#: templates/addoredit.html:64
+#: templates/addoredit.html:72
msgid "Repeat Passphrase"
msgstr ""
-#: templates/home.html:66
+#: templates/home.html:68
msgid "Reporting:"
msgstr ""
@@ -1521,16 +1602,15 @@ msgstr ""
msgid "Restore"
msgstr ""
-#: index.html:150
+#: index.html:151
msgid "Restore backup"
msgstr ""
#: templates/restore.html:7
-#: templates/restoredirect.html:8
msgid "Restore files"
msgstr ""
-#: templates/home.html:48
+#: templates/home.html:50
msgid "Restore files ..."
msgstr ""
@@ -1551,16 +1631,16 @@ msgstr ""
msgid "Restoring files ..."
msgstr ""
-#: templates/pause.html:8
-msgid "Resume now"
+#: index.html:178
+msgid "Resume"
msgstr ""
-#: templates/addoredit.html:187
+#: templates/addoredit.html:256
msgid "Run again every"
msgstr ""
-#: templates/home.html:47
-#: templates/home.html:77
+#: templates/home.html:49
+#: templates/home.html:82
msgid "Run now"
msgstr ""
@@ -1568,11 +1648,11 @@ msgstr ""
msgid "Running ..."
msgstr ""
-#: templates/home.html:22
+#: templates/home.html:21
msgid "Running task"
msgstr ""
-#: templates/home.html:11
+#: templates/home.html:10
msgid "Running task:"
msgstr ""
@@ -1588,7 +1668,7 @@ msgstr ""
msgid "Sat"
msgstr ""
-#: templates/addoredit.html:263
+#: templates/addoredit.html:354
#: templates/localdatabase.html:32
msgid "Save"
msgstr ""
@@ -1609,7 +1689,8 @@ msgstr ""
msgid "Scanning for local blocks ..."
msgstr ""
-#: templates/addoredit.html:23
+#: templates/addoredit.html:242
+#: templates/addoredit.html:27
msgid "Schedule"
msgstr ""
@@ -1641,7 +1722,7 @@ msgstr ""
msgid "Server hostname or IP"
msgstr ""
-#: templates/restoredirect.html:34
+#: templates/restoredirect.html:87
#: templates/waitarea.html:15
msgid "Server is currently paused,"
msgstr ""
@@ -1658,33 +1739,32 @@ msgstr ""
msgid "Server state properties"
msgstr ""
-#: index.html:156
+#: index.html:181
#: templates/settings.html:2
msgid "Settings"
msgstr ""
-#: templates/addoredit.html:71
+#: templates/addoredit.html:79
#: templates/notificationarea.html:12
#: templates/notificationarea.html:29
msgid "Show"
msgstr ""
-#: templates/addoredit.html:118
-#: templates/addoredit.html:98
+#: templates/addoredit.html:136
msgid "Show advanced editor"
msgstr ""
-#: templates/addoredit.html:97
+#: templates/addoredit.html:135
#: templates/backends/file.html:16
#: templates/restore.html:60
msgid "Show hidden folders"
msgstr ""
-#: index.html:159
+#: index.html:184
msgid "Show log"
msgstr ""
-#: templates/home.html:68
+#: templates/home.html:70
msgid "Show log ..."
msgstr ""
@@ -1692,7 +1772,7 @@ msgstr ""
msgid "Some OpenStack providers allow an API key instead of a password and tenant name"
msgstr ""
-#: templates/addoredit.html:22
+#: templates/addoredit.html:26
msgid "Source Data"
msgstr ""
@@ -1700,11 +1780,11 @@ msgstr ""
msgid "Source data"
msgstr ""
-#: templates/addoredit.html:104
+#: templates/addoredit.html:142
msgid "Source folders"
msgstr ""
-#: templates/home.html:86
+#: templates/home.html:91
msgid "Source:"
msgstr ""
@@ -1726,12 +1806,12 @@ msgstr ""
msgid "Starting the restore process ..."
msgstr ""
-#: templates/home.html:15
-#: templates/home.html:25
+#: templates/home.html:14
+#: templates/home.html:24
msgid "Stop"
msgstr ""
-#: templates/edituri.html:4
+#: templates/edituri.html:3
msgid "Storage Type"
msgstr ""
@@ -1747,10 +1827,15 @@ msgstr ""
msgid "Stored"
msgstr ""
-#: scripts/controllers/EditBackupController.js:33
+#: scripts/controllers/EditBackupController.js:31
msgid "Strong"
msgstr ""
+#: scripts/directives/backupEditUri.js:51
+#: scripts/directives/backupEditUri.js:54
+msgid "Success"
+msgstr ""
+
#: scripts/services/AppUtils.js:103
msgid "Sun"
msgstr ""
@@ -1763,7 +1848,7 @@ msgstr ""
msgid "System default ({{levelname}})"
msgstr ""
-#: scripts/controllers/EditBackupController.js:19
+#: scripts/controllers/EditBackupController.js:18
msgid "System files"
msgstr ""
@@ -1787,7 +1872,7 @@ msgstr ""
msgid "Task is running"
msgstr ""
-#: scripts/controllers/EditBackupController.js:20
+#: scripts/controllers/EditBackupController.js:19
msgid "Temporary files"
msgstr ""
@@ -1795,14 +1880,19 @@ msgstr ""
msgid "Tenant Name"
msgstr ""
-#: templates/edituri.html:34
+#: templates/edituri.html:21
msgid "Test connection"
msgstr ""
-#: templates/edituri.html:39
+#: scripts/directives/backupEditUri.js:44
+#: templates/edituri.html:22
msgid "Testing ..."
msgstr ""
+#: scripts/directives/backupEditUri.js:44
+msgid "Testing connection ..."
+msgstr ""
+
#: scripts/services/EditUriBuiltins.js:40
msgid "Testing permissions ..."
msgstr ""
@@ -1819,22 +1909,35 @@ msgstr ""
msgid "The bucket name should start with your username, prepend automatically?"
msgstr ""
-#: index.html:237
+#: index.html:267
msgid "The connection to the server is lost, attempting again in {{time}} ..."
msgstr ""
-#: scripts/controllers/EditBackupController.js:121
-msgid "The path does not appear to exist, do you want to add it anyway?"
+#: scripts/directives/backupEditUri.js:131
+msgid ""
+"The folder {{folder}} does not exist\n"
+"Create it now?"
+msgstr ""
+
+#: scripts/directives/backupEditUri.js:212
+msgid ""
+"The host key has changed, please check with the server administrator if this is correct, otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.\n"
+"\n"
+"Do you want to REPLACE your CURRENT host key \"{{prev}}\" with the REPORTED host key: {{key}}?"
msgstr ""
#: scripts/controllers/EditBackupController.js:131
+msgid "The path does not appear to exist, do you want to add it anyway?"
+msgstr ""
+
+#: scripts/controllers/EditBackupController.js:141
msgid ""
"The path does not end with a '{{dirsep}}' character, which means that you include a file, not a folder.\n"
"\n"
"Do you want to include the specified file?"
msgstr ""
-#: scripts/controllers/EditBackupController.js:106
+#: scripts/controllers/EditBackupController.js:116
msgid "The path must be an absolute path, i.e. it must start with a forward slash '/'"
msgstr ""
@@ -1853,11 +1956,17 @@ msgstr ""
msgid "The region parameter is only used when creating a bucket"
msgstr ""
+#: scripts/directives/backupEditUri.js:87
+msgid ""
+"The server certificate could not be validated.\n"
+"Do you want to approve the SSL certificate with the hash: {{hash}}?"
+msgstr ""
+
#: templates/backends/s3.html:40
msgid "The storage class affects the availability and price for a stored file"
msgstr ""
-#: scripts/controllers/RestoreDirectController.js:71
+#: scripts/controllers/RestoreDirectController.js:106
msgid "The target folder contains encrypted files, please supply the passphrase"
msgstr ""
@@ -1893,6 +2002,14 @@ msgstr ""
msgid "Today"
msgstr ""
+#: scripts/directives/backupEditUri.js:214
+msgid "Trust host certificate?"
+msgstr ""
+
+#: scripts/directives/backupEditUri.js:87
+msgid "Trust server certificate?"
+msgstr ""
+
#: templates/settings.html:73
msgid "Try out the new features we are working on. Don't use with important data."
msgstr ""
@@ -1905,11 +2022,7 @@ msgstr ""
msgid "Type to highlight files"
msgstr ""
-#: scripts/controllers/EditBackupController.js:46
-msgid "Unknown"
-msgstr ""
-
-#: templates/pause.html:27
+#: index.html:173
msgid "Until resumed"
msgstr ""
@@ -1925,7 +2038,7 @@ msgstr ""
msgid "Updating with existing database"
msgstr ""
-#: templates/addoredit.html:225
+#: templates/addoredit.html:294
msgid "Upload volume size"
msgstr ""
@@ -1950,7 +2063,7 @@ msgstr ""
msgid "Use SSL"
msgstr ""
-#: scripts/controllers/EditBackupController.js:371
+#: scripts/controllers/EditBackupController.js:380
msgid "Use existing database?"
msgstr ""
@@ -1958,7 +2071,7 @@ msgstr ""
msgid "Use weak passphrase"
msgstr ""
-#: scripts/controllers/EditBackupController.js:30
+#: scripts/controllers/EditBackupController.js:28
msgid "Useless"
msgstr ""
@@ -1989,11 +2102,11 @@ msgstr ""
msgid "VISA, Mastercard, ... via Paypal"
msgstr ""
-#: templates/addoredit.html:110
+#: templates/addoredit.html:148
msgid "Validating ..."
msgstr ""
-#: templates/home.html:62
+#: templates/home.html:64
msgid "Verify files"
msgstr ""
@@ -2021,15 +2134,15 @@ msgstr ""
msgid "Verifying restored files ..."
msgstr ""
-#: scripts/controllers/EditBackupController.js:34
+#: scripts/controllers/EditBackupController.js:32
msgid "Very strong"
msgstr ""
-#: scripts/controllers/EditBackupController.js:31
+#: scripts/controllers/EditBackupController.js:29
msgid "Very weak"
msgstr ""
-#: index.html:179
+#: index.html:203
msgid "Visit us on"
msgstr ""
@@ -2053,11 +2166,11 @@ msgstr ""
msgid "Warnings, errors and crashes"
msgstr ""
-#: templates/addoredit.html:56
+#: templates/addoredit.html:64
msgid "We recommend that you encrypt all backups stored outside your system"
msgstr ""
-#: scripts/controllers/EditBackupController.js:32
+#: scripts/controllers/EditBackupController.js:30
msgid "Weak"
msgstr ""
@@ -2070,7 +2183,7 @@ msgid "Wed"
msgstr ""
#: scripts/services/AppUtils.js:91
-#: templates/addoredit.html:243
+#: templates/addoredit.html:312
msgid "Weeks"
msgstr ""
@@ -2079,18 +2192,21 @@ msgid "Where do you want to restore the files to?"
msgstr ""
#: scripts/services/AppUtils.js:93
-#: templates/addoredit.html:245
+#: templates/addoredit.html:314
msgid "Years"
msgstr ""
#: scripts/controllers/DeleteController.js:77
-#: scripts/controllers/EditBackupController.js:121
#: scripts/controllers/EditBackupController.js:131
-#: scripts/controllers/EditBackupController.js:371
+#: scripts/controllers/EditBackupController.js:141
+#: scripts/controllers/EditBackupController.js:380
#: scripts/controllers/HomeController.js:7
#: scripts/controllers/LocalDatabaseController.js:28
#: scripts/controllers/LocalDatabaseController.js:72
#: scripts/controllers/LocalDatabaseController.js:88
+#: scripts/directives/backupEditUri.js:131
+#: scripts/directives/backupEditUri.js:214
+#: scripts/directives/backupEditUri.js:87
#: scripts/services/EditUriBackendConfig.js:66
#: scripts/services/EditUriBuiltins.js:45
#: scripts/services/EditUriBuiltins.js:574
@@ -2115,6 +2231,12 @@ msgstr ""
msgid "Yesterday"
msgstr ""
+#: scripts/directives/backupEditUri.js:153
+msgid ""
+"You appear to be running Mono with no SSL certificates loaded.\n"
+"Do you want to import the list of trusted certificates from Mozilla?"
+msgstr ""
+
#: scripts/controllers/LocalDatabaseController.js:88
msgid ""
"You are changing the database path away from an existing database.\n"
@@ -2133,7 +2255,7 @@ msgstr ""
msgid "You have changed the passphrase, which is not supported. You are encouraged to create a new backup instead."
msgstr ""
-#: scripts/controllers/EditBackupController.js:350
+#: scripts/controllers/EditBackupController.js:359
msgid "You have chosen not to encrypt the backup. Encryption is recommended for all data stored on a remote server."
msgstr ""
@@ -2145,15 +2267,11 @@ msgstr ""
msgid "You must choose at least one source folder"
msgstr ""
-#: scripts/controllers/EditBackupController.js:217
-msgid "You must enter a destination where the backups are stored"
-msgstr ""
-
-#: scripts/controllers/EditBackupController.js:196
+#: scripts/controllers/EditBackupController.js:202
msgid "You must enter a name for the backup"
msgstr ""
-#: scripts/controllers/EditBackupController.js:204
+#: scripts/controllers/EditBackupController.js:210
msgid "You must enter a passphrase or disable encryption"
msgstr ""
@@ -2181,10 +2299,6 @@ msgstr ""
msgid "You must fill in the password"
msgstr ""
-#: scripts/services/EditUriBackendConfig.js:92
-msgid "You must fill in the path"
-msgstr ""
-
#: scripts/services/EditUriBackendConfig.js:85
msgid "You must fill in the server name or address"
msgstr ""
@@ -2205,6 +2319,10 @@ msgstr ""
msgid "You must select or fill in the server"
msgstr ""
+#: scripts/services/EditUriBackendConfig.js:92
+msgid "You must specify a path"
+msgstr ""
+
#: templates/restore.html:100
msgid "Your files and folders have been restored successfully."
msgstr ""
@@ -2213,7 +2331,7 @@ msgstr ""
msgid "Your passphrase is easy to guess. Consider changing passphrase."
msgstr ""
-#: templates/addoredit.html:235
+#: templates/addoredit.html:304
msgid "a specific number"
msgstr ""
@@ -2230,33 +2348,26 @@ msgstr ""
msgid "byte/s"
msgstr ""
-#: templates/home.html:7
-msgid "click to resume now"
-msgstr ""
-
-#: templates/addoredit.html:190
-#: templates/addoredit.html:246
+#: templates/addoredit.html:259
+#: templates/addoredit.html:315
#: templates/advancedoptionseditor.html:28
msgid "custom"
msgstr ""
-#: templates/addoredit.html:234
+#: templates/addoredit.html:303
msgid "for a specific time"
msgstr ""
-#: templates/addoredit.html:233
+#: templates/addoredit.html:302
msgid "forever"
msgstr ""
-#: templates/restoredirect.html:34
+#: templates/home.html:6
+#: templates/restoredirect.html:87
#: templates/waitarea.html:15
msgid "resume now"
msgstr ""
-#: templates/home.html:6
-msgid "resuming in"
-msgstr ""
-
#: templates/about.html:11
msgid "{{appname}} was primarily developed by <a href=\"{{mail1}}\">{{dev1}}</a> and <a href=\"{{mail2}}\">{{dev2}}</a>. {{appname}} can be downloaded from <a href=\"{{websitelink}}\">{{websitename}}</a>. {{appname}} is licensed under the <a href=\"{{licenselink}}\">{{licensename}}</a>."
msgstr ""
@@ -2265,17 +2376,23 @@ msgstr ""
msgid "{{files}} files ({{size}}) to go"
msgstr ""
-#: templates/pause.html:24
+#: templates/home.html:96
+msgid "{{item.Backup.Metadata.TargetSizeString}} / {{$count}} Version"
+msgid_plural "{{item.Backup.Metadata.TargetSizeString}} / {{$count}} Versions"
+msgstr[0] ""
+msgstr[1] ""
+
+#: index.html:170
msgid "{{number}} Hour"
msgstr ""
-#: templates/pause.html:12
-#: templates/pause.html:15
-#: templates/pause.html:18
-#: templates/pause.html:21
+#: index.html:158
+#: index.html:161
+#: index.html:164
+#: index.html:167
msgid "{{number}} Minutes"
msgstr ""
-#: templates/home.html:75
+#: templates/home.html:77
msgid "{{time}} (took {{duration}})"
msgstr ""
diff --git a/guiTests/guiTest.py b/guiTests/guiTest.py
index 09a1dadc6..7a3ef1846 100644
--- a/guiTests/guiTest.py
+++ b/guiTests/guiTest.py
@@ -29,7 +29,9 @@ if "TRAVIS_BUILD_NUMBER" in os.environ:
else:
# local
print "Using LOCAL webdriver"
- driver = webdriver.Firefox()
+ profile = webdriver.FirefoxProfile()
+ profile.set_preference("intl.accept_languages", "en")
+ driver = webdriver.Firefox(profile)
driver.maximize_window()
@@ -96,26 +98,30 @@ write_random_file(100 * 1024, SOURCE_FOLDER + os.sep + "subfolder" + os.sep + "1
sha1_source = sha1_folder(SOURCE_FOLDER)
# Add new backup
-driver.find_element_by_link_text("Add new backup").click()
+driver.find_element_by_link_text("Add backup").click()
# Add new backup - General page
time.sleep(1)
driver.find_element_by_id("name").send_keys(BACKUP_NAME)
-driver.find_element_by_id("target").send_keys("file://" + DESTINATION_FOLDER)
driver.find_element_by_id("passphrase").send_keys(PASSWORD)
driver.find_element_by_id("repeat-passphrase").send_keys(PASSWORD)
driver.find_element_by_id("nextStep1").click()
+# Add new backup - Destination page
+driver.find_element_by_link_text("Manually type path").click()
+driver.find_element_by_id("file_path").send_keys(DESTINATION_FOLDER)
+driver.find_element_by_id("nextStep2").click()
+
# Add new backup - Source Data page
driver.find_element_by_id("sourcePath").send_keys(os.path.abspath(SOURCE_FOLDER) + os.sep)
driver.find_element_by_id("sourceFolderPathAdd").click()
-driver.find_element_by_id("nextStep2").click()
+driver.find_element_by_id("nextStep3").click()
# Add new backup - Schedule page
useScheduleRun = driver.find_element_by_id("useScheduleRun")
if useScheduleRun.is_selected():
useScheduleRun.click()
-driver.find_element_by_id("nextStep3").click()
+driver.find_element_by_id("nextStep4").click()
# Add new backup - Options page
driver.find_element_by_id("save").click()
@@ -147,9 +153,13 @@ os.rename(DESTINATION_FOLDER, DESTINATION_FOLDER_DIRECT_RESTORE)
# direct restore
driver.find_element_by_link_text("Restore backup").click()
-driver.find_element_by_id("target").send_keys("file://" + DESTINATION_FOLDER_DIRECT_RESTORE)
+time.sleep(1)
+driver.find_element_by_link_text("Manually type path").click()
+driver.find_element_by_id("file_path").send_keys(DESTINATION_FOLDER_DIRECT_RESTORE)
+driver.find_element_by_id("nextStep1").click()
+
driver.find_element_by_id("password").send_keys(PASSWORD)
-driver.find_element_by_link_text("Connect").click()
+driver.find_element_by_id("connect").click()
driver.find_element_by_xpath("//span[contains(text(),'" + SOURCE_FOLDER + "')]") # wait for filelist
time.sleep(1)
driver.find_element_by_xpath("//restore-file-picker/ul/li/div/a[2]").click() # select root folder checkbox