diff options
author | Kenneth Skovhede <kenneth@hexad.dk> | 2016-11-03 17:09:48 +0300 |
---|---|---|
committer | Kenneth Skovhede <kenneth@hexad.dk> | 2016-11-03 17:09:48 +0300 |
commit | e50c68d3b192350b38e46377950c109a5069e4b9 (patch) | |
tree | 9a734cac6cb7c68c64d8a212e70080c967de4650 | |
parent | 61e18f9b9d6a2899bd70535d5ca476980c36c88a (diff) | |
parent | 77c76a40b0bd185a64b174ad9b7130214ac2e40f (diff) |
Merge branch 'master' of github.com:duplicati/duplicati
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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq8987eduXqaXpcnw7rc3Knr4oh8PE5tdJpP4pfAOm12u/gh8S7yT524+np
eqSfDsttcsengjnw8Djq9J/FH4hdDrv4J/AvQs1TuXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXnvnbzty9TS9Lk+Hdbm5U9fFEPh4nNrpNJ/FL4B02
u138EPiWBZs3UOxVnvknztx9PS9Uk+HZba5Y9PBHPh4HNZq9J/FH4h2+h138E/gXoWap3LsVdirs
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
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ðöÎxKŒ&ø>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žueÝJf“lÚ¡iÃhÙ¸t×Ô‡T2—Í9ɘ¶f¹65ô7Éçìú‹Úš:œgL:Ä€&‘JùyfEe 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–Ù6isÇ÷áö 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!(qbлw0ÃMLC$ +Ò¥ +†šyî.š\Ývõ!™æer÷sÇÙÜd£7lþyŠhjHÕÌ@L†jgγªüSªG¿ŒÊCÕN[„vuuËÐ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Í ÷¬ +Rdã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Žl1C{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²1C‰Ê"‰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ý
ï–“ØsBä +Æ—“;ø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''уôXV9Í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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq8589eeufqaVpUnwbrdXSnr4oh8PE5zPavat3jxn3n9AcbLl6B3kXz1w9P
StVk+DZbW6Y9PBHPh4HHsrtWqx5D7j+griy9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVdir
sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x4z
7z+gONly9A8+zm3Gdir0HyL564enpWqyfBstrdMengjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsV
dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirznz1565+ppWlS
fBut1dKeviiHw8TnM9q9q3ePGfef0BxsuXoHn2c24zsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+H
gc6TsrtWqx5D7j+guTiy9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir
sVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x4z7z+gONly9A8+zm3GdirsVdirs
Vdir0HyL564enpWqyfBstrdMengjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsVdirsVdirsVdirsV
dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirznz1565+ppWlSfBut1dKeviiHw8TnM9q9q3ePG
fef0BxsuXoHn2c24zsVdirsVdirsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+
guTiy9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0q
T4N1urpT18UQ+Hic5ntXtW7x4z7z+gONly9A8+zm3GdirsVdirsVdirsVdirsVdir0HyL564enpW
qyfBstrdMengjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsVdirsVdirsVdirsVdirsVdirsVdirsV
dirsVdirsVdirznz1565+ppWlSfBut1dKeviiHw8TnM9q9q3ePGfef0BxsuXoHn2c24zsVdirsVd
irsVdirsVdirsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+guTiy9C9GzpnJdi
rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x4
z7z+gONly9A8+zm3GdirsVdirsVdiqM0nSb3Vb1LOzTnK/U/sqvdmPYDLtPp55piMRumMSTQdq2k
3ulXr2d4nCVOh/ZZezKe4OOo088MzGQ3WUSDRQeUodirsVdirsVdir0HyL564enpWqyfBstrdMen
gjnw8DnSdldq1WPIfcf0FycWXoXo2dM5LsVdirsVdirsVdirsVdirsVdirsVdirsVdirznz1565+
ppWlSfBut1dKeviiHw8TnM9q9q3ePGfef0BxsuXoHn2c24zsVdirsVdirsVR2jaNfavfJZ2acnbd
3P2UXuzHsBl+m0080+GLKMSTQeyeXvLlhodmILZeUrAevcEfFIw8fAeAzt9HooYI1Hn1Pe5sICId
5h8uWGuWZguV4yqD6FwB8UbHw8R4jHWaKGeNS59D3LOAkHjes6NfaRfPZ3icXXdHH2XXsynuDnEa
nTTwz4ZOFKJBooHKGLsVdirsVdirsVeg+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+guTi
y9C9GzpnJdirsVdirsVdirsVdirsVdirsVdirsVec+evPXP1NK0qT4N1urpT18UQ+Hic5ntXtW7x
4z7z+gONly9A8+zm3GdirsVdirsVdiqO0bRb/V71bSzj5Md3c/ZRf5mPYZkabTTzT4Yj9jKMTI0H
svl7y9Y6HYi2thykahnnI+KRvE+AHYZ2+j0cMEOGPPqe9zYQEQmmZbN2KpX5h8vWOuWJtrkcZFqY
JwPijbxHiD3GYms0cM8OGXPoe5hOAkHjWs6Lf6RetaXkfFhujj7Lr/Mp7jOI1OmnhnwyH7XClExN
FA5jsXYq7FXYq7FXYq9B8i+euHp6VqsnwbLa3THp4I58PA50nZXatVjyH3H9BcnFl6F6NnTOS7FX
Yq7FXYq7FXYq7FXYq7FXYq8589eeufqaVpUnwbrdXSnr4oh8PE5zPavat3jxn3n9AcbLl6B59nNu
M7FXYq7FXYq7FUw0TRL7Wb5bS0WpO8kh+yi92Y5kaXSzzz4Y/wBjKMTI0Hsug6DY6LYra2q1J3mm
P2pG8T/Ads7jSaSGCHDH4nvc6EBEJlmUydirsVdiqW69oNjrVi1rdLQjeGYfajbxH8R3zF1ekhnh
wy+B7mM4CQeNa3ol9o181pdrQjeOQfZdezKc4fVaWeCfDL+1wZRMTRS/Mdi7FXYq7FXYq7FXoPkX
z1w9PStVk+DZbW6Y9PBHPh4HOk7K7VqseQ+4/oLk4svQvRs6ZyXYq7FXYq7FXYq7FXYq7FXnPnrz
1z9TStKk+Ddbq6U9fFEPh4nOZ7V7Vu8eM+8/oDjZcvQPPs5txnYq7FXYq7FXYqmWg6Dfa1fLa2q0
A3mmP2Y18T/Ad8ytJpJ558Mfie5lCBkXseg6DY6LYra2q1J3mmP2pG8T/Ads7bSaSGCHDH4nvc6E
BEJlmUydirsVdirsVdiqW69oNjrVi1rdLQjeGYfajbxH8R3zF1ekhnhwy+B7mM4CQeOa9oN9ot81
rdLUHeGYfZkXxH8R2zidXpJ4J8Mvge9wZwMSluYrF2KuxV2KuxV2KvQfIvnrh6elarJ8Gy2t0x6e
COfDwOdJ2V2rVY8h9x/QXJxZehejZ0zkuxV2KuxV2KuxV2KvOfPXnrn6mlaVJ8G63V0p6+KIfDxO
cz2r2rd48Z95/QHGy5egefZzbjOxV2KuxV2KuxVMtB0G+1q+W1tVoBvNMfsxr4n+A75laTSTzz4Y
/E9zKEDIvZdD0Ox0axW0tFoBvJIftO3dmOdvpdLDBDhj/a50YiIoJhmSydirsVdirsVdirsVdiqX
65odjrNi1pdrUHeOQfaRuzKcxtVpYZ4cMv7GMoiQovGte0G+0W+a1ulqDvDMPsyL4j+I7ZxGr0k8
E+GXwPe4M4GJS3MVi7FXYq7FXYq7FXoPkXz1w9PStVk+DZbW6Y9PBHPh4HOk7K7VqseQ+4/oLk4s
vQvRs6ZyXYq7FXYq7FXnPnrz1z9TStKk+Ddbq6U9fFEPh4nOZ7V7Vu8eM+8/oDjZcvQPPs5txnYq
7FXYq7FXYqmnl7y9fa5fC2thxjWhnnI+GNfE+JPYZl6PRzzz4Y8up7mcIGRey6NothpFktpZx8VG
7uftO38zHuc7fTaWGGHDEftc2MREUEdmQydirsVdirsVdirsVdirsVdiqB1nRbDV7JrS8j5Kd0cf
aRv5lPY5j6nSwzQ4ZD9jGURIUXjXmHy9faHfG2uRyjapgnA+GRfEeBHcZxGs0c8E+GXLoe9wpwMS
leYjB2KuxV2KuxV2KvQfIvnrh6elarJ8Gy2t0x6eCOfDwOdJ2V2rVY8h9x/QXJxZehejZ0zkuxV2
KvOfPXnrn6mlaVJ8G63V0p6+KIfDxOcz2r2rd48Z95/QHGy5egefZzbjOxV2KuxV2KuxVNfL3ly/
1y8EFsvGJSPXuCPhjU+PifAZl6PRTzyqPLqe5nCBkXsmjaNY6RYpZ2acUXd3P2nbuzHuTnb6bTQw
w4YubGIAoI7Mhk7FXYq7FXYq7FXYq7FXYq7FXYq7FUDrOjWOr2L2d4nJG3Rx9pG7Mp7EZj6nTQzQ
4ZMZRBFF435h8uX+h3hguV5RMT6FwB8Mijw8D4jOI1minglUuXQ97hTgYlKsxGDsVdirsVdirsVe
g+RfPXD09K1WT4Nltbpj08Ec+Hgc6TsrtWqx5D7j+guTiy9C9GzpnJec+evPXP1NK0qT4N1urpT1
8UQ+Hic5ntXtW7x4z7z+gONly9A8+zm3GdirsVdirsVdiqbeW/Ld7rt6IIBwgShuLgj4UX+LHsMz
NFop6idDl1PczhAyL2XSdJstKsks7NOESdT+0zd2Y9yc7fT6eGGAjEbObGIAoIzL2TsVdirsVdir
sVdirsVdirsVdirsVdirsVQeraTZarZPZ3ic4n6H9pW7Mp7EZRqNPDNAxkNmMogii8a8yeW73Qr0
wTjnA9Tb3AHwuv8ABh3GcRrdFPTzo8uh73CnAxKU5hsHYq7FXYq7FXYq9B8i+euHp6VqsnwbLa3T
Hp4I58PA50nZXatVjyH3H9BcnFl6FT89eRjAZNV0uP8AcbtdWyj7Hi6D+XxHb5dIdq9lcN5MY26j
u8wjLi6hgWc847sVdirsVdiqc+WfLF7rt56UX7u2jobi4IqFHgPFj2GZuh0M9RKhtEcyzhAyL2LS
dJstKsks7NOESdT+0zd2Y9yc7bT6eGGAjEbObGIAoIzL2TsVdirsVdirsVdirsVdirsVdirsVdir
sVdirsVQeraTZarZPZ3ic4n6H9pW7Mp7EZRqNPDNAxkNmMogii8d8zeWL3Qrz0pf3ltJU29wBQMP
A+DDuM4nXaGenlR3ieRcKcDEpNmEwdirsVdirsVeg+RfIvP09V1WP4NmtbVh18HceHgM6Tsrsq6y
ZB7h+kuTixdS9GzpnJea+evIvoepqulR/uN2ubZR9jxdB/L4jt8unLdq9lcN5MY26ju8w4uXF1DA
s55x3Yq7FU58seWL3Xb30oqx20ZBuLgjZR4DxY9hmbodDLUSobRHMs4QMi9k0zTLLTLKOzs4xHDG
PpJ7sx7k52+DBHFERiKAc6MQBQRWXJdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqF1P
TLLU7KSzvIxJDIPpB7Mp7EZTnwRyxMZCwUSiCKLxvzP5YvdCvfSlrJbSEm3uANmHgfBh3GcRrtDL
Tyo7xPIuDOBiUmzCYOxV2KvQfIvkXn6eq6rH8GzWtqw6+DuPDwGdJ2V2VdZMg9w/SXJxYupejZ0z
kuxV2KvNfPXkX0PU1XSo/wBxu1zbKPseLoP5fEdvl05btXsrhvJjG3Ud3mHFy4uoYFnPOOnflbyt
ea9ecVrFZxEfWLinT/JXxY5n6DQS1Eu6I5n8dWzHjMi9j07TbLTrRLSziEUKDYDqT3Zj3J8c7bDh
jiiIxFBzYxAFBE5al2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KobUdNstRtHtL
yISwuNweoPZlPYjxyrNhjliYyFhEogii8c80+VrzQbzi1ZbOUn6vcU6/5LeDDOJ1+glp5d8TyP46
uFkxmJSTMBreg+RfIvP09V1WP4NmtbVh18HceHgM6Tsrsq6yZB7h+kuTixdS9GzpnJdirsVdirsV
YLrf5Zw3erR3FjIttaTNW7ip9juTEOnxeHb8M5/VdhieQSgeGJ5/sceWCzszLTtOs9Os47S0jEUE
Qoqjv4knuTm7w4Y44iMRQDeAAKCIy1LsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir
sVdirsVQ+o6dZ6jZyWl3GJYJRRlPbwIPYjKs2GOSJjIWCggEUWIaD+WtvZarJdXsi3VvE1bOIjr3
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ŸIbN½ö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-èg9ÆÚ¢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%Íb2rhZ×[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ÇMC$ +Ò¤ +›¤@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“{§TtQ¢jƒsªžÙm Â{>$ˆ¹‡3qû-ÓhÄtÿ¹©Ö%v"G‰ØC<y™ßR +ð~$ñ…‡7ðå·Å‰¡Þõàé²—/nçp©Èdâl;®oXÜÙ/ž^ž[ÑQXÚ„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ŸÓ–¹•E0Ú¡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"0AÙŠ@ü`Ç ¿|¢Š™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›w4b5{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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FUPqGoWmn2kl3dy
COGMVZj+AA7k5OEDI0ObDJkEBZ5PJ9c85apqGqR3cEjW0Vs1bSNT9ntybsSR1+7N3h0sYRo73zee
z6yc52Nq5PQfKfmy21u24PSLUIh++h7Efzp7fqzV6nTHGf6LuNJqxlH9JP8AMVzHYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqkHmzzZbaJbcEpLqEo/cw9gP539v15labTHIf
6Lh6vVjEP6Tz7Q/OWqafqkl3PI1zFctW7jY/a7cl7AgdPuzaZtLGcaG1cnT4NZOE7O983rGn6haa
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
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´ntSb!"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ÇMC$ +Ò¤ +›¤@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@h3LrsSDüü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Í4UD{Ã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&'‘ƒôXV9Í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 +”#zh ! ¡‡Ï¨ÓÐ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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FUPqOo2enWcl3dy
CKCIVZj38AB3JyrNmjjiZSNAIJAFl5Dr3nXVdS1WO8gka1itW5WcSn7Pbk3YsR1+7OM1faeTLkEg
eER5OFPKSbei+UfN1trttwekWoxD99D2Yfzp7fqzpuzu0Y6iNHaY5j9IcrHk4veyHNk2OxV2KuxV
2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVj3m7zdbaFbcEpLqMo/cw9lH87+3681v
aPaMdPGhvM8h+kteTJw+951oPnXVdN1WS8nka6ium5XkTH7XbkvYMB0+7OZ0naeTFkMieIS5uLDK
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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\\Ì‘ñýk4(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õCoGÈÁ{³ª›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€š»*uPG»»Û:Tq{̵5¨IDÐ&$¿´éÖ§&¨áž-T€á#Æ*$hZè€-Ó…¦Å«
ÔÞ‹ý\·jbʬ˜#ÓÂ*4-Æx¨‡¸-T¤ª×š{¶ÓEzŠ-T¨¤tMëÊåUøè7e% µV~}4
¿.¾f®í2Û߯ՇkK;Õ™bjš+Ô§°Ž˜øs1bpé;ø-ôÔ6øÝŽkAá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ÁŒ|§´;:n5rxð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ÒÖaX^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)|Q45^â[?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¹8tô“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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACgAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FUPqGoWmn2kl3dy
COGMVZj+AA7k5OEDI0ObDJkEBZ5PJ9c85apqGqR3cEjW0Vs1bSNT9ntybsSR1+7N3h0sYRo73zee
z6yc52Nq5PQfKfmy21u24PSLUIh++h7Efzp7fqzV6nTHGf6LuNJqxlH9JP8AMVzHYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYqh9Q1C00+0ku7uQRwxirMfwAHcnJwgZGhzYZMggLPJ5F5n8z3euX
fJqx2cZP1e3r0/ym8WOb3T6cYx5vOarVHKfJJcyHFVbS7ubS5jubaQxTxHkjr1ByMoiQo8mcJmJs
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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!(NdTm¨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ÏLSº&Ž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ÓÎ7Bϸˆæ€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ùàñksج'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ÞvEŠ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»˜ÀHMwŒ 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ÇÅþõerIŸ£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''уôXV9Í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
ó]å÷ó]“¹ûxA>Æá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‘ÚõZFSEj×ÏêÑÇ—Œ¶í$™\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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACgAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7
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—®…ž™‚©ž ˆiTa +š+è‚Ô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™óÇRgMrl&—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´nSKr!"“±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‹°yoƒÞ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Í ÷¬ +Rdã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ò<ÐÆ>¿Äê¥hmã¨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³rs”}@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ìHN1jOº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˜÷>-ìFP+éæ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°ó…‡ÔÇMvá¡^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ö“;ÇLtVbjïý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,«…œæ¹²Ö{Yrê²–ñ\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¸1qÜÞª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
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAABQAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8AmdzqV9c3rXsszm6ZuQlD
EEGtRxPanamdLHHEDhA2eTlklKXETuzbyz+Yv2LTWj/kpegf8nAP+JD+3NdqND1h8naabtHpP5/r
Z9HJHLGskbB43FVdTUEHuCM1hFO3BBFhdgS7FXYq7FXYq7FXYq8AzqHj3Yqnfl3zbqeiOFjPrWZN
XtXPw+5U/snMbPpo5Pf3uXp9XPFy3Hc9S0PzDpmswepaSfvFH7yBtpE+Y8PcZps2CWM7u+waiGUX
FMspb3Yq7FXYq7FXYq8AzqHj3Yq7FVW0u7m0nS4tpWhmQ1V1NCMjKIkKLOEzE2DRej+WfzCtrvha
6qVt7k7LcdI3Pv8AyH8Plmp1GhMd47h3Wm7QEtp7FmYNdx0zXuzdirsVdirsVeAZ1Dx7sVdirsVd
irJvLPni/wBJK29xW6sBt6ZPxoP8gn/iJ2+WYeo0cZ7jaTn6bXSx7HeL07TNWsNTthc2UoljP2gN
mU+DDqDmnyY5QNF3uLLGYuJReVtjsVdirwDOoePdirsVdirsVdiqL0zVb/TLpbmylMUg60+yw8GH
QjK8mOMxRbcWWUDcS9N8s+ebDVgtvc0tb87BCfgc/wCQT3/yT+OafUaOUNxvF3um10cmx2kyfMNz
nYq8AzqHj3Yq7FXYq7FXYq7FXYpZl5Z/MK5s+Frqpa4teiz9ZU+f8w/HNfqNCJbx2LstN2gY7T3D
0e0vLW8t0uLWVZoXFVdTUZqZRMTR5u7hMSFg2Hg2dM8i7FXYq7FXYq7FXYq7FXYqnflLWdQ0/WLa
O3cmG4lSOaDqrB2C9PEV2OY2pxRlA30cvSZpQmK5EpJmS4jsVdirsVdirsVdirsVRWm6Xf6lci2s
ojLKdzToo8WPQDK8mSMBZbMWKUzUQ9O8seR7LSOFzcEXOoDcP+xGf8gHv7n8M0+o1hnsNou+0uhj
j3O8nk+bx512KuxV2KuxV2KuxVkvlryPqGr8bietrYf78I+Nx/kA/wDEjt88w9RrIw2G8nO02hlk
3O0Xp+l6Tp+l2wt7KIRR/tHqzHxYncnNPkyymbLvsWGOMVEIvK2x4BnUPHuxV2KuxV2Kqtra3N3O
lvbRtLM5oiKKk5GUhEWWUYGRobl6N5Z/Ly3tOF1qwWe5G623WND/AJX85/D55qdRrjLaOwd3puzh
Hee57maAACg2A6DNe7N2KuxV4BnUPHuxV2KuxVOvL3lPU9akDRL6NoDR7pwePuFH7RzGz6mOPnz7
nK0+knlO2w73qWh+XdM0aD07SP8AeMP3s7bu/wAz4ewzTZs8sh3d/g08cQoJnlLe7FXYq7FXgGdQ
8e7FW443kdUjUu7GiqoqST2AGAmkgXyZ75Z/Lonhd60KDqlkDv8A89CP+Ij+zNZqNd0h83b6bs7r
k+X62fxRRRRrFEgjjQURFAAAHYAZrCSdy7cAAUF2BLsVdirsVdirwDOoePTHRPL+paxcelZx1Uf3
kzbRoP8AKP8ADrlObPHGLLfg08shqL1Ly55R03RUDoPXvSPjuXG/yQfsjNNn1UsnkHfabSRxecu9
PMxnLdirsVdirsVdirsVYpc/lvoU981yHljidiz26FQtSa0BpUD2zOjr5iNOvl2bjMr39zJbOztb
O3S3tYlhhQUVFFB/t++YcpmRs83OhARFAUFbIsnYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F
XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq
7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq//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>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±Â0DwÅý@]ÛiÒd¥ &„*> @*ü¿„C©„<$ïNç\Úã€ö06Û4“À¬GãÇëBg<IQçu£vÜÞ4;ŠÂ”ÅR„ÍÓƒªñ Æ•^3šÌEw[*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ÁpEÃ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ÁŒAa +¼"î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Ëfi±Í‹Î[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 +üBQõ±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‰¢eY@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$Ž +ó»Lt«îï£ù¬¾±X;YB«(_’Têû:×z| +ìî» ~iÛ8›Ê„¼`nz£Raô‹‹qí°g
^ô©Aœ3º‰‡ïá¡Ôÿ&~áò,L2AlŒbL1n°Åô!œ@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øï³ÚÓ0oª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<“@é¯©Õ FACCÙ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œDU쨜"ÖžÆê¹ä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Ó÷þ1qõß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]¿8qÙ¹)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¶s9l.ð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 M5RVP[Š +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šÌEw'[*h +[v^»ê¬zöÐL1Ò(s÷±¯X…-zÒo5‡)*~ݪêiF¡Rp£p×GëßGkþ‘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 Binary files differnew file mode 100644 index 000000000..03109105a --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/arrow_collapse_blue.png diff --git a/Duplicati/Server/webroot/ngax/img/arrow_collapse_green.png b/Duplicati/Server/webroot/ngax/img/arrow_collapse_green.png Binary files differnew file mode 100644 index 000000000..ac783ca6e --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/arrow_collapse_green.png diff --git a/Duplicati/Server/webroot/ngax/img/arrow_expand_blue.png b/Duplicati/Server/webroot/ngax/img/arrow_expand_blue.png Binary files differnew file mode 100644 index 000000000..d4f358e83 --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/arrow_expand_blue.png diff --git a/Duplicati/Server/webroot/ngax/img/arrow_expand_green.png b/Duplicati/Server/webroot/ngax/img/arrow_expand_green.png Binary files differnew file mode 100644 index 000000000..7cda7f0c4 --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/arrow_expand_green.png diff --git a/Duplicati/Server/webroot/ngax/img/clippy.png b/Duplicati/Server/webroot/ngax/img/clippy.png Binary files differnew file mode 100644 index 000000000..2c2e4ec9e --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/clippy.png diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.png b/Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.png Binary files differnew file mode 100644 index 000000000..ac22b631a --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/mainmenu/arrow_right.png diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.png b/Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.png Binary files differnew file mode 100644 index 000000000..a17e35c21 --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/mainmenu/over/arrow_right.png diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.png b/Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.png Binary files differnew file mode 100644 index 000000000..acbb4f7a2 --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/mainmenu/over/resume.png diff --git a/Duplicati/Server/webroot/ngax/img/mainmenu/resume.png b/Duplicati/Server/webroot/ngax/img/mainmenu/resume.png Binary files differnew file mode 100644 index 000000000..f37caa0ea --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/mainmenu/resume.png diff --git a/Duplicati/Server/webroot/ngax/img/three_dots.png b/Duplicati/Server/webroot/ngax/img/three_dots.png Binary files differnew file mode 100644 index 000000000..c41ab07fb --- /dev/null +++ b/Duplicati/Server/webroot/ngax/img/three_dots.png 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¤cy_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¤cy_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¤cy_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¤cy_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"> </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 ></a></label> - <textarea name="target" id="target" ng-model="Backup.TargetURL" placeholder="{{'Enter a url, or click the \'Backup to >\' 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}} >" /> + </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}} >" /> + </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}} >" /> + <input class="submit prev" type="button" id="prevStep2" ng-click="prevPage()" value="< {{'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}} >" /> - <input class="submit prev" type="button" id="prevStep2" ng-click="prevPage()" value="< {{'Previous' | translate}}" /> + <input class="submit next" type="button" id="nextStep3" ng-click="nextPage()" value="{{'Next' | translate}} >" /> + <input class="submit prev" type="button" id="prevStep3" ng-click="prevPage()" value="< {{'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}} >" /> - <input class="submit prev" type="button" id="prevStep3" ng-click="prevPage()" value="< {{'Previous' | translate}}" /> + <input class="submit next" type="button" id="nextStep4" ng-click="nextPage()" value="{{'Next' | translate}} >" /> + <input class="submit prev" type="button" id="prevStep4" ng-click="prevPage()" value="< {{'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="< {{'Previous' | translate}}" /> + <input class="submit prev" type="button" id="prevStep5" ng-click="prevPage()" value="< {{'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">< {{'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 && Backend != null"> - <h3 translate translate-params-backend="Backend.DisplayName">No editor found for the "{{backend}}" 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 && Backend != null"> + <h3 translate translate-params-backend="Backend.DisplayName">No editor found for the "{{backend}}" 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 && nextTask == null && 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 && nextTask == null && nextScheduledTask == null" translate>No scheduled tasks, you can manually start a task</div> + <div ng-show="state.activeTask == null && nextTask == null && 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 ></a></label> - <textarea name="target" id="target" ng-model="TargetURL" placeholder="{{'Enter a url, or click the "Connect to >" 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}} >" /> + </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="< {{'Previous' | translate}}" /> + </div> + <div ng-show="connecting"> + {{ConnectionProgress}} + </div> </div> + <!-- .step2 --> </div> + <!-- .steps-boxes --> </div> <div ng-show="connecting == true && 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 >" +#: 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 >" -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 "Connect to >" link" -msgstr "" - -#: templates/addoredit.html:46 -msgid "Enter a url, or click the 'Backup to >' 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 "{{backend}}" 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 |