bee_api 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/bin/bee_api +84 -0
  2. data/lib/mdpreview.rb +80 -0
  3. data/lib/mdpreview/translator.rb +60 -0
  4. data/lib/mdpreview/version.rb +3 -0
  5. data/test/mdptest.rb +100 -0
  6. data/vendor/HISTORY.md +237 -0
  7. data/vendor/Jakefile.js +316 -0
  8. data/vendor/LICENSE +176 -0
  9. data/vendor/NOTICE +17 -0
  10. data/vendor/README.md +102 -0
  11. data/vendor/app/chrome/documentation.txt +12 -0
  12. data/vendor/app/chrome/manifest.json +24 -0
  13. data/vendor/app/web/ajax.js +43 -0
  14. data/vendor/app/web/app.css +292 -0
  15. data/vendor/app/web/app.js +377 -0
  16. data/vendor/app/web/beta/index.html +17 -0
  17. data/vendor/app/web/datapolicy.txt +48 -0
  18. data/vendor/app/web/doc/doc.css +60 -0
  19. data/vendor/app/web/doc/img/actions_menu.png +0 -0
  20. data/vendor/app/web/doc/img/button_actions_menu.png +0 -0
  21. data/vendor/app/web/doc/img/button_dragarea.png +0 -0
  22. data/vendor/app/web/doc/img/jsoneditor.png +0 -0
  23. data/vendor/app/web/doc/img/jsonformatter.png +0 -0
  24. data/vendor/app/web/doc/img/main_menu.png +0 -0
  25. data/vendor/app/web/doc/img/splitter.png +0 -0
  26. data/vendor/app/web/doc/index.html +201 -0
  27. data/vendor/app/web/favicon.ico +0 -0
  28. data/vendor/app/web/fileretriever.css +54 -0
  29. data/vendor/app/web/fileretriever.js +567 -0
  30. data/vendor/app/web/fileretriever.php +120 -0
  31. data/vendor/app/web/googlea47c4a0b36d11021.html +1 -0
  32. data/vendor/app/web/hash.js +133 -0
  33. data/vendor/app/web/img/description.txt +20 -0
  34. data/vendor/app/web/img/header_background.png +0 -0
  35. data/vendor/app/web/img/icon_128.png +0 -0
  36. data/vendor/app/web/img/icon_16.png +0 -0
  37. data/vendor/app/web/img/icon_gray.svg +151 -0
  38. data/vendor/app/web/img/icon_gray_16.svg +150 -0
  39. data/vendor/app/web/img/icon_orange.svg +151 -0
  40. data/vendor/app/web/img/logo.png +0 -0
  41. data/vendor/app/web/img/logo.xcf +0 -0
  42. data/vendor/app/web/img/logo_app.png +0 -0
  43. data/vendor/app/web/img/logo_app.xcf +0 -0
  44. data/vendor/app/web/index.html +191 -0
  45. data/vendor/app/web/notify.js +150 -0
  46. data/vendor/app/web/queryparams.js +71 -0
  47. data/vendor/app/web/robots.txt +0 -0
  48. data/vendor/app/web/splitter.js +179 -0
  49. data/vendor/app/web/test.html +224 -0
  50. data/vendor/component.json +33 -0
  51. data/vendor/docs/api.md +188 -0
  52. data/vendor/docs/usage.md +137 -0
  53. data/vendor/examples/01_basic_usage.html +45 -0
  54. data/vendor/examples/02_viewer.html +38 -0
  55. data/vendor/examples/03_switch_mode.html +98 -0
  56. data/vendor/examples/cur.file +1 -0
  57. data/vendor/examples/jquery.js +2 -0
  58. data/vendor/examples/meta.js +1 -0
  59. data/vendor/examples/requirejs_demo/requirejs_demo.html +19 -0
  60. data/vendor/examples/requirejs_demo/scripts/main.js +25 -0
  61. data/vendor/examples/requirejs_demo/scripts/require.js +35 -0
  62. data/vendor/img/jsoneditor-icons.png +0 -0
  63. data/vendor/jsoneditor-min.css +1 -0
  64. data/vendor/jsoneditor-min.js +34 -0
  65. data/vendor/jsoneditor.css +597 -0
  66. data/vendor/jsoneditor.js +6069 -0
  67. data/vendor/jsoneditor/css/contextmenu.css +219 -0
  68. data/vendor/jsoneditor/css/img/description.txt +13 -0
  69. data/vendor/jsoneditor/css/img/export.sh +16 -0
  70. data/vendor/jsoneditor/css/img/jsoneditor-icons.png +0 -0
  71. data/vendor/jsoneditor/css/img/jsoneditor-icons.svg +861 -0
  72. data/vendor/jsoneditor/css/jsoneditor.css +220 -0
  73. data/vendor/jsoneditor/css/menu.css +81 -0
  74. data/vendor/jsoneditor/css/searchbox.css +73 -0
  75. data/vendor/jsoneditor/js/appendnode.js +211 -0
  76. data/vendor/jsoneditor/js/contextmenu.js +440 -0
  77. data/vendor/jsoneditor/js/header.js +32 -0
  78. data/vendor/jsoneditor/js/highlighter.js +82 -0
  79. data/vendor/jsoneditor/js/history.js +218 -0
  80. data/vendor/jsoneditor/js/jsoneditor.js +206 -0
  81. data/vendor/jsoneditor/js/module.js +50 -0
  82. data/vendor/jsoneditor/js/node.js +2864 -0
  83. data/vendor/jsoneditor/js/searchbox.js +288 -0
  84. data/vendor/jsoneditor/js/texteditor.js +311 -0
  85. data/vendor/jsoneditor/js/treeeditor.js +770 -0
  86. data/vendor/jsoneditor/js/util.js +582 -0
  87. data/vendor/lib/ace/ace.js +11 -0
  88. data/vendor/lib/ace/mode-json.js +1 -0
  89. data/vendor/lib/ace/theme-jsoneditor.js +144 -0
  90. data/vendor/lib/ace/theme-textmate.js +163 -0
  91. data/vendor/lib/ace/worker-json.js +1 -0
  92. data/vendor/lib/jsonlint/README.md +62 -0
  93. data/vendor/lib/jsonlint/jsonlint.js +432 -0
  94. data/vendor/misc/screenshots/actionsmenu_640x400.png +0 -0
  95. data/vendor/misc/screenshots/codeeditor_640x400.png +0 -0
  96. data/vendor/misc/screenshots/description.json +17 -0
  97. data/vendor/misc/screenshots/jsoneditoronline.png +0 -0
  98. data/vendor/misc/screenshots/jsoneditoronline_640x400.png +0 -0
  99. data/vendor/misc/screenshots/search_640x400.png +0 -0
  100. data/vendor/misc/screenshots/small_tile.xcf +0 -0
  101. data/vendor/misc/screenshots/small_tile_440x280.png +0 -0
  102. data/vendor/misc/todo.txt +101 -0
  103. data/vendor/package.json +28 -0
  104. data/vendor/test/couchdbeditor.html +100 -0
  105. data/vendor/test/largefile.json +12605 -0
  106. data/vendor/test/test_ace.html +60 -0
  107. data/vendor/test/test_editable_div.html +449 -0
  108. metadata +154 -0
@@ -0,0 +1,120 @@
1
+ <?php
2
+
3
+ /**
4
+ * Script to load and save JSON files from the Javascript client to disk and url.
5
+ *
6
+ * Usage:
7
+ *
8
+ * POST file.php with a JSON document as body
9
+ * Will store the JSON document on disk and return the id of the document.
10
+ *
11
+ * POST file.php with a JSON document with name "file" as body multipart/form-data
12
+ * Will store the JSON document on disk and return the id of the document.
13
+ *
14
+ * GET file.php?url=....
15
+ * Will fetch the url and return it (resolves cross-domain security issues)
16
+ *
17
+ * GET file.php?id=...
18
+ * GET file.php?id=...&filename=...
19
+ * Will return the file with the id, and remove the file from disk.
20
+ * Optionally specify a filename for the download. Default is 'document.json'
21
+ */
22
+
23
+ // TODO: neatly handle exceeding of the max size
24
+ $tmp = 'tmp'; // directory for temporarily storing the files
25
+
26
+ $method = $_SERVER['REQUEST_METHOD'];
27
+
28
+ // make temporary directory to store the file (if not existing)
29
+ if (!is_dir(getcwd() . '/' . $tmp)) {
30
+ mkdir(getcwd() . '/' . $tmp);
31
+ }
32
+
33
+ /**
34
+ * Create a filename from given id
35
+ * @param {String} id id of the file
36
+ * @return {String} filename path to the file
37
+ */
38
+ function getFilename($id) {
39
+ global $tmp;
40
+ return "$tmp/$id";
41
+ }
42
+
43
+ if ($method == 'GET') {
44
+ $filename = isset($_GET['filename']) ? $_GET['filename'] : 'document.json';
45
+ if (isset($_GET['url'])) {
46
+ // download a file from url and return the file
47
+ $url = $_GET['url'];
48
+ $context = stream_context_create(array(
49
+ 'http' => array(
50
+ 'method' => 'GET',
51
+ 'header' => "Accept: application/json\r\n"
52
+ )
53
+ ));
54
+ $body = file_get_contents($url, false, $context);
55
+ if ($body != false) {
56
+ header("Content-Disposition: attachment; filename=\"$filename\"");
57
+ header('Content-type: application/json');
58
+ echo $body;
59
+ }
60
+ else {
61
+ header('HTTP/1.1 404 Not Found');
62
+ }
63
+ }
64
+ else if (isset($_GET['id'])) {
65
+ // retrieve the file with given id from disk, return it,
66
+ // and remove it from disk
67
+ $id = $_GET['id'];
68
+ $body = file_get_contents(getFilename($id));
69
+ if ($body !== false) {
70
+ header("Content-Disposition: attachment; filename=\"$filename\"");
71
+ header('Content-type: application/json');
72
+ echo $body;
73
+ unlink(getFilename($id));
74
+ }
75
+ else {
76
+ header('HTTP/1.1 404 Not Found');
77
+ }
78
+ }
79
+ else {
80
+ // TODO: error
81
+ }
82
+ }
83
+ else if ($method == 'POST') {
84
+ // retrieve the data, save it on disk with a random id,
85
+ // and return the id.
86
+
87
+ if (isset($_FILES['file'])) {
88
+ // read body from uploaded form
89
+ $file = $_FILES['file'];
90
+ $id = uniqid();
91
+ $filename = getFilename($id);
92
+ move_uploaded_file($file['tmp_name'], $filename);
93
+ echo $id;
94
+ }
95
+ else {
96
+ // read raw body from post request
97
+ $body = @file_get_contents('php://input');
98
+ if ($body === false) {
99
+ $body = '';
100
+ }
101
+ $id = uniqid();
102
+ file_put_contents(getFilename($id), $body);
103
+ echo $id;
104
+ }
105
+ }
106
+
107
+ // cleanup files older than 1 hour
108
+ // http://stackoverflow.com/q/6411451/1262753
109
+ if ($dir = opendir($tmp)) {
110
+ $now = time();
111
+ while (false !== ($file = readdir($dir))) {
112
+ $filename = "$tmp/$file";
113
+ if (is_file($filename) && filemtime($filename) <= ($now - 60 * 60) ) {
114
+ unlink($filename);
115
+ }
116
+ }
117
+ closedir($dir);
118
+ }
119
+
120
+ ?>
@@ -0,0 +1 @@
1
+ google-site-verification: googlea47c4a0b36d11021.html
@@ -0,0 +1,133 @@
1
+
2
+ /**
3
+ * @prototype Hash
4
+ * This prototype contains methods to manipulate the hash of the web page
5
+ */
6
+ function Hash() {}
7
+
8
+ /**
9
+ * get an object value with all parameters in the hash
10
+ * @return {Object} query object containing key/values
11
+ */
12
+ Hash.prototype.getQuery = function () {
13
+ var hash = window.location.hash.substring(1); // skip the # character
14
+ var params = hash.split('&');
15
+ var query = {};
16
+ for (var i = 0, iMax = params.length; i < iMax; i++) {
17
+ var keyvalue = params[i].split('=');
18
+ if (keyvalue.length == 2) {
19
+ var key = decodeURIComponent(keyvalue[0]);
20
+ var value = decodeURIComponent(keyvalue[1]);
21
+ query[key] = value;
22
+ }
23
+ }
24
+ return query;
25
+ };
26
+
27
+ /**
28
+ * Register a callback function which will be called when the hash of the web
29
+ * page changes.
30
+ * @param {String} key
31
+ * @param {function} callback Will be called with the new value as parameter
32
+ */
33
+ Hash.prototype.onChange = function (key, callback) {
34
+ this.prevHash = '';
35
+ var me = this;
36
+ if (!me.callbacks) {
37
+ me.callbacks = [];
38
+ }
39
+ me.callbacks.push({
40
+ 'key': key,
41
+ 'value': undefined,
42
+ 'callback': callback
43
+ });
44
+
45
+ function checkForChanges() {
46
+ for (var i = 0; i < me.callbacks.length; i++) {
47
+ var obj = me.callbacks[i];
48
+ var value = me.getValue(obj.key);
49
+ var changed = (value !== obj.value);
50
+ obj.value = value;
51
+ if (changed) {
52
+ obj.callback(value);
53
+ }
54
+ }
55
+ }
56
+
57
+ // source: http://stackoverflow.com/questions/2161906/handle-url-anchor-change-event-in-js
58
+ if ('onhashchange' in window) {
59
+ window.onhashchange = function () {
60
+ checkForChanges();
61
+ }
62
+ }
63
+ else {
64
+ // onhashchange event not supported
65
+ me.prevHash = window.location.hash;
66
+ window.setInterval(function () {
67
+ var hash = window.location.hash;
68
+ if (hash != me.prevHash) {
69
+ me.prevHash = hash;
70
+ checkForChanges();
71
+ }
72
+ }, 500);
73
+ }
74
+ };
75
+
76
+
77
+ /**
78
+ * Set hash parameters
79
+ * @param {Object} query object with strings
80
+ */
81
+ Hash.prototype.setQuery = function (query) {
82
+ var hash = '';
83
+
84
+ for (var key in query) {
85
+ if (query.hasOwnProperty(key)) {
86
+ var value = query[key];
87
+ if (value != undefined) {
88
+ if (hash.length) {
89
+ hash += '&';
90
+ }
91
+ hash += encodeURIComponent(key);
92
+ hash += '=';
93
+ hash += encodeURIComponent(query[key]);
94
+ }
95
+ }
96
+ }
97
+
98
+ window.location.hash = (hash.length ? ('#' + hash) : '');
99
+ };
100
+
101
+
102
+ /**
103
+ * Retrieve a parameter value from the hash
104
+ * @param {String} key
105
+ * @return {String | undefined} value undefined when the value is not found
106
+ */
107
+ Hash.prototype.getValue = function (key) {
108
+ var query = this.getQuery();
109
+ return query[key];
110
+ };
111
+
112
+ /**
113
+ * Set an hash parameter
114
+ * @param {String} key
115
+ * @param {String} value
116
+ */
117
+ Hash.prototype.setValue = function (key, value) {
118
+ var query = this.getQuery();
119
+ query[key] = value;
120
+ this.setQuery(query);
121
+ };
122
+
123
+ /**
124
+ * Remove an hash parameter
125
+ * @param {String} key
126
+ */
127
+ Hash.prototype.removeValue = function (key) {
128
+ var query = this.getQuery();
129
+ if (query[key]) {
130
+ delete query[key];
131
+ this.setQuery(query);
132
+ }
133
+ };
@@ -0,0 +1,20 @@
1
+ JSON Editor Online Logo
2
+
3
+ font: Source Sans Pro, 19.2pt (24px)
4
+ "JSON Editor" -> "Source Sans Pro"
5
+ "Online" -> "Source Sans Pro Light"
6
+
7
+ color: white
8
+
9
+ logo size: 32x200 px
10
+
11
+
12
+ JSON Editor Online Icon
13
+
14
+ Icon 128x128px
15
+ background is 100x100px, color #4d4d4d, border radius 10px
16
+ glass is white, opacity 10%
17
+ text "{ }" is Arial, 78px, white
18
+
19
+ Icon 16x16px
20
+ background full 16x16px. Scaled down from the 128x128px icon
@@ -0,0 +1,151 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="128"
14
+ height="128"
15
+ id="svg2"
16
+ version="1.1"
17
+ inkscape:version="0.48.3.1 r9886"
18
+ sodipodi:docname="icon_gray.svg"
19
+ inkscape:export-filename="/home/jos/jsoneditoronline/interface/img/jsoneditor_gray_128.png"
20
+ inkscape:export-xdpi="90"
21
+ inkscape:export-ydpi="90">
22
+ <defs
23
+ id="defs4">
24
+ <linearGradient
25
+ inkscape:collect="always"
26
+ id="linearGradient3873">
27
+ <stop
28
+ style="stop-color:#ffffff;stop-opacity:1;"
29
+ offset="0"
30
+ id="stop3875" />
31
+ <stop
32
+ style="stop-color:#ffffff;stop-opacity:0;"
33
+ offset="1"
34
+ id="stop3877" />
35
+ </linearGradient>
36
+ <linearGradient
37
+ id="linearGradient3831">
38
+ <stop
39
+ style="stop-color:#88a4f7;stop-opacity:1;"
40
+ offset="0"
41
+ id="stop3833" />
42
+ <stop
43
+ style="stop-color:#88a4f7;stop-opacity:0;"
44
+ offset="1"
45
+ id="stop3835" />
46
+ </linearGradient>
47
+ <linearGradient
48
+ id="linearGradient3782">
49
+ <stop
50
+ style="stop-color:#88a4f7;stop-opacity:1;"
51
+ offset="0"
52
+ id="stop3784" />
53
+ <stop
54
+ style="stop-color:#88a4f7;stop-opacity:0;"
55
+ offset="1"
56
+ id="stop3786" />
57
+ </linearGradient>
58
+ <linearGradient
59
+ inkscape:collect="always"
60
+ xlink:href="#linearGradient3873"
61
+ id="linearGradient3879"
62
+ x1="-52.789062"
63
+ y1="95.528737"
64
+ x2="46.478516"
65
+ y2="95.528737"
66
+ gradientUnits="userSpaceOnUse" />
67
+ <linearGradient
68
+ inkscape:collect="always"
69
+ xlink:href="#linearGradient3873"
70
+ id="linearGradient3885"
71
+ gradientUnits="userSpaceOnUse"
72
+ x1="-52.789062"
73
+ y1="95.528737"
74
+ x2="46.478516"
75
+ y2="95.528737"
76
+ gradientTransform="matrix(1.2781663,0,0,1.2781663,-0.56683723,-27.178371)" />
77
+ </defs>
78
+ <sodipodi:namedview
79
+ id="base"
80
+ pagecolor="#ffffff"
81
+ bordercolor="#666666"
82
+ borderopacity="1.0"
83
+ inkscape:pageopacity="0.0"
84
+ inkscape:pageshadow="2"
85
+ inkscape:zoom="4"
86
+ inkscape:cx="74.123"
87
+ inkscape:cy="63.939559"
88
+ inkscape:document-units="px"
89
+ inkscape:current-layer="layer1"
90
+ showgrid="false"
91
+ inkscape:window-width="1600"
92
+ inkscape:window-height="849"
93
+ inkscape:window-x="0"
94
+ inkscape:window-y="0"
95
+ inkscape:window-maximized="1"
96
+ showguides="true"
97
+ inkscape:guide-bbox="true">
98
+ <sodipodi:guide
99
+ orientation="0,1"
100
+ position="62.57895,132.22897"
101
+ id="guide3871" />
102
+ </sodipodi:namedview>
103
+ <metadata
104
+ id="metadata7">
105
+ <rdf:RDF>
106
+ <cc:Work
107
+ rdf:about="">
108
+ <dc:format>image/svg+xml</dc:format>
109
+ <dc:type
110
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
111
+ <dc:title></dc:title>
112
+ </cc:Work>
113
+ </rdf:RDF>
114
+ </metadata>
115
+ <g
116
+ inkscape:label="Layer 1"
117
+ inkscape:groupmode="layer"
118
+ id="layer1"
119
+ transform="translate(0,-924.36218)">
120
+ <rect
121
+ style="fill:#4d4d4d;fill-opacity:1;stroke:none"
122
+ id="rect3004"
123
+ width="100"
124
+ height="100"
125
+ x="14"
126
+ y="938.36218"
127
+ ry="10"
128
+ rx="10" />
129
+ <path
130
+ style="opacity:0.1;fill:#ffffff;fill-opacity:1;stroke:none"
131
+ d="M 14,50.875 14.03125,23 c 0.0926,-4.543321 4.895309,-8.941992 9.125,-9 l 81.96875,0 c 4.49471,0.0913 8.85437,5.039189 8.875,9.125 L 114,51 C 80.492943,56.594067 47.17385,55.936454 14,50.875 z"
132
+ id="path3768"
133
+ inkscape:connector-curvature="0"
134
+ transform="translate(0,924.36218)"
135
+ sodipodi:nodetypes="ccccccc" />
136
+ <flowRoot
137
+ xml:space="preserve"
138
+ id="flowRoot3815"
139
+ style="font-size:100px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial Bold"
140
+ transform="matrix(0.78237078,0,0,0.78237078,65.80062,914.91146)"><flowRegion
141
+ id="flowRegion3817"
142
+ style="fill:url(#linearGradient3885);fill-opacity:1"><rect
143
+ id="rect3819"
144
+ width="208.57143"
145
+ height="192.14285"
146
+ x="-55.714287"
147
+ y="23"
148
+ style="font-size:100px;font-style:normal;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Arial Bold" /></flowRegion><flowPara
149
+ id="flowPara3821"
150
+ style="font-size:100px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial Bold">{ }</flowPara></flowRoot> </g>
151
+ </svg>
@@ -0,0 +1,150 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="16"
14
+ height="16"
15
+ id="svg2"
16
+ version="1.1"
17
+ inkscape:version="0.48.3.1 r9886"
18
+ sodipodi:docname="icon_gray_16.svg"
19
+ inkscape:export-filename="/home/jos/jsoneditoronline/interface/img/icon_16.png"
20
+ inkscape:export-xdpi="90"
21
+ inkscape:export-ydpi="90">
22
+ <defs
23
+ id="defs4">
24
+ <linearGradient
25
+ inkscape:collect="always"
26
+ id="linearGradient3873">
27
+ <stop
28
+ style="stop-color:#ffffff;stop-opacity:1;"
29
+ offset="0"
30
+ id="stop3875" />
31
+ <stop
32
+ style="stop-color:#ffffff;stop-opacity:0;"
33
+ offset="1"
34
+ id="stop3877" />
35
+ </linearGradient>
36
+ <linearGradient
37
+ id="linearGradient3831">
38
+ <stop
39
+ style="stop-color:#88a4f7;stop-opacity:1;"
40
+ offset="0"
41
+ id="stop3833" />
42
+ <stop
43
+ style="stop-color:#88a4f7;stop-opacity:0;"
44
+ offset="1"
45
+ id="stop3835" />
46
+ </linearGradient>
47
+ <linearGradient
48
+ id="linearGradient3782">
49
+ <stop
50
+ style="stop-color:#88a4f7;stop-opacity:1;"
51
+ offset="0"
52
+ id="stop3784" />
53
+ <stop
54
+ style="stop-color:#88a4f7;stop-opacity:0;"
55
+ offset="1"
56
+ id="stop3786" />
57
+ </linearGradient>
58
+ <linearGradient
59
+ inkscape:collect="always"
60
+ xlink:href="#linearGradient3873"
61
+ id="linearGradient3879"
62
+ x1="-52.789062"
63
+ y1="95.52874"
64
+ x2="46.478516"
65
+ y2="95.52874"
66
+ gradientUnits="userSpaceOnUse" />
67
+ <linearGradient
68
+ inkscape:collect="always"
69
+ xlink:href="#linearGradient3873"
70
+ id="linearGradient3885"
71
+ gradientUnits="userSpaceOnUse"
72
+ x1="-52.789062"
73
+ y1="95.52874"
74
+ x2="46.478516"
75
+ y2="95.52874"
76
+ gradientTransform="matrix(7.98854,0,0,7.9885394,455.89837,-215.38857)" />
77
+ </defs>
78
+ <sodipodi:namedview
79
+ id="base"
80
+ pagecolor="#ffffff"
81
+ bordercolor="#666666"
82
+ borderopacity="1.0"
83
+ inkscape:pageopacity="0.0"
84
+ inkscape:pageshadow="2"
85
+ inkscape:zoom="32"
86
+ inkscape:cx="1.8526919"
87
+ inkscape:cy="9.2265399"
88
+ inkscape:document-units="px"
89
+ inkscape:current-layer="layer1"
90
+ showgrid="false"
91
+ inkscape:window-width="1600"
92
+ inkscape:window-height="849"
93
+ inkscape:window-x="0"
94
+ inkscape:window-y="0"
95
+ inkscape:window-maximized="1"
96
+ showguides="true"
97
+ inkscape:guide-bbox="true">
98
+ <sodipodi:guide
99
+ orientation="0,1"
100
+ position="62.57895,132.22897"
101
+ id="guide3871" />
102
+ </sodipodi:namedview>
103
+ <metadata
104
+ id="metadata7">
105
+ <rdf:RDF>
106
+ <cc:Work
107
+ rdf:about="">
108
+ <dc:format>image/svg+xml</dc:format>
109
+ <dc:type
110
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
111
+ <dc:title></dc:title>
112
+ </cc:Work>
113
+ </rdf:RDF>
114
+ </metadata>
115
+ <g
116
+ inkscape:label="Layer 1"
117
+ inkscape:groupmode="layer"
118
+ id="layer1"
119
+ transform="translate(0,-1036.3622)">
120
+ <rect
121
+ style="fill:#4d4d4d;fill-opacity:1;stroke:none"
122
+ id="rect3004"
123
+ width="15.999998"
124
+ height="15.999999"
125
+ x="0"
126
+ y="1036.3622"
127
+ ry="1.25"
128
+ rx="1.25" />
129
+ <path
130
+ style="opacity:0.1;fill:#ffffff;fill-opacity:1;stroke:none"
131
+ d="m 1.3156105e-7,1042.2621 0.004999998439,-4.46 c -0.0086175,-1.0941 0.3535625,-1.4385 1.45999997,-1.44 l 13.1149989,0 c 0.94181,-6e-4 1.428418,0.3571 1.42,1.46 l 0,4.46 c -5.361129,0.8951 -10.6921826,0.7899 -15.99999886843895,-0.02 z"
132
+ id="path3768"
133
+ inkscape:connector-curvature="0"
134
+ sodipodi:nodetypes="ccccccc" />
135
+ <flowRoot
136
+ xml:space="preserve"
137
+ id="flowRoot3815"
138
+ style="font-size:100px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial Bold"
139
+ transform="matrix(0.12517931,0,0,0.12517932,8.2880984,1032.61)"><flowRegion
140
+ id="flowRegion3817"
141
+ style="fill:url(#linearGradient3885);fill-opacity:1"><rect
142
+ id="rect3819"
143
+ width="208.57143"
144
+ height="192.14285"
145
+ x="-55.714287"
146
+ y="23"
147
+ style="font-size:100px;font-style:normal;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Arial Bold" /></flowRegion><flowPara
148
+ id="flowPara3821"
149
+ style="font-size:100px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial Bold">{ }</flowPara></flowRoot> </g>
150
+ </svg>