Compare commits

...

1233 Commits

Author SHA1 Message Date
Arik Fraimovich
865b799dfd Merge branch 'master' of github.com:getredash/redash 2018-09-21 17:06:46 +03:00
Arik Fraimovich
eed26c789e Update CHANGELOG & version to V5 2018-09-21 17:06:26 +03:00
Arik Fraimovich
8c9d2af6fe Fix: BigQuery default location is null and not US (#2841)
If no location is specified BigQuery uses US or EU. If we pass US
it breaks querying for EU users.
2018-09-21 16:49:30 +03:00
Arik Fraimovich
03cac7e515 Fix: backport security fix from v4.0.2 - don't expose Google OAuth client secret. (#2839) 2018-09-20 12:32:38 +03:00
Arik Fraimovich
defb3b9750 Fix: favorite button on homepage is not yellow. (#2838) 2018-09-20 10:39:36 +03:00
Arik Fraimovich
ec39bb0779 Fix: query embeds are broken. (#2837) 2018-09-20 10:36:15 +03:00
ariarijp
1661553da7 Fix typo 2018-09-18 08:56:01 +02:00
Arik Fraimovich
a4d5782ea1 Update ISSUE_TEMPLATE.md 2018-09-17 22:08:49 +03:00
Arik Fraimovich
d491eddd7d Add security section to README. 2018-09-17 22:07:31 +03:00
Zsolt Kocsmárszky
47068a6d91 Improved mobile design (#2800)
* Improve mobile views

* Better fontsize for dashboard headers

* Add hidden-xs classes instead

* Move dashboard related styling to dashboards.less
2018-09-16 10:46:30 +03:00
Alison
d8ced1401f add test for using saved parameters in scheduled queries (#2802) 2018-09-16 10:45:25 +03:00
Jannis Leidel
59a5540823 Use QuerySerializer in outdated queries list. (#2821)
This is a regression from aa756b2be6.
2018-09-16 09:49:22 +03:00
Jannis Leidel
b1f5d60460 Minor code smell cleanup. (#2820)
* Remove unused parse_db_url function.

* Fix tests to not show command line warnings anymore.

* Minor code smell cleanup.

Removing unneeded imports fixing PEP8 issues.
2018-09-16 09:43:44 +03:00
Tim Smith
5c9852b9d9 Fix QueryResultListResource docstring
Change the docstring to reflect the behavior of the function
2018-09-14 22:23:06 +02:00
Levko Kravets
8c360d5c8d Fix: sometimes widgets are getting zero height (#2813) 2018-09-14 16:33:24 +03:00
Levko Kravets
eb6f9d5ab8 Merge pull request #2816 from getredash/simplejson-parent-method
Use parent default method of simplejson encoder.
2018-09-14 12:05:45 +03:00
Jannis Leidel
4ab160a14c Use parent default method of simplejson encoder. 2018-09-14 10:29:38 +02:00
Arik Fraimovich
93b34bcbce UI Fixes for favorites and empty state (#2808)
* Better empty state for favorites on homepage
* Fix: show empty state when no dashboards available
* More explicit message in app header
2018-09-12 11:35:34 +03:00
Benjamin Forehand Jr
5113f4ff33 Add npm install for integration test job. (#2795)
* Add npm install.

* Fix typo.
2018-09-07 09:16:58 +02:00
Benjamin Forehand Jr
151683f9f9 Add npm build step to integration tests. (#2794) 2018-09-06 19:55:08 +02:00
Levko Kravets
53abc16780 Athena: Switch to simple_json to serialize NaN/Infinity values as nulls.
Fixes #2544.
2018-09-04 13:03:21 +03:00
Arik Fraimovich
d529a1dfb3 Fix: queries with parameters with no value breaking the scheduler. (#2786) 2018-09-04 11:32:37 +03:00
Arik Fraimovich
7cb7f3a99d Fix: MongoDB query results parser didn't support unicode keys. (#2785) 2018-09-04 11:30:40 +03:00
Arik Fraimovich
c27528fb7e Fix: Google Analytics schema wasn't loading (#2784)
Some Google Analytics properties don't have defaultProfileId, which was preventing the schema from loading.
2018-09-04 11:29:19 +03:00
Arik Fraimovich
841642b9fc Fix: build Docker image only in tagged versions 2018-08-31 08:42:50 +03:00
Arik Fraimovich
04c97067ac Forgot to enable Docker 🤦 2018-08-30 21:35:31 +03:00
Arik Fraimovich
41113404c0 Remove deprecated argument from docker login command 2018-08-30 20:46:08 +03:00
Arik Fraimovich
bcaa54edf1 Merge branch 'master' of github.com:getredash/redash 2018-08-30 20:45:47 +03:00
Arik Fraimovich
a6d501a394 More improvements to CircleCI configuration (#2777)
* Moved configuration to `.circleci/config.yml` as the documentation for V2 suggests.
* Created a dedicated Docker Compose configuration (in `.circleci/docker-compose.yml`) to remove volumes configuration as this is not supported with CircleCI's Docker executer.
* Fix the Docker image build and tarball packing jobs to work and use correct version.
2018-08-30 20:19:52 +03:00
Arik Fraimovich
e4305e05ad Updates to CircleCI 2 configuration (#2774)
* Remove references to Gitter
* Move integration tests to their own workflow and run only on master branch
* Fix error in integration tests configuration
* Update names of stages
2018-08-29 19:34:47 +03:00
Arik Fraimovich
84f1218849 Remove references to Gitter 2018-08-29 12:04:43 +03:00
Benjamin Forehand Jr
99dd4ddca2 Initial update to circleci v2 config. (#2672) 2018-08-29 11:19:25 +03:00
Arik Fraimovich
6f26b9638b Merge pull request #2769 from kravets-levko/bug/dashboard-parameters-not-updated
Date/time params not working as global param
2018-08-29 09:50:11 +03:00
Zsolt Kocsmárszky
72632be04d Remove unnecessary X at the end of the query search (#2736) 2018-08-28 21:56:12 +02:00
Jannis Leidel
bfd128413c Add server-side sorting to dashboard list. (#2760)
Fix #2771. Refs #2731.
2018-08-28 20:45:26 +02:00
Jannis Leidel
bc15c0b6d1 Sort queries in descending order. (#2759)
Refs #2731.
2018-08-28 20:27:35 +02:00
Levko Kravets
636276c9c4 getredash/redash#2730 2018-08-28 14:11:56 +03:00
Arik Fraimovich
57e4496ea5 Merge pull request #2754 from kravets-levko/bug/dashboard-widgets-crumble
Widgets crumble when trying to move / resize a widget
2018-08-27 21:18:31 +03:00
Arik Fraimovich
bd7ce3a2ce Merge pull request #2734 from Yossi-a/master
handling rows with "length" field with forOwn method
2018-08-27 18:42:29 +03:00
Arik Fraimovich
8ef89177ff Merge pull request #2761 from getredash/init_cleanup
Remove unnecessary init methods.
2018-08-24 00:05:47 +03:00
Alison
82af372583 Throw error when non-owner tries to add a user to dashboard permissions (#2650)
Add error message when non owner tries to add a user to a dashboard

Fixes #2592

REDASH_FEATURE_SHOW_PERMISSIONS_CONTROL has to be true for this to be applicable.

Operation threw a 403 Forbidden error before this change but it is in the console not shown to the user.
2018-08-23 20:51:08 +02:00
Alison
341a68c7d4 Propagate query execution errors from Celery tasks properly (#2713)
Refs https://github.com/mozilla/redash/issues/458
2018-08-23 20:33:43 +02:00
Jannis Leidel
8fa2a6649a Remove unnecessary init methods. 2018-08-23 20:29:40 +02:00
Levko Kravets
c6cb6061e3 getredash/redash#2494 Widgets crumble when trying to move / resize a widget 2018-08-20 12:27:36 +03:00
Jannis Leidel
4d2df72f1f Merge pull request #2750 from getredash/search-route-reload
Reload the route when using the app header search input.
2018-08-16 18:35:05 +02:00
Jannis Leidel
038966a39a Merge pull request #2741 from sjakthol/fix-alerts
fix broken query selection in alert page
2018-08-16 18:09:41 +02:00
Jannis Leidel
9044de6142 Merge pull request #2742 from nasmithan/embed-parameters-query-test-fix
Fix query_results for Embedded Parameters (removed deprecated to_dict function)
2018-08-16 17:57:35 +02:00
Jannis Leidel
b746c433ea Reload the route when using the app header search input. 2018-08-16 17:49:25 +02:00
Jannis Leidel
a0e8c3d2e5 Merge pull request #2729 from combineads/master
Fix: support unicode in dashboard search
2018-08-15 19:24:12 +02:00
Jannis Leidel
6ef6a2f484 Merge pull request #2735 from kocsmy/fix/remove-unnecessary-space
Remove space between text and :
2018-08-13 19:11:13 +02:00
Nathan Smith
5581e48474 Change from deprecated to_dict to query.query_text 2018-08-10 14:11:57 -06:00
Sami Jaktholm
a251d8fab0 fix broken query selection in alert page
The following error occurs when a query is selected in the
alert page:

> TypeError: "item.getQueryResultPromise is not a function"

This is because .onQueryHandler() is given a plain object instead of a
Query when a query is selected from the dropdown.

These changes fix the issue by wrapping the plain object into a Query
object before calling .getQueryResultPromise() on it.
2018-08-10 22:31:59 +03:00
Zsolt Kocsmarszky
6ecb215896 Remove space between text and : 2018-08-10 16:58:17 +02:00
Yossi Ayun
df4b34c179 handling rows with "length" field with forOwn method 2018-08-09 22:31:48 +03:00
Byunghwa Yun
e3f20abf16 Fix: support unicode in dashboard search 2018-08-09 12:00:16 +09:00
Arik Fraimovich
1cafcc1eac Merge pull request #2724 from getredash/users-unicode
Fix: support unicode in users search
2018-08-07 18:02:20 +03:00
Arik Fraimovich
f6aab04a4b Fix: support unicode in users search 2018-08-07 17:51:46 +03:00
Arik Fraimovich
674a689400 Update v5-beta release date. 2018-08-06 21:51:33 +03:00
Arik Fraimovich
7e0e498d33 Update CHANGELOG for v5beta 2018-08-06 18:31:57 +03:00
Arik Fraimovich
a1c566fea7 Merge branch 'master' of github.com:getredash/redash 2018-08-06 16:18:06 +03:00
Arik Fraimovich
4f7cb89e91 Update CHANGELOG for v5-beta. #2700 2018-08-06 16:17:28 +03:00
Arik Fraimovich
035b26b631 Merge pull request #2722 from getredash/es-fix
Fix: don't send source_content_type
2018-08-06 16:13:01 +03:00
Arik Fraimovich
a3e0990143 Fix: don't send source_content_type - instead use GET body with content type header 2018-08-06 16:03:48 +03:00
Arik Fraimovich
0772b12f19 Merge pull request #2720 from getredash/users
Fix #2718: query search is broken.
2018-08-05 18:20:46 +03:00
Arik Fraimovich
f3fed27383 Merge branch 'master' into users 2018-08-05 18:20:21 +03:00
Arik Fraimovich
573865f1cc Fix #2718: query search is broken. 2018-08-05 18:19:07 +03:00
Arik Fraimovich
1e6d6bbeb3 Merge pull request #2715 from getredash/users
Improve users list page
2018-08-05 18:10:15 +03:00
Arik Fraimovich
b89bb392ce Fix: enable/disable wasn't working on users list. 2018-08-05 18:09:14 +03:00
Arik Fraimovich
e4dba1ca8e Switch more strings to unicode. 2018-08-05 17:58:29 +03:00
Arik Fraimovich
2e08d8deb4 Reset to page 1 when updating search string. 2018-08-05 17:58:09 +03:00
Arik Fraimovich
1676d34af6 Fix: make sure paginator component reflects current page number. 2018-08-05 17:57:55 +03:00
Arik Fraimovich
f96a0f338d Use unicode strings. 2018-08-05 16:34:43 +03:00
Arik Fraimovich
226dd65d53 Update users handlers tests. 2018-08-05 16:14:24 +03:00
Arik Fraimovich
188467ec64 Switch to sqlalchemy_utils.EmailType 2018-08-05 16:14:12 +03:00
Arik Fraimovich
2d4983a224 Show correct empty state when no users found. 2018-08-05 14:56:41 +03:00
Arik Fraimovich
629f61772f Use new users search API. 2018-08-05 14:51:39 +03:00
Arik Fraimovich
deaa891eb2 Merge pull request #2712 from kravets-levko/feature/date-range-params
Date/Time Range parameter type
2018-08-05 14:03:30 +03:00
Arik Fraimovich
351e0f8fdb Merge pull request #2719 from maxv/closing-input-tag
Remove closing input tags
2018-08-05 13:59:02 +03:00
maxv
3ecec4ba8b Remove closing input tags 2018-08-04 11:02:44 +03:00
Levko Kravets
a2ca793ddd getredash/redash#2643 Date/Time Range parameter type 2018-08-03 12:24:23 +03:00
Arik Fraimovich
5eb280ef01 Update users list to be paginated and sortable. 2018-08-01 23:28:57 +03:00
Arik Fraimovich
d7946dafd6 Link to user page from group users list. 2018-08-01 23:28:02 +03:00
Arik Fraimovich
bdff248dd7 Fix: dashboards list page wasn't updated to new paginator API. 2018-08-01 23:27:27 +03:00
Arik Fraimovich
c6b129d726 Move order_results helper to redash.handlers.base. 2018-08-01 23:27:12 +03:00
Arik Fraimovich
1468d6e257 Change CaseInsensitiveComparator to support all operations. 2018-08-01 23:26:52 +03:00
Arik Fraimovich
a014df36d8 Merge pull request #2686 from jezdez/serverside
Implement server side pagination and sorting for queries lists
2018-08-01 16:55:40 +03:00
Arik Fraimovich
06ad89f75b Merge pull request #2710 from kocsmy/design/ant-to-redash
Update Ant variables to fit Redash's style
2018-08-01 12:23:40 +03:00
Zsolt Kocsmarszky
692e7f9547 Use more variables 2018-08-01 10:58:14 +02:00
Zsolt Kocsmarszky
03262867fe Merge branch 'master' into design/ant-to-redash 2018-08-01 10:39:39 +02:00
Zsolt Kocsmarszky
8eb9ae604e Working version of overwrite (not in component level) 2018-07-31 16:23:43 +02:00
Zsolt Kocsmarszky
9bb8ec2f66 Adjust input colors to match 2018-07-31 14:32:38 +02:00
Zsolt Kocsmarszky
340184a796 Adjust input color 2018-07-31 14:18:12 +02:00
Zsolt Kocsmarszky
f0502ba088 Refine input design 2018-07-31 14:14:29 +02:00
Arik Fraimovich
44014d7eab Merge pull request #2482 from matsumo/add_chatwork_destination
add support ChatWork Alert Destination.
2018-07-31 15:13:29 +03:00
Arik Fraimovich
6b671817a2 Merge pull request #2649 from getredash/js-style-guides
Add references to Airbnb's style guides in contribution guide.
2018-07-31 15:11:27 +03:00
Arik Fraimovich
5da481e2c3 Merge pull request #2709 from getredash/format-button
Move format button next Add New Param button.
2018-07-31 15:10:16 +03:00
Arik Fraimovich
40c8cef821 Move format button next add new param button. 2018-07-31 15:09:23 +03:00
Zsolt Kocsmarszky
13d891bac3 Move styling import to main.less and add var overwrites 2018-07-31 14:07:01 +02:00
Arik Fraimovich
73f7476434 Merge pull request #2678 from kravets-levko/feature/add-parameter-dialog
Explicit "Add Parameter" Button in Query Editor
2018-07-31 14:26:42 +03:00
Arik Fraimovich
8017893c00 Merge. 2018-07-31 14:23:58 +03:00
Levko Kravets
d1ddc4631d getredash/redash#2644 CR1 2018-07-31 14:12:02 +03:00
Arik Fraimovich
a94f2efc80 Fix keyboard shortcut and update the tooltip. 2018-07-31 14:11:10 +03:00
Arik Fraimovich
0127799ec7 Merge with master. 2018-07-31 14:10:47 +03:00
Levko Kravets
e2313e67b6 getredash/redash#2644 Explicit "Add Parameter" Button in Query Editor 2018-07-31 14:06:31 +03:00
Arik Fraimovich
50c37c0469 Use unicode for default message template. 2018-07-31 13:38:23 +03:00
Arik Fraimovich
c6f75ddbb2 Merge pull request #2513 from kyoshidajp/support_location_in_bq_dataset
Add location property to BigQuery data source settings
2018-07-31 13:03:22 +03:00
Arik Fraimovich
85230e3cc3 Merge pull request #2616 from kravets-levko/feature/pie-colors
Pie chart: sectors colors
2018-07-31 13:00:11 +03:00
Arik Fraimovich
ccaf849328 Add schedule & created_at to allowed order_by values for queries. 2018-07-31 11:39:35 +03:00
Arik Fraimovich
494f43b997 Show null duration as '-'. 2018-07-31 11:39:19 +03:00
Arik Fraimovich
f9e2895f16 Merge pull request #2664 from kravets-levko/bug/dashboard-indefinite-spinner
Dashboard shows a spinner when query failed to load
2018-07-30 22:49:36 +03:00
Arik Fraimovich
92bdac0ee2 Merge pull request #2697 from kravets-levko/feature/datetime-current-time
Date/Time parameters: dynamic default value (current date/time)
2018-07-30 14:59:48 +03:00
Levko Kravets
b19dec08d0 getredash/redash#2602 CR1 2018-07-30 11:56:02 +03:00
Levko Kravets
9926359c45 getredash/redash#2602 Dashboard shows a spinner when query failed to load 2018-07-30 11:41:47 +03:00
Levko Kravets
b0f0b49d1c getredash/redash#2642 Date/Time parameters: dynamic default value (current date/time) 2018-07-30 11:18:08 +03:00
Arik Fraimovich
016166c193 Merge pull request #2626 from kravets-levko/feature/query-page-messages
Show real status when loading cached query result
2018-07-29 15:49:38 +03:00
Arik Fraimovich
dd2f24f976 Merge pull request #2458 from kyoshidajp/get_all_tables_in_bq
Get all tables in the BigQuery
2018-07-29 15:11:46 +03:00
Arik Fraimovich
f89d64e467 Merge pull request #2663 from ariarijp/improve-spreadsheets
Set column name implicitly when column name is blank
2018-07-29 14:50:12 +03:00
Arik Fraimovich
02e6edf111 Bump version 2018-07-26 17:42:08 +03:00
Arik Fraimovich
18768885f2 Fix status page layout 2018-07-26 17:33:09 +03:00
Katsuhiko YOSHIDA
5ca59a5002 Change the way to get the default location 2018-07-26 08:09:57 +09:00
Arik Fraimovich
25ae7b4a88 Merge pull request #2698 from getredash/small-07-2018
Make sure we return distinct data source values
2018-07-25 20:26:58 +03:00
Arik Fraimovich
1f01fe2f39 Make sure we return distinct data source values 2018-07-25 19:38:15 +03:00
Arik Fraimovich
d70bcfd615 Merge pull request #2695 from kravets-levko/feature/better-datetime-inputs
Improve Date/DateTime type parameters
2018-07-25 16:27:32 +03:00
Levko Kravets
94da0d90b9 getredash/redash#2642 CR1 2018-07-25 16:15:49 +03:00
Levko Kravets
487dd6b88d getredash/redash#2642 Improve Date/DateTime type parameters 2018-07-25 15:00:09 +03:00
Arik Fraimovich
01b3d428c3 Merge pull request #2315 from yuua/fix_hive_type_match
Fix: pyHive type matches
2018-07-25 13:38:13 +03:00
Arik Fraimovich
d30dd63656 Merge pull request #2694 from getredash/small-07-2018
Block users with disposable email addresses
2018-07-25 13:28:54 +03:00
Arik Fraimovich
3c7dd064ef Block users with temporary domains 2018-07-25 13:06:26 +03:00
Arik Fraimovich
058a7ca368 Merge pull request #2693 from getredash/small-07-2018
Enable search function in Query Editor.
2018-07-25 13:00:16 +03:00
Arik Fraimovich
10ddb73385 Enable search function in Query Editor. 2018-07-25 12:59:41 +03:00
Arik Fraimovich
27dfa3d8ae Merge pull request #2692 from getredash/small-07-2018
Fix: Query.search method was missing
2018-07-25 12:57:40 +03:00
Arik Fraimovich
2390343c67 Fix: Query.search method was missing 2018-07-25 12:57:10 +03:00
Arik Fraimovich
2c3067bdfd Merge pull request #2691 from getredash/small-07-2018
Fix the recent queries API endpoint.
2018-07-25 12:55:20 +03:00
Arik Fraimovich
2e9ef66cbc Fix: Google Spreadsheets tests 2018-07-25 12:42:36 +03:00
Arik Fraimovich
a05c4b3b20 Merge pull request #2687 from denisov-vlad/safe-yaml
YAML: changed load to safe_load
2018-07-25 12:38:35 +03:00
Arik Fraimovich
895786d129 Fix the recent queries API endpoint. 2018-07-24 12:01:41 +03:00
Arik Fraimovich
011142fabb Add fsevents to optional dependencies 2018-07-24 12:01:03 +03:00
Vladislav Denisov
e4af1e6534 yandex_metrika: changed load to safe_load 2018-07-19 17:43:51 +03:00
Arik Fraimovich
25de0b9dab Merge pull request #2514 from atharvai/gsheets_parse_fix_2504
Update value parsing for google spreadsheets source
2018-07-19 12:02:36 +03:00
Jannis Leidel
b86715c7fa Implement frontend for server side pagination and sorting.
Also:

- Adds page size select tag list.
- Adds clear button to search input.
- Shows search also on “my” page.
2018-07-18 22:55:25 +02:00
Jannis Leidel
2af926703a Implement server side sorting and new search.
- Redirect the old search API handler.
- Sort by specific database columns or relationships.
- Allow showing “my” queries per tag as well.
2018-07-18 22:55:19 +02:00
Jannis Leidel
2f09497797 Let the search class methods use the main all_queries base query. 2018-07-18 21:45:43 +02:00
Jannis Leidel
16ea4be157 Add optional property to query class with the lowercase name for easier sorting. 2018-07-18 21:45:42 +02:00
Jannis Leidel
823a681131 Add outerjoins to be able to sort queries by related columns. 2018-07-18 21:45:42 +02:00
Jannis Leidel
08b59c4485 Extend live paginator to handle ordering as well. 2018-07-18 21:44:55 +02:00
Jannis Leidel
486a6068ac Update SQLAlchemy. 2018-07-18 21:44:55 +02:00
Levko Kravets
d651fdc2b7 getredash/redash#2644 CR1 2018-07-18 13:01:41 +03:00
Levko Kravets
2c0ff53894 getredash/redash#2644 Explicit "Add Parameter" Button in Query Editor 2018-07-18 12:27:51 +03:00
Levko Kravets
10ff9ec86e getredash/redash#2601 Show real status when loading cached query result 2018-07-18 12:11:13 +03:00
Arik Fraimovich
35bb558f44 Merge pull request #2573 from getredash/discovery
Tagging and favorites for Queries and Dashboards
2018-07-17 15:49:39 +03:00
Arik Fraimovich
3d39e5cb29 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-07-17 15:41:13 +03:00
Arik Fraimovich
24404b3b86 Fix queries list URLs. 2018-07-17 15:40:50 +03:00
Arik Fraimovich
a9cb08d0d6 Merge branch 'master' into discovery 2018-07-17 15:33:58 +03:00
Arik Fraimovich
12436430cc Styling update. 2018-07-17 15:32:24 +03:00
Arik Fraimovich
9ed7b3d3d4 Queries List empty state. 2018-07-17 15:29:25 +03:00
Arik Fraimovich
9f467f7a2b Support .jsx files. 2018-07-17 13:47:43 +03:00
Arik Fraimovich
052a60512b Implement dashboard list empty states. 2018-07-17 13:47:35 +03:00
Arik Fraimovich
2ff3d8985c Merge pull request #2570 from StantonVentures/2569_fix_query_pagination_alignment
fixes query pagination alignment
2018-07-16 17:59:52 +03:00
Arik Fraimovich
b1139d4891 Merge pull request #2584 from StantonVentures/alison_2581_only
keep query result pagination out of scroll
2018-07-16 17:56:12 +03:00
Arik Fraimovich
197e7d5882 Merge pull request #2640 from kravets-levko/feature/query-editor-shortcuts
Keyboard shortcut to collapse query editor/schema browser
2018-07-16 17:36:34 +03:00
Arik Fraimovich
f771b514e6 Merge pull request #2682 from getredash/now
Add Zeit's now support to have preview builds for every PR
2018-07-15 15:45:19 +03:00
Arik Fraimovich
27128d73fe Trigger new Now deploy. 2018-07-15 15:00:17 +03:00
Arik Fraimovich
fa1b71bc27 Add Zeit now support 2018-07-15 13:39:57 +03:00
Arik Fraimovich
f78ab06369 Merge pull request #2647 from ariarijp/improve-script
Improve Script Query Runner
2018-07-12 23:37:23 +03:00
Arik Fraimovich
64f6c9319d Fix: favorite/unfavorite in dashboards list wasn't working. 2018-07-12 23:34:47 +03:00
Arik Fraimovich
d76a9cd22f Fix loading of favorites in header and home. 2018-07-12 22:55:39 +03:00
Arik Fraimovich
d6f8d7af5a Eagerly load dashboard user to avoid N+1 queries. 2018-07-12 22:48:42 +03:00
Arik Fraimovich
00c413c2d8 Merge pull request #2674 from getredash/chromelogger
Add support for the Chrome Logger extension
2018-07-12 13:41:18 +03:00
Arik Fraimovich
6be54defb4 Styling improvements. 2018-07-12 13:16:42 +03:00
Arik Fraimovich
20261d0632 Add support for ChromeLogger extension 2018-07-12 11:37:35 +03:00
Arik Fraimovich
522c08a7a4 package-lock.json update 2018-07-11 18:26:01 +03:00
Arik Fraimovich
3fa2db4085 Fix linting errors 2018-07-11 18:25:43 +03:00
Arik Fraimovich
8343f2c8b2 Remove usage of underscopre. 2018-07-11 18:03:27 +03:00
Arik Fraimovich
df25bbfa90 Merge with latest master 2018-07-11 17:53:53 +03:00
Arik Fraimovich
5e35156d22 Handle duplicate favorite calls. 2018-07-11 16:35:48 +03:00
Arik Fraimovich
34c2292a98 Merge pull request #2653 from StantonVentures/alison_1411
Add redash db size to status page
2018-07-11 16:02:36 +03:00
Arik Fraimovich
2438475ba2 Merge pull request #2583 from kocsmy/design/query-header-improvements
Query header improvements on widgets
2018-07-11 16:01:28 +03:00
Arik Fraimovich
b91a2d14fd Merge pull request #2668 from ariarijp/upgrade-bootstrap-script
Upgrade bootstrap script to Redash 4.0.1
2018-07-11 15:52:25 +03:00
Arik Fraimovich
d7310f5be9 Merge pull request #2671 from kocsmy/design/save-some-space
Save some space
2018-07-11 15:52:07 +03:00
Zsolt Kocsmarszky
873f51c5f6 Save some space (10px) when we have parameters section present on the query results 2018-07-09 16:10:24 +02:00
Arik Fraimovich
ac1fc6bdd8 Merge pull request #2669 from tdawber/feature/athena_query_id
Store Athena query id with result metadata
2018-07-09 15:40:28 +03:00
tdawber
28f7c048bb Store Athena query id with result metadata 2018-07-09 16:40:49 +10:00
tdawber
8d80077aa8 Store Athena query id with result metadata 2018-07-09 16:39:22 +10:00
tdawber
101c09fcae Store Athena query id with result metadata 2018-07-09 16:37:05 +10:00
tdawber
9141850304 Store Athena query id with result metadata 2018-07-09 16:18:33 +10:00
Alison
e7d8491f0b update to .execute() from .query() 2018-07-08 09:53:12 -05:00
ariarijp
0568d40b27 Upgrade to Redash 4.0.1 2018-07-08 17:22:29 +09:00
Zsolt Kocsmarszky
77831d1c91 Adjust query header colors 2018-07-06 14:37:40 +02:00
Levko Kravets
3772612a97 Pie chart: sectors colors 2018-07-06 14:53:57 +03:00
Zsolt Kocsmarszky
58e21c9807 Merge https://github.com/getredash/redash into design/query-header-improvements 2018-07-06 13:48:27 +02:00
Alison
abcf5b729a pep8 fixes 2018-07-04 17:00:17 -05:00
Alison
7b40d01f51 refactor based on codeclimate review of PR 2018-07-04 16:57:10 -05:00
Alison
f597c04214 change where prettySize happens 2018-07-04 02:04:55 -05:00
ariarijp
53c20e2250 Set column name implicitly when column name is blank 2018-07-03 16:02:41 +09:00
ariarijp
c5f27253b0 Change message for empty output 2018-07-02 21:36:15 +09:00
Arik Fraimovich
140d0ae14f Merge pull request #2638 from kravets-levko/bug/dashboard-not-rendering-empty-query
Dashboard stops rendering when adding widget with empty query
2018-07-02 12:07:42 +03:00
Arik Fraimovich
383d5d3725 Merge pull request #2658 from StantonVentures/alison_2657
delaying schema filtering to improve responsiveness
2018-07-02 12:04:21 +03:00
Arik Fraimovich
e0ce7f8d7d Merge pull request #2648 from Pablohn26/master
Update datasource documentation links
2018-07-01 23:51:00 +03:00
Arik Fraimovich
4b0a2c04df Merge pull request #2639 from ariarijp/add-tests-for-spreadsheets
Add tests for SpreadSheets
2018-07-01 12:35:57 +03:00
Arik Fraimovich
6ce522a863 Update CONTRIBUTING.md 2018-07-01 12:32:46 +03:00
Alison
84302e3d86 delaying schema filtering to improve responsiveness
fixes #2657
2018-06-30 18:57:47 -05:00
Alison
cf29fa09f3 add the size of Redash DB to the status page
fixes #1411
2018-06-30 14:18:02 -05:00
Arik Fraimovich
50b9e99f90 Add references to Airbnb's styleguides in contribution guide. 2018-06-29 21:39:58 +03:00
Pablo Hinojosa
01678beebf Fix URL 2018-06-29 17:53:47 +02:00
Pablo Hinojosa
0a6a807964 Fix URL 2018-06-29 17:52:55 +02:00
Pablo Hinojosa
964eff017c Fix URL 2018-06-29 17:51:37 +02:00
Pablo Hinojosa
7f4e7a947e Update dashboard-list.html 2018-06-29 17:50:32 +02:00
Pablo Hinojosa
ca04732d3f Update datasource documentation links 2018-06-29 17:45:38 +02:00
ariarijp
389c6cb3c5 Improve Script Query Runner 2018-06-29 00:03:17 +09:00
Arik Fraimovich
75df88a8ff Merge pull request #2632 from mozilla/react-eslint
react rules for eslint
2018-06-28 16:32:57 +03:00
Levko Kravets
0c95b47de4 getredash/redash#2402 Keyboard shortcut to collapse query editor/schema browser 2018-06-28 15:10:53 +03:00
ariarijp
bad7e92cce Add tests for SpreadSheets 2018-06-28 18:57:41 +09:00
Levko Kravets
ead1e07e99 getredash/redash#2534 Dashboard stops rendering when adding widget with empty query 2018-06-28 11:50:35 +03:00
Allen Short
b712253276 react rules for eslint 2018-06-28 01:56:57 -05:00
Arik Fraimovich
71531c9910 Merge pull request #2635 from ariarijp/add-tests-for-query-results
Add tests for Query Results
2018-06-28 09:55:25 +03:00
ariarijp
8a4eab1c93 Add tests for Query Results 2018-06-28 15:37:11 +09:00
Alison
5846a5733c Merge pull request #2 from getredash/master
pulling from upstream to SV fork
2018-06-27 10:28:02 -05:00
Zsolt Kocsmarszky
d1d72b30c6 Make visualization name as dark as query name 2018-06-27 16:37:50 +02:00
Zsolt Kocsmarszky
ba980d6b87 Merge branch 'master' into design/query-header-improvements 2018-06-27 16:29:12 +02:00
Arik Fraimovich
258d506215 Add missing comma 2018-06-27 16:04:33 +03:00
Arik Fraimovich
b759536146 Add events to favorites 2018-06-27 15:58:13 +03:00
Arik Fraimovich
91ff4aee63 Move imports to correct location. 2018-06-27 15:52:11 +03:00
Arik Fraimovich
fa6e2cc264 Merge pull request #2546 from washort/upstream-react
Configuration for incorporating React components
2018-06-27 15:20:00 +03:00
Arik Fraimovich
c719d336a9 Reset search term when it's empty. 2018-06-27 11:54:34 +03:00
Arik Fraimovich
720da3310f Merge pull request #2610 from gabrieldutra/master
Fix export query results output file name
2018-06-26 21:53:27 +03:00
Arik Fraimovich
ed8b022e78 Merge pull request #2613 from ariarijp/improve-script
Improve Script Query Runner
2018-06-26 21:52:33 +03:00
Arik Fraimovich
2eefdc1da3 Updated queries screen (& unified API). 2018-06-26 21:50:16 +03:00
Arik Fraimovich
5e4cf5ba30 Add filtering by tags/search to favorites. 2018-06-26 21:48:50 +03:00
Arik Fraimovich
18f51890d2 Only show tags/search on all queries list. 2018-06-25 23:25:10 +03:00
Arik Fraimovich
b0de1be815 Better dashboards GET api (pagination, filter by tags, search by name) 2018-06-25 23:22:28 +03:00
Arik Fraimovich
f39b6b7073 Tags service. 2018-06-25 23:20:30 +03:00
Allen Short
e2a5bb0a06 eslint fix 2018-06-25 12:14:30 -05:00
Arik Fraimovich
bfeeb23443 Update package-lock.json file 2018-06-25 12:13:26 -05:00
Arik Fraimovich
9eb51da7ce Remove underscore usage from new files 2018-06-25 12:13:25 -05:00
Allen Short
d6011ede0c switch underscore usages to lodash
There's still one usage of `numberFormat` from `underscore.string`.
2018-06-25 12:13:25 -05:00
Allen Short
c47ad93eb2 humble beginnings with React components 2018-06-25 12:13:25 -05:00
Arik Fraimovich
4384959760 Merge pull request #2619 from StantonVentures/2567_order_datasources_alpha
data source sort case insensitive
2018-06-22 19:49:09 +03:00
Alison
fccba45e36 data source sort case insensitive
#2567
2018-06-22 07:03:51 -05:00
ariarijp
9d2a3133f0 Improve Script Query Runner 2018-06-21 14:45:12 +09:00
Gabriel Dutra
744ccd163a Fix export query results output file name
- regexp `/ /g` will seek for all space ocurrences, not only the first
2018-06-20 20:23:49 -03:00
Arik Fraimovich
4a833a7401 use tags-list component for mobile view as well 2018-06-20 18:52:56 +03:00
Arik Fraimovich
ece80eb1f7 Refactor: create tags list component to be shared between dashboard and queries list page. 2018-06-20 18:45:44 +03:00
Arik Fraimovich
695c342a69 Filter queries by tags. 2018-06-20 18:17:56 +03:00
Arik Fraimovich
97d4df2532 Merge pull request #2606 from denisov-vlad/pyyaml
requirements: added pyyaml
2018-06-20 14:55:18 +03:00
Vladislav Denisov
8cd8650119 requirements: added pyyaml 2018-06-20 12:03:46 +03:00
Arik Fraimovich
6fb7c310be Merge pull request #2574 from mtrbean/patch-1
commit query result to db before evaluating alerts
2018-06-20 10:52:44 +03:00
Arik Fraimovich
d533a05d54 Merge pull request #2604 from ariarijp/improve-spreadsheets
Improve Google Spreadsheets Query Runner
2018-06-20 10:38:33 +03:00
Arik Fraimovich
783ccfd4c0 Merge pull request #2533 from denisov-vlad/metrika
New datasource: Yandex Metrika&AppMetrika
2018-06-20 10:28:11 +03:00
ariarijp
5757b24ea3 Improve Google Spreadsheets Query Runner 2018-06-19 22:29:46 +09:00
Arik Fraimovich
5c1d2c8877 Merge pull request #2542 from emtwo/emtwo/xaxis
Closes #2541: x-axis improvements.
2018-06-19 12:44:56 +03:00
Arik Fraimovich
ff750b0db1 Merge pull request #2590 from ariarijp/remove-redundant-vars
Remove redundant variables
2018-06-18 15:02:45 +03:00
Alison
f4b32249e9 Merge pull request #1 from getredash/master
pull upstream to my fork
2018-06-17 16:26:19 -05:00
ariarijp
f8245f6e3f Remove redundant variables 2018-06-17 23:41:33 +09:00
Arik Fraimovich
c28702a5be Merge pull request #2580 from StantonVentures/master
add break-word wrap to add/edit text box on dashboard
2018-06-17 11:51:38 +03:00
Arik Fraimovich
d101866c91 Merge pull request #2585 from kravets-levko/fix/query-page-tabs
Show data only mode: allow to add and delete visualizations
2018-06-17 11:43:34 +03:00
Arik Fraimovich
6c11326a5d Merge pull request #2578 from ariarijp/fix-create-tables
Fix connection error when you run "create_tables"
2018-06-17 11:38:35 +03:00
Levko Kravets
17a677b6d0 Dashboard: make etire widget header clickable 2018-06-13 21:23:09 +03:00
Zsolt Kocsmarszky
1678155490 Make + New Visualization a button and add nicer icons 2018-06-13 16:57:20 +02:00
Zsolt Kocsmarszky
7be6164684 Hide - if no visualization name 2018-06-13 15:17:36 +02:00
Levko Kravets
418ac1bb68 Show data only mode: allow to add and delete visualizations 2018-06-12 20:03:21 +03:00
Alison
78421f590b keep query result pagination out of scroll 2018-06-11 23:55:24 -05:00
Zsolt Kocsmarszky
bdbeebdf86 Improve the header of the query by moving the visualization name to the first place 2018-06-11 17:19:45 +02:00
Levko Kravets
b521e65800 Discovery: show tags for both published and draft queries 2018-06-11 12:51:21 +03:00
Levko Kravets
a8a0312b72 Discovery: query & dashboard list: fix default browser behavior on click with modifier keys 2018-06-11 12:44:26 +03:00
Levko Kravets
840a7482c8 Discovery: filter queries by tags 2018-06-11 12:16:47 +03:00
Alison
d11638164e add break-word wrap to add/edit text box on dashboard 2018-06-10 09:33:19 -05:00
ariarijp
1efdb6034f Fix connection error when you run "create_tables" 2018-06-10 20:17:53 +09:00
Eric Wong
d0c6e41c9c commit query result to db before evaluating alerts
`check_alerts_for_query` runs on a separate celery queue and needs to see the latest result
2018-06-06 11:22:34 -07:00
Arik Fraimovich
e79dbe8b95 Merge branch 'master' into discovery 2018-06-06 15:35:45 +03:00
Arik Fraimovich
93dffa0c8a Merge with upstream 2018-06-06 15:28:15 +03:00
Arik Fraimovich
deceaa8888 Fix migrations order 2018-06-06 14:59:04 +03:00
Levko Kravets
11f25d8ba4 Tags: edit (query and dashboard page); show tags in a sidebar (dashboard list page) 2018-06-06 14:45:53 +03:00
Arik Fraimovich
69d5eb9020 tag listing APIs implemented 2018-06-06 14:45:05 +03:00
Zsolt Kocsmarszky
7ac90fe81e Fix tag layouts on headers 2018-06-06 14:45:05 +03:00
Levko Kravets
23deab7b7c Tags: display on all pages 2018-06-06 14:45:05 +03:00
Zsolt Kocsmarszky
f0342c3c45 tags for queries and dashboards 2018-06-06 14:44:32 +03:00
Arik Fraimovich
3835a8286c Simpler data model for tags. 2018-06-06 14:43:23 +03:00
Arik Fraimovich
a4f61df3fb Fixed add dashboard tags migration 2018-06-06 14:43:23 +03:00
Arik Fraimovich
0d764caafe Proper tags models 2018-06-06 14:43:23 +03:00
Levko Kravets
5081e9d245 Show spinner when loading dashboards and queries on list pages 2018-06-06 14:43:23 +03:00
Zsolt Kocsmarszky
312a73dd8d Style tags for queries and dashboards 2018-06-06 14:43:23 +03:00
Arik Fraimovich
d3240cd71b Fix queries search API 2018-06-06 14:43:23 +03:00
Zsolt Kocsmarszky
2b9dd6b5c0 Adding tags markup for query and dashboard 2018-06-06 14:43:23 +03:00
Levko Kravets
3ac52a2af5 Favorites: restore queries search 2018-06-06 14:43:23 +03:00
Levko Kravets
15baef531c Favorites: restore queries search 2018-06-06 14:43:23 +03:00
Zsolt Kocsmarszky
135cb53909 make entire dashboard and query list row clickable 2018-06-06 14:43:06 +03:00
Arik Fraimovich
f29afe9306 Hide my dashboards/queries when you don't have permission to create them 2018-06-06 14:43:06 +03:00
Arik Fraimovich
9feb7773ce add org_id to favorites 2018-06-06 14:43:06 +03:00
Arik Fraimovich
bcf49a700b Make sure user has access to favorite objects. 2018-06-06 14:43:06 +03:00
Zsolt Kocsmarszky
a782d67a8e add empty states for my queries/dashboard and fav queries/dashboards 2018-06-06 14:43:06 +03:00
Zsolt Kocsmarszky
3fbf518061 add empty condition for dashboard and query dropdown 2018-06-06 14:43:06 +03:00
Levko Kravets
0479aa40b3 Favorites: empty states on dashboards and queries list pages 2018-06-06 14:43:06 +03:00
Zsolt Kocsmarszky
b9db9f0b20 Right aligned control area 2018-06-06 14:41:13 +03:00
Arik Fraimovich
aa756b2be6 Almost complete implementation of favorties backend 2018-06-06 14:41:13 +03:00
Zsolt Kocsmarszky
af40375a78 Nicer styling for lists 2018-06-06 14:40:42 +03:00
Levko Kravets
d385b43915 Favorites: remove unnecessary code 2018-06-06 14:40:42 +03:00
Levko Kravets
54d667e59e Favorites: page for favorite dashboards and queries 2018-06-06 14:40:42 +03:00
Zsolt Kocsmarszky
983e3ba350 Further refine styling for tags 2018-06-06 14:40:42 +03:00
Zsolt Kocsmarszky
875e756236 Massive styling improvements for dashboards, queries and alerts lists 2018-06-06 14:40:42 +03:00
Levko Kravets
56b1e3c7aa Favorites: show favorite dashboards and queries in app header 2018-06-06 14:40:42 +03:00
Zsolt Kocsmarszky
7785538d59 add and fix classes 2018-06-06 14:39:52 +03:00
Zsolt Kocsmarszky
82829d5687 Better queries page... 2018-06-06 14:39:52 +03:00
Levko Kravets
34aaf55463 Favorites: show favorites on homepage instead of recent items 2018-06-06 14:39:52 +03:00
Zsolt Kocsmarszky
e6745683fe Add more details for favourites 2018-06-06 14:39:14 +03:00
Levko Kravets
8c7e62f7ff Favorites: models, control on query list, query page, dashboard list, dashboard pages. 2018-06-06 14:37:52 +03:00
Arik Fraimovich
02628d76f1 API stub for query object. 2018-06-06 14:37:52 +03:00
Arik Fraimovich
64f70cfbe8 Query favorites: API stub. 2018-06-06 14:37:52 +03:00
Zsolt Kocsmarszky
5f1c4e9dce Add base stuff for favourites 2018-06-06 14:37:52 +03:00
Arik Fraimovich
672c86efaa Merge pull request #2549 from coreyhuinker/patch-1
Allow get_tables to see views and v10-style partitioned tables
2018-06-06 11:40:01 +03:00
Arik Fraimovich
8bffc6f45d Merge pull request #2568 from StantonVentures/2567_order_datasources_alpha
sort datasources alphabetically
2018-06-06 11:02:25 +03:00
Arik Fraimovich
52b9333b8d Merge pull request #2572 from StantonVentures/2571_archived_query_menu_line
remove extra menu line if query is archived
2018-06-06 10:59:09 +03:00
Alison
2982d77ff2 remove extra menu line if query is archived
fixes #2571

Sames as https://github.com/mozilla/redash/issues/319 fixed in https://github.com/mozilla/redash/pull/414/
2018-06-05 23:11:19 -05:00
Alison
dda024a8d2 fixes query pagination alignment
fixes #2569

Same as https://github.com/mozilla/redash/pull/413/ which fixes https://github.com/mozilla/redash/issues/320
2018-06-05 22:56:15 -05:00
Alison
ea8951711f sort datasources alphabetically
fixes https://github.com/getredash/redash/issues/2567

Same as https://github.com/mozilla/redash/issues/367
2018-06-05 22:50:35 -05:00
Levko Kravets
204e36730e After saving tags in a dashboard, widgets go into refresh mode 2018-06-05 17:11:52 +03:00
Arik Fraimovich
c86423aea9 Merge pull request #2444 from sjakthol/saml-handle-parse-errors
feat: show error if saml response cannot be parsed
2018-06-03 11:41:50 +03:00
Sami Jaktholm
c7cf3653b8 feat: show error if saml response cannot be parsed
Previously, exceptions from pysaml2 would've caused
a 500 Internal Server Error response to be sent back
to the user. Now, the user is redirected back to login
page which includes an user friendly error message.
2018-06-03 09:42:53 +03:00
Marina Samuel
804603014d Closes #2541: x-axis improvements. 2018-05-31 16:29:39 -04:00
Arik Fraimovich
90d642fbe2 Update the tab name. 2018-05-31 21:25:51 +03:00
Arik Fraimovich
ca1b8f2047 Update chart editor labels 2018-05-31 21:07:12 +03:00
Arik Fraimovich
0a0b53b7e9 Merge pull request #2536 from kravets-levko/feature/chart-formats-and-tooltips-2
Chart: formats for values, labels and tooltips
2018-05-31 19:05:51 +03:00
Arik Fraimovich
131811179b Merge pull request #2564 from getredash/policy
Fix: typo fixes in Policy related code.
2018-05-31 18:42:22 +03:00
Levko Kravets
80295ca1e7 Chart tooltips: use date/time format from config 2018-05-31 18:40:18 +03:00
Arik Fraimovich
d71cdf5dbc Fix: typo fixes in Policy related code. 2018-05-31 18:39:20 +03:00
Arik Fraimovich
65881a0f79 Merge pull request #2562 from getredash/policy
Set currentUser value in users list page & use ng-src when needed
2018-05-31 17:27:29 +03:00
Arik Fraimovich
cc3145f895 Fix: set currentUser value in users list page. 2018-05-31 17:26:03 +03:00
Arik Fraimovich
c6b16b62ab Fix: use ng-src in empty-state. 2018-05-31 17:25:52 +03:00
Arik Fraimovich
f2b49ae7ff Merge pull request #2561 from getredash/policy
Add OrganizationStatus service (and some more)
2018-05-31 15:31:57 +03:00
Arik Fraimovich
3113c9b79e Don't count disabled users in users count 2018-05-31 15:30:41 +03:00
Arik Fraimovich
6a89d5ea1c Add extension point to home page 2018-05-31 15:30:27 +03:00
Arik Fraimovich
b7f221542b Load OrganizationStatus on page load 2018-05-31 15:30:09 +03:00
Arik Fraimovich
cfc3912723 Add OrganizationStatus service and use it in empty state. 2018-05-31 15:28:47 +03:00
Arik Fraimovich
c7614997d9 Merge pull request #2560 from getredash/policy
Introduce Policy object
2018-05-31 11:05:51 +03:00
Arik Fraimovich
b323747aaf Remove unused code. 2018-05-31 10:58:04 +03:00
Arik Fraimovich
64c9e5c963 Add Policy object. 2018-05-31 10:54:40 +03:00
Arik Fraimovich
68e5aec861 Save new dashboard on enter key press. 2018-05-31 10:49:02 +03:00
Arik Fraimovich
617df8e4f6 Merge pull request #2380 from kravets-levko/feature/disable-users
Admin should be able to disable a user
2018-05-31 10:24:12 +03:00
Levko Kravets
75f8b8ae7b getredash/redash#728 Use date/time and number formats only for tooltips 2018-05-30 17:25:30 +03:00
Levko Kravets
3fe8272ce4 getredash/redash#2375 Better error message when trying to disable self user; set disabled user avattar URL on backend and remove profileImage filter 2018-05-28 17:05:39 +03:00
Levko Kravets
ac6d6fc68a getredash/redash#2375 More tests + fix bug 2018-05-28 14:04:08 +03:00
Levko Kravets
2c84a383f3 getredash/redash#2375 Tests 2018-05-28 14:04:08 +03:00
Levko Kravets
6fb5548106 getredash/redash#2375 CR1
- only admin should see disabled users;
- add Disable button to user page;
- escape user name in toastr notifications;
- code cleanup.
2018-05-28 14:04:08 +03:00
Levko Kravets
84fb683bf3 getredash/redash#2375 Disabled users should not be able to login 2018-05-28 14:04:08 +03:00
Levko Kravets
40aee8465b getredash/redash#2375 Show gray icon for disabled users 2018-05-28 14:04:08 +03:00
Levko Kravets
d40aa09bcf getredash/redash#2375 Admin should be able to disable a user 2018-05-28 14:04:08 +03:00
Arik Fraimovich
6d1a67fee3 Merge pull request #2554 from kyoshidajp/show_deleting_target_item_name
Display name to be delete
2018-05-28 07:15:17 +03:00
Katsuhiko YOSHIDA
621718c3a0 Change the deleting message format 2018-05-28 06:35:32 +09:00
Katsuhiko YOSHIDA
a7e1b2bf68 Display name to be delete 2018-05-28 05:49:39 +09:00
Arik Fraimovich
7f3db4d7b6 Merge pull request #2510 from kyoshidajp/confirm_delete
Display confirmation dialog when deleting a item
2018-05-27 08:41:40 +03:00
Vladislav Denisov
8101077371 yandex_metrika: new appmetrika logo 2018-05-25 17:29:53 +03:00
Vladislav Denisov
8422a3657a metrika: added yaml support 2018-05-25 16:56:27 +03:00
Corey Huinker
76e86817c8 remove blank line 2018-05-21 15:37:00 -04:00
Corey Huinker
95593481a5 Update pg.py 2018-05-21 15:26:46 -04:00
Corey Huinker
fcd984aca6 Allow get_tables to see views and v10-style partitioned tables
And it does so with just one query.
2018-05-21 15:18:59 -04:00
Zsolt Kocsmarszky
07519596b8 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-21 17:53:16 +02:00
Zsolt Kocsmarszky
3b2bfb9177 fix queries and dashboard list for smaller screens 2018-05-21 17:53:00 +02:00
Arik Fraimovich
a6bc7c02bf Merge pull request #2509 from kyoshidajp/show_custom_date_format
Show custom date format on settings page
2018-05-19 17:49:05 +03:00
Arik Fraimovich
387ca14973 Merge pull request #2526 from deecay/fix-pivot
Fix pivot hide control in dashboards
2018-05-18 18:43:38 +03:00
Arik Fraimovich
ead7635a3d Merge pull request #2511 from kocsmy/fixes/styling-adjustments
Fixing signed_out.html template
2018-05-18 18:40:10 +03:00
Arik Fraimovich
7ebcce5370 Merge pull request #2518 from kocsmy/design/styling-improvements
Design improvements
2018-05-17 19:08:09 +03:00
Zsolt Kocsmarszky
00a2dfd728 Add readme about illustration license 2018-05-17 14:32:16 +02:00
Zsolt Kocsmarszky
6ed03247ca Merge https://github.com/getredash/redash into design/styling-improvements 2018-05-17 14:25:43 +02:00
Vladislav Denisov
fcafc40be3 yandex_metrika: codeclimate fixes #2 2018-05-17 10:58:32 +03:00
Arik Fraimovich
23df796740 Merge pull request #2537 from sieben/remove_trailing_semicolon
Remove trailing semicolon
2018-05-15 15:55:01 +03:00
Rémy Léone
309a8bd958 Remove trailing semicolon 2018-05-15 14:21:14 +02:00
Levko Kravets
2ed67005b9 Remove unused option 2018-05-15 12:47:13 +03:00
Arik Fraimovich
deb523ebd5 Merge pull request #2523 from innovia/hotfix/boolean-nullable-formator
Frontend: fix boolean field with null value display as null.
2018-05-15 11:32:18 +03:00
Arik Fraimovich
acc27f0579 Change migration to be safe to run along with other migrations 2018-05-14 22:02:10 +03:00
Vladislav Denisov
ef3c837a97 metrika: codeclimate fixes 2018-05-14 17:43:53 +03:00
Vladislav Denisov
4a62ab7ce4 Yandex Metrika query runner added 2018-05-14 17:21:58 +03:00
Arik Fraimovich
7553eef024 Remove dashboards recents tests 2018-05-14 11:02:25 +03:00
Arik Fraimovich
2279d32b3b Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-10 22:10:46 +03:00
Levko Kravets
d3e7393bad Tags: edit (query and dashboard page); show tags in a sidebar (dashboard list page) 2018-05-10 21:51:39 +03:00
Arik Fraimovich
6cd9fe0b52 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-10 21:34:37 +03:00
Arik Fraimovich
42657ed95f tag listing APIs implemented 2018-05-10 20:59:19 +03:00
Zsolt Kocsmarszky
bd6fac074c Fix tag layouts on headers 2018-05-10 19:34:25 +03:00
Levko Kravets
c0294cdd0a Tags: display on all pages 2018-05-10 19:25:37 +03:00
Zsolt Kocsmarszky
b0f6a78ebb Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-10 19:04:16 +03:00
Zsolt Kocsmarszky
3b4bd648fe tags for queries and dashboards 2018-05-10 19:04:10 +03:00
Arik Fraimovich
0060c8a54f Simpler data model for tags. 2018-05-10 18:58:58 +03:00
Arik Fraimovich
b1ffcbad79 Fixed add dashboard tags migration 2018-05-10 18:07:40 +03:00
Arik Fraimovich
52bda8d117 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-10 18:00:59 +03:00
Arik Fraimovich
08611c009c Proper tags models 2018-05-10 18:00:54 +03:00
Zsolt Kocsmarszky
8081ea83bc Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-10 17:50:51 +03:00
Levko Kravets
6c0afc9c6f Show spinner when loading dashboards and queries on list pages 2018-05-10 17:25:59 +03:00
Zsolt Kocsmarszky
3e16df9092 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-10 16:54:25 +03:00
Zsolt Kocsmarszky
8c4381a44d Style tags for queries and dashboards 2018-05-10 16:54:15 +03:00
Arik Fraimovich
59f2cb94ab Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-10 14:15:19 +03:00
Arik Fraimovich
5b0a192784 Fix queries search API 2018-05-10 14:15:06 +03:00
Zsolt Kocsmarszky
1aa3dd15b3 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-10 14:05:55 +03:00
Zsolt Kocsmarszky
629117d2f0 Adding tags markup for query and dashboard 2018-05-10 14:05:46 +03:00
Levko Kravets
078f24ad6b Favorites: restore queries search 2018-05-10 14:05:18 +03:00
Levko Kravets
f4a36410c0 Favorites: restore queries search 2018-05-10 14:01:42 +03:00
Zsolt Kocsmarszky
4dc2c44c01 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-10 13:17:30 +03:00
Zsolt Kocsmarszky
1186f31337 make entire dashboard and query list row clickable 2018-05-10 13:17:15 +03:00
Arik Fraimovich
5cc7b88235 Hide my dashboards/queries when you don't have permission to create them 2018-05-10 13:11:59 +03:00
Arik Fraimovich
6bbf6809cf Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-10 12:51:54 +03:00
Arik Fraimovich
28a08526e3 add org_id to favorites 2018-05-10 12:51:11 +03:00
Arik Fraimovich
7fe90675bd Make sure user has access to favorite objects. 2018-05-10 12:41:58 +03:00
Zsolt Kocsmarszky
0958f591d1 add empty states for my queries/dashboard and fav queries/dashboards 2018-05-10 12:32:36 +03:00
Zsolt Kocsmarszky
33314abde7 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-10 12:00:56 +03:00
Zsolt Kocsmarszky
3a59f6cd0f add empty condition for dashboard and query dropdown 2018-05-10 12:00:45 +03:00
Levko Kravets
eb71a655e8 Favorites: empty states on dashboards and queries list pages 2018-05-10 11:58:26 +03:00
Zsolt Kocsmarszky
4bb785eab4 Right aligned control area 2018-05-10 11:30:22 +03:00
deecay
19bfae3741 Fix pivot hide control in dashboards 2018-05-10 03:26:36 -04:00
Arik Fraimovich
afd3dd9860 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-09 21:43:00 +03:00
Arik Fraimovich
66737f0dc0 Almost complete implementation of favorties backend 2018-05-09 21:42:50 +03:00
Zsolt Kocsmarszky
f374661ad9 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-09 20:19:28 +03:00
Zsolt Kocsmarszky
ea6dbf643a Nicer styling for lists 2018-05-09 20:19:15 +03:00
Levko Kravets
24fe52753e Favorites: remove unnecessary code 2018-05-09 20:15:34 +03:00
Arik Fraimovich
8665747111 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-09 20:10:30 +03:00
Levko Kravets
fcc75cbd16 Favorites: page for favorite dashboards and queries 2018-05-09 20:07:58 +03:00
Zsolt Kocsmarszky
3974adeacd Further refine styling for tags 2018-05-09 18:43:26 +03:00
Zsolt Kocsmarszky
7dc5d53934 Massive styling improvements for dashboards, queries and alerts lists 2018-05-09 18:27:40 +03:00
Arik Fraimovich
96a90722f1 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-09 16:55:47 +03:00
Levko Kravets
a4e52bcc96 Favorites: show favorite dashboards and queries in app header 2018-05-09 16:53:12 +03:00
Zsolt Kocsmarszky
3abeb6cf96 add and fix classes 2018-05-09 14:35:08 +03:00
Zsolt Kocsmarszky
057894aaf4 Merge branch 'discovery' of https://github.com/getredash/redash into discovery 2018-05-09 14:20:48 +03:00
Zsolt Kocsmarszky
c9ae48f466 Better queries page... 2018-05-09 14:20:12 +03:00
Levko Kravets
78092e525f Favorites: show favorites on homepage instead of recent items 2018-05-09 14:19:28 +03:00
Arik Fraimovich
189b7889a3 Merge branch 'discovery' of github.com:getredash/redash into discovery 2018-05-09 14:08:18 +03:00
Zsolt Kocsmarszky
32e9b4c71c Merge branch 'discovery' of https://github.com/getredash/redash into discovery
# Conflicts:
#	client/app/pages/queries/query.html
2018-05-09 13:42:18 +03:00
Zsolt Kocsmarszky
6c30f821f7 Add more details for favourites 2018-05-09 13:40:09 +03:00
Levko Kravets
8d99b7380c Favorites: models, control on query list, query page, dashboard list, dashboard pages. 2018-05-09 13:39:47 +03:00
Arik Fraimovich
20f7405f0e API stub for query object. 2018-05-09 12:58:53 +03:00
Arik Fraimovich
e32da8dbe3 Query favorites: API stub. 2018-05-09 12:57:30 +03:00
Zsolt Kocsmarszky
dbc2d984b3 Add base stuff for favourites 2018-05-09 12:56:00 +03:00
Ami Mahloof
ad0a9813e4 Frontend: fix boolean field with null value display as null. 2018-05-09 11:22:16 +03:00
Levko Kravets
e12d539234 getredash/redash#728 Chart: formats for values, labels and tooltips 2018-05-07 22:18:26 +03:00
Zsolt Kocsmarszky
87000ee4d6 Refine spacing and image size 2018-05-07 14:29:55 +03:00
Arik Fraimovich
414fabadf6 Merge pull request #2520 from kyoshidajp/filter_datasources
Filter data sources in a data source input area
2018-05-05 22:00:26 +03:00
Katsuhiko YOSHIDA
d6bebe1dcf Filter data sources 2018-05-05 21:18:51 +09:00
Zsolt Kocsmarszky
66fd9531cc Remove fullstop 2018-05-05 00:26:54 +02:00
Zsolt Kocsmarszky
045230d189 Add Illustration to empty states 2018-05-05 00:25:07 +02:00
Zsolt Kocsmarszky
7bd79124b7 Adjust spacing around Group header 2018-05-04 22:50:51 +02:00
Zsolt Kocsmarszky
11d52949a7 Overwrite toast notification colors to better match our color scheme 2018-05-04 22:48:28 +02:00
Zsolt Kocsmarszky
10fc89fc39 Increase query editor height 2018-05-04 22:26:51 +02:00
Zsolt Kocsmarszky
2e414db0b1 Fix query header on smaller screens 2018-05-04 22:16:23 +02:00
atharva.inamdar
48acc4c7a7 fix code climate lint issue with whitespace 2018-05-04 11:47:36 +01:00
atharva.inamdar
a0d039066d fix tests for google spreadsheets 2018-05-04 11:21:55 +01:00
Katsuhiko YOSHIDA
bd1c5fa9e1 Add location property to BigQuery data source settings 2018-05-04 16:05:54 +09:00
atharva.inamdar
61106dec14 getredash/redash#2504 Update value parsing for google spreadsheets source 2018-05-03 16:35:24 +01:00
Katsuhiko YOSHIDA
26238ccfc1 Confirm delete a data source 2018-05-03 21:23:01 +09:00
Katsuhiko YOSHIDA
3e371d3ffd Confirm delete a destination 2018-05-03 20:48:53 +09:00
Zsolt Kocsmarszky
038933f1f1 signed_out template fixes 2018-05-03 13:15:13 +02:00
Katsuhiko YOSHIDA
8243b6caed Confirm delete a query snippet 2018-05-03 19:11:00 +09:00
Katsuhiko YOSHIDA
813a5db958 Refactoring: extract method about date format config 2018-05-03 18:17:02 +09:00
Katsuhiko YOSHIDA
971e501561 Show custom date format on settings page 2018-05-03 18:03:05 +09:00
Arik Fraimovich
a287fbf128 Remove old style files 2018-05-03 09:38:13 +03:00
Arik Fraimovich
d43bfa9d10 Version bump to 4.0.1 2018-05-02 17:18:00 +03:00
Arik Fraimovich
b4d7a25c74 Update CHANGELOG.md 2018-05-02 17:13:46 +03:00
Katsuhiko YOSHIDA
3021c7c0a9 Refactor to fix Code Climate error 2018-05-02 22:50:24 +09:00
Katsuhiko YOSHIDA
4ffcd6390b Fix pep8 error 2018-05-02 22:02:04 +09:00
Arik Fraimovich
c8a3985f16 Merge pull request #2506 from kocsmy/fixes/overflowing-data-source-box
A nicer way of hiding overflowing text
2018-05-02 14:27:59 +03:00
Zsolt Kocsmarszky
3274a5d670 Add data source name to box title 2018-05-02 13:27:26 +02:00
Arik Fraimovich
8037c21a61 Merge pull request #2496 from akiray03/sorted-redshift-schema-info
Fixes the order of columns in the schema browser when Redshift is used as a DataSource.
2018-05-02 14:14:38 +03:00
Arik Fraimovich
ee8f6c1c71 Merge pull request #2472 from tonyjiangh/fix/disable_view_only_fork
Disable fork button for view_only user
2018-05-02 14:11:55 +03:00
Arik Fraimovich
bce0e8e547 Merge pull request #2507 from getredash/resolution
Log user's screen resolution
2018-05-02 14:09:52 +03:00
Arik Fraimovich
cddf398df4 Log user's screen resolution 2018-05-02 14:05:57 +03:00
Arik Fraimovich
bdb8682646 Merge pull request #2501 from getredash/fix-dashboard-filters
Improve dashboard refresh UX: show previous data while refreshing.
2018-05-02 14:02:59 +03:00
Arik Fraimovich
54bef2c05f Remove console.log call 2018-05-02 14:02:43 +03:00
Zsolt Kocsmarszky
d326f2b46c A nicer way of hiding overflowing text 2018-05-02 12:33:21 +02:00
Arik Fraimovich
06a7a7e65b Merge pull request #2505 from kocsmy/fixes/overflowing-data-source-box
Hide overflowing content
2018-05-02 13:26:31 +03:00
Zsolt Kocsmarszky
fc0a074a07 Hide overflowing content 2018-05-02 12:18:36 +02:00
Arik Fraimovich
44a330a4e6 Merge pull request #2499 from kocsmy/design/design-improvements
Design improvements
2018-05-02 10:36:02 +03:00
Zsolt Kocsmarszky
ab284efac1 Fix contianer width 2018-04-30 16:00:57 +02:00
Arik Fraimovich
9d4fd75ea8 Fix: update tests. 2018-04-30 11:16:27 +03:00
Arik Fraimovich
4a9b93a131 Improve dashboard refresh UX: show previous data while refreshing.
Also refactored the Widget (client side) model to accomodate the necessary changes.
2018-04-30 11:01:36 +03:00
Zsolt Kocsmarszky
31a48cfe2b Subtle background change 2018-04-29 14:59:27 +02:00
Zsolt Kocsmarszky
9df98b1c29 Fix login screen on smaller viewport 2018-04-29 14:59:11 +02:00
Akira Yumiyama
d1bc2fb649 Fixes the order of columns in the schema browser when Redshift is used as a DataSource. 2018-04-27 17:56:04 +09:00
Arik Fraimovich
df774b0304 Merge pull request #2492 from kravets-levko/bug/cohort-js-error
Cohort bug: JS error (value not wrapped with moment instance)
2018-04-26 15:04:44 +03:00
Levko Kravets
7ac0ba52dd Cohort bug: JS error (value not wrapped with moment instance) 2018-04-26 14:00:56 +03:00
Arik Fraimovich
b2decc895f Merge pull request #2487 from getredash/fix-dashboard-filters
Fix: dashboard filters setting wasn't persisting.
2018-04-25 11:46:45 +03:00
Arik Fraimovich
b12f3fb133 Merge pull request #2469 from PublicI/fix/null-number-format
Display nulls and empty values as blank in table numeric fields
2018-04-24 22:53:57 +03:00
Arik Fraimovich
fc30f141ec Merge pull request #2489 from dbravender/2488-alert-date-column
Fixes #2488
2018-04-24 22:33:42 +03:00
Dan Bravender
277eb35aea Fixes #2488 2018-04-24 13:50:44 -04:00
Arik Fraimovich
10bc9402b7 Fix: dashboard filters setting wasn't persisting. 2018-04-24 15:50:33 +03:00
Arik Fraimovich
16a07e19cc Merge pull request #2485 from kocsmy/fixes/new-readme-gif
Update readme gif + some smaller content improvements
2018-04-24 15:12:17 +03:00
Zsolt Kocsmarszky
479b34faed Make gif bigger 2018-04-24 14:04:31 +02:00
Zsolt Kocsmarszky
19eed1580e Refine content 2018-04-24 14:03:42 +02:00
Zsolt Kocsmarszky
d312dffe2c Update readme 2018-04-24 13:58:58 +02:00
matsumo
c426ef323d add support ChatWork Alert Destination. 2018-04-23 17:14:01 +09:00
Arik Fraimovich
90677b2b51 Merge pull request #2475 from ariarijp/fix-pip-version
To avoid "cannot import name main" error
2018-04-22 13:44:28 +03:00
ariarijp
df9bd38c08 To avoid "cannot import name main" error 2018-04-20 11:39:36 +09:00
Hao Jiang
be86d659ed Add $scope.canForkQuery() to data only view 2018-04-20 10:01:04 +09:00
Hao Jiang
66a4315ce2 Move dropdown disabled a tag color change code to disable class 2018-04-20 10:00:46 +09:00
Hao Jiang
b896dd461d Disable fork for view_only user 2018-04-19 10:44:52 +09:00
Chris Zubak-Skees
615aea7678 Merge remote-tracking branch 'upstream/master' into fix-null-number-format 2018-04-17 12:35:07 -04:00
Chris Zubak-Skees
10a9978b04 Fix style in PR branch 2018-04-17 12:34:20 -04:00
Arik Fraimovich
3f3a86eac3 Update CHANGELOG.md 2018-04-16 11:50:46 +03:00
Arik Fraimovich
43a66fae82 Merge branch 'master' of github.com:getredash/redash 2018-04-16 11:21:24 +03:00
Arik Fraimovich
ed739e1292 Update version 2018-04-16 11:21:14 +03:00
Katsuhiko YOSHIDA
ffa70185be Get all tables in the BigQuery 2018-04-15 22:59:37 +09:00
Arik Fraimovich
212c7eed46 Merge pull request #2457 from kyoshidajp/fix_td_syntax_error
Fix syntax error
2018-04-15 10:45:46 +03:00
Katsuhiko YOSHIDA
ce50042407 Fix syntax error 2018-04-14 09:46:05 +09:00
Arik Fraimovich
e17e36f9e4 Update CHANGELOG.md 2018-04-12 15:40:32 +03:00
Arik Fraimovich
0bc570d741 Merge pull request #2407 from alon710/master
adds mattermost destination
2018-04-12 15:17:58 +03:00
Arik Fraimovich
7465c74392 Merge pull request #2428 from toru-takahashi/master
Improve a query failure message for Treasure Data Runner
2018-04-12 15:14:24 +03:00
Arik Fraimovich
a8a91109ee Merge pull request #2452 from kravets-levko/bug/firefox-widget-height-continuously-increases
Firefox: widget height continuously increases
2018-04-11 22:29:54 +03:00
Arik Fraimovich
add60c2552 Merge pull request #2451 from kravets-levko/bug/page-layout-lost
Wrong page layout if route change was cancelled
2018-04-11 22:29:26 +03:00
Chris Zubak-Skees
f055e6750a Displays nulls and blanks in numeric fields as empty strings 2018-04-10 19:03:57 -04:00
Levko Kravets
4dc8826beb Firefox, dashboard, auto-height feature: in some cases (loader shown and widget has params, but possibly other cases) widget start continuously growing 2018-04-10 21:08:27 +03:00
Levko Kravets
d35bbdb257 getredash/redash#2401 Wrong page layout if route change cancelled 2018-04-10 15:42:05 +03:00
Arik Fraimovich
8636c3310d Merge pull request #2449 from getredash/botocore-update
Update botocore version.
2018-04-09 23:02:13 +03:00
Arik Fraimovich
eddd9419a4 Merge pull request #2450 from getredash/map-names
Update map visualizations names.
2018-04-09 22:57:40 +03:00
Arik Fraimovich
2d08314982 Update Choropleth visualization name. 2018-04-09 22:57:22 +03:00
Arik Fraimovich
28d69b0c60 Update map visualizations names. 2018-04-09 22:56:10 +03:00
Arik Fraimovich
7f76400550 Update botocore version.
Fixes #2400.
2018-04-09 22:55:20 +03:00
Arik Fraimovich
f551b348a7 Merge pull request #2447 from getredash/patches
Fixes to new dashboard layout engine
2018-04-09 09:47:43 +03:00
Toru Takahashi
b1567f4d8d Add safe guarding with .get() 2018-04-09 01:29:18 +09:00
Arik Fraimovich
d18c94a587 Merge pull request #2420 from fmy/patch-1
use MongoClient for ReplicaSet
2018-04-08 15:43:56 +03:00
Arik Fraimovich
f75c142981 Merge pull request #2434 from tonyjiangh/fix/funnel_typo
Fix funnel setting page typo
2018-04-08 15:39:09 +03:00
Arik Fraimovich
0959281a01 Merge pull request #2443 from deecay/choropleth-fullscreen
Choropleth: Add fullscreen control
2018-04-08 15:38:07 +03:00
Arik Fraimovich
96a0a512f3 Merge pull request #2446 from getredash/patches
Update pymongo version to support newer MongoDB versions
2018-04-08 15:33:06 +03:00
Levko Kravets
9899abfe6a Fix: some legacy dashboards got their widgets misplaced when using auto height. 2018-04-08 15:32:24 +03:00
Arik Fraimovich
d02386488c Fix: dashboard refresh was broken due to introduction of track by to ng-repeat. 2018-04-08 15:32:14 +03:00
Arik Fraimovich
5f25bc480c Update pymongo version to support newer MongoDB versions 2018-04-08 15:26:35 +03:00
deecay
07b5003c6f Map: Add fullscreen control 2018-04-07 14:37:44 +09:00
Arik Fraimovich
8aba5db862 Merge pull request #2441 from tnetennba3/pronoun-fix
Changed "his" to "their"
2018-04-06 21:22:44 +03:00
deecay
b3ee25079e Choropleth: Add fullscreen control 2018-04-06 13:08:28 -04:00
tnetennba3
85179fd07b Changed "his" to "their" 2018-04-05 16:27:20 +01:00
Hao Jiang
390360cc4e Fix funnel setting page typo 2018-04-03 08:11:53 +09:00
Toru Takahashi
7edd5b9731 Improve a query failure message for Treasure Data Runner 2018-04-01 15:45:28 +09:00
Fumiya Karasawa
c681a50b19 use MongoClient for ReplicaSet
MongoReplicaSetClient is deprecated and will be removed in future.

See http://api.mongodb.com/python/current/api/pymongo/mongo_replica_set_client.html
```
MongoReplicaSetClient will be removed in a future version of PyMongo.

Changed in version 3.0: MongoClient is now the one and only client class for a standalone server, mongos, or replica set. It includes the functionality that had been split into MongoReplicaSetClient: it can connect to a replica set, discover all its members, and monitor the set for stepdowns, elections, and reconfigs.
```
2018-03-29 17:46:27 +09:00
Arik Fraimovich
8df2391a77 Merge pull request #2376 from valentin2105/master
Fix docker-entrypoint broke for other name than "postgres"
2018-03-27 09:16:14 +03:00
Valentin Ouvrard
0982e56ed0 fix entrypoint create_table() func. 2018-03-26 10:01:58 +11:00
Arik Fraimovich
0cb995bb35 Merge pull request #2413 from getredash/fix-bq
Fix: (BigQuery) UDF URI was used even if empty
2018-03-25 14:39:30 +03:00
Arik Fraimovich
d34d58bf33 Merge pull request #2374 from kravets-levko/feature/choropleth
Choropleth visualization
2018-03-25 14:34:45 +03:00
Arik Fraimovich
c19ff41392 Merge pull request #2406 from kravets-levko/feature/dashboard-gridstack
Replace dashboard engine with gridstack
2018-03-25 14:27:36 +03:00
Arik Fraimovich
abb6e56570 Fix: UDF URI was used even if empty 2018-03-25 14:22:36 +03:00
Arik Fraimovich
a7bba81969 Merge pull request #2412 from deecay/box-hover-fix
Fix: Box plot hover
2018-03-24 21:39:05 +03:00
deecay
6356a75478 Fix: Box plot hover 2018-03-24 20:57:04 +09:00
Levko Kravets
61ef5f9a02 gridstack: add comments, exclude lodash and moment locales from bundle 2018-03-23 19:50:55 +02:00
Levko Kravets
2fbf8926c4 gridstack: optimizations and bugfixes 2018-03-23 19:50:55 +02:00
Levko Kravets
ce9e3fcb35 Replace dashboard engine with gridstack 2018-03-23 19:50:28 +02:00
Arik Fraimovich
ffab6d5ec9 Merge pull request #2411 from getredash/patches
Multiple V4 regression fixes
2018-03-23 19:34:07 +03:00
Levko Kravets
be9bcaeb3d Multiple fixes:
* Fix: line chart with category x-axis: when some values missing, wrong hints displayed on hover
* Fix: second Y-axis not displayed when stacking enabled
* Set of dashboard improvements and bug fixes
    - set minimal height of widgets to 1 (was 4)
    - bug: for some widgets auto-height wasn't calculated properly (sometimess too small, sometimes too large)
    - bug: for small widgets, top-right menu was cut to widgets bounds
    - bug: with opened top-right menu widgets with auto-height started "dancing"
    - bug: at some point auto-height feature was disabling by itself (in fact - it depends on `angular-grindter`s internal processes)
    - fix: widget with empty contents had extra 40px of white space (paddings of container)
* Add scrollbars to pivot table widgets
* Fix: 100% CPU loading caused page lags
2018-03-23 19:25:21 +03:00
Arik Fraimovich
d140e0418f Fix: dashboard was reloading when clicking on refresh. 2018-03-23 19:22:23 +03:00
Arik Fraimovich
6685cb9e21 Load dashboard refresh rate from URL. 2018-03-23 19:22:06 +03:00
Arik Fraimovich
2f24cff33c Plotly: increase Y value accuracy. 2018-03-23 19:20:28 +03:00
Arik Fraimovich
193a6cce3f Fix: only try merging query object if it exists. 2018-03-23 19:18:28 +03:00
Arik Fraimovich
17951504f0 Change: apply time limit to alert status checking task. 2018-03-23 19:17:57 +03:00
Arik Fraimovich
ccffe70359 MSSQL Fix: UUID fields were detected as booleans. 2018-03-23 19:17:13 +03:00
Arik Fraimovich
503d6cecd0 DynamoDB fix: always return counter as a number rather than string. 2018-03-23 19:16:54 +03:00
Arik Fraimovich
6fbe06d262 Report Celery queue size. 2018-03-23 19:16:24 +03:00
Arik Fraimovich
2394f3fbe5 Add events property to Organization model. 2018-03-23 19:16:14 +03:00
Arik Fraimovich
cb815f3c8e Render safe HTML by default in tables to remain backward compatible. 2018-03-23 19:15:47 +03:00
Arik Fraimovich
e6f6c02f90 Fix: saving widget was sending too much data to the server, sometimes making saving fail. 2018-03-23 19:13:40 +03:00
Arik Fraimovich
565e66715f Fix: Fork button was shown in data only view, but wasn't working. 2018-03-23 19:13:15 +03:00
Arik Fraimovich
549de1355a Change: show friendly names in dynamic forms labels. 2018-03-23 19:10:26 +03:00
Arik Fraimovich
d892ed48cc Merge pull request #2387 from idalin/fix_ldap_login
fix no login form in ldap login page #2386
2018-03-22 14:04:30 +02:00
alon710
b96204654b adds mattermost dest 2018-03-22 00:29:49 +02:00
Arik Fraimovich
3c75c2bb60 Update CONTRIBUTING.md 2018-03-21 16:41:02 +02:00
Arik Fraimovich
db020576ed Merge pull request #2385 from kocsmy/fixex/cassandra-scylla-images
Add missing Cassandra and ScyllaDB images
2018-03-19 22:13:48 +02:00
idalin
5a93da3177 fix no login form in ldap login page #2386 2018-03-14 13:59:50 +08:00
Zsolt Kocsmarszky
d16285d239 Add missing images 2018-03-12 20:45:45 +01:00
Arik Fraimovich
0410d834d1 Merge pull request #2382 from deecay/webpack-ignore
Webpack: ignore vim swap files
2018-03-11 15:02:44 +02:00
deecay
b79abf52fd Webpack: ignore vim swap files 2018-03-10 17:48:11 +09:00
Levko Kravets
6a61057813 getredash/redash#2317 CR1
- cache GeoJSON to avoid multiple HTTP requests;
- allow to edit map bounds;
- optimize update map calls (do not re-render it every time);
- UI/X imporvements.
2018-03-08 14:46:09 +02:00
Arik Fraimovich
1a75d49041 Merge pull request #2379 from getredash/fix_empty_states
Change: close metadata database connection early in the execute query Celery task
2018-03-08 11:17:30 +02:00
Arik Fraimovich
c054731794 Change: close metadata database connection early in the execute query
Celery task. This to prevent the task holding an idle connection for
a long period of time, while waiting for the query to finish.
2018-03-08 11:06:15 +02:00
Arik Fraimovich
a824bd5da3 Merge pull request #2378 from getredash/fix_empty_states
Empty state screen fix: show connect data source link only to admins
2018-03-08 09:53:29 +02:00
Arik Fraimovich
e1ff31718e fix circle.yml 2018-03-08 09:46:45 +02:00
Arik Fraimovich
797b5582ac Fix: show connect data source link only to admins 2018-03-08 09:43:30 +02:00
Valentin Ouvrard
452904398f Fix docker-entrypoint broke for Other name than "postgres" 2018-03-08 10:04:29 +11:00
Levko Kravets
517f95fa01 Better resize handling 2018-03-07 09:14:24 +02:00
Levko Kravets
d5ee9cd007 Use data from current record for tooltip and popup contents 2018-03-06 21:40:27 +02:00
Levko Kravets
5918253022 Add option to align legend text
Remove Leaflet attribution
2018-03-06 21:24:39 +02:00
Levko Kravets
2f30dbf645 getredash/redash#2317 Choropleth visualization 2018-03-06 20:42:48 +02:00
Arik Fraimovich
88deb5fc47 Merge pull request #2372 from kravets-levko/fix/dancing-widgets
Fix: dashboard "dancing" widgets (when auto-height enabled)
2018-03-06 15:07:14 +02:00
Levko Kravets
27c7e86297 Fix: dashboard "dancing" widgets (when auto-height enabled) 2018-03-06 14:42:15 +02:00
Arik Fraimovich
051f12c712 Fix tags regex in circle.yml 2018-03-05 12:37:31 +02:00
Arik Fraimovich
f9ab83ed80 Merge pull request #2369 from getredash/query-refresh
Add: configuration for query refresh intervals.
2018-03-05 11:28:40 +02:00
Arik Fraimovich
c24bfe82e0 Update changelog. 2018-03-05 11:22:49 +02:00
Arik Fraimovich
4f27de3252 Add: configuration for query refresh intervals. 2018-03-05 11:22:08 +02:00
Arik Fraimovich
bf86d17d56 Stop spamming Docker Hub 2018-03-04 15:36:14 +02:00
Arik Fraimovich
54e23a7c84 Update CHANGELOG and update version. 2018-03-04 15:11:54 +02:00
Arik Fraimovich
6049e2df17 Merge pull request #2356 from kravets-levko/fix/dashboard-auto-height
Dashboard fixes and improvements
2018-03-04 14:50:48 +02:00
Arik Fraimovich
025af41616 Merge pull request #2260 from Top20Talent/master
Extend the Prometheus query runner to support the range query
2018-03-04 10:57:30 +02:00
Arik Fraimovich
d80f93a59d Merge pull request #2355 from jezdez/glue-table-paginator-upstream
Use a paginator when iterating over glue tables
2018-03-04 10:56:56 +02:00
Arik Fraimovich
5aa4b28d53 Merge pull request #2354 from jezdez/redash-extensions
Add a Redash extension system based on Python entrypoints.
2018-03-04 10:56:08 +02:00
Arik Fraimovich
6a072dd33a Merge pull request #2363 from kravets-levko/bug/query-page-unscrollable
Query page long visualization is unscrollable
2018-03-04 10:53:33 +02:00
Levko Kravets
67995085c6 getredash/redash#2361 2018-03-02 13:12:45 +02:00
Levko Kravets
9295a9d8fb Dashboard: save only changed widgets 2018-03-01 16:28:34 +02:00
Levko Kravets
43cd24927f gridsterAutoHeight: disable auto-height when widget resized by user 2018-03-01 14:46:53 +02:00
Jannis Leidel
6b41644557 Add a Redash extension system based on Python entrypoints.
This is along the lines of what Flask does for CLI plugins:

  http://flask.pocoo.org/docs/0.12/cli/#cli-plugins

The API allows specifying Python callbacks that receive the
Redash Flask app as the only argument and allow extending
the Redash process with the usual Flask API as needed. This
does not cover front-end specific extensions (yet).
2018-02-28 23:37:03 +01:00
Blake Imsland
dceb58cd79 Use a paginator when iterating over glue tables
Without this you only get the first 100 tables in the glue database
2018-02-28 22:10:54 +01:00
Arik Fraimovich
570187fc1f Merge pull request #2353 from kocsmy/fixes/filter-spacing-on-dashboards
Fix small spacing glitch on dashboard widgets
2018-02-28 18:16:09 +02:00
Zsolt Kocsmarszky
ca4663e3a4 fix small spacing glitch on dashboard widgets 2018-02-28 17:08:55 +01:00
Arik Fraimovich
6e097d5cec Merge pull request #2352 from kravets-levko/bug/query-result-column-names
Cast column names to string
2018-02-28 17:08:28 +02:00
Arik Fraimovich
2c95231fd7 Merge pull request #2334 from tonyjiangh/feat/funnel_visualization
Add funnel visualization
2018-02-28 17:06:37 +02:00
Hao Jiang
0d80156eec Rename visualization options for review 2018-02-28 23:44:42 +09:00
Levko Kravets
08c709c2ec getredash/redash#1960 Cast column names to string; code style fixes 2018-02-28 13:28:15 +02:00
Arik Fraimovich
bb28b2f0fb Merge pull request #2350 from getredash/auth
Authentication related settings improvements
2018-02-28 12:16:11 +02:00
Arik Fraimovich
0e4313de52 Merge pull request #2349 from kravets-levko/fix/dashboard-issues
Fix/dashboard issues
2018-02-27 23:22:59 +02:00
Arik Fraimovich
e76e29df24 Merge pull request #2348 from kocsmy/fixes/prometheus-logo
Add missing prometheus and snowflake logos
2018-02-27 23:21:09 +02:00
Arik Fraimovich
d1062ce0c4 Properly generate login URLs. 2018-02-27 23:14:57 +02:00
Arik Fraimovich
9ddf3745b8 Configuration for Google Apps. 2018-02-27 23:10:10 +02:00
Arik Fraimovich
0eefc7b592 join array filter. 2018-02-27 23:09:21 +02:00
Arik Fraimovich
bea035025e Callout sections css. 2018-02-27 23:09:12 +02:00
Arik Fraimovich
33aa7b72b7 Enable debug mode for Flask. 2018-02-27 23:09:00 +02:00
Arik Fraimovich
ca54d23f92 Remove unused LESS code. 2018-02-27 23:08:43 +02:00
Levko Kravets
7d6244a322 Revisit default options; set auto-height for Table viz by default 2018-02-27 18:25:57 +02:00
Levko Kravets
f61a74bbee Fix: 'Cannot read property of null' JS error when going away from dashboard page 2018-02-27 18:25:21 +02:00
Levko Kravets
7d258908c6 getredash/redash#2108 Fix: length limit increased 2018-02-27 18:24:26 +02:00
Zsolt Kocsmarszky
0e53356589 add missing prometheus and snowflake logos 2018-02-27 16:52:33 +01:00
Hao Jiang
aa43dcdb2b Add hover text for full step name 2018-02-27 23:22:41 +09:00
Arik Fraimovich
093c48505a Merge pull request #2347 from kravets-levko/fix/download-dataset-dropup
Fix: download dataset dropup is being cut off
2018-02-27 15:30:57 +02:00
Levko Kravets
c19ef632aa Fix: download dataset dropup is being cut off 2018-02-27 15:24:37 +02:00
Arik Fraimovich
bb1455ec71 Merge pull request #2346 from getredash/auth
Authentication fixes (SAML and login page)
2018-02-26 21:11:52 +02:00
Arik Fraimovich
09af43c4a7 remove unnecessary test. 2018-02-26 20:57:21 +02:00
Arik Fraimovich
35594ecb00 Always show login page and generate URLs with url_for.
Close #1259, #2235.
2018-02-26 20:46:27 +02:00
Arik Fraimovich
3044c77309 Make SAML work in MULTI_ORG mode. 2018-02-26 20:40:28 +02:00
Hao Jiang
0632044573 Handle corner cases 2018-02-26 22:21:05 +09:00
jubel
e6551e9774 remove the type 2018-02-26 14:58:30 +08:00
Arik Fraimovich
11d09b2f09 Fix empty-state logic for MULTI_ORG mode 2018-02-25 11:49:07 +02:00
Arik Fraimovich
8676b846c2 Add support for symlinks in webpack config 2018-02-25 11:13:54 +02:00
Arik Fraimovich
d4f98aa7f7 Merge pull request #2337 from ariarijp/upgrade-sqlparse
Upgrade sqlparse to 0.2.4
2018-02-24 21:29:08 +02:00
Arik Fraimovich
35458e846c Merge pull request #2338 from kravets-levko/fix/table-columns-nowrap
Custom CSS based on column type
2018-02-24 21:28:10 +02:00
jubel
49e9133fed style adjustment 2018-02-24 16:35:10 +08:00
Levko Kravets
5dd76674ff getredash/redash#2215 Custom CSS based on column type 2018-02-23 11:19:07 +02:00
Hao Jiang
8bdd5ff662 Fix sort order 2018-02-23 09:25:04 +09:00
Hao Jiang
9e68b36de6 Add support for selecting column to sort 2018-02-23 09:18:37 +09:00
Hao Jiang
e78bfb2e9a Add support for column mapping 2018-02-23 09:15:56 +09:00
ariarijp
f5d4ca85d8 Upgrade sqlparse to 0.2.4
Add test case for /api/queries/format
2018-02-23 01:24:34 +09:00
Arik Fraimovich
c65b637bc4 Merge pull request #2336 from kravets-levko/fix/settings-tabs-order
Explicitly set order of tabs on Settings page
2018-02-22 15:31:52 +02:00
Levko Kravets
062efe349f Explicitly set order of tabs on Settings page 2018-02-22 15:16:09 +02:00
Arik Fraimovich
696f46d64b Merge pull request #2252 from kocsmy/design/empty-states
Empty states for Home, Dashboards, Queries and Alerts
2018-02-22 11:26:13 +02:00
Arik Fraimovich
42b88d9a32 Ignore archived objects. 2018-02-22 11:04:13 +02:00
Arik Fraimovich
3a840fcc5d Implement empty states logic. 2018-02-22 11:02:12 +02:00
Hao Jiang
a333abcaa5 Use ColorPalette instead 2018-02-22 08:44:39 +09:00
Hao Jiang
d583f6f273 Add funnel visualization 2018-02-21 22:41:31 +09:00
Arik Fraimovich
a1aeb1d614 Merge pull request #2330 from getredash/arikfr-patch-1
Sort widgets by col/row to make sure they are placed correctly
2018-02-21 14:49:10 +02:00
Arik Fraimovich
bd13b78e21 Merge pull request #2320 from kravets-levko/bug/few-bugfixes
Few bugfixes
2018-02-20 22:41:05 +02:00
Arik Fraimovich
4d44be76ac Create <empty-state> component. 2018-02-20 22:29:07 +02:00
Levko Kravets
8cd758cfb6 Update 'absoluteUrl' function 2018-02-20 22:13:48 +02:00
Arik Fraimovich
9a1077d192 Merge branch 'master' into design/empty-states 2018-02-20 21:09:43 +02:00
Arik Fraimovich
bc4f174e22 Sort widgets by col/row to make sure they are placed correctly 2018-02-20 20:45:32 +02:00
Levko Kravets
046595825c Rename: fullUrl -> absoluteUrl 2018-02-19 23:19:03 +02:00
Arik Fraimovich
e0c5eabdd5 Merge pull request #2324 from kravets-levko/bug/type-of-first-table
User shouldn't be able to change the type of the first table
2018-02-19 23:07:26 +02:00
Arik Fraimovich
06e9d192ef Merge pull request #2325 from benmanns/patch-1
Reduce restart to unless-stopped for Redis and Postgres
2018-02-19 22:33:43 +02:00
Arik Fraimovich
906c8fc767 Merge pull request #2282 from kocsmy/design/improve-default-visualisation-colors
Improve visualisation colors
2018-02-19 22:32:37 +02:00
Benjamin Manns
6149e00c2f Reduce restart to unless-stopped for Redis and Postgres
`restart: always` will cause containers to restart when the machine is rebooted or the docker process restarts. Setting this to `unless-stopped` will mean the container will restart only if the docker process/computer was rebooted without stopping the container first. Otherwise, running `docker-compose stop` and rebooting will cause the docker containers all to start again (and goodbye laptop battery!)

We might also consider `restart: on-failures` which would mean that rebooting would _not_ cause containers to start again unless requested via `docker-compose up`.
2018-02-19 11:07:02 -05:00
Zsolt Kocsmarszky
b053770998 less vivid colors fo charts 2018-02-18 19:55:00 +01:00
Zsolt Kocsmarszky
45b380ca00 Merge branch 'master' into design/improve-default-visualisation-colors 2018-02-18 18:05:56 +01:00
Arik Fraimovich
631dad11d6 Merge pull request #2319 from kravets-levko/feature/server-pages-redesign
Redesign of all pages that are rendered by backend code
2018-02-18 14:53:49 +02:00
Levko Kravets
9647c37285 getredash/redash#2312 2018-02-18 14:08:44 +02:00
Zsolt Kocsmarszky
9e5f749556 Change default visualization colors 2018-02-17 18:21:11 +01:00
Zsolt Kocsmarszky
c69795c0cd Merge branch 'master' into design/improve-default-visualisation-colors 2018-02-17 17:47:02 +01:00
Levko Kravets
339f5537c6 Remove code related to hidden text widgets + UI improvements 2018-02-16 21:25:29 +02:00
Levko Kravets
d2c5be5bd5 Replace with window.location 2018-02-16 21:04:45 +02:00
Levko Kravets
21b753f9b5 Bug fixed: empty page when trying to open public dashboard 2018-02-16 20:59:53 +02:00
Levko Kravets
a28a6ea127 Bug: Invite user / Reset password links should be full (include shema and host) 2018-02-16 20:39:18 +02:00
Levko Kravets
38da3e9fef Add SSO login buttons to invite user page; UI fixes 2018-02-16 13:32:40 +02:00
Levko Kravets
f1aad2545e redesign of all pages that are rendered by backend code 2018-02-15 21:49:11 +02:00
Arik Fraimovich
927599cf00 Mark current version as v4-beta 2018-02-14 17:06:51 +02:00
Arik Fraimovich
eae3b1dc0f Update changelog for v4 2018-02-14 16:26:44 +02:00
Arik Fraimovich
d6cc7489b1 Merge pull request #2311 from kravets-levko/feature/add-widget-dialog-update
Add Widget Dialog UX Update
2018-02-14 12:52:12 +02:00
Arik Fraimovich
1b6aaeb663 Merge pull request #2314 from kocsmy/design/add-csv-image
Add CSV image for data source images
2018-02-14 10:17:24 +02:00
yuua
edd709838d Fix: pyHive type matches 2018-02-14 11:52:17 +09:00
Zsolt Kocsmarszky
5e72e6bf1a add CSV image 2018-02-14 00:54:39 +01:00
Levko Kravets
fa03e12b96 getredash/redash#2214 CR1 2018-02-13 23:39:10 +02:00
Arik Fraimovich
adb6a1adee Merge pull request #2313 from kravets-levko/bug/cannot-remove-widgets
Fix: widget is not removed from dashboard, only after page refresh
2018-02-13 22:47:30 +02:00
Levko Kravets
8ec0cda10b Fix: widget is not removed from dashboard, only after page refresh 2018-02-13 21:53:21 +02:00
Levko Kravets
41789fa1db getredash/redash#2214 Add Widget Dialog UX Update 2018-02-13 20:47:30 +02:00
Arik Fraimovich
17f3b1e92d Merge pull request #1692 from kakakakakku/fix-redis-metrics
Fixed monitoring metrics for Redis
2018-02-11 15:54:58 +02:00
Arik Fraimovich
aa06e44ff8 Merge pull request #2099 from ariarijp/fix/create_db
Fix create_db command of docker-entrypoint
2018-02-11 15:48:56 +02:00
Arik Fraimovich
94295788ec Merge pull request #2248 from sjakthol/multiorg-header-login
feat: make trusted header authentication compatible with multiorg mode
2018-02-11 15:41:46 +02:00
Arik Fraimovich
5aa620d1ec Merge pull request #2309 from getredash/fix_params
Add: API to return events
2018-02-11 12:11:32 +02:00
Arik Fraimovich
2560d887f0 Fix import call 2018-02-11 12:04:12 +02:00
Arik Fraimovich
f14388f770 Require admin for events GET call. 2018-02-11 11:57:46 +02:00
Arik Fraimovich
7e4cb4c543 Add: API to return events 2018-02-11 11:56:10 +02:00
Arik Fraimovich
953efc472f Merge pull request #2308 from getredash/fix_params
Fix: parameters list was resetting when adding a new parameter
2018-02-11 11:55:47 +02:00
Arik Fraimovich
5343dd9acf Fix: parameters list was resetting when adding a new parameter 2018-02-11 11:48:12 +02:00
Arik Fraimovich
29c675b553 Update RDS CA bundle 2018-02-11 11:40:56 +02:00
Arik Fraimovich
e328b783f3 Make the S3 staging path label mention query results 2018-02-11 10:26:25 +02:00
Arik Fraimovich
e183b51702 Merge pull request #2307 from getredash/mognodb_nested_fields
Add an option to set a common prefix to the backend logs.
2018-02-10 22:09:39 +02:00
Arik Fraimovich
a82239d719 Add an option to set a common prefix to the backend logs. 2018-02-10 22:08:01 +02:00
Arik Fraimovich
12f9c1a159 Merge pull request #2306 from getredash/mognodb_nested_fields
Add Prometheus to the default query runners list.
2018-02-10 22:06:42 +02:00
Arik Fraimovich
037f8b7183 Add Prometheus to the default query runners list. 2018-02-10 22:05:59 +02:00
Arik Fraimovich
ce69d3069b Merge pull request #2305 from getredash/mognodb_nested_fields
Update botocore version to support Glue
2018-02-10 22:05:52 +02:00
Arik Fraimovich
66a8941a23 Update botocore version to support Glue 2018-02-10 22:04:36 +02:00
Arik Fraimovich
94a770ae7a Merge pull request #2304 from getredash/mognodb_nested_fields
Close #1199: support for nested fields in MongoDB results
2018-02-10 22:03:04 +02:00
Arik Fraimovich
0bbfa8bb8e remove whitespaces 2018-02-10 22:00:55 +02:00
Arik Fraimovich
5ad893a266 Close #1199: support for nested fields in MongoDB results 2018-02-10 21:55:06 +02:00
Arik Fraimovich
790ac2ec54 Merge pull request #2303 from kravets-levko/fix/webpack-config-3
Fix webpack config (server-rendered pages); fix assets URLs
2018-02-09 22:34:32 +02:00
Levko Kravets
ceb1c62528 Fix webpack config (server-rendered pages); fix assets URLs 2018-02-09 19:16:48 +02:00
Arik Fraimovich
e460c18d4a Merge pull request #2301 from kravets-levko/fix/webpack-config-2
Fix webpack config and some assets URLs
2018-02-08 20:27:06 +02:00
Levko Kravets
182d2d040e Fix config; fix assets URLs 2018-02-08 16:39:36 +02:00
Levko Kravets
878908cbf7 Fix webpack config and some assets URLs 2018-02-08 14:07:26 +02:00
Arik Fraimovich
f703a602f0 Merge pull request #2266 from javier-sanz/quotedPasswords
Url password can have quoted special characters.
2018-02-08 11:49:24 +02:00
Arik Fraimovich
07d8babab4 Merge pull request #2296 from getredash/webpack
Assets serving changes
2018-02-08 11:39:36 +02:00
Arik Fraimovich
5e97834b80 Fix upgrade script to support CI builds 2018-02-08 11:35:12 +02:00
Arik Fraimovich
943dcf1da3 Merge pull request #2281 from kravets-levko/feature/cohort-improvements
Cohort visualization improvements
2018-02-08 11:27:35 +02:00
Arik Fraimovich
4090875fcd Merge pull request #2257 from kocsmy/design/error-pages
Error screens
2018-02-08 09:38:05 +02:00
Arik Fraimovich
e69f8fa009 Show standard error messages. 2018-02-08 09:33:03 +02:00
Arik Fraimovich
d6eb8f436f Handle unknown routes in Angular by showing Page Not Found error 2018-02-08 09:33:03 +02:00
Zsolt Kocsmarszky
69b3ea4715 Rearrange the error-state box and place it middle 2018-02-08 09:33:03 +02:00
Zsolt Kocsmarszky
8f52f51e91 Fix content to center 2018-02-08 09:33:03 +02:00
Zsolt Kocsmarszky
a668416dae Nicer error message and box with icon 2018-02-08 09:33:03 +02:00
Arik Fraimovich
96ad3aaa25 Use jQuery from npm packages 2018-02-07 23:08:03 +02:00
Arik Fraimovich
4e5c425932 Merge pull request #2297 from kravets-levko/bug/filter-dropdown
Filters dropdown is "trapped" inside the widget area
2018-02-07 21:09:01 +02:00
Arik Fraimovich
549416694f Fix: login_required decorator was misplaced 2018-02-07 21:07:04 +02:00
Levko Kravets
9532540b54 getredash/redash#2295 2018-02-07 20:22:02 +02:00
Arik Fraimovich
a6cf7643c9 Fix webpack-dev-server setup 2018-02-07 17:18:38 +02:00
Arik Fraimovich
568b3e392b Switch back to single assets path. 2018-02-07 16:43:48 +02:00
Arik Fraimovich
40ffa349f0 Load all assets from a single directory (Webpack's output path). Also make sure all assets URLs are prefixed with /static/ and remove our custom assets serving handler. 2018-02-07 16:43:25 +02:00
Arik Fraimovich
95f4d993b7 Added webpack-manifest plugin 2018-02-07 14:15:21 +02:00
Levko Kravets
f303bc7f53 getredash/redash#2163 CR1 2018-02-07 11:04:47 +02:00
Zsolt Kocsmárszky
d81af63f24 Merge pull request #2291 from kravets-levko/fix/query-refresh-schedule
Make "refresh schedule" part of the rest of the query metadata
2018-02-06 12:31:21 +01:00
Arik Fraimovich
722678f6d1 Merge pull request #2278 from getredash/dashboards_migrations
Move widget position logic migration to the backend and remove some unused code.
2018-02-06 08:44:31 +02:00
Arik Fraimovich
c0778809ab Merge pull request #2288 from kocsmy/design/new-user-layout
New user layout improvement
2018-02-05 13:41:43 +02:00
Arik Fraimovich
8679cfefbf Merge pull request #2289 from kocsmy/design/visualisation-editor-improvements
Improve visualisation editor
2018-02-05 13:37:35 +02:00
Levko Kravets
5064744f8b getredash/redash#2279 2018-02-05 13:35:50 +02:00
Arik Fraimovich
ce15f5665c Merge pull request #2290 from kravets-levko/bug/table-html-escape
Don't escape values in non-html mode
2018-02-05 13:12:44 +02:00
Levko Kravets
8d973d847d getredash/redash#1731 Don't escape values in non-html mode 2018-02-05 13:04:11 +02:00
Zsolt Kocsmarszky
fd030e4d77 Further improve design details 2018-02-05 02:22:05 +01:00
Zsolt Kocsmarszky
6d12794c96 better layout for the visualisation editor 2018-02-05 02:14:30 +01:00
Zsolt Kocsmarszky
af4ecb5085 Nicer layout for add user + typoe fix 2018-02-05 01:52:31 +01:00
Arik Fraimovich
a5904a6e50 Merge pull request #2287 from kravets-levko/feature/table-link-column
Table visualization: "Link" column type
2018-02-04 15:26:17 +02:00
Levko Kravets
361b68d857 Table viz: Link column CR1 2018-02-04 15:25:39 +02:00
Levko Kravets
55d47ede08 Table viz: Link column type 2018-02-04 15:06:08 +02:00
Arik Fraimovich
d97b8d0958 Cast totalBytesProcessed to int. 2018-02-03 21:14:50 +02:00
Zsolt Kocsmarszky
2ed446be80 less neon green 2018-02-02 22:41:47 +01:00
Arik Fraimovich
178f46e5b1 Merge pull request #2284 from getredash/bigquery
Improvements to BigQuery query runner
2018-02-02 23:19:51 +02:00
Arik Fraimovich
d01dfe4bf7 BigQuery: show amout of data scanned. 2018-02-02 23:18:27 +02:00
Arik Fraimovich
2f8db2531f BigQuery: properly handle RECORD fields (show nested fields).
Closes #1413.
2018-02-02 23:18:04 +02:00
Sami Jaktholm
4a719fcb39 followup: coding style fixes to tests 2018-02-02 20:17:53 +02:00
Sami Jaktholm
a96b0b6e4c feat: make trusted header authentication compatible with multiorg mode
The previous implementation of remote header login did not
support the multiorg mode of Re:Dash. These changes modify
the trusted header authentication to expose a per-organization
login endpoint that logs users in the specified organization.

The feature itself is not that interesting as multiorg is pretty
much impossible to use in a standalone Re:Dash installation. What's
more interesting is that all tests are executed in multiorg mode. It's
not possible to write tests for the trusted header authentication if
the method does not support multiorg mode.

To make benefits of these changes more concrete, some tests were
written to test the basic functionality of trusted header
authentication.
2018-02-02 20:17:53 +02:00
Arik Fraimovich
daea3337b0 Merge pull request #2283 from kravets-levko/feature/table-image-column
Table visualization: "Image" column type
2018-02-02 17:32:05 +02:00
Levko Kravets
868944bd91 getredash/redash#2138 Table viz: Image column type 2018-02-02 16:34:09 +02:00
Zsolt Kocsmarszky
caf0070d14 Merge branch 'master' into design/improve-default-visualisation-colors 2018-02-01 22:35:01 +01:00
Zsolt Kocsmarszky
c9b28785fb Improve visualisation colors 2018-02-01 22:32:30 +01:00
Levko Kravets
af7fb278e8 Cohort viz: add Mode option and two rendering modes; options to map columns; UI tweaks 2018-02-01 18:16:00 +02:00
Arik Fraimovich
34d22ee418 Merge pull request #2245 from kocsmy/design/query-round-3
Further Query Improvements
2018-02-01 14:47:41 +02:00
Arik Fraimovich
33b4c7c4c3 Move widget position logic migration to the backend and remove some unused code.
Closes #2218.
2018-02-01 14:40:40 +02:00
Arik Fraimovich
a6f3873059 Merge pull request #2247 from sjakthol/saml-groups-fix
fix: commit saml user group assignment to the database
2018-02-01 14:29:34 +02:00
Arik Fraimovich
aa60554389 Merge pull request #2249 from sjakthol/saml-settings-form-fix
fix: update correct settings in saml settings form
2018-02-01 14:25:14 +02:00
Arik Fraimovich
6f7e95d419 Merge pull request #2267 from alexdrans/es_source_content_type_fix
Setting source_content_type on ES queries
2018-02-01 14:23:52 +02:00
Arik Fraimovich
4c7a0cdc3b Merge pull request #2270 from jezdez/celery-3.1.25
Upgrade to Celery 3.1.25 in preparation to Celery 4.
2018-02-01 14:21:26 +02:00
Arik Fraimovich
bbfad16712 Merge pull request #2277 from kocsmy/fixes/widget-parameter-padding
Fix bottom spacing for widget parameter section
2018-02-01 09:19:23 +02:00
Zsolt Kocsmarszky
94d47abee6 Remove code duplicate 2018-01-31 22:07:29 +01:00
Zsolt Kocsmarszky
75c94c2cbd Fix parameter bottom spacing on widgets 2018-01-31 22:06:10 +01:00
Javier Sanz Olivera
44c2526da2 Fixing style 2018-01-31 16:07:23 +01:00
Javier Sanz Olivera
c05e4b7366 Adapting code to redish style plus added the field to the helper 2018-01-31 16:03:50 +01:00
Arik Fraimovich
77eeba264f Merge pull request #2276 from kravets-levko/fix/insert-shema-node-by-click
Insert schema node by click - fixes
2018-01-31 17:02:44 +02:00
Levko Kravets
bbe11f597c Insert only column name; save cursor position 2018-01-31 16:57:55 +02:00
Levko Kravets
3950c9e5e6 Move scrollbars from right-side area to visualization area 2018-01-31 13:39:40 +02:00
Levko Kravets
6839976312 Fix bug: query editor did not restore its size after toggle 2018-01-31 13:35:40 +02:00
Levko Kravets
7fa765911f Remove unused styles 2018-01-31 13:35:40 +02:00
Levko Kravets
d5acf48161 getredash/redash#2234 Toggle resizable blocks 2018-01-31 13:35:40 +02:00
Levko Kravets
dfc9c5d02b getredash/redash#2234 CR1 2018-01-31 13:35:40 +02:00
Levko Kravets
d2c80e96f7 getredash/redash#2234 Improve query page markup + add scrollbars for each region 2018-01-31 13:35:40 +02:00
Zsolt Kocsmarszky
34a2d5fdc4 Move publish button the visible area 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
936144f6a0 attach people data to the bottom too 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
bacddea809 smaller padding fix 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
5404cc6377 fix schema editor on smaller screens 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
9c28948d5c make schema browser fill up the space 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
797393727d Attach refresh tot he bottom 2018-01-31 13:28:46 +02:00
Arik Fraimovich
2655dbe939 Merge pull request #2275 from kravets-levko/bug/insert-node-update-model
Query editor insert node from schema browser update ngModel
2018-01-31 13:09:25 +02:00
Levko Kravets
c2de59ca33 Query editor insert node from schema browser - update ng-model 2018-01-31 13:04:15 +02:00
Arik Fraimovich
a5c954a954 Merge pull request #2273 from kravets-levko/bug/dashboard-dropdown
Open "Refresh" dropdown to the left
2018-01-31 12:13:07 +02:00
Levko Kravets
b6827bb8c2 getredash/redash#2272 Open dropdown to the left 2018-01-31 11:49:25 +02:00
Arik Fraimovich
5dde17e421 Merge pull request #2269 from kravets-levko/fix/remove-progress-when-query-param-changes
Remove loading indicator when updating query parameter value (before executing)
2018-01-31 11:28:07 +02:00
Levko Kravets
06b5b09b86 getredash/redash#2161 Remove loading indicator when query params changed 2018-01-30 21:06:15 +02:00
Jannis Leidel
7b82203fb1 Upgrade to Celery 3.1.25 in preparation to Celery 4.
To prepare for a future Celery upgrade to verson 4.x this upgrades
Redash to 3.1.25 which includes support for Celery's task protocol 2.
It's the first of two steps to get Redash upgraded to Celery 4.x.

3.1.4 release notes: http://docs.celeryproject.org/en/3.1/changelog.html#version-3-1-24
4.0 release notes regarding the two-step-upgrade approach: http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#step-1-upgrade-to-celery-3-1-25
2018-01-30 19:22:33 +01:00
Arik Fraimovich
e2042b13b0 Merge pull request #2268 from getredash/dashboard-refresh-interval
Make dashboard refresh intervals configurable
2018-01-30 13:49:19 +02:00
Arik Fraimovich
a557d9fa70 Make dashboard refresh intervals configurable 2018-01-30 13:46:19 +02:00
Alex Dransfield
21d14c5388 Setting source_content_type on ES queries 2018-01-30 11:02:01 +00:00
Javier Sanz Olivera
e605176673 Fixing style issue. 2018-01-30 01:19:03 +01:00
Javier Sanz Olivera
4a8a23768f Fixing build and some style issues. 2018-01-30 01:15:17 +01:00
Javier Sanz Olivera
11d4fb4dbe Password can be None 2018-01-30 01:07:51 +01:00
Javier Sanz Olivera
a948544d4c Removing unused import. 2018-01-30 00:52:11 +01:00
Javier Sanz Olivera
cf7d04332b Reverting unquote helper change. 2018-01-30 00:51:13 +01:00
Javier Sanz Olivera
c614ff4a15 Url password can have quoted special characters. 2018-01-30 00:37:30 +01:00
Arik Fraimovich
817f2ba9af Merge pull request #2156 from kravets-levko/feature/revisit-chart
Revisit Plotly integration
2018-01-29 16:48:37 +02:00
Levko Kravets
862bc947f7 getredash/redash#2117 CR7 2018-01-29 12:44:43 +02:00
Arik Fraimovich
d38a443053 Merge pull request #2246 from kyoshidajp/enable_list_query
[WIP]Enable list query by one character when adding widget on Dashboard
2018-01-28 14:09:09 +02:00
Arik Fraimovich
c7284d6662 Merge pull request #2264 from kocsmy/design/pivot-table
Improved pivot table design
2018-01-28 13:58:40 +02:00
Arik Fraimovich
76d8613d3e Merge pull request #2219 from kocsmy/design/new-dashboard-creation
Improve dashboard editing flow
2018-01-28 13:18:39 +02:00
Arik Fraimovich
3aee4e9ed8 remove second add-widget-container 2018-01-28 13:17:55 +02:00
Arik Fraimovich
4029821e93 Properly handle dashbaords filters toggle. 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
5a9b86ff69 make button texts consistent with queries 2018-01-28 12:37:35 +02:00
Arik Fraimovich
c7dbe07b33 Single dashboard editing mode. 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
a98eff8901 improve widget description 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
b090b6b9dc Only render parameters div if we have parameters 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
dd3916672a Wider add widget section for dashboards 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
f7512f18f6 Fix schema hover on sub-items 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
cfb4a1c4f7 Simplify markup and add more styling for add new widget box 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
4b74ab361a Styling improvements + show buttons in the right context 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
977608198e position: sticke for dashboard-header 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
7b62ee8715 Add extra header class and fixed styling 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
80e07c6cf9 add ng-if to hide and show sections accordingly 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
043a1eedcf Add missing class for consistency 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
d95c9565f3 plenty of dashboard, filter and parameter fixes (still not the best, it's very messy here) 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
84532f84ac Improve dashboard widget creation and publish process with multiple design improvements 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
d9892f852b add new widget to the bottom of the dashboard 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
d6847201e5 Optimise and remove unnecessary code 2018-01-27 13:52:07 +01:00
Zsolt Kocsmarszky
b6ac96ef72 various styling improvements for pivot table to match current design direction 2018-01-27 11:31:31 +01:00
jubel
135af39fd4 support the range query of until now 2018-01-26 14:22:27 +08:00
jubel
8a2676701b extend the prometheus query runner to support the range query 2018-01-26 13:16:28 +08:00
Arik Fraimovich
060fe1dd9c Merge pull request #2259 from shinji19/master
Fix google oauth login for multi organization
2018-01-25 19:54:43 +02:00
SHINJI ICHIHARA
01a7b4eca8 Fix google_auth login for organization 2018-01-26 02:06:31 +09:00
Arik Fraimovich
ba0b9da09f Fix syntax errors. 2018-01-25 12:39:47 +02:00
Zsolt Kocsmarszky
e97fd7da5b add spacing between empty state window and content 2018-01-23 15:28:43 +01:00
Zsolt Kocsmarszky
3477a5540a add icons and fix smaller screen layout 2018-01-23 15:27:24 +01:00
Arik Fraimovich
61a0aaa858 Merge pull request #2250 from getredash/ds_ui_select
Use ui-select for data source picker for consistent style across browsers
2018-01-23 09:46:21 +02:00
Zsolt Kocsmárszky
1b03785a24 Merge pull request #2253 from kocsmy/fixes/queries-search-page-fixed-layout
Fix width for queries/search page as well
2018-01-22 22:43:21 +01:00
Zsolt Kocsmarszky
2c3052eaaa Fix width for queries/search page as well 2018-01-22 22:34:38 +01:00
Zsolt Kocsmarszky
490c8f38d8 Make section full width, remove double titles and minor styling improvements 2018-01-22 22:24:30 +01:00
Zsolt Kocsmarszky
5c5c08ae39 Add empty states for home, dashboards, queries and alerts 2018-01-22 22:03:06 +01:00
Zsolt Kocsmárszky
1ac9e6ee4c Merge pull request #2251 from yoavbls/master
Add mapd, oracle and qubole images
2018-01-22 16:37:47 +01:00
Your Name
1f99cd9e55 Add mapd, oracle and qubole images 2018-01-21 01:17:51 +02:00
Arik Fraimovich
b977526b93 Use ui-select for data source picker for consistent style across browsers 2018-01-20 20:51:01 +02:00
Sami Jaktholm
6dacfaffc7 fix: update correct settings in saml settings form
The entity_id and nameid_format form fields didn't work as they
tried to save a setting with an incorrect name. This has now
been fixed and the form can be used to configure these values.

A short debounce delay was also added to the form to avoid
saving the value after every keystroke (if values are inputted
manually).
2018-01-20 17:31:49 +02:00
Sami Jaktholm
fe2772e9db fix: commit saml user group assignment to the database
Relevant tests were also modified to reload the user
object from the database before asserting that the
user belongs to correct groups.

Fixes #1668.
2018-01-20 15:19:03 +02:00
Katsuhiko YOSHIDA
55c4bb16e2 Enable list query by one character 2018-01-20 12:10:17 +09:00
Levko Kravets
92091bf628 Resolve conflicts with master 2018-01-19 19:39:43 +02:00
Levko Kravets
18b30d6baa getredash/redash#2117 CR6 2018-01-19 19:30:53 +02:00
Levko Kravets
084a2f8806 getredash/redash#2117 CR5 2018-01-19 19:30:53 +02:00
Levko Kravets
c5acf6580c getredash/redash#2117 CR4 2018-01-19 19:30:53 +02:00
Levko Kravets
4f4411a46a getredash/redash#2117 CR3 2018-01-19 19:30:53 +02:00
Levko Kravets
2eaec6970e getredash/redash#2117 CR2 2018-01-19 19:30:53 +02:00
Levko Kravets
30836e76d2 getredash/redash#2117 CR1 2018-01-19 19:30:53 +02:00
Levko Kravets
4547b8b735 getredash/redash#2117 Annotations 2018-01-19 19:30:53 +02:00
Levko Kravets
0cefed7108 getredash/redash#2117 Fix line/area stacking; UI improvements 2018-01-19 19:30:53 +02:00
Levko Kravets
878dc91edb getredash/redash#2117 Optimize code, add more stacking options, fix percent stacking bugs 2018-01-19 19:30:53 +02:00
Levko Kravets
249b78c202 getredash/redash#2117 Revisit Plotly integration 2018-01-19 19:30:53 +02:00
Arik Fraimovich
a4d9ed5418 Merge pull request #2231 from kravets-levko/feature/wide-table
100%-wide results table
2018-01-19 19:01:14 +02:00
Arik Fraimovich
0207449162 Merge pull request #2244 from kocsmy/fixes/python-logo
Add missing python logo
2018-01-19 15:42:12 +02:00
Zsolt Kocsmarszky
2e7b1b4066 Add missing python logo 2018-01-19 13:29:10 +01:00
Arik Fraimovich
7ef94c82f4 Update ISSUE_TEMPLATE.md 2018-01-18 20:17:31 +02:00
Arik Fraimovich
4f1d46cb59 Update ISSUE_TEMPLATE.md 2018-01-18 20:16:50 +02:00
Arik Fraimovich
a1473d6dda Make it clearer people should use the forum. 2018-01-18 20:15:45 +02:00
Arik Fraimovich
0efdd479d6 Merge pull request #2225 from kravets-levko/feature/insert-schema-doubleclick
Insert schema node into editor by click
2018-01-18 16:07:05 +02:00
Arik Fraimovich
c2e28b21cf Merge pull request #2185 from kocsmy/design/new-data-source+query-editor
Design/new data source+query editor
2018-01-18 16:05:22 +02:00
Levko Kravets
7d5bcb8dbf getredash/redash#2215 100%-wide results table 2018-01-18 12:26:49 +02:00
Levko Kravets
c0d86c2766 Rename event to be more generic 2018-01-17 22:26:31 +02:00
Arik Fraimovich
dcf867e4c5 Merge pull request #2226 from kravets-levko/feature/dashboard-remove-embed-related-code
Remove ?embed-related code in public dashboards
2018-01-17 21:08:25 +02:00
Levko Kravets
5dc01f762f Replace double-click with icon+single click 2018-01-16 18:26:46 +02:00
Zsolt Kocsmarszky
11cfc66cef Add Redash styling to editor 2018-01-15 22:52:54 +01:00
Levko Kravets
f5ed122430 getredash/redash#1940 Remove ?embed-related code in public dashboards 2018-01-15 20:33:41 +02:00
Zsolt Kocsmarszky
612710f37c Fix Firefox issue 2018-01-14 21:29:57 +01:00
Zsolt Kocsmarszky
ca69a24729 cleanup css 2018-01-14 21:14:40 +01:00
Zsolt Kocsmarszky
45c75a81e6 Smaller fixes for smaller screens 2018-01-14 21:12:57 +01:00
Zsolt Kocsmarszky
e04729a381 Plenty of improvements based on #2185 comments 2018-01-14 19:31:18 +01:00
Zsolt Kocsmarszky
7ba5cc51e3 move updated at time to the right 2018-01-14 18:03:21 +01:00
Levko Kravets
c65597b35d Fix code style 2018-01-14 14:03:50 +02:00
Levko Kravets
6c4023289e Insert schema path into editor by double click 2018-01-14 14:01:49 +02:00
kakakakakku
ee2acc81ff Fixed monitoring metrics for Redis 2018-01-14 00:51:39 +09:00
Arik Fraimovich
3aa3f7f08d Merge pull request #2221 from mozilla/search-result-sort
correctly sort search result columns
2018-01-12 22:42:25 +02:00
Arik Fraimovich
a6e05e0419 Merge pull request #2222 from kakakakakku/rename-elasticsearch
Renamed to "Elasticsearch"
2018-01-12 22:41:16 +02:00
Arik Fraimovich
7e2a14e496 Merge pull request #2223 from shigemk2/license-2018
It's 2018 now ! 🎉
2018-01-12 15:54:06 +02:00
Michihito Shigemura
30cc0cc1a4 It's 2018 now ! 🎉 2018-01-12 19:08:33 +09:00
kakakakakku
cf436e45a4 Renamed to "Elasticsearch" 2018-01-12 17:18:57 +09:00
Allen Short
3b2b27a883 correctly sort search result columns 2018-01-12 03:47:35 +00:00
Arik Fraimovich
691dc6a24c Merge pull request #2041 from jezdez/fulltext-search
Add full text search for queries based on the Postgres tsvector type.
2018-01-11 20:46:33 +02:00
Arik Fraimovich
75d0d2d588 Show data scanned property when available 2018-01-11 18:14:50 +02:00
Arik Fraimovich
bc29c12b4f Properly handle 1row 2018-01-11 17:51:32 +02:00
Arik Fraimovich
ceb966ad63 Merge branch 'master' into design/new-data-source+query-editor 2018-01-11 15:54:36 +02:00
Arik Fraimovich
44770b3fd7 Merge pull request #2101 from ariarijp/fix/script_query_runner
Strip annotation from query when path is specified in Script Query Runner
2018-01-11 15:05:36 +02:00
Zsolt Kocsmarszky
98d0f05a31 Merge branch 'design/new-data-source+query-editor' of https://github.com/kocsmy/redash into design/new-data-source+query-editor 2018-01-09 22:31:14 +01:00
Zsolt Kocsmarszky
f3014f5291 Further styling fixes 2018-01-09 22:30:23 +01:00
Arik Fraimovich
3a413b53be Fix: embed/edit buttons were not working 2018-01-09 23:18:39 +02:00
Zsolt Kocsmarszky
6ce8883c37 More descriptive button text for edit visualisation 2018-01-09 22:07:25 +01:00
Zsolt Kocsmarszky
ffbf24534f Fix minor styling issues 2018-01-09 18:49:54 +01:00
Zsolt Kocsmarszky
28cc7eaa90 Attach result controls to the bottom of the query page 2018-01-09 18:32:21 +01:00
Zsolt Kocsmarszky
5189e6d3d1 Overwrite instead of writing new code 2018-01-09 17:39:23 +01:00
Zsolt Kocsmarszky
d24a5bdd83 Smaller screen improvements for new data source flow 2018-01-09 15:52:22 +01:00
Zsolt Kocsmarszky
192ddd248b Better required * indication without red color 2018-01-09 15:37:19 +01:00
Zsolt Kocsmarszky
7c4b66b1b5 Rename show / hide source 2018-01-09 14:55:24 +01:00
Arik Fraimovich
cbe76f656f Merge pull request #2204 from mozilla/data-scanned
Report amount of data scanned for Athena queries
2018-01-09 14:56:11 +02:00
Arik Fraimovich
3359ab24af Mark required fields in dynamic forms 2018-01-09 12:57:35 +02:00
Arik Fraimovich
5b938f2c3e Add layouts support. 2018-01-09 12:06:46 +02:00
Jannis Leidel
9f6b4fbdf2 Add full text search for queries based on the Postgres tsvector type. 2018-01-08 22:46:53 +01:00
Arik Fraimovich
55b852f8ee Hide query metadata for unsaved queries 2018-01-08 23:16:08 +02:00
Arik Fraimovich
efede57931 Update org settings layout 2018-01-08 23:14:01 +02:00
Arik Fraimovich
2859c46459 Merge pull request #2205 from sjakthol/redshift-sslmode
Make Redshift sslmode configurable
2018-01-08 11:34:26 +02:00
Zsolt Kocsmarszky
c0fb51f6a5 Multiple styling fixes 2018-01-07 22:53:55 +01:00
Zsolt Kocsmarszky
c1208989a2 Refine logos + the header of 2nd step for adding new data source 2018-01-07 22:22:02 +01:00
Zsolt Kocsmarszky
46061a01c1 Merge branch 'master' into design/new-data-source+query-editor
# Conflicts:
#	package.json
2018-01-07 21:48:56 +01:00
Zsolt Kocsmarszky
a3dec53275 Replacing icons 2018-01-07 21:45:41 +01:00
Arik Fraimovich
ef202e75b9 Close #2159: special tab for your own user profile 2018-01-07 14:13:57 +02:00
Sami Jaktholm
1d188875a9 make Redshift sslmode configurable
This makes it possible to configure Redash to require TLS
and verify the certificate Redshift presents.

The setting works similarly to that of the PostgreSQL source
except that Redshift explicitly passes 'prefer' to psycopg2
if sslmode is not configured (for compatibility).
2018-01-06 21:00:45 +02:00
Allen Short
09d4605635 Report amount of data scanned for Athena queries 2018-01-06 01:08:44 +00:00
Zsolt Kocsmarszky
d1de26ba0c Small screen fixes 2018-01-05 19:22:14 +01:00
Zsolt Kocsmarszky
eb9b3130ee Better aligned and spaced cards 2018-01-05 19:19:00 +01:00
Zsolt Kocsmarszky
9850908ef0 Fixing empty query resize issues 2018-01-05 19:11:05 +01:00
Zsolt Kocsmarszky
f23136542e Remove duplicate datasource selector 2018-01-05 19:04:24 +01:00
Zsolt Kocsmarszky
f6ac9c454c Multiple new data source and alert refinements for layout and styling 2018-01-05 18:45:50 +01:00
Arik Fraimovich
0c05102fe7 Merge pull request #2171 from mayconbordin/salesforce_api_version
Added API version to salesforce query runner
2018-01-05 19:11:35 +02:00
Arik Fraimovich
75af80c126 Merge pull request #2196 from kravets-levko/fix/error-handling
Fix to error handling mechanism: fail only on promise rejections
2018-01-05 19:11:06 +02:00
Arik Fraimovich
2231d1562c Update bootstrap script to use v3. 2018-01-05 18:57:15 +02:00
Zsolt Kocsmarszky
7d16cd2a0c Remove unnecessary classes 2018-01-05 15:22:17 +01:00
Zsolt Kocsmarszky
e29e4bf311 Make org settings layout better 2018-01-05 15:21:50 +01:00
Zsolt Kocsmarszky
f91bc2a505 add athena logo 2018-01-04 23:21:04 +01:00
Arik Fraimovich
ea1334ef6a Make results mode hide query editing parts 2018-01-04 20:51:22 +02:00
Arik Fraimovich
bae4016b3a Remove ng-app directive in query page 2018-01-04 19:10:44 +02:00
Arik Fraimovich
56ffb1f932 Update alert destination to use new design 2018-01-04 17:52:58 +02:00
Arik Fraimovich
3b14958515 Working data source setup pages 2018-01-04 16:12:56 +02:00
Arik Fraimovich
59af40fc30 Switch to dev.redashapp.com as the dev server 2018-01-04 14:23:36 +02:00
Arik Fraimovich
9afd23ab60 Use actual data source types + filtering 2018-01-04 14:23:25 +02:00
Arik Fraimovich
ca893a0e77 Rename db logos to their correct names 2018-01-04 14:22:58 +02:00
Arik Fraimovich
20c3ad2fea Merge branch 'master' into design/new-data-source+query-editor 2018-01-04 13:55:39 +02:00
Arik Fraimovich
6f76aec1e0 Merge pull request #2201 from kocsmy/fixes/fix-unsaved-query-alignment
simplifying the code and fixing alignment issues
2018-01-04 13:15:37 +02:00
Zsolt Kocsmarszky
57aa05f547 simplifying the code and fixing alignment issues 2018-01-04 12:12:02 +01:00
Arik Fraimovich
a6b90445cd Merge pull request #2200 from kocsmy/fixes/filter-headers
Fixing filter headers mixed
2018-01-04 13:02:53 +02:00
Levko Kravets
91d29cbbbe Fix to error handling: CR3 2018-01-04 12:44:51 +02:00
Zsolt Kocsmarszky
33a2271b1a Smaller styling improvements 2018-01-03 22:54:25 +01:00
Zsolt Kocsmarszky
2a3c75976f Refine styling and fixes 2018-01-03 22:33:47 +01:00
Zsolt Kocsmarszky
d8594e7662 Fix misplaced div closing tags 2018-01-03 22:25:09 +01:00
Zsolt Kocsmarszky
7605032eec Fix filters so it'll nicely list 2+ filters 2018-01-03 21:00:15 +01:00
Zsolt Kocsmarszky
7ce815cddb Better alignment 2018-01-03 20:10:18 +01:00
Zsolt Kocsmarszky
4c055c663b fix filter headers and filters on unsaved query alignment 2018-01-03 20:08:43 +01:00
Arik Fraimovich
6a4267abd5 Merge pull request #2199 from kocsmy/fixes/unpublished-query-result-table
bug on query page: if creating new query, table is 100% wide
2018-01-03 20:43:58 +02:00
Arik Fraimovich
bea39343c8 Merge pull request #2198 from washort/change-data-source-query-version
Update query version when changing query data source
2018-01-03 20:42:06 +02:00
Zsolt Kocsmarszky
694115e499 Fix unsaved query table visualisation 2018-01-03 19:35:48 +01:00
Zsolt Kocsmarszky
dc84876d27 Fix fullscreen table to fixed width for unpublished query 2018-01-03 19:26:17 +01:00
Allen Short
07628da64d Update query version when saving new data source 2018-01-03 18:26:09 +00:00
Levko Kravets
aa970a0afb Fix to error handling: CR2 2018-01-03 15:28:15 +02:00
Levko Kravets
effb212e4b Fix to error handling: CR1 2018-01-03 14:00:34 +02:00
Zsolt Kocsmarszky
f687cacbee Revert "Add page-specific class to body for each app page"
This reverts commit e9139748a0.
2018-01-03 12:47:44 +01:00
Zsolt Kocsmarszky
a26dbab28b Merge branch 'master' of https://github.com/getredash/redash into design/new-data-source+query-editor 2018-01-03 12:32:52 +01:00
Zsolt Kocsmarszky
84e65f7165 Merge branch 'master' of https://github.com/getredash/redash 2018-01-03 12:30:48 +01:00
Levko Kravets
dd0ffe3d2c Fix to error handling mechanism: fail only on promise rejections 2018-01-02 14:59:41 +02:00
Arik Fraimovich
bb36ec8664 Merge pull request #2195 from getredash/feature/settings
Allow passing options to tests Docker command.
2018-01-02 13:37:51 +02:00
Arik Fraimovich
2f51df3435 Allow passing options to tests Docker command. 2018-01-02 13:30:06 +02:00
Maycon Bordin
3846cf3269 Added default version for salesforce query runner 2018-01-02 08:17:07 -02:00
Arik Fraimovich
a66ac82a23 Merge pull request #2194 from getredash/feature/settings
Move some of the configuration to the UI
2018-01-02 11:26:29 +02:00
Arik Fraimovich
eb85fc9e5b Merge pull request #2179 from kyoshidajp/add_root_user_command
Feature: Add create root user command
2018-01-02 11:23:56 +02:00
Arik Fraimovich
8d2571cba2 Merge pull request #2187 from kravets-levko/feature/error-handling
Improve error handling mechanism
2018-01-02 11:20:43 +02:00
Arik Fraimovich
93aeae63b7 CodeClimate issue fixes. 2018-01-02 11:13:35 +02:00
Arik Fraimovich
7602599738 Update pysaml2 version to latest release. 2018-01-02 10:48:33 +02:00
Arik Fraimovich
153c0139cd Dynamic organization settings support. 2018-01-02 10:48:22 +02:00
Arik Fraimovich
a6faebb04c Make settings menu dynamic. 2018-01-02 10:43:16 +02:00
Arik Fraimovich
1e156739da Turn settings into a package 2017-12-31 14:39:03 +02:00
Arik Fraimovich
c5e5bb714b Merge pull request #2189 from getredash/feature/settings
Replace Makefile with scripts
2017-12-31 14:35:46 +02:00
Arik Fraimovich
6c4989d8a0 Replace Makefile with scripts 2017-12-31 14:34:41 +02:00
Zsolt Kocsmarszky
4d0a6accc6 More css for better collapse and expand 2017-12-29 18:35:18 +01:00
Zsolt Kocsmarszky
ecc6200aaf Refining styling so resize works nicely 2017-12-29 18:12:30 +01:00
Zsolt Kocsmarszky
3b232d3bcc Fixing resizing issues 2017-12-29 17:14:05 +01:00
Zsolt Kocsmarszky
f258d8086c Add border for editor 2017-12-29 16:38:09 +01:00
Levko Kravets
c9ac9d85e2 getredash/redash#2162 CR2 2017-12-29 11:17:27 +02:00
Levko Kravets
fec92b399a getredash/redash#2162 CR1 2017-12-28 18:39:14 +02:00
Arik Fraimovich
9323a93a8d Merge pull request #2188 from rgjodekerken/master
Fix upgrade script for ci channel
2017-12-28 17:17:04 +02:00
Arik Fraimovich
f75833e5a9 Merge pull request #2166 from kravets-levko/bug/query-page-small-counter
Counter is too small on query page
2017-12-28 17:11:46 +02:00
Richard Odekerken
6307cfb9d7 Fix upgrade script for ci channel 2017-12-28 15:10:45 +00:00
Arik Fraimovich
651d56ad95 Merge pull request #2184 from cloudron-io/ldap_search_dn
rename REDASH_SEARCH_DN to REDASH_LDAP_SEARCH_DN
2017-12-28 16:01:57 +02:00
Arik Fraimovich
055b8eff54 Merge pull request #2175 from bamboo-yujiro/fix_user_form
Fix : User Form displays a incorrect error appearance.
2017-12-27 22:01:15 +02:00
Girish Ramakrishnan
c59e7ea2a5 rename REDASH_SEARCH_DN to REDASH_LDAP_SEARCH_DN 2017-12-27 10:33:08 -08:00
Levko Kravets
1bfea8b493 Improve error handling mechanism (related to getredash/redash#2162) 2017-12-27 16:01:29 +02:00
Zsolt Kocsmarszky
c9d5347658 mobile and spacing fixes 2017-12-27 14:47:58 +01:00
Zsolt Kocsmarszky
58eb08e22a Refine format and other smaller elements 2017-12-27 13:33:00 +01:00
Zsolt Kocsmarszky
52bae5cbe5 Rearrange elements for better UX 2017-12-27 13:08:05 +01:00
Zsolt Kocsmarszky
f2585d1124 Better edit in place and other refinements for rearranged layout 2017-12-27 13:07:48 +01:00
Zsolt Kocsmarszky
635aeb3409 Remove classes 2017-12-27 11:23:46 +01:00
Zsolt Kocsmarszky
e6ec50a4e6 Dynamic forms back live again, extra classes added for better form design 2017-12-27 11:19:19 +01:00
Zsolt Kocsmarszky
3bc5c60907 better data source cars + list view has cards now, too 2017-12-27 11:13:09 +01:00
Zsolt Kocsmarszky
a698cb0484 Pluralize database 2017-12-27 10:53:07 +01:00
Arik Fraimovich
6441c4b52d Merge pull request #2174 from tonyjiangh/feature/add_redshift_view_support
Add redshift late binding view data to schema browser
2017-12-26 21:05:54 +02:00
Arik Fraimovich
ff078485f2 Merge pull request #2165 from tonyjiangh/feature/query_result_exception
Fix unicode handling at query result
2017-12-26 20:59:52 +02:00
Zsolt Kocsmarszky
e925568e3d Further improve smaller screen design 2017-12-26 14:19:18 +01:00
Zsolt Kocsmarszky
db6c8769d4 Further refining code and removing junk 2017-12-26 13:50:46 +01:00
Zsolt Kocsmarszky
3c9f59b055 Adjust button size size so it's consistent 2017-12-26 13:35:03 +01:00
Zsolt Kocsmarszky
0a15986619 Code and styling improvements focusing on xs and sm screen sizes 2017-12-26 13:18:36 +01:00
Zsolt Kocsmarszky
696eefad1a Further cleaning up code 2017-12-26 11:39:42 +01:00
Zsolt Kocsmarszky
708cc26c1d Cleaning up code and properly fall back design on narrower screen for query-metadata 2017-12-26 11:33:52 +01:00
Katsuhiko YOSHIDA
da1f99d846 Add create root user command 2017-12-23 18:04:38 +09:00
bamboo-yujiro
4f814408c7 Retry codeclimate 2017-12-22 11:09:15 +09:00
Hao Jiang
87ce1db3bd Add redshift late binding view data to schema browser 2017-12-21 22:24:31 +09:00
bamboo-yujiro
71e6bf13ff Fix : User Form displays a incorrect error appearance. 2017-12-21 17:52:25 +09:00
Zsolt Kocsmarszky
24188ab1de Perfectly calculated schema-container size, finally 2017-12-21 02:12:46 +01:00
Zsolt Kocsmarszky
e6f8b2c502 Flexible query editor 2017-12-20 23:38:46 +01:00
Levko Kravets
e9139748a0 Add page-specific class to body for each app page 2017-12-20 17:28:42 +02:00
Maycon Bordin
3cfd34a897 Added API version to salesforce query runner and fixed issue when row column value does not exist 2017-12-20 10:00:42 -02:00
Zsolt Kocsmarszky
404000e5fe Add missing elements for new data source screen 2017-12-19 14:08:17 +01:00
Zsolt Kocsmarszky
5441ef429e Fix card sizes 2017-12-19 13:23:48 +01:00
Zsolt Kocsmarszky
1110e65e4a Load all images from images folder 2017-12-19 12:37:08 +01:00
Zsolt Kocsmarszky
9ac5d58b89 flexible layout v0.1 (WIP) 2017-12-18 23:27:08 +01:00
Zsolt Kocsmarszky
0810c2b1e0 Change to narrow layout 2017-12-18 20:03:50 +01:00
Levko Kravets
68f0c368c0 getredash/redash#2129 Counter too small on query page 2017-12-18 15:12:55 +02:00
Zsolt Kocsmarszky
64c69ee009 Foundation for New Data Source layout added 2017-12-17 20:48:25 +01:00
Zsolt Kocsmarszky
e2df12e2a2 Merge branch 'design/query-page-improvements' into design/new-data-source-flow 2017-12-17 19:29:15 +01:00
Zsolt Kocsmarszky
0f31de33e8 General styling improvements 2017-12-17 19:27:54 +01:00
Zsolt Kocsmarszky
d37948f44b Merge branch 'master' into design/new-data-source-flow 2017-12-17 18:37:44 +01:00
Hao Jiang
6e2e2e2060 Fix: unicode handling at query result 2017-12-16 09:55:15 +09:00
Zsolt Kocsmarszky
439cc45ca7 Merge branch 'master' into design/query-page-improvements 2017-12-13 22:14:13 +01:00
Zsolt Kocsmarszky
816c61944e Recreate new 2 column layout 2017-12-13 22:12:45 +01:00
Arik Fraimovich
5ba15ef350 Remove trailing spaces 2017-12-13 11:59:43 +02:00
Arik Fraimovich
30136c4e97 Merge pull request #2148 from kyoshidajp/replace_datetime_strings
Replace invalid date time strings
2017-12-13 11:53:15 +02:00
Arik Fraimovich
1a4d7471f5 Stored parsed moment value. 2017-12-13 11:52:56 +02:00
Arik Fraimovich
1d3c2144c4 Merge pull request #2154 from crooy/master
fixing issue #2150
2017-12-13 11:38:12 +02:00
Arik Fraimovich
fdf35328ac Merge pull request #2152 from bamboo-yujiro/fix_appearance_collapse_of_outdated-queries
Fix: Appearance collapse of outdated-queries.
2017-12-13 11:37:36 +02:00
Zsolt Kocsmarszky
c147d30cb5 Separate Data source panel, freely expanding schema browser, freely expandable query editor, better smaller screen layout 2017-12-12 22:31:52 +01:00
Ronald Crooy
80a74934f0 fixing issue #2150 2017-12-12 11:37:24 +01:00
bamboo-yujiro
a36cc6838b Fix: Appearance collapse of outdated-queries. 2017-12-12 00:58:11 +09:00
Arik Fraimovich
073db37cfd Merge pull request #2136 from doddjc21/patch-1
Update oracle.py
2017-12-11 16:34:42 +02:00
Katsuhiko YOSHIDA
b7b8e56722 Consider value is string case 2017-12-11 20:09:27 +09:00
Zsolt Kocsmarszky
8a11183905 Add data source logos 2017-12-11 00:36:40 +01:00
Katsuhiko YOSHIDA
c045ccabe4 Replace invalid date time strings 2017-12-10 22:46:31 +09:00
Arik Fraimovich
c3cb2cc28b Merge pull request #2126 from getredash/layout_fixes
Layout fixes (mainly schema browser)
2017-12-07 19:45:55 +02:00
Arik Fraimovich
990d32cfa2 Remove unneeded code 2017-12-07 17:14:47 +02:00
Arik Fraimovich
1573e06e71 Merge pull request #2134 from getredash/fix_query_results_download
Fix #68: user can't download query results of a new query
2017-12-07 16:33:59 +02:00
Arik Fraimovich
6bb05106cd Hide shcema browser when it's not relevant 2017-12-07 16:31:34 +02:00
Arik Fraimovich
c1d7e0401f Explict response when schema is not supported (vs just some error loading it) 2017-12-07 16:31:02 +02:00
Arik Fraimovich
604540266a Merge pull request #2135 from kocsmy/fixes/query-tables
Fixes/query tables
2017-12-07 16:14:53 +02:00
Joseph Dodd
4954d1c807 Update oracle.py 2017-12-06 17:51:27 -05:00
Joseph Dodd
45b828e361 Update oracle.py 2017-12-06 17:48:36 -05:00
Joseph Dodd
96e2991650 Update oracle.py 2017-12-06 17:44:49 -05:00
Joseph Dodd
54b1f4219d Update oracle.py 2017-12-06 17:39:51 -05:00
Zsolt Kocsmarszky
3a0ffa53e2 Fix filters spacing on Dashboards 2017-12-06 22:44:34 +01:00
Zsolt Kocsmarszky
7381bd11a0 Fix margin on pagination 2017-12-06 22:28:10 +01:00
Zsolt Kocsmarszky
19bd150e4b Fix pagination 2017-12-06 22:21:33 +01:00
Zsolt Kocsmarszky
e65b023fa7 Make embed query tables width: auto too and apply css flexbox 2017-12-06 22:18:15 +01:00
Zsolt Kocsmarszky
69badf67fc Merge branch 'master' into fixes/query-tables 2017-12-06 21:31:54 +01:00
Zsolt Kocsmarszky
68177d31b3 Fix wide tables on queries and related elements like pagination 2017-12-06 21:30:27 +01:00
Joseph Dodd
808a4c5d72 Update oracle.py
Update Oracle.py to make INSERTS and UPDATES to Oracle databases
2017-12-06 14:55:13 -05:00
Arik Fraimovich
8e668d2e09 Fix #68: user can't download query results of a new query 2017-12-06 18:14:34 +02:00
Arik Fraimovich
868f334471 Merge pull request #2127 from getredash/gravatar
Change default gravatar type
2017-12-06 11:50:14 +02:00
Arik Fraimovich
3f37c347f9 Change default gravatar type 2017-12-06 11:17:59 +02:00
Arik Fraimovich
271e6a56da Merge branch 'kyoshidajp-add_user_image' 2017-12-06 11:12:54 +02:00
Arik Fraimovich
0988e8184a Rebase with latest master 2017-12-06 11:12:16 +02:00
Katsuhiko YOSHIDA
62e5e38926 Rename profile image url column and method 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
dce865356c Set default parameter None as picture 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
7f398a7d7f Allow None as image_url in User model 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
56c364f0a3 Change style name of profile image 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
0b9b6a623e Change size of profile immage in User 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
ea5788f173 Display user image before name to each page 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
4a58b9e944 Add image url as a User field 2017-12-06 09:16:24 +09:00
Arik Fraimovich
18b857363f Handle cases when schema is empty 2017-12-06 00:01:01 +02:00
Arik Fraimovich
f02c0e0b9c Fix: table pagination overlap 2017-12-05 21:53:26 +02:00
Arik Fraimovich
6fc6c67e44 Revert accidental changes to query.html 2017-12-05 18:03:37 +02:00
Arik Fraimovich
2c36563e50 View query link in widget should link to source view 2017-12-05 16:42:27 +02:00
Arik Fraimovich
c9a680b4b7 Consistent size of query editor 2017-12-05 16:42:27 +02:00
Arik Fraimovich
b8543eb2bd Change: query should be first in create menu 2017-12-05 16:41:58 +02:00
Arik Fraimovich
b17794f622 Merge pull request #2124 from kocsmy/fixes/merge-fixes-2017-12-05
Fixes/merge fixes 2017 12 05
2017-12-05 16:40:45 +02:00
Zsolt Kocsmarszky
63e76628cf Fix showing refresh time on public dashboard 2017-12-05 15:34:46 +01:00
Zsolt Kocsmarszky
2567c73dba Add Redash logo to the public dashboard footer 2017-12-05 15:21:59 +01:00
Zsolt Kocsmarszky
9c81b866d5 Fix alert spacing 2017-12-05 15:15:09 +01:00
Zsolt Kocsmarszky
ed7a7d4275 Fix query editor size when schema is there but empty 2017-12-05 15:09:20 +01:00
Arik Fraimovich
bc9bcee064 Merge pull request #2123 from kravets-levko/fix/chart-x-axis-height
Fix: chart x-axis height setting
2017-12-05 15:56:12 +02:00
Levko Kravets
96a73b0c9e getredash/redash#2107 Fix: chart x-axis height setting 2017-12-05 15:37:32 +02:00
Arik Fraimovich
004f550e93 Merge pull request #2113 from kocsmy/design/refinements-2
Design/refinements 2
2017-12-05 14:08:36 +02:00
Zsolt Kocsmarszky
2ef9403516 Merge branch 'master' into design/refinements-2
# Conflicts:
#	client/app/components/dynamic-table/dynamic-table.html
#	client/app/pages/queries/query.html
2017-12-05 13:04:08 +01:00
Zsolt Kocsmarszky
7ac88f91dc Fix height for schema browser 2017-12-05 12:36:42 +01:00
Arik Fraimovich
3d0080a9ca Merge pull request #2120 from negibouze/prevent-remove-self
prevent remove self
2017-12-05 13:28:05 +02:00
Arik Fraimovich
2c39028b8b Merge pull request #2118 from deecay/pie-styling
Change: Pie chart font style
2017-12-05 13:27:41 +02:00
Zsolt Kocsmarszky
06cab14693 Fix layout 2017-12-05 12:12:53 +01:00
板倉義晃
4dd8f8cf84 prevent remove self
The administrator made it impossible to remove him/herself from the
built-in group.
2017-12-05 14:02:46 +09:00
deecay
2be067040e Change: Pie chart font style 2017-12-05 10:42:22 +09:00
ariarijp
ccb20640fe Remove half-baked unit test 2017-12-05 00:27:18 +09:00
Arik Fraimovich
9d7f079d94 Merge pull request #2089 from msumit/Qbol_Support
Add Qubole query runner
2017-12-04 16:31:27 +02:00
Arik Fraimovich
91a2b49f4c Merge pull request #2110 from kravets-levko/feature/table-v2
Table v2
2017-12-04 16:15:56 +02:00
Levko Kravets
6d11e8f57a Table viz: CR3 2017-12-04 16:11:04 +02:00
Levko Kravets
1ca0ac6278 Table viz: CR2 2017-12-04 13:27:32 +02:00
Arik Fraimovich
4cd352599a Add v4 to CHANGELOG. 2017-12-04 11:30:24 +02:00
Zsolt Kocsmarszky
4798361d87 Merge branch 'master' into design/refinements-2 2017-12-03 15:29:14 +01:00
Zsolt Kocsmarszky
08b97d0a4e Hide "Data" text from data source 2017-12-03 15:27:39 +01:00
Levko Kravets
a0d9b94488 Table viz: small fixes 2017-12-03 12:54:34 +02:00
Zsolt Kocsmarszky
7272b9904a Improve visualisation embed design (iframe) so it looks better 2017-12-02 23:59:21 +01:00
Levko Kravets
30833100e5 Table viz: search; CR1 2017-12-02 21:55:36 +02:00
Arik Fraimovich
7974c90042 Merge pull request #2111 from kyoshidajp/upgrade_psycopg2
Upgrade psycopg2 for support PostgreSQL 10.0
2017-12-02 21:22:09 +02:00
Katsuhiko YOSHIDA
f4c4e18bf7 Upgrade psycopg2 latest version 2017-12-02 09:11:43 +09:00
Zsolt Kocsmarszky
ca75eb63c6 Separate Query styling and fix a small issue 2017-12-01 16:50:45 +01:00
Zsolt Kocsmarszky
27458599e8 Turn off link when editing a dashboard + show move cursor so it suggests you can drag the widget with its header and move around 2017-12-01 16:15:39 +01:00
Zsolt Kocsmarszky
1d90f2acad Fix line-height 2017-12-01 16:04:39 +01:00
Zsolt Kocsmarszky
60becaf4c2 Nicer highlights fro query dropdown 2017-12-01 15:46:06 +01:00
Zsolt Kocsmarszky
73af14069d Move view/show query to bottom of its section 2017-12-01 15:39:49 +01:00
Levko Kravets
dc4902a800 Minor fixes 2017-12-01 16:18:51 +02:00
Zsolt Kocsmarszky
ccb440c759 Add ref so we know how many people get to know about Redash through shared dashboards 2017-12-01 15:03:54 +01:00
Zsolt Kocsmarszky
f3633b18e7 Move format back to visible place 2017-12-01 15:00:14 +01:00
Zsolt Kocsmarszky
2b43bd7d28 Fix up fullscreen 2017-12-01 14:59:42 +01:00
Zsolt Kocsmarszky
1beeda6b32 Fix filter spacing and remove inline css 2017-12-01 14:35:49 +01:00
Levko Kravets
ed70002f43 Table viz: code improvements 2017-12-01 15:25:58 +02:00
Zsolt Kocsmarszky
83e1ded008 Merge branch 'master' into design/refinements-2
# Conflicts:
#	client/app/components/filters.html
2017-12-01 14:15:46 +01:00
Levko Kravets
015d0c6edd Table viz: custom cell rendering; JSON cell renderer 2017-12-01 13:40:41 +02:00
Katsuhiko YOSHIDA
e17a1a1378 Upgrade psycopg2 for support PostgreSQL 10.0 as a library 2017-12-01 19:31:05 +09:00
Levko Kravets
8fc3af7bb9 Table viz: editor UI 2017-12-01 07:41:09 +02:00
Zsolt Kocsmarszky
3df9d480a4 Change footer for public dashboards 2017-11-30 21:48:25 +01:00
Levko Kravets
127b45a5b1 Table viz: editor 2017-11-30 21:52:21 +02:00
Levko Kravets
e7d0856831 Table viz: show/hide column, reorder columns, content alignment 2017-11-30 19:30:45 +02:00
Levko Kravets
fb44d32ba3 Table viz: multi-column sort, align data, allow html 2017-11-30 15:52:46 +02:00
ariarijp
736c014d51 Return False from annotate_query instead of strip annotation with regex 2017-11-30 00:43:50 +09:00
Arik Fraimovich
3f30693b74 Merge pull request #2102 from ariarijp/fix/typo_in_settings
Fix typo
2017-11-29 12:26:36 +02:00
Arik Fraimovich
4a06e6266e Merge pull request #2105 from kravets-levko/fix/visualization-filters
Fixes related to filters panel
2017-11-28 16:19:50 +02:00
Levko Kravets
0d1ad21a1b getredash/redash/issues/2103 Fix: unnecessary horizontal scroll; fix: viz overlaps filters panel 2017-11-28 15:01:48 +02:00
Zsolt Kocsmarszky
8e8a63acb9 Fix table styling which sits inside a container and not going full width. Apply this to multiple screens. 2017-11-26 20:36:37 +01:00
Zsolt Kocsmarszky
edbec3f49d Fix last-child padding bottom 2017-11-26 20:17:48 +01:00
Zsolt Kocsmarszky
f2eb225f06 Fix cell padding to fit header padding 2017-11-26 20:13:53 +01:00
Zsolt Kocsmarszky
d0ec1ca68d Further adjust table settings 2017-11-26 20:11:01 +01:00
Zsolt Kocsmarszky
51e6087888 Circle profile pictures on user list 2017-11-26 20:10:48 +01:00
Zsolt Kocsmarszky
50fcd8d34d Adjust table header background color 2017-11-26 19:56:06 +01:00
Zsolt Kocsmarszky
37f27fc29a Adjust table styling 2017-11-26 19:53:11 +01:00
Zsolt Kocsmarszky
690ce521ca Fix spacing for all kind of table (normal, condensed) 2017-11-26 18:08:45 +01:00
Zsolt Kocsmarszky
7cbed96945 Fix pagination margin below dynamic-table 2017-11-26 18:00:04 +01:00
Zsolt Kocsmarszky
baa36c97fb Add to readme 2017-11-26 17:53:42 +01:00
Zsolt Kocsmarszky
6bbd1bf288 Add styling readme 2017-11-26 17:51:51 +01:00
Zsolt Kocsmarszky
12ecd23ceb Add Cantarell to the default font-family 2017-11-26 17:47:20 +01:00
Zsolt Kocsmarszky
b9078a28d4 Refine table styling and improve less organisation 2017-11-26 17:42:56 +01:00
Zsolt Kocsmarszky
8e3c62db83 Fix refreash button size to btn-sm 2017-11-26 17:32:13 +01:00
Zsolt Kocsmarszky
9492ff9444 Fix button margins 2017-11-26 17:16:50 +01:00
Zsolt Kocsmarszky
b0177deda0 Move fork query under dropdown, too and remove redundant text information 2017-11-26 16:54:32 +01:00
Zsolt Kocsmarszky
89592d3e80 Fix padding at no schema sources 2017-11-26 16:51:08 +01:00
Zsolt Kocsmarszky
0a6fc27fdd Rearrange query elements 2017-11-26 16:49:02 +01:00
Zsolt Kocsmarszky
a7ca236903 Change source editor and schema browser 2017-11-26 16:31:42 +01:00
ariarijp
b716e5c23d Fix typo 2017-11-27 00:24:01 +09:00
Zsolt Kocsmarszky
063066dfae Tighten up schema browser 2017-11-26 16:05:46 +01:00
Zsolt Kocsmarszky
5bdb34e451 Fix spacing in filters 2017-11-26 15:47:08 +01:00
ariarijp
f4d0609140 Strip annotation from query when path is specified in Script Query Runner 2017-11-26 23:09:12 +09:00
ariarijp
cb62c10a66 Fix create_db command of docker-entrypoint 2017-11-26 13:26:44 +09:00
Zsolt Kocsmarszky
05cc170ab1 Better organised query editor 2017-11-25 16:36:36 +01:00
Zsolt Kocsmarszky
4540256f3e Add proper styling for parameters 2017-11-25 07:29:22 +01:00
Zsolt Kocsmarszky
3d33ebc916 Tightening up Query editor 2017-11-25 07:29:05 +01:00
Zsolt Kocsmarszky
decc0b8ee8 Fix merge conflicts 2017-11-25 06:29:08 +01:00
Zsolt Kocsmarszky
a488de22c4 Merge branch 'master' into design/refinements-2
# Conflicts:
#	client/app/pages/dashboards/public-dashboard-page.html
2017-11-25 06:27:52 +01:00
Zsolt Kocsmarszky
f835aec980 Adjust top margin 2017-11-25 06:25:06 +01:00
Zsolt Kocsmarszky
5893b68daf Public dashboards: remove navbar and add missing footer 2017-11-25 06:17:56 +01:00
Sumit Maheshwari
660c72e608 Add Qubole query runner 2017-11-24 17:30:08 +05:30
Arik Fraimovich
01cf6de4dc Merge pull request #2098 from kravets-levko/fix/sankey-sunburst
Fixed sunburst/sankey issue with rendering
2017-11-23 18:21:20 +02:00
Levko Kravets
fa460223b7 CR1 2017-11-23 18:13:42 +02:00
Arik Fraimovich
39aeef5486 Merge pull request #2097 from ariarijp/fix/query_results
Handling whitespace characters in Query Results data source
2017-11-23 18:00:31 +02:00
Levko Kravets
4006d72831 getredash/redash#2095 Fixed sunburst/sankey issue with rendering; minor UI fixes 2017-11-23 17:42:03 +02:00
ariarijp
93aa28cdf7 Handling whitespace characters in Query Results data source 2017-11-23 21:46:10 +09:00
Arik Fraimovich
8e8278d05e Merge pull request #2081 from kocsmy/design/refinement
Design/refinement
2017-11-22 18:27:05 +02:00
Arik Fraimovich
3d9d658594 Merge pull request #2087 from yershalom/add_cockraochdb_ds
Added new CockroachDB DS to redash
2017-11-22 18:23:36 +02:00
Arik Fraimovich
9ae1bc3051 Merge branch 'master' into design/refinement 2017-11-22 18:20:17 +02:00
Arik Fraimovich
a9384d3a09 Merge branch 'master' into design/refinement 2017-11-22 18:19:40 +02:00
Arik Fraimovich
9bbce6b06a Merge pull request #2053 from cdessanti/patch-1
SQL Query Runner for MAPD database
2017-11-22 18:15:39 +02:00
Arik Fraimovich
b96ab5eb0e Merge pull request #2048 from arjan/elasticsearch-doc-count-aggregation
Elasticsearch: Collect doc_count field from aggregation
2017-11-22 18:12:59 +02:00
Arik Fraimovich
5b91d97e48 Merge pull request #2043 from jezdez/pytest
Move to pytest since nose is unmaintained.
2017-11-22 18:11:59 +02:00
Arik Fraimovich
9de3e975eb Merge pull request #1985 from miketheman/miketheman/user-email-case-insensitive
Ensure email is case-insensitive
2017-11-22 18:11:07 +02:00
Arik Fraimovich
1b7cc3731c Merge pull request #2092 from jasonsmithj/fix/mysql_query_cancel
Fix doesn't work  mysql query cancel button
2017-11-22 18:00:35 +02:00
Arik Fraimovich
e7fdbee59d Merge pull request #2083 from kravets-levko/feature/responsive-visualizations
Responsive visualizations
2017-11-22 18:00:08 +02:00
jasonsmithj
1e12f70cf4 mysql query cancel 2017-11-22 10:53:25 +09:00
Levko Kravets
0ef04e2839 Rebase CSS changes to LESS 2017-11-21 09:18:17 +02:00
Levko Kravets
24ebd8dc53 CR3 2017-11-21 09:08:09 +02:00
Levko Kravets
4af56bd101 Small CSS fix 2017-11-21 09:08:09 +02:00
Levko Kravets
5faf41a18c CR2: fit counter by height (not by width) 2017-11-21 09:08:09 +02:00
Levko Kravets
485f0e3278 CR1 2017-11-21 09:08:09 +02:00
Levko Kravets
21150ad4ca Counter: fix auto-size 2017-11-21 09:08:09 +02:00
Levko Kravets
059da21280 Chart: fit to container on resize 2017-11-21 09:08:09 +02:00
Levko Kravets
24e7ee51ba Fix: Counter flickering; Map, Counter: disappears in mobile mode 2017-11-21 09:08:09 +02:00
Levko Kravets
584cbea017 Better fix for Map viz 2017-11-21 09:08:09 +02:00
Levko Kravets
1d210c774a Fix visualization previews 2017-11-21 09:08:09 +02:00
Levko Kravets
289aa8561f Some fixes for Map viz 2017-11-21 09:08:09 +02:00
Levko Kravets
d765f6edb6 Some fixes for Table and Pivot viz 2017-11-21 09:08:09 +02:00
Levko Kravets
5f5b95b455 Map viz: constraints and position 2017-11-21 09:08:09 +02:00
Levko Kravets
e57d9f4701 Counter viz: fit text to width 2017-11-21 09:08:09 +02:00
Levko Kravets
b26284933c Allow to specify default size for each visualization type 2017-11-21 09:08:09 +02:00
Zsolt Kocsmarszky
825157a549 Friendlier next and prev arrows 2017-11-20 23:21:26 +01:00
Zsolt Kocsmarszky
961144c3b8 Remove Roboto 2017-11-20 22:20:39 +01:00
Zsolt Kocsmarszky
0abfe19c6a Add newstyle to the soup 2017-11-20 22:15:26 +01:00
Zsolt Kocsmarszky
3c1a756ca3 Merge branch 'master' of https://github.com/getredash/redash
# Conflicts:
#	client/app/config/styles.js
2017-11-20 22:10:31 +01:00
Zsolt Kocsmarszky
7f2328d0a5 Adjust bg-ace and table headers 2017-11-20 21:48:15 +01:00
Arik Fraimovich
457b8d9d8a Merge pull request #2091 from kravets-levko/less2
Convert styles to LESS
2017-11-20 22:35:21 +02:00
Levko Kravets
773e5e6393 Convert styles to LESS 2017-11-20 17:46:37 +02:00
Zsolt Kocsmarszky
dfd2d9ecec Remove uppercase and capitalize table and tab headers 2017-11-20 16:10:10 +01:00
Zsolt Kocsmarszky
a1fdaa998b Revert hiding refresh button, still keep refresh functionality on last refreshed date 2017-11-20 16:03:49 +01:00
Arik Fraimovich
7955a83f1d Add paginator only when there are more than 1 pages 2017-11-20 10:19:54 +02:00
Arik Fraimovich
3af1176e70 Fix: two nav bars on my queries page 2017-11-20 10:11:41 +02:00
Zsolt Kocsmarszky
ab77f00526 Move refresh button under latest refresh time 2017-11-19 21:34:40 +01:00
Zsolt Kocsmarszky
835d417d8d Styling improvements on Query screen 2017-11-19 21:19:36 +01:00
Zsolt Kocsmarszky
895d743ab6 Fix description hover 2017-11-19 21:01:10 +01:00
Zsolt Kocsmarszky
68404b8dd3 Styling refinement 2017-11-19 20:44:38 +01:00
Zsolt Kocsmarszky
5b19efdb73 Layout fix for System Status 2017-11-19 20:17:11 +01:00
Zsolt Kocsmarszky
86fc099873 Clean up admin page markup 2017-11-19 17:54:46 +01:00
Zsolt Kocsmarszky
819b109dde Remove uppercase from tab header so it looks friendlier 2017-11-19 17:41:16 +01:00
Zsolt Kocsmarszky
334289b81c Add system fonts as default and simplify the code 2017-11-19 17:38:18 +01:00
Zsolt Kocsmarszky
e64832867e Better organised stylesheet for easier maintainability + an IE fix 2017-11-19 17:14:49 +01:00
Zsolt Kocsmarszky
c3ca2e2ec1 Small improvement on widget styling 2017-11-18 21:02:50 +01:00
Zsolt Kocsmarszky
1115f2a702 Add missing tiled class 2017-11-18 20:16:59 +01:00
Zsolt Kocsmarszky
0b0762f10c Improved pagination 2017-11-18 19:57:45 +01:00
Zsolt Kocsmarszky
f423e0c030 Remove fancy input hover animation 2017-11-18 19:40:07 +01:00
Shalom Yerushalmy
8da40077fa Added one line for pep8 convention 2017-11-16 09:46:52 +02:00
Shalom Yerushalmy
dbf7c90ebc Added new CockroachDB DS to redash 2017-11-16 09:41:02 +02:00
Arik Fraimovich
ff0f5a0dfd Merge pull request #2082 from deecay/pie-subplot-title
Add: Pie chart subplot title
2017-11-15 23:44:33 +02:00
Arik Fraimovich
b702299067 Version bump. 2017-11-15 23:10:56 +02:00
Zsolt Kocsmarszky
a751c03fca Fixing Firefox issues and fine-tuning smaller details 2017-11-14 22:38:31 +01:00
Zsolt Kocsmarszky
1c926830a8 Styling refinements 2017-11-14 21:34:34 +01:00
Zsolt Kocsmarszky
dc8e8b70c5 Hide username on smaller screens + move Query Snippets and hide divider for users 2017-11-14 21:34:11 +01:00
Zsolt Kocsmarszky
315e77b7dd Cleanup settings/user and remove unnecessary tabs 2017-11-14 21:32:53 +01:00
Zsolt Kocsmarszky
c510b35b16 Add tiled class and adjust layout 2017-11-14 21:32:22 +01:00
Zsolt Kocsmarszky
2c2c626c42 Smaller layout, grid and styling fixes 2017-11-13 21:24:43 +01:00
Zsolt Kocsmarszky
fa7eaaebcd remove redundant buttons from home 2017-11-13 21:24:17 +01:00
Zsolt Kocsmarszky
4ed9e01091 Smaller improvements 2017-11-13 21:03:50 +01:00
Zsolt Kocsmarszky
40a83f3579 Fancy caret is only for nav 2017-11-13 20:57:27 +01:00
Zsolt Kocsmarszky
af90928552 Better styling for navigation 2017-11-13 20:48:28 +01:00
Zsolt Kocsmarszky
bf6687352a Unify headers 2017-11-13 20:18:57 +01:00
Zsolt Kocsmarszky
dce64cfdb3 Fix settings container 2017-11-13 19:08:01 +01:00
Zsolt Kocsmarszky
a26195848a Further refine navbar markup and styling 2017-11-13 17:07:59 +01:00
Zsolt Kocsmarszky
43bf4b1cc8 Major navigation refinement 2017-11-13 16:29:09 +01:00
Zsolt Kocsmarszky
9420d2683e Drop 'Updated:' prefix 2017-11-13 15:38:34 +01:00
Zsolt Kocsmarszky
c67e9e3ff5 Further simplify navigation 2017-11-13 15:28:21 +01:00
Zsolt Kocsmarszky
3e7e06d4b4 Add time icon next to updated time 2017-11-13 14:33:50 +01:00
deecay
539cbf4ffc Add: Pie chart subplot title 2017-11-13 01:59:30 +09:00
Zsolt Kocsmarszky
30003297d4 Refine positions for nav new button and logo 2017-11-10 00:22:34 +01:00
Zsolt Kocsmarszky
f9e416a5dd Massive styling refinement 2017-11-09 23:39:53 +01:00
Zsolt Kocsmarszky
727674673e Make Edit/New dashboard modal more obvious 2017-11-09 23:39:31 +01:00
Zsolt Kocsmarszky
b57f78155c Add container for Settings to resolve vertical scroll issue 2017-11-09 23:39:03 +01:00
Zsolt Kocsmarszky
e9b05ad2fd Massive navigation refinement 2017-11-09 23:38:14 +01:00
Zsolt Kocsmarszky
ea7b09d18e Add extra classes for widget elements for easier styling 2017-11-09 23:37:52 +01:00
Zsolt Kocsmarszky
30dc3d779c consistent footer templates 2017-11-09 23:37:21 +01:00
Zsolt Kocsmarszky
0d638cbe4a Better page title so you know where you are and what you're doing 2017-11-09 23:35:49 +01:00
Zsolt Kocsmarszky
92820872a2 Add missing container + remove container from the middle so the layout works better 2017-11-09 23:35:17 +01:00
Zsolt Kocsmarszky
590b7d66b6 Remove unnecessary row class that messes up the layout 2017-11-09 23:34:40 +01:00
Zsolt Kocsmarszky
dfef594f2e Add extra class for easier styling + remove unnecessary h3 around the top right area (bc it messes up everything with h3's margins) 2017-11-09 23:34:04 +01:00
Zsolt Kocsmarszky
4dad07e329 Change order, so All queries comes first on the tabs 2017-11-09 23:32:31 +01:00
Zsolt Kocsmarszky
90fbb3d94e Move global style out from local file 2017-11-09 23:32:04 +01:00
Zsolt Kocsmarszky
3079917527 Collapse section for profile 2017-11-09 23:31:34 +01:00
Zsolt Kocsmarszky
e84e866220 Collapse change password section by default 2017-11-09 23:30:51 +01:00
Zsolt Kocsmarszky
dd4db4be28 Re-align footer so it feels simpler 2017-11-09 23:30:24 +01:00
Zsolt Kocsmarszky
3f609981b7 Re-organise individual user setting screens into one page 2017-11-09 18:54:07 +01:00
Arik Fraimovich
6eca14e441 Merge pull request #2062 from kravets-levko/feature/dashboard-editor
Add: flexible dashboard layout
2017-11-08 11:09:03 +02:00
Levko Kravets
54ade336f5 CR3 2017-11-08 11:06:53 +02:00
Levko Kravets
627dc26004 In editing mode hide menu button and show remove button instead 2017-11-07 16:31:24 +02:00
Levko Kravets
1bb7cc0ad6 Fix: widget menu not visible on small widgets 2017-11-07 15:55:16 +02:00
Levko Kravets
18b4c3eff8 Fix widget auto-height behaviour 2017-11-07 15:46:24 +02:00
Levko Kravets
43bf051d51 Cleanup CSS 2017-11-07 10:41:29 +02:00
Levko Kravets
bbcbb3edc6 CR2 2017-11-06 21:52:23 +02:00
Levko Kravets
8bb9a1a53e CR1 2017-11-06 21:50:11 +02:00
Levko Kravets
6a7d2291b4 getredash/redash#335 Better dashboard editor 2017-11-06 21:50:11 +02:00
Arjan Scherpenisse
87c705e5c8 Make the doc_count column integer 2017-10-30 09:07:03 +01:00
Candido Dessanti
825fff5fe1 Update mapd.py 2017-10-25 07:18:25 +02:00
Candido Dessanti
abda68380e Update mapd.py 2017-10-25 07:11:05 +02:00
cdessanti
886a5eff43 added python driver of Mapd database
the other packages need will be added as deps when pymapd is installed
2017-10-24 18:25:33 +02:00
cdessanti
c3e19858b5 added mapd.py to default query runners 2017-10-24 18:20:31 +02:00
cdessanti
b9d9bcc0be Create mapd.py
query runner to catalog and access to mapd database
2017-10-24 17:58:38 +02:00
Mike Fiedler
45a6651aaf Rename class, guard against calling lower() on None
Signed-off-by: Mike Fiedler <miketheman@gmail.com>
2017-10-22 07:53:38 -04:00
Arjan Scherpenisse
4b9e4593c8 Elasticsearch: Collect doc_count field from aggregation 2017-10-21 07:36:02 +02:00
Jannis Leidel
45aad4bdbc Move to pytest since nose is unmaintained. 2017-10-18 13:51:09 +02:00
Mike Fiedler
be232543d6 Use a custom EmailType/CaseInsensitiveComparator
sqlalchemy doesn't appear to have a case sensitive column, so we craft a
type that can have the semantics of case insensitive comparison.

Ref http://docs.sqlalchemy.org/en/rel_1_1/orm/extensions/hybrid.html#building-custom-comparators

Signed-off-by: Mike Fiedler <miketheman@gmail.com>
2017-10-10 18:32:00 -04:00
Mike Fiedler
9076715d84 Ensure email is case-insensitive
While RFC 5321 alows for the username/mailbox art of the address to be
case-sensitive, it is hightly discouraged.

    The local-part of a mailbox MUST BE treated as case
    sensitive. Therefore, SMTP implementations MUST take care to
    preserve the case of mailbox local-parts. In particular, for
    some hosts, the user "smith" is different from the user
    "Smith". However, exploiting the case sensitivity of mailbox
    local-parts impedes interoperability and is discouraged.
    Mailbox domains follow normal DNS rules and are hence not
    case sensitive.
    -- https://tools.ietf.org/rfc/rfc5321.txt

Signed-off-by: Mike Fiedler <miketheman@gmail.com>
2017-10-10 17:49:50 -04:00
499 changed files with 29638 additions and 18281 deletions

126
.circleci/config.yml Normal file
View File

@@ -0,0 +1,126 @@
version: 2.0
jobs:
unit-tests:
environment:
COMPOSE_FILE: .circleci/docker-compose.circle.yml
COMPOSE_PROJECT_NAME: redash
docker:
- image: circleci/buildpack-deps:xenial
steps:
- setup_remote_docker
- checkout
- run:
name: Build Docker Images
command: |
set -x
docker-compose up -d
sleep 10
- run:
name: Create Test Database
command: docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests;"
- run:
name: Run Tests
command: docker-compose run --name tests redash tests --junitxml=junit.xml tests/
- run:
name: Copy Test Results
command: |
mkdir -p /tmp/test-results/unit-tests
docker cp tests:/app/coverage.xml ./coverage.xml
docker cp tests:/app/junit.xml /tmp/test-results/unit-tests/results.xml
- store_test_results:
path: /tmp/test-results
- store_artifacts:
path: coverage.xml
build-tarball:
docker:
- image: circleci/node:8
steps:
- checkout
- run: npm install
- run: npm run build
- run: .circleci/update_version
- run: .circleci/pack
- store_artifacts:
path: /tmp/artifacts/
build-docker-image:
docker:
- image: circleci/buildpack-deps:xenial
steps:
- setup_remote_docker
- checkout
- run: .circleci/update_version
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t redash/redash:$(.circleci/docker_tag) .
- run: docker push redash/redash:$(.circleci/docker_tag)
integration-tests:
working_directory: ~/redash
machine: true
environment:
REDASH_SERVER_URL : "http://127.0.0.1:5000/"
DOCKER_IMAGE: mozilla/redash-ui-tests
steps:
- checkout
- run:
name: Install Docker Compose
command: |
set -x
pip install --upgrade pip
pip install docker-compose>=1.18
docker-compose --version
- run:
name: Pull redash images
command: |
set -x
docker-compose -f docker-compose.yml up --no-start
sleep 10
- run:
name: Pull redash-ui-tests
command: docker pull "${DOCKER_IMAGE}":latest
- run:
name: Setup redash instance
command: |
set -x
docker-compose run --rm --user root server create_db
docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests"
docker-compose run --rm --user root server /app/manage.py users create_root root@example.com "rootuser" --password "IAMROOT" --org default
docker-compose run --rm --user root server /app/manage.py ds new "ui-tests" --type "url" --options '{"title": "uitests"}'
docker-compose run -d -p 5000:5000 --user root server
docker-compose start postgres
docker-compose run --rm --user root server npm install
docker-compose run --rm --user root server npm run build
- run:
name: Run tests
command: |
set -x
docker run --net="host" --env REDASH_SERVER_URL="${REDASH_SERVER_URL}" "${DOCKER_IMAGE}"
- store_artifacts:
path: report.html
workflows:
version: 2
integration_tests:
jobs:
- integration-tests:
filters:
branches:
only: master
build:
jobs:
- unit-tests
- build-tarball:
requires:
- unit-tests
filters:
tags:
only: /v[0-9]+(\.[0-9\-a-z]+)*/
branches:
only:
- master
- release
- build-docker-image:
requires:
- unit-tests
filters:
branches:
ignore: /.*/
tags:
only: /v[0-9]+(\.[0-9\-a-z]+)*/

View File

@@ -0,0 +1,22 @@
version: '2'
services:
redash:
build: ../
command: manage version
depends_on:
- postgres
- redis
ports:
- "5000:5000"
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
redis:
image: redis:3.0-alpine
restart: unless-stopped
postgres:
image: postgres:9.5.6-alpine
command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF"
restart: unless-stopped

5
.circleci/docker_tag Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
VERSION=$(jq -r .version package.json)
FULL_VERSION=$VERSION.b$CIRCLE_BUILD_NUM
echo $FULL_VERSION

9
.circleci/pack Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
NAME=redash
VERSION=$(jq -r .version package.json)
FULL_VERSION=$VERSION+b$CIRCLE_BUILD_NUM
FILENAME=$NAME.$FULL_VERSION.tar.gz
mkdir -p /tmp/artifacts/
tar -zcv -f /tmp/artifacts/$FILENAME --exclude="optipng*" --exclude=".git*" --exclude="*.pyc" --exclude="*.pyo" --exclude="venv" --exclude="node_modules" *

5
.circleci/update_version Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
VERSION=$(jq -r .version package.json)
FULL_VERSION=$VERSION+b$CIRCLE_BUILD_NUM
sed -ri "s/^__version__ = '([A-Za-z0-9.-]*)'/__version__ = '$FULL_VERSION'/" redash/__init__.py

View File

@@ -1,5 +1,9 @@
[run]
branch = True
source = redash
[report]
omit =
*/settings.py
*/python?.?/*
*/site-packages/nose/*
show_missing = True

View File

@@ -1,11 +1,21 @@
Welcome to Redash's GitHub repo! 👋🎉
<!--
#####################################################################
#
# Need support? USE THE FORUM! https://discuss.redash.io/c/support.
#
# Don't have steps to reproduce and actually not sure it's a bug?
# Use the forum! https://discuss.redash.io/c/support.
#
#####################################################################
Do you need help or have a question? Checkout the Support category in our discussion forum: https://discuss.redash.io/c/support.
Got an idea for a new feature? Check if it isn't on the roadmap already: http://bit.ly/redash-roadmap and start a new discussion in the features category: https://discuss.redash.io/c/feature-requests 🌟.
**Got an idea for a new feature?** Check if it isn't on the roadmap already: http://bit.ly/redash-roadmap and start a new discussion in the features category: https://discuss.redash.io/c/feature-requests 🌟.
Found a bug? Please fill out the sections below... thank you 👍
Found a security vulnerability? Please email security@redash.io to report any security vulnerabilities. We will acknowledge receipt of your vulnerability and strive to send you regular updates about our progress. If you're curious about the status of your disclosure please feel free to email us again. If you want to encrypt your disclosure email, you can use this PGP key.
-->
### Issue Summary
A summary of the issue and the browser/OS environment in which it occurs.

5
.github/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
# https://github.com/behaviorbot/request-info?installation_id=189571
requestInfoLabelToAdd: needs-more-info
requestInfoReplyComment: >
We would appreciate it if you could provide us with more info about this issue/pr!

6
.gitignore vendored
View File

@@ -1,7 +1,12 @@
.venv
venv/
.cache
.coverage.*
.coveralls.yml
.idea
*.pyc
.coverage
coverage.xml
client/dist
.DS_Store
celerybeat-schedule*
@@ -18,3 +23,4 @@ node_modules
.tmp
.sass-cache
npm-debug.log

View File

@@ -1,6 +1,352 @@
# Change Log
## v3.0.0 - UNRELEASED
## v5.0.0 - 2018-09-21
Final release for V5. Most of the changes were already in the beta release of V5, but this includes several fixes along
with UI improvements.
🙏 Thanks to @arikfr, @jezdez, @kravets-levko, @alison985, @kocsmy, @yossi-a, @tdsmith, @nasmithan, @jrbenny35, @sjakthol, @ariarijp and @combineads who contributed to this release.
### Security
* Fix: don't expose Google OAuth client secret. @arikfr
### Changed
* Improve mobile rendering of dashboards and queries. @kocsmy
* UI improvements for favorites and empty state. @arikfr
* Remove unnecessary X at the end of the query search. @kocsmy
* Add server-side sorting to dashboard list. @jezdez
* Sort queries in descending order. @jezdez
* Throw error when non-owner tries to add a user to dashboard permissions. @alison985
* Propagate query execution errors from Celery tasks properly. @alison985
* Reload the route when using the app header search input. @jezdez
### Fixed
* Fix: BigQuery default location is null and not US. @arikfr
* Fix: query embeds are broken. @arikfr
* Fix: typo in Celery log foramt. @ariarijp
* Use QuerySerializer in outdated queries list. @jezdez
* Fix: sometimes widgets are getting zero height. @kravets-levko
* Athena: Switch to simple_json to serialize NaN/Infinity values as nulls. @kravets-levko, @jezdez
* Fix: queries with parameters with no value breaking the scheduler. @arikfr
* Fix: MongoDB query results parser didn't support unicode keys. @arikfr
* Fix: Google Analytics schema wasn't loading in some cases. @arikfr
* Fix: date/time parameters not working as global param @kravets-levko.
* Fix: Widgets crumble when trying to move / resize a widget. @kravets-levko
* Fix: handling rows with "length" field with forOwn method. @yossi-a
* Fix: query selection not working on alert page. @sjakthol
* Fix: query_results for Embedded Parameters (removed deprecated to_dict function). @nasmithan
* Fix: unicode not supported in dashboard search. @combineads
* Fix: unicode not supported in users search. @arikfr
### Other
* Add test for using saved parameters in scheduled queries. @alison985
* Minor code smell cleanup. @jezdez
* Update QueryResultListResource docstring. @tdsmith
* Switch to CirlceCI 2.0 @jrbenny35, @arikfr
* Remove unnecessary init methods. @jezdez
## v5.0.0-Beta - 2018-08-06
This is the first beta of the V5 release (and hopefully the last one). This version includes a lot of exciting new additions along with bug fixes and other changes.
Some notable changes:
* Extensive work on parameters UI:
* New Date Range parameter type.
* UI for creating new parameters.
* Support for Now/Today as default value of date/time parameter.
* Tagging and favorites ⭐️ support for queries and dashboards.
* Users list page was improved (search, additional information) and you can now disable users.
* Query editor improvements: additional keyboard shortcuts and support for searching in query text.
* Visualizations improvements: option to select colors of pie chart sectors, X Axis type auto detect and option to format values, labels and tooltips.
* Data Sources:
* Support for Yandex Metrika and AppMetrika.
* BigQuery: location property support and schema will load all tables now.
* Elasticsearch: stop sending source_content_type parameter which wasn't supported in older versions.
* Started migrating the frontend codebase to React.
And much more!
🙏 Thanks to @kravets-levko, @arikfr, @ariarijp, @alison985, @kyoshidajp, @kocsmy, @denisov-vlad, @deecay, @yuua, @emtwo, @Pablohn26, @sieben, @atharvai, @matsumo, @tdawber, @innovia, @gabrieldutra, @coreyhuinker, @maxv, @sjakthol, @mtrbean and @washort who contributed to this release!
### Added
* #2712: Date/Time Range parameter type (@kravets-levko)
* #2482: Add support for ChatWork Alert Destination. (@matsumo)
* #2678: Explicit "Add Parameter" Button in Query Editor. (@kravets-levko)
* #2513: Add location property to BigQuery data source settings. (@kyoshidajp)
* #2616: Pie chart: support setting pie chart sector colors. (@kravets-levko)
* #2697: Date/Time parameters: support for "Now" as default value. (@kravets-levko)
* #2693: Enable search function in Query Editor. (@arikfr)
* #2573: Tagging and favorites for Queries and Dashboards (@arikfr)
* #2640: Keyboard shortcut to collapse query editor/schema browser (@kravets-levko)
* #2674: Add support for the Chrome Logger extension (@arikfr)
* #2653: Add redash db size to status page (@alison985)
* #2669: Store Athena query id with result metadata (@tdawber)
* #2546: Configuration for incorporating React components (@washort)
* #2533: New datasource: Yandex Metrika & AppMetrika (@denisov-vlad)
* #2536: Chart: formats for values, labels and tooltips (@kravets-levko)
* #2560: Introduce Policy object (@arikfr)
* #2380: Admin should be able to disable a user (@kravets-levko)
* #2509: Show custom date format on settings page (@kyoshidajp)
### Changed
* #2715: Improve users list page (@arikfr)
* #2710: Update Ant variables to fit Redash's style (@kocsmy)
* #2709: Move format button next Add New Param button. (@arikfr)
* #2664: Dashboard shows a spinner when query failed to load (@kravets-levko)
* #2626: Show real status when loading cached query result (@kravets-levko)
* #2663: Set column name implicitly when column name is blank (@ariarijp)
* #2695: Improve Date/DateTime type parameters (@kravets-levko)
* #2694: Block users with disposable email addresses (@arikfr)
* #2687: YAML: changed load to safe_load (@denisov-vlad)
* #2514: Update value parsing for google spreadsheets source (@atharvai)
* #2570: fixes query pagination alignment (@alison985)
* #2584: keep query result pagination out of scroll (@alison985)
* #2647: Improve Script Query Runner (@ariarijp)
* #2583: Query header improvements on widgets (@kocsmy)
* #2671: Save some space (@kocsmy)
* #2658: delaying schema filtering to improve responsiveness (@alison985)
* #2648: Update datasource documentation links (@Pablohn26)
* #2613: Improve Script Query Runner (@ariarijp)
* #2619: data source sort case insensitive (@alison985)
* #2604: Improve Google Spreadsheets Query Runner (@ariarijp)
* #2542: Closes #2541: x-axis improvements. (@emtwo)
* #2590: Remove redundant variables (@ariarijp)
* #2585: Show data only mode: allow to add and delete visualizations (@kravets-levko)
* #2549: Allow get_tables to see views and v10-style partitioned tables (@coreyhuinker)
* #2568: sort datasources alphabetically (@alison985)
* #2444: feat: show error if saml response cannot be parsed (@sjakthol)
* #2554: Display name to be delete (@kyoshidajp)
* #2510: Display confirmation dialog when deleting a item (@kyoshidajp)
* #2518: Design improvements (@kocsmy)
* #2520: Filter data sources in a data source input area (@kyoshidajp)
### Fixed
* #2722: Elasticsearch: Don't send source_content_type parameter. (@arikfr)
* #2719: Remove closing input tags (@maxv)
* #2458: Get all tables in the BigQuery (@kyoshidajp)
* #2698: Make sure we return distinct data source values (@arikfr)
* #2315: Fix: pyHive type matches (@yuua)
* #2638: Dashboard stops rendering when adding widget with empty query (@kravets-levko)
* #2610: Fix export query results output file name (@gabrieldutra)
* #2574: commit query result to db before evaluating alerts (@mtrbean)
* #2580: add break-word wrap to add/edit text box on dashboard (@alison985)
* #2578: Fix connection error when you run "create_tables" (@ariarijp)
* #2572: remove extra menu line if query is archived (@alison985)
* #2526: Fix pivot hide control in dashboards (@deecay)
* #2511: Fixing signed_out.html template (@kocsmy)
* #2523: Frontend: fix boolean field with null value display as null. (@innovia)
### Other
* #2682: Add Zeit's now support to have preview builds for every PR (@arikfr)
* #2668: Upgrade bootstrap script to Redash 4.0.1 (@ariarijp)
* #2639: Add tests for SpreadSheets (@ariarijp)
* #2635: Add tests for Query Results (@ariarijp)
* #2537: Remove trailing semicolon (@sieben)
## v4.0.1 - 2018-05-02
### Added
- Log user's screen resolution. @arikfr
### Changed
- [Redshift] fix the order of columns in the schema browser. @akiray03
- Improve dashboard refresh UX: show previous data while refreshing. @arikfr
### Fixed
- Disable fork button to view_only users. @tonyjiangh
- Hide overflowing data source and alert destination names. @kocsmy
- Login pages were broken on mobile. @kocsmy
- Cohort visualization wasn't rendering if value wasn't properly detected as date. @kravets-levko
- Dashboard filters setting wasn't persisting. @arikfr
- Display nulls and empty values as blank in table numeric fields. @chriszs
- Date column on alerts page is labeled "Created By". @dbravender
- Bootstrap script was breaking due to incompatability with pip 10. @ariarijp
### Other
- Updated README. @kocsmy
## v4.0.0 - 2018-04-16
### Added
- MatterMost alert destination. @alon710
- Full screen view on map visualizations. @deecay
- Choropleth map visualization 🗺. @kravets-levko
- Report Celery queue size. @arikfr
- Load dashboard refresh rate from URL. @arikfr
- Configuration for query refresh intervals. @arikfr
### Changed
- TreasureData: improve query failure message. @toru-takahashi
- Update botocore version (fixes an issue with loading Athena tables). @arikfr
- Changed Map visualization name to "Map (Markers)" to distinguish from the Choropleth one. @arikfr
- Use MongoClient for ReplicaSet connections. @fmy
- Update pymongo version to support newer MongoDB versions. @arikfr
- Changed "his" to "their" in user creation form success message. @tnetennba3
- Show friendly names in dynamic forms labels. @arikfr
- Render safe HTML by default in tables to remain backward compatible. @arikfr
- Apply time limit to alert status checking task. @arikfr
- Plotly: increase Y value accuracy. @arikfr
- close metadata database connection early in the execute query Celery task. @arikfr
### Fixed
- Query page layout gets messed up when clicking on "cancel" in "Do you want to leave this page?" dialog. @kravets-levko
- docker-entrypoint broke for other database names than "postgres". @valentin2105
- (BigQuery) UDF URI was used even if empty. @arikfr
- Show correct Box Plot chart hover data. @deeccay
- Fork button shows in data only view, but not working. @arikfr
- Saving widget sends too much data to the server, sometimes making dashboard save fail. @arikfr
- DynamoDB: always return counter as a number rather than string. @arikfr
- MSSQL: UUID fields were detected as booleans. @arikfr
- The whole dashboard page reloads when clicking on refresh. @arikfr
- Line chart with category x-axis: when some values missing, wrong hints displayed on hover. @kravets-levko
- Second Y-axis not displayed when stacking enabled. @kravets-levko
- Widget with empty contents had extra 40px of white space (paddings of container). @kravets-levko
- Add scrollbars to pivot table widgets. @kravets-levko
- Multiple performance, usability and auto-height related fixes to the dashboard rendering engine (also switched to GridStack). @kravets-levko
- Login form missing on LDAP logging page. @idalin
- Empty state: show connect data source link only to admins. @arikfr
- Dashboard "dancing" widgets (when auto-height enabled). @kravets-levko
### Other
- Webpack: ignore vim swap files. @deecay
## v4.0.0-rc.1 - 2018-03-05
### Added
- Configuration for query refresh intervals.
- [Prometheus] Support for range queries. @jubel-han
- Extensions system based on Python entrypoints. @jezdez
- Funnel visualization. @tonyjiangh
- UI to edit allowed Google OAuth domains. @arikfr
- Empty state for homepage, alerts, queries and dashboards pages. @kocsmy, @arikfr
### Changed
- Maintain widget's auto-height state until it's been resized by the user. @kravets-levko
- Change default table viz width from 4 to 3 columns. @kravets-levko
- When saving dashboard adding or removing widgets, save only modified widgets (with changed size and/or position). @kravets-levko
- Don't allow disabling Password based login if no SSO is enabled. @arikfr
- Always show login page, even if password based login disabled. @arikfr
- Upgrade `sqlparse` to 0.2.4. @ariarijp
- Make sure datetime/number columns in table visualization don't wrap. @kravets-levko
- Explicitly set order of tabs in settings page. @kravets-levko
- User can no longer change the type of a saved visualization. @kravets-levko
- Update docker-compose.yml to restart postgres/redis containers `unless-stopped`. @benmanns
- New default colors for chart visualizations. @kocsmy
- Updated design of all the authentication pages (login, forgot password, etc). @kravets-levko
### Fixed
- Glue schemas with more than 100 tables were showing only first 100 tables. @jezdez
- Long visualizations dind't render scrollbars on some browsers. @kravets-levko
- When the dataset was returning some columns name as non strings, table couldn't be rendered. @kravets-levko
- Missing logos for Prometheus and Snowflake. @kocsmy
- Render correct link to LDAP login on login page. @arikfr
- Sort widgets by column/row to make sure they are placed correctly. @arikfr
- Public dashboards were not rendered due to Javascript error. @kravets-levko
## v4.0.0-beta - 2018-02-14
### Added
- Massive update to the UI/UX of the whole application. @kocsmy, @kravets-levko, @arikfr
- Flexible dashboard layout: resize widgets both vertically and horizonally. @kravets-levko
- Configuration and new options for the table visualization. @kravets-levko
- API to return internal usage events. @arikfr
- Add an option to set a common prefix to the backend logs. @arikfr
- [MongoDB] support nested fields in results. @arikfr
- Cohort visualization: add options and fix rendering logic. @kravets-levko
- Table visualization: `URL` column type. @kravets-levko
- Table visualization: `Image` column type. @kravets-levko
- [BigQuery] show amount of data scanned. @arikfr
- Make dashboard refresh intervals configurable. @arikfr
- Button to insert table/column name from schema into the query text. @kravets-levko
- [Athena] show amount of data scanned. @washort
- [Salesforce] Add setting to set the API version. @mayconbordin
- UI for configuration options (auth, date format, etc). @arikfr
- CLI command to create the root user. @kyoshidajp
- [Redshift] support for loading late binding views in schema browser. @tonyjiangh
- Show user's profile picture and load it from Google when using Google OAuth. @kyoshidajp
- CockroachDB query runner. @yershalom
- MAPD query runner. @cdessanti
- Pie chart: show subplot titles. @deecay
### Changed
- Make trusted header authentication compatible with multiorg mode. @sjakthol
- Update AWS RDS certificate bundle. @arikfr
- Add Prometheus to the default query runners list. @arikfr
- [Athena] update botocore version to support Glue. @arikfr
- Support for quotes passwords in the Redis and Postgres connection URLs. @javier-sanz
- Change the way static assets are served. @arikfr
- [BigQuery] Properly handle RECORD fields in schema (show the nested fields). @arikfr
- Upgrade to Celery 3.1.25 in preparation to Celery 4. @jezdez
- Remove loading indicator when updating query parameter value (before executing). @kravets-levko
- Improvements to the chart visualization (see #2156 for details). @kravets-levko
- Start searching for queries immediately instead of waiting for 3 characters. @kyoshidajp
- Make all references to Elasticsearch be properly capitalized. @kakakakakku
- Use PostgreSQL's FTS/tsvector type for query searches. @jezdez
- [Redshift] Make sslmode configurable. @sjakthol
- Allow passing options to tests Docker command. @arikfr
- Improve error handling mechanism and make error pages friendlier. @kravets-levko, @kocsmy, @arikfr
- Make LDAP settings names more consistent. @gramakri
- [Oracle] support for non SELECT queries. @doddjc21
- Admin can no longer remove themselves from the built-in groups. @negibouze
- Update pie charts font style. @deecay
- Upgrade psycopg2 for support PostgreSQL 10.0. @kyoshidajp
- Convert all stylesheets to LESS. @kravets-levko
- [Elasticsearch] Collect doc_count field from aggregation. @arjan
- Switch to pytest. @jezdez
- Ensure email is case-insensitive. @miketheman
- [Redshift] change default SSL mode to prefer. @arikfr
- Return Redis memory usage in bytes for easier monitoring. @kakakakakku
- create_db command in docker-entrypoint waits for Postgres to become available first. @ariarijp
- [Elasticsearch] set source_content_type on ES queries to support Elasticsearch 6.0. @alexdrans
- Show `-` instead of `Invalid Date` for null values given to `dateTime` filter. @kyoshidajp
### Fixed
- Parameters list was resetting when adding a new parameter. @arikfr
- Don't escape values in non-html columns. @kravets-levko
- Commit SAML user group assignment to the database. @sjakthol
- Update correct settings in SAML settings form. @sjakthol
- Fix Google OAuth login in MULTIORG mode. @shinji19
- Strip annotation from query when path is specified in Script query runner. @ariarijp
- Fix filter headers when there are multiple rows of filters. @kocsmy
- Update query version when changing query data source. @washort
- Fix upgrade script to support changes in CircleCI. @rgjodekerken
- Don't show error indicators after submitting the user form. @bamboo-yujiro
- [Query Results] support unicode column names. @tonyjiangh
- Issue with Google OAuth caused by old pyOpenSSL version. @crooy
- Fix layout of outdated queries admin view. @bamboo-yujiro
- User can't download query results of a new query. @arikfr
- Typo in celery logs format. @ariarijp
- Handling whitespace characters in Query Results data source. @ariarijp
- [MySQL] Close cursor when cancellig the query. @jasonsmithj
## v3.0.0 - 2017-11-13
### Added
@@ -45,7 +391,7 @@
- Salesforce: improve error messages we receive from the API. @akiray03
- Custom JS code visualization improvements. @deecay
- DQL: Update version to 0.5.24. @aterreno
- Cassandra: get_schema support for both C* 2.x and 3.x, support for SortedSet type serialization. (@mfouilleul)
- Cassandra: get_schema support for both C* 2.x and 3.x, support for SortedSet type serialization. (@mfouilleul))
- Replace deprecated ng-annotate with babel plugin. @44px
- Update Python dependencies to recent versions. @alison985
- Bootstrap script: create /opt/redash directory only if it doesn't exist. @isomura
@@ -268,7 +614,7 @@ This is a patch release, that adds support for Redshift ACM certificates (see #2
- Fix: extra whitespace created by the filters component.
- Fix: query results cleanup task was trying to delete query objects.
- Fix: alert subscriptions were not triggered.
- [DynamoDB] Fix: count(*) queries were broken. (@kopanitsa)
- [DynamoDB] Fix: count(*) queries were broken. (@kopanitsa))
- Fix: Redash is using too many database connections.
- Fix: download links were not working in dashboards.
- Fix: the first selection in multi filters was broken in dashboards.
@@ -285,9 +631,9 @@ This is a patch release, that adds support for Redshift ACM certificates (see #2
This version has two big changes behind the scenes:
* Refactor the frontend to use latest (at the time) Angular version (1.5) along with better frontend pipeline based on
* Refactor the frontend to use latest (at the time) Angular version (1.5) along with better frontend pipeline based on)
WebPack.
* Refactor the backend code to use SQLAlchemy and Alembic, for easier migrations/upgrades.
* Refactor the backend code to use SQLAlchemy and Alembic, for easier migrations/upgrades.)
Along with that we have many fixes, additions, new data sources (Google Analytics, ClickHouse, Amazon Athena, Snowflake)
and fixes to the existing ones (mainly ElasticSearch and Cassandra).

View File

@@ -8,7 +8,6 @@ The following is a set of guidelines for contributing to Redash. These are guide
- [Feature Roadmap](https://trello.com/b/b2LUHU7A/redash-roadmap)
- [Feature Requests](https://discuss.redash.io/c/feature-requests)
- [Gitter Chat](https://gitter.im/getredash/redash) or [Slack](https://slack.redash.io)
- [Documentation](https://redash.io/help/)
- [Blog](http://blog.redash.io/)
- [Twitter](https://twitter.com/getredash)
@@ -56,11 +55,13 @@ If you would like to suggest an enhancement or ask for a new feature:
- **Code contributions are welcomed**. For big changes or significant features, it's usually better to reach out first and discuss what you want to implement and how (we recommend reading: [Pull Request First](https://medium.com/practical-blend/pull-request-first-f6bb667a9b6#.ozlqxvj36)). This to make sure that what you want to implement is aligned with our goals for the project and that no one else is already working on it.
- Include screenshots and animated GIFs in your pull request whenever possible.
- Please add [documentation](#documentation) for new features or changes in functionality along with the code.
- Please follow existing code style. We use PEP8 for Python and sensible style for JavaScript.
- Please follow existing code style:
- Python: we use PEP8 for Python.
- Javascript: we use Airbnb's style guides for [JavaScript](https://github.com/airbnb/javascript#naming-conventions) and [React](https://github.com/airbnb/javascript/blob/master/react) (currently we don't follow Airbnb's convention for naming files, but we're gradually fixing this). To make it automatic and easy, we recommend using [Prettier](https://github.com/prettier/prettier).
### Documentation
The project's documentation can be found at [https://redash.io/help/](https://redash.io/help/). The [documentation sources](https://github.com/getredash/website/tree/master/user-guide) are hosted on GitHub. To contribute edits / new pages, you can use GitHub's interface. Click the "Edit on GitHub" link on the documentation page to quickly open the edit interface.
The project's documentation can be found at [https://redash.io/help/](https://redash.io/help/). The [documentation sources](https://github.com/getredash/website/tree/master/website/_kb) are hosted on GitHub. To contribute edits / new pages, you can use GitHub's interface. Click the "Edit on GitHub" link on the documentation page to quickly open the edit interface.
## Additional Notes

View File

@@ -11,3 +11,4 @@ RUN chown -R redash /app
USER redash
ENTRYPOINT ["/app/bin/docker-entrypoint"]
CMD ["server"]

View File

@@ -1,4 +1,4 @@
Copyright (c) 2013-2017, Arik Fraimovich.
Copyright (c) 2013-2018, Arik Fraimovich.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,

View File

@@ -1,21 +0,0 @@
NAME=redash
VERSION=`python ./manage.py version`
FULL_VERSION=$(VERSION)+b$(CIRCLE_BUILD_NUM)
BASE_VERSION=$(shell python ./manage.py version | cut -d + -f 1)
# VERSION gets evaluated every time it's referenced, therefore we need to use VERSION here instead of FULL_VERSION.
FILENAME=$(CIRCLE_ARTIFACTS)/$(NAME).$(VERSION).tar.gz
TEST_ARGS?=--with-coverage --cover-package=redash tests/
deps:
if [ -d "./client/app" ]; then npm install; fi
if [ -d "./client/app" ]; then npm run build; fi
pack:
sed -ri "s/^__version__ = '([0-9.]*)'/__version__ = '$(FULL_VERSION)'/" redash/__init__.py
tar -zcv -f $(FILENAME) --exclude="optipng*" --exclude=".git*" --exclude="*.pyc" --exclude="*.pyo" --exclude="venv" --exclude="node_modules" *
upload:
python bin/release_manager.py $(CIRCLE_SHA1) $(BASE_VERSION) $(FILENAME)
test:
nosetests $(TEST_ARGS)

View File

@@ -5,7 +5,6 @@
<img title="Build Status" src='https://circleci.com/gh/getredash/redash.png?circle-token=8a695aa5ec2cbfa89b48c275aea298318016f040'/>
</p>
[![Join the chat at https://gitter.im/getredash/redash](https://badges.gitter.im/getredash/redash.svg)](https://gitter.im/getredash/redash?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Documentation](https://img.shields.io/badge/docs-redash.io/help-brightgreen.svg)](https://redash.io/help/)
**_Redash_** is our take on freeing the data within our company in a way that will better fit our culture and usage patterns.
@@ -13,38 +12,39 @@
Prior to **_Redash_**, we tried to use traditional BI suites and discovered a set of bloated, technically challenged and slow tools/flows. What we were looking for was a more hacker'ish way to look at data, so we built one.
**_Redash_** was built to allow fast and easy access to billions of records, that we process and collect using Amazon Redshift ("petabyte scale data warehouse" that "speaks" PostgreSQL).
Today **_Redash_** has support for querying multiple databases, including: Redshift, Google BigQuery, PostgreSQL, MySQL, Graphite,
Presto, Google Spreadsheets, Cloudera Impala, Hive and custom scripts.
Today **_Redash_** has support for querying multiple databases, including: Redshift, Google BigQuery, PostgreSQL, MySQL, Graphite, Presto, Google Spreadsheets, Cloudera Impala, Hive and custom scripts.
**_Redash_** consists of two parts:
1. **Query Editor**: think of [JS Fiddle](http://jsfiddle.net) for SQL queries. It's your way to share data in the organization in an open way, by sharing both the dataset and the query that generated it. This way everyone can peer review not only the resulting dataset but also the process that generated it. Also it's possible to fork it and generate new datasets and reach new insights.
2. **Dashboards/Visualizations**: once you have a dataset, you can create different visualizations out of it, and then combine several visualizations into a single dashboard. Currently it supports charts, pivot table and cohorts.
2. **Visualizations and Dashboards**: once you have a dataset, you can create different visualizations out of it, and then combine several visualizations into a single dashboard. Currently Redash supports charts, pivot table, cohorts and [more](https://redash.io/help/user-guide/visualizations/visualization-types).
## Demo
<img src="https://cloud.githubusercontent.com/assets/71468/17391289/8e83878e-5a1d-11e6-8938-af9054a33b19.gif" width="60%"/>
You can try out the demo instance: http://demo.redash.io/ (login with any Google account).
<img src="https://raw.githubusercontent.com/getredash/website/8e820cd02c73a8ddf4f946a9d293c54fd3fb08b9/website/_assets/images/redash-anim.gif" width="80%"/>
## Getting Started
* [Setting up Redash instance](https://redash.io/help-onpremise/setup/setting-up-redash-instance.html) (includes links to ready made AWS/GCE images).
* [Setting up Redash instance](https://redash.io/help/open-source/setup) (includes links to ready made AWS/GCE images).
* [Documentation](https://redash.io/help/).
## Supported Data Sources
Redash supports more than 25 [data sources](https://redash.io/help/data-sources/supported-data-sources).
## Getting Help
* Issues: https://github.com/getredash/redash/issues
* Discussion Forum: https://discuss.redash.io/
* Slack: http://slack.redash.io/
* Gitter (chat): https://gitter.im/getredash/redash
## Reporting Bugs and Contributing Code
* Want to report a bug or request a feature? Please open [an issue](https://github.com/getredash/redash/issues/new).
* Want to help us build **_Redash_**? Fork the project, edit in a [dev environment](https://redash.io/help-onpremise/dev/guide.html), and make a pull request. We need all the help we can get!
## Security
Please email security@redash.io to report any security vulnerabilities. We will acknowledge receipt of your vulnerability and strive to send you regular updates about our progress. If you're curious about the status of your disclosure please feel free to email us again. If you want to encrypt your disclosure email, you can use [this PGP key](https://keybase.io/arikfr/key.asc).
## License
BSD-2-Clause.

View File

@@ -22,6 +22,10 @@ server() {
exec /usr/local/bin/gunicorn -b 0.0.0.0:5000 --name redash -w${REDASH_WEB_WORKERS:-4} redash.wsgi:app
}
create_db() {
exec /app/manage.py database create_tables
}
help() {
echo "Redash Docker."
echo ""
@@ -36,11 +40,18 @@ help() {
echo "dev_server -- start Flask development server with debugger and auto reload"
echo "create_db -- create database tables"
echo "manage -- CLI to manage redash"
echo "tests -- run tests"
}
tests() {
export REDASH_DATABASE_URL="postgresql://postgres@postgres/tests"
exec make test
if [ $# -eq 0 ]; then
TEST_ARGS=tests/
else
TEST_ARGS=$@
fi
exec pytest $TEST_ARGS
}
case "$1" in
@@ -57,25 +68,29 @@ case "$1" in
scheduler
;;
dev_server)
export FLASK_DEBUG=1
exec /app/manage.py runserver --debugger --reload -h 0.0.0.0
;;
shell)
exec /app/manage.py shell
;;
create_db)
exec /app/manage.py database create_tables
create_db
;;
manage)
shift
exec /app/manage.py $*
;;
tests)
tests
shift
tests $@
;;
help)
shift
help
;;
*)
exec "$@"
;;
esac

35
bin/get_changes.py Normal file
View File

@@ -0,0 +1,35 @@
#!/bin/env python
import sys
import re
import subprocess
def get_change_log(previous_sha):
args = ['git', '--no-pager', 'log', '--merges', '--grep', 'Merge pull request', '--pretty=format:"%h|%s|%b|%p"', 'master...{}'.format(previous_sha)]
log = subprocess.check_output(args)
changes = []
for line in log.split('\n'):
try:
sha, subject, body, parents = line[1:-1].split('|')
except ValueError:
continue
try:
pull_request = re.match("Merge pull request #(\d+)", subject).groups()[0]
pull_request = " #{}".format(pull_request)
except Exception as ex:
pull_request = ""
author = subprocess.check_output(['git', 'log', '-1', '--pretty=format:"%an"', parents.split(' ')[-1]])[1:-1]
changes.append("{}{}: {} ({})".format(sha, pull_request, body.strip(), author))
return changes
if __name__ == '__main__':
previous_sha = sys.argv[1]
changes = get_change_log(previous_sha)
for change in changes:
print change

8
bin/pack Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
NAME=redash
VERSION=$(python ./manage.py version)
FULL_VERSION=$VERSION+b$CIRCLE_BUILD_NUM
FILENAME=$NAME.$FULL_VERSION.tar.gz
sed -ri "s/^__version__ = '([A-Za-z0-9.-]*)'/__version__ = '$FULL_VERSION'/" redash/__init__.py
tar -zcv -f $FILENAME --exclude="optipng*" --exclude=".git*" --exclude="*.pyc" --exclude="*.pyo" --exclude="venv" --exclude="node_modules" *

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env python
import urllib
import argparse
import os
import subprocess
@@ -74,13 +75,13 @@ class Release(namedtuple('Release', ('version', 'download_url', 'filename', 'des
def get_latest_release_from_ci():
response = requests.get('https://circleci.com/api/v1.1/project/github/getredash/redash/latest/artifacts')
response = requests.get('https://circleci.com/api/v1.1/project/github/getredash/redash/latest/artifacts?branch=master')
if response.status_code != 200:
exit("Failed getting releases (status code: %s)." % response.status_code)
tarball_asset = filter(lambda asset: asset['url'].endswith('.tar.gz'), response.json())[0]
filename = tarball_asset['pretty_path'].replace('$CIRCLE_ARTIFACTS/', '')
filename = urllib.unquote(tarball_asset['pretty_path'].split('/')[-1])
version = filename.replace('redash.', '').replace('.tar.gz', '')
release = Release(version, tarball_asset['url'], filename, '')
@@ -203,7 +204,9 @@ def show_description_and_confirm(description):
def verify_newer_version(release):
if not release.is_newer(current_version()):
red("The found release is not newer than your current deployed release ({}). Aborting upgrade.".format(current_version()))
red("The found release is not newer than your current deployed release ({}).".format(current_version()))
if not confirm("Continue with upgrade?"):
red("Cancelling upgrade.")
exit(1)

View File

@@ -1,37 +0,0 @@
machine:
services:
- docker
- redis
node:
version:
6.9.1
dependencies:
override:
- pip install --upgrade setuptools
- pip install -r requirements_dev.txt
- pip install -r requirements.txt
- make deps
cache_directories:
- node_modules/
test:
override:
- nosetests --with-xunit --xunit-file=$CIRCLE_TEST_REPORTS/junit.xml --with-coverage --cover-package=redash tests/
deployment:
github_and_docker:
branch: [master, /release.*/]
commands:
- make pack
# Skipping uploads for now, until master is stable.
# - make upload
#- echo "client/app" >> .dockerignore
#- docker pull redash/redash:latest
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- docker build -t redash/redash:$(./manage.py version | sed -e "s/\+/./") .
- docker push redash/redash:$(./manage.py version | sed -e "s/\+/./")
notify:
webhooks:
- url: https://webhooks.gitter.im/e/895d09c3165a0913ac2f
general:
branches:
ignore:
- gh-pages

View File

@@ -1,4 +1,10 @@
{
"presets": ["es2015", "stage-2"],
"plugins": ["angularjs-annotate", "transform-object-assign"]
"presets": ["env", "react", "stage-2"],
"plugins": [
"angularjs-annotate",
"transform-object-assign",
["babel-plugin-transform-builtin-extend", {
"globals": ["Error"]
}]
]
}

View File

@@ -1,9 +1,10 @@
module.exports = {
root: true,
extends: "airbnb-base",
extends: "airbnb",
settings: {
"import/resolver": "webpack"
},
parser: "babel-eslint",
env: {
"browser": true,
"node": true
@@ -19,6 +20,16 @@ module.exports = {
"no-restricted-properties": "off",
"no-restricted-globals": "off",
"no-multi-assign": "off",
"no-lonely-if": "off",
"consistent-return": "off",
"no-control-regex": "off",
"react/jsx-filename-extension": "off",
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"react/prefer-stateless-function": "warn",
"react/forbid-prop-types": "warn",
"react/prop-types": "warn",
"jsx-a11y/anchor-is-valid": "off",
"max-len": ['error', 120, 2, {
ignoreUrls: true,
ignoreComments: false,

View File

@@ -1,704 +0,0 @@
body {
padding-top: 50px;
}
body.headless {
padding-top: 0px;
padding-bottom: 0px;
}
body.headless nav.app-header {
display: none;
}
body.headless div#footer {
display: none;
}
a[ng-click] {
cursor: pointer;
}
a.link {
cursor: pointer;
}
a.page-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 400px;
}
a.navbar-brand {
padding: 5px 5px 0px 0px;
margin-left: 0px !important;
}
.navbar .fa {
font-size: 18px;
}
a.navbar-brand img {
height: 40px;
}
.avatar {
margin-top: 5px;
margin-bottom: 5px;
}
.avatar img {
width: 40px;
height: 40px;
}
#logout {
color: white;
position: relative;
left: -9px;
bottom: -11px;
}
.details-toggle {
cursor: pointer;
}
.details-toggle::before {
content: '▸';
margin-right: 5px;
}
.details-toggle.open::before {
content: '▾';
margin-right: 5px;
}
.edit-in-place span {
white-space: pre-line;
}
.edit-in-place span.editable {
cursor: pointer;
}
.edit-in-place span.editable:hover {
background: #FCFCA2;
}
.edit-in-place input,
.edit-in-place textarea {
display: none;
}
.edit-in-place.active span {
display: none;
}
.edit-in-place.active input,
.edit-in-place.active textarea {
display: inline-block;
}
.delete-button {
float: none !important;
}
.list-group-item.active button {
color: white;
}
.panel-heading > p:last-child {
margin-bottom: 0px;
}
.panel-heading > a,
.panel-heading .query-link {
color: inherit;
}
.panel-heading .query-link:hover {
text-decoration: underline;
}
.form-group.required .control-label:after {
content: "*";
color: red;
}
.form-group .help-block.error {
display: none;
}
.form-group.has-error .help-block.error {
display: block;
}
/* angular-growl */
.growl {
position: fixed;
bottom: 10px;
right: 10px;
float: right;
width: 250px;
z-index: 10000;
}
.growl-item.ng-enter,
.growl-item.ng-leave {
-webkit-transition: 0.5s linear all;
-moz-transition: 0.5s linear all;
-o-transition: 0.5s linear all;
transition: 0.5s linear all;
}
.growl-item.ng-enter,
.growl-item.ng-leave.ng-leave-active {
opacity: 0;
}
.growl-item.ng-leave,
.growl-item.ng-enter.ng-enter-active {
opacity: 1;
}
/* Gridster */
li.widget {
/*background-color:grey;*/
border-width: 1px;
border-style: solid;
border-color: grey;
opacity: 0.7;
cursor: move;
}
li.widget:hover {
opacity: 1.0 !important;
-webkit-transition: opacity .6s;
-moz-transition: opacity .6s;
-o-transition: opacity .6s;
-ms-transition: opacity .6s;
transition: opacity .6s;
}
.gridster .preview-holder {
border: none !important;
border-radius: 0 !important;
background: rgba(0, 0, 0, 0.5) !important;
}
.gridster li .heading {
border: #ddd;
background-color: #f5f5f5;
padding: 5px;
}
/* Editor */
.ace_editor {
border: 1px solid #eee;
height: 100%;
margin-bottom: 10px;
}
/* Support for Font-Awesome in btn-xs */
.btn-xs > .fa {
font-size: 14px;
top: 1px;
position: relative;
}
/* Because of ng-repeat we add span between the .dropdown-menu element and the li element, so we had
to add those CSS styles here. */
.dropdown-menu > span > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.428571429;
color: #333333;
white-space: nowrap;
}
.dropdown-menu > span > li > a:hover,
.dropdown-menu > span > li > a:focus {
color: #ffffff;
text-decoration: none;
background-color: #428bca;
}
/* Dropdown submenus */
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
/*border-left-color: #ffffff;*/
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
.rd-tab .remove {
cursor: pointer;
color: #A09797;
padding: 0 3px 1px 4px;
font-size: 11px;
}
.rd-tab .remove:hover {
color: white;
background-color: #FF8080;
border-radius: 50%;
}
.tab-nav > li.rd-tab-btn {
float: right;
padding-right: 10px;
padding-top: 10px;
}
/* light version of bootstrap's form-control */
.rd-form-control {
display: block;
padding: 6px 12px;
line-height: 1.428571429;
color: #555555;
vertical-align: middle;
background-color: #ffffff;
border: 1px solid #cccccc;
border-radius: 4px;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.rd-form-control {
width: 90%;
}
pivot-table-renderer > table, grid-renderer > div, visualization-renderer > div {
overflow: auto;
}
counter-renderer {
display: block;
text-align: center;
}
counter-renderer counter {
margin: 0 auto;
padding: 15px 50px;
display: block;;
}
counter-renderer value,
counter-renderer counter-target {
font-size: 80px;
display: block;
}
counter-renderer counter-target {
color: #ccc;
}
counter-renderer counter.positive value {
color: #5cb85c;
}
counter-renderer counter.negative value {
color: #d9534f;
margin-right: 15px;
}
counter-renderer counter-name {
font-size: 40px;
display: block;
}
.box {
font: 10px sans-serif;
}
.box line,
.box rect,
.box circle {
fill: #fff;
stroke: #000;
stroke-width: 1.5px;
}
.box .center {
stroke-dasharray: 3, 3;
}
.box .outlier {
fill: none;
stroke: #000;
}
.axis text {
font: 10px sans-serif;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.grid-background {
fill: #ddd;
}
.grid path,
.grid line {
fill: none;
stroke: #fff;
shape-rendering: crispEdges;
}
.grid .minor line {
stroke-opacity: .5;
}
.grid text {
display: none;
}
.iframe-container {
height: 100%;
}
.schema-container {
height: 100%;
z-index: 10;
background-color: white;
}
.schema-control {
display: flex;
padding: 5px 0;
}
.schema-control .form-control {
height: 30px;
margin-right: 5px;
}
.schema-browser {
height: calc(100% - 45px);
overflow-y: auto;
overflow-x: hidden;
border: 1px solid rgba(0,0,0,.15);
}
.parameter-label {
display: block;
}
div.table-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
padding: 0 10px;
}
div.table-name:hover {
background: #f4f4f4;
}
.blankslate {
text-align: center;
padding: 30px;
}
/* Footer */
.footer {
color: #818d9f;
padding-bottom: 30px;
}
.footer a {
color: #818d9f;
margin-left: 20px;
}
.col-table .missing-value {
color: #b94a48;
}
.col-table .super-small-input {
padding-left: 3px;
height: 24px;
}
.col-table .ui-select-toggle, .col-table .ui-select-search {
padding: 2px;
padding-left: 5px;
height: 24px;
}
.clearable button {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
/* Immediately apply ng-cloak, instead of waiting for angular.js to load: */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
.voffset {
margin-top: 2px;
}
.voffset1 {
margin-top: 5px;
}
.voffset2 {
margin-top: 10px;
}
.voffset3 {
margin-top: 15px;
}
.voffset4 {
margin-top: 30px;
}
.voffset5 {
margin-top: 40px;
}
.voffset6 {
margin-top: 60px;
}
.voffset7 {
margin-top: 80px;
}
.voffset8 {
margin-top: 100px;
}
.voffset9 {
margin-top: 150px;
}
.overlay {
background-color: #808080;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
padding: 0;
z-index: 1000;
opacity: 0.8;
}
.container-fluid {
padding-left: 5px;
padding-right: 5px;
}
.modal-xl {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
}
.modal-xl .modal-dialog {
position: fixed;
margin: 0;
width: 100%;
height: 100%;
padding: 0;
}
.modal-xl .modal-content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 2px solid #3c7dcf;
border-radius: 0;
box-shadow: none;
}
.modal-xl .modal-header {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 50px;
padding: 10px;
border: 0;
}
.modal-xl .modal-body {
position: absolute;
top: 50px;
bottom: 60px;
width: 100%;
overflow: auto;
}
.modal-xl .modal-footer {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 60px;
padding: 10px;
}
/* Bootstrap Overrides */
.flex-parent {
display: flex;
flex-direction: column;
justify-content: center;
}
.collapsing,
.collapse.in {
padding: 5px 10px;
transition: all 0.35s ease;
}
.schema-browser .collapse.in {
background: #f4f4f4;
}
.navbar .collapse.in {
background: #222;
}
/* Fixes for SuperFlat */
.table-hover > tbody > tr:hover {
background-color: #f4f4f4;
}
.dropdown-menu {
z-index: 1000000000;
}
.t-body a.actions {
font-size: 24px;
line-height: 100%;
padding: 4px 10px 3px;
display: block;
}
.t-body a.actions:hover,
.t-body a.actions.open > a {
background-color: rgba(0, 0, 0, 0.1);
}
/* ui-select adjustments for SuperFlat */
/* Same definition as .form-control */
.ui-select-toggle.btn-default {
height: 35px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #9E9E9E;
background: #fff none;
border: 1px solid #e8e8e8;
border-radius: 5px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.t-header.widget {
padding: 5px;
}
/* Sankey Visualization */
.sankey .node rect {
fill-opacity: .9;
shape-rendering: crispEdges;
stroke-width: 0;
}
.sankey .node text {
text-shadow: 0 1px 0 #fff;
}
.sankey .link {
fill: none;
stroke: #000;
stroke-opacity: .2;
}
/*Dashboard list view */
.m-2{
margin:2px;
}
.dropdown-menu > .disabled{
cursor: not-allowed;
}
/* The real magic ;) */
.dropdown-menu > .disabled > a{
pointer-events: none;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="630" height="630" viewBox="0 0 630 630" version="1.1">
<g transform="translate(-56.611934,-184.36221)">
<path fill="#a7a7a7" d="m 58.467329,810.92426 c 0,-10.37237 6.53079,-28.55017 15.29935,-42.58418 9.70782,-15.53729 28.965401,-35.11964 51.655121,-52.52627 7.21357,-5.53395 6.57284,-5.08564 22.23877,-15.56023 20.2393,-13.53245 55.34935,-32.58361 79.80676,-43.30416 19.72995,-8.64834 57.2268,-21.58721 62.55974,-21.58721 0.76988,0 3.09659,-0.67892 5.17046,-1.50872 7.3197,-2.92876 12.5713,-16.1286 13.89202,-34.91737 l 0.64689,-9.20257 -8.38455,-10.04931 c -7.66622,-9.18836 -11.59308,-14.62897 -20.80286,-28.82203 -9.85543,-15.1881 -22.91997,-47.26171 -24.69185,-60.61889 -0.56037,-4.22429 -1.0976,-5.21546 -3.27999,-6.05157 -10.15146,-3.88918 -15.7489,-9.08881 -20.96084,-19.47118 -6.6162,-13.17971 -8.62087,-36.5618 -4.2711,-49.81738 2.29242,-6.98599 4.4873,-10.89589 8.72413,-15.54098 2.11744,-2.32146 2.22102,-2.9999 1.45041,-9.5 -2.58899,-21.83821 -3.34954,-41.36055 -2.18394,-56.05862 3.87891,-48.91259 20.17112,-81.47548 50.89033,-101.71339 16.68129,-10.98968 34.4196,-16.74492 62.2113,-20.1846 32.20647,-3.98609 68.82401,0.75436 93.8318,12.14731 14.67849,6.68717 28.98155,17.91433 38.99893,30.61215 19.81832,25.12131 29.57328,66.42856 26.24603,111.13853 -0.69821,9.38224 -1.63714,20.17477 -2.08651,23.9834 -0.81425,6.90129 -0.80559,6.93815 2.55469,10.86388 7.03777,8.22205 10.02312,18.44949 9.84447,33.72599 -0.27308,23.35114 -10.37432,43.49379 -24.44339,48.74202 l -5.34465,1.99373 -1.18738,6.3748 c -4.9831,26.75313 -22.71761,61.14702 -45.76986,88.76506 l -7.88572,9.44759 0.64805,9.21931 c 1.18682,16.88381 6.49256,31.6953 12.30203,34.34227 1.23595,0.56314 6.42637,1.99946 11.53427,3.19182 35.45428,8.27628 97.76078,37.16683 137.59386,63.80012 15.66594,10.47459 15.02521,10.02628 22.23877,15.56023 22.46534,17.23449 41.43241,36.56563 52.11597,53.1163 7.31528,11.33263 13.49882,27.98884 14.54335,39.17447 l 0.58435,6.25763 -313.14461,0 -313.144601,0 0,-3.43795 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48"><defs><path id="a" d="M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FBBC05" d="M0 37V11l17 13z"/><path clip-path="url(#b)" fill="#EA4335" d="M0 11l17 13 7-6.1L48 14V0H0z"/><path clip-path="url(#b)" fill="#34A853" d="M0 37l30-23 7.9 1L48 0v48H0z"/><path clip-path="url(#b)" fill="#4285F4" d="M48 48L17 24l-4-3 35-10z"/></svg>

After

Width:  |  Height:  |  Size: 688 B

View File

@@ -0,0 +1,255 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="844px" height="561px" viewBox="0 0 844 561" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
<title>alert</title>
<desc>Created with Sketch.</desc>
<defs>
<path d="M16.1038207,9.60213053 C11.5200489,10.2779745 8.52171196,12.444141 6.39769565,16.0301575 C8.22444293,8.88931733 9.90197283,2.94073518 8.3864837,0.0421155289 C-3.90646467,5.86130533 1.23687228,25.24012 0.672644022,34.6950038 L0.9384375,34.7227307 C1.78827717,26.9072018 17.6985815,15.7205401 16.1038207,9.60213053 Z" id="path-1"></path>
<path d="M16.1038207,9.60213053 C11.5200489,10.2779745 8.52171196,12.444141 6.39769565,16.0301575 C8.22444293,8.88931733 9.90197283,2.94073518 8.3864837,0.0421155289 C-3.90646467,5.86130533 1.23687228,25.24012 0.672644022,34.6950038 L0.9384375,34.7227307 C1.78827717,26.9072018 17.6985815,15.7205401 16.1038207,9.60213053 Z" id="path-3"></path>
</defs>
<g id="alert" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Layer_3" transform="translate(165.000000, 26.000000)">
<path d="M457.831075,86.1467907 C448.970378,84.9675232 425.223707,91.0761286 411.514436,97.9182384 L19.0505003,294.681371 C7.37564487,300.508132 0,312.419912 0,325.450818 L0,431.514132 C0,444.543858 7.37564487,456.45446 19.0505003,462.282399 C78.8298874,481.970662 117.580279,494.762963 135.301674,500.6593 C161.883768,509.503806 184.667576,507.883492 198.380392,507.883492 L362.910555,507.883492 C376.621008,507.883492 397.189641,506.366954 414.326231,496.101431 C455.932284,478.305658 485.639644,463.479122 503.448311,451.621822 C511.961503,445.953599 516.523558,436.335266 514.539542,423.417282 C509.25454,389.006494 478.348459,113.067594 474.961758,101.477268 C471.575057,89.8869406 466.691773,87.3260581 457.831075,86.1467907 Z" id="Shape-Copy-4" fill="#7F5949" fill-rule="nonzero"></path>
<path d="M457.831075,74.1467907 C448.970378,72.9675232 425.223707,79.0761286 411.514436,85.9182384 L19.0505003,282.681371 C7.37564487,288.508132 0,300.419912 0,313.450818 L0,419.514132 C0,432.543858 7.37564487,444.45446 19.0505003,450.282399 C78.8298874,469.970662 117.580279,482.762963 135.301674,488.6593 C161.883768,497.503806 184.667576,495.883492 198.380392,495.883492 L362.910555,495.883492 C376.621008,495.883492 397.189641,494.366954 414.326231,484.101431 C455.932284,466.305658 485.639644,451.479122 503.448311,439.621822 C511.961503,433.953599 516.523558,424.335266 514.539542,411.417282 C509.25454,377.006494 478.348459,101.067594 474.961758,89.4772675 C471.575057,77.8869406 466.691773,75.3260581 457.831075,74.1467907 Z" id="Shape-Copy-3" fill="#6D9E3E" fill-rule="nonzero"></path>
<path d="M457.831075,63.1467907 C448.970378,61.9675232 425.223707,68.0761286 411.514436,74.9182384 L19.0505003,271.681371 C7.37564487,277.508132 0,289.419912 0,302.450818 L0,408.514132 C0,421.543858 7.37564487,433.45446 19.0505003,439.282399 C78.8298874,458.970662 117.580279,471.762963 135.301674,477.6593 C161.883768,486.503806 184.667576,484.883492 198.380392,484.883492 L362.910555,484.883492 C376.621008,484.883492 397.189641,483.366954 414.326231,473.101431 C455.932284,455.305658 485.639644,440.479122 503.448311,428.621822 C511.961503,422.953599 516.523558,413.335266 514.539542,400.417282 C509.25454,366.006494 478.348459,90.0675945 474.961758,78.4772675 C471.575057,66.8869406 466.691773,64.3260581 457.831075,63.1467907 Z" id="Shape" fill="#94C36C" fill-rule="nonzero"></path>
<g id="Group" transform="translate(376.000000, 299.000000)" fill-rule="nonzero">
<path d="M25.9420909,61.1810309 C30.4314545,62.1896907 35.2677273,64.5435052 35.9590909,69.2494845 C35.9590909,69.5868041 31.8141818,75.3030928 31.4689091,75.974433 C27.324,81.3542268 18.6880909,80.3463918 13.5065455,77.6560825 C9.70690909,75.6387629 5.562,75.302268 1.41709091,73.6206186 C-1.34590909,72.6119588 2.45372727,65.5513402 5.90727273,64.5426804 C9.70690909,63.5331959 11.7793636,60.8437113 15.579,61.5158763" id="Shape" fill="#E5C19E"></path>
<path d="M25.9429091,74.9657732 C23.5955455,75.8441237 21.1066364,76.3117526 18.6880909,76.3117526 C16.2703636,76.3117526 14.8876364,75.974433 13.1620909,74.6301031 C11.4349091,73.2849485 8.32581818,72.6127835 7.63445455,70.9319588 C6.94390909,69.2503093 5.21672727,68.2408247 6.94390909,66.56 C8.67027273,64.8791753 14.1979091,60.1715464 16.2695455,59.1628866 C18.3428182,58.1534021 17.6506364,57.4820619 21.105,58.4898969 C24.5601818,59.4993814 25.5951818,60.0461856 26.631,62.4 C27.6684545,64.7538144 34.9224545,71.6041237 25.9429091,74.9657732 Z" id="Shape" fill="#603E2F"></path>
<path d="M22.3011818,3.24948454 C22.3011818,3.24948454 22.1481818,4.16329897 21.9493636,5.7756701 C21.8495455,6.58061856 21.7300909,7.55876289 21.6278182,8.68371134 C21.5050909,9.80783505 21.4044545,11.0787629 21.3054545,12.4668041 C21.1835455,13.8540206 21.1352727,15.3608247 21.0534545,16.9534021 C21.0035455,17.7501031 20.9953636,18.5690722 20.9888182,19.4061856 C20.9781818,20.2449485 20.9675455,21.1010309 20.9577273,21.9703093 C20.9585455,23.7113402 21.0272727,25.5101031 21.06,27.3393814 C21.0853636,29.1579381 21.1115455,31.0045361 21.1377273,32.8527835 C21.0845455,34.691134 21.0305455,36.5319588 20.9781818,38.342268 C20.8849091,40.1575258 20.7932727,41.942268 20.7057273,43.6709278 C20.6402727,45.4004124 20.5363636,47.0713402 20.4946364,48.6589691 C20.4340909,50.2465979 19.0096364,61.3369072 18.9891818,62.1468041 C18.8599091,63.785567 20.2851818,63.1554639 20.3563636,61.7501031 C20.4414545,61.3212371 20.5347273,60.691134 20.6697273,59.8878351 C20.8088182,59.0870103 20.9503636,58.1113402 21.1017273,56.988866 C21.2539091,55.868866 21.4232727,54.6020619 21.5631818,53.2189691 C21.7112727,51.8342268 21.8830909,50.3364948 21.9951818,48.7447423 C22.1211818,47.1546392 22.2529091,45.4787629 22.3216364,43.7402062 C22.3617273,41.9991753 22.4288182,40.2028866 22.4320909,38.3727835 C22.4149091,36.5393814 22.3969091,34.6771134 22.3805455,32.8148454 C22.2954545,30.9616495 22.2111818,29.1076289 22.1260909,27.2824742 C22.0369091,25.4705155 21.9117273,23.6865979 21.8560909,21.9571134 C21.834,20.2268041 21.7669091,18.5542268 21.7849091,16.9674227 C21.8004545,15.3797938 21.7824545,13.8787629 21.8462727,12.4931959 C21.8863636,11.1068041 21.933,9.83670103 22.0090909,8.71340206 C22.0655455,7.58680412 22.1424545,6.60783505 22.2087273,5.80123711 C22.338,4.18886598 22.4517273,3.27010309 22.4517273,3.27010309 C22.4566364,3.22804124 22.4263636,3.19092784 22.3838182,3.18597938 C22.3453636,3.18103093 22.3077273,3.21072165 22.3011818,3.24948454 Z" id="Shape" fill="#B26B56"></path>
<path d="M33.9136364,29.2816495 C33.9136364,29.2816495 33.0234545,29.9035052 31.7454545,30.9096907 C30.4731818,31.9216495 28.7852727,33.28 27.2405455,34.7818557 C26.8576364,35.1604124 26.469,35.5323711 26.1204545,35.9290722 C25.7612727,36.316701 25.4078182,36.694433 25.0879091,37.0771134 C24.7393636,37.436701 24.4333636,37.8037113 24.129,38.1426804 C23.8131818,38.4750515 23.562,38.8181443 23.31,39.1249485 C23.0465455,39.4276289 22.8518182,39.7286598 22.6693636,39.996701 C22.4779091,40.2597938 22.3142727,40.4940206 22.2136364,40.7026804 C21.9935455,41.1134021 21.8454545,41.3558763 21.8454545,41.3558763 L21.8405455,41.3641237 C21.825,41.3872165 21.7939091,41.3954639 21.7701818,41.3806186 C21.753,41.3698969 21.744,41.3501031 21.7464545,41.3303093 C21.7464545,41.3303093 21.7808182,41.0589691 21.8806364,40.5715464 C21.9109091,40.3175258 22.0090909,40.0362887 22.1408182,39.7195876 C22.2676364,39.3987629 22.4059091,39.0276289 22.6300909,38.6721649 C22.8379091,38.3051546 23.0620909,37.9002062 23.3582727,37.5241237 C23.6348182,37.1290722 23.9465455,36.7282474 24.3057273,36.3529897 C24.6616364,35.9719588 25.0396364,35.5925773 25.4536364,35.2395876 C25.8545455,34.8725773 26.2759091,34.5195876 26.6980909,34.1682474 C28.3819091,32.7579381 30.1581818,31.4894845 31.5400909,30.614433 C32.913,29.7303093 33.8596364,29.1934021 33.8596364,29.1934021 C33.8841818,29.1793814 33.9152727,29.1876289 33.9291818,29.2123711 C33.9422727,29.2371134 33.9349091,29.2659794 33.9136364,29.2816495 Z" id="Shape" fill="#B26B56"></path>
<path d="M15.1003636,12.7298969 C15.1003636,12.7298969 15.6976364,13.4037113 16.5305455,14.4701031 C17.3724545,15.5298969 18.4000909,17.0185567 19.3270909,18.5839175 C19.5700909,18.9690722 19.7779091,19.3756701 20.0045455,19.7649485 C20.2336364,20.1534021 20.4087273,20.5641237 20.5993636,20.9501031 C20.7638182,21.3484536 20.8963636,21.7476289 21.0133636,22.1253608 C21.1205455,22.508866 21.1982727,22.88 21.2694545,23.2189691 C21.3340909,23.5604124 21.3512727,23.8861856 21.3799091,24.1657732 C21.4134545,24.4445361 21.3962727,24.697732 21.3815455,24.9014433 C21.3619091,25.308866 21.33,25.5364948 21.33,25.5364948 C21.3259091,25.5645361 21.2997273,25.5851546 21.2710909,25.5810309 C21.2522727,25.5785567 21.2375455,25.5653608 21.2301818,25.548866 L21.2277273,25.5430928 C21.2277273,25.5430928 21.1418182,25.3228866 21.0256364,24.9492784 C20.916,24.5756701 20.7065455,24.0560825 20.4848182,23.4408247 C20.3514545,23.1373196 20.2262727,22.8049485 20.0855455,22.457732 C19.9227273,22.1162887 19.782,21.7468041 19.6224545,21.3674227 C19.3107273,20.6053608 19.0006364,19.7740206 18.6111818,18.9748454 C17.8453636,17.3698969 16.9330909,15.8292784 16.2400909,14.6771134 C15.5380909,13.5307216 15.0226364,12.7958763 15.0226364,12.7958763 C15.0062727,12.7727835 15.0111818,12.7406186 15.0349091,12.7241237 C15.0537273,12.7068041 15.084,12.7109278 15.1003636,12.7298969 Z" id="Shape" fill="#B26B56"></path>
<path d="M24.5601818,0.403298969 C24.5601818,0.403298969 21.726,0.862680412 22.4345455,3.39051546 C22.4345455,3.39051546 24.0856364,3.6214433 24.5601818,0.403298969 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M24.0414545,14.3991753 C24.0414545,14.3991753 21.2080909,14.8602062 21.9166364,17.3872165 C21.9166364,17.3872165 23.5685455,17.6164948 24.0414545,14.3991753 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M18.6447273,9.75092784 C18.6447273,9.75092784 18.5743636,12.5459794 21.258,12.345567 C21.258,12.3463918 21.8020909,10.8090722 18.6447273,9.75092784 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M26.7790909,4.55835052 C26.7790909,4.55835052 22.7282727,3.46886598 22.068,7.24865979 C22.0688182,7.24865979 24.1159091,8.5443299 26.7790909,4.55835052 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M25.3521818,21.4639175 C25.3521818,21.4639175 21.2056364,22.131134 22.2357273,25.8301031 C22.2365455,25.8301031 24.6526364,26.1707216 25.3521818,21.4639175 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M12.7914545,19.1661856 C12.7914545,19.1661856 15.8498182,21.971134 18.2479091,18.9303093 C18.2479091,18.9303093 17.0599091,16.8536082 12.7914545,19.1661856 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M15.7647273,27.9694845 C15.7647273,27.9694845 17.694,32.3901031 21.2596364,33.0507216 C21.2588182,33.0507216 21.5967273,29.0160825 15.7647273,27.9694845 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M11.4913636,9.29484536 C11.4913636,9.29484536 12.159,14.1039175 15.2967273,12.8420619 C15.2967273,12.8412371 15.5299091,10.025567 11.4913636,9.29484536 Z" id="Shape" fill="#D3FF8D"></path>
</g>
<g id="Group" transform="translate(416.000000, 309.000000)" fill-rule="nonzero">
<path d="M10.8245455,61.6261224 C6.48818182,62.6377959 1.818,64.9958878 1.15118182,69.7137245 C1.15118182,70.0501224 5.15536364,75.7796327 5.48836364,76.4532551 C9.49172727,81.8438878 17.8298182,80.8338673 22.833,78.1377245 C26.5017273,76.1160306 30.5059091,75.7788061 34.5084545,74.0943367 C37.1773636,73.0826633 33.5078182,66.0067347 30.1720909,64.9950612 C26.5041818,63.9842143 24.5012727,61.288898 20.8317273,61.9625204" id="Shape" fill="#E5C19E"></path>
<path d="M10.8245455,75.4415816 C13.0917273,76.3210102 15.4939091,76.7888265 17.8298182,76.7888265 C20.1657273,76.7888265 21.4985455,76.451602 23.1668182,75.1035306 C24.8334545,73.7562857 27.8361818,73.0818367 28.503,71.3973673 C29.1698182,69.712898 30.8380909,68.7012245 29.1698182,67.0175816 C27.5023636,65.3322857 22.1645455,60.614449 20.1640909,59.603602 C18.1628182,58.5927551 18.8296364,57.9183061 15.4939091,58.9299796 C12.1573636,59.9408265 11.1567273,60.4896429 10.1577273,62.8477347 C9.15709091,65.2074796 2.15263636,72.0718163 10.8245455,75.4415816 Z" id="Shape" fill="#603E2F"></path>
<path d="M14.3410909,3.56978571 C14.3410909,3.56978571 14.4883636,4.48558163 14.679,6.10144898 C14.7763636,6.90896939 14.8917273,7.88840816 14.9907273,9.01579592 C15.1101818,10.1423571 15.2067273,11.4152143 15.3024545,12.8079184 C15.4202727,14.1973163 15.4652727,15.7073878 15.5446364,17.3025918 C15.5929091,18.1018469 15.6010909,18.9225918 15.6084545,19.7623469 C15.6182727,20.602102 15.6272727,21.4592143 15.6370909,22.3303776 C15.6370909,24.0751837 15.5708182,25.8786735 15.5389091,27.7119184 C15.5143636,29.5344184 15.4881818,31.3850204 15.4628182,33.2372755 C15.5151818,35.0804388 15.5667273,36.9244286 15.6174545,38.7394898 C15.7066364,40.5570306 15.7966364,42.3464694 15.8809091,44.0788776 C15.9430909,45.8121122 16.0445455,47.4866633 16.0838182,49.0777347 C16.1419091,50.6688061 17.5189091,61.7831633 17.5369091,62.5948163 C17.6620909,64.2379592 16.2859091,63.6064898 16.2171818,62.1972551 C16.1345455,61.7674592 16.0453636,61.1359898 15.9152727,60.330949 C15.7802727,59.5275612 15.6444545,58.5497755 15.4971818,57.4256939 C15.3499091,56.3032653 15.1870909,55.0345408 15.0512727,53.6476224 C14.9080909,52.2607041 14.7428182,50.758898 14.634,49.1645204 C14.5120909,47.5709694 14.3844545,45.8906327 14.3173636,44.1474796 C14.2780909,42.4035 14.2142727,40.6041429 14.211,38.7700714 C14.2281818,36.9318673 14.2445455,35.0655612 14.2625455,33.1992551 C14.3435455,31.3412143 14.4253636,29.484 14.5071818,27.6557143 C14.5922727,25.839 14.7125455,24.0512143 14.7665455,22.3179796 C14.7878182,20.5847449 14.8524545,18.9077143 14.8369091,17.3166429 C14.8213636,15.7272245 14.8377273,14.2212857 14.7763636,12.8327143 C14.7379091,11.4449694 14.6912727,10.1712857 14.6192727,9.04472449 C14.5660909,7.91733673 14.4916364,6.93541837 14.427,6.12707143 C14.3026364,4.51120408 14.1921818,3.59044898 14.1921818,3.59044898 C14.1872727,3.54829592 14.2159091,3.51110204 14.2576364,3.50614286 C14.2985455,3.50118367 14.3353636,3.53011224 14.3410909,3.56978571 Z" id="Shape" fill="#B26B56"></path>
<path d="M3.18109091,29.5724388 C3.18109091,29.5724388 4.10318182,30.1146429 5.43845455,31.008949 C6.78190909,31.8925102 8.50581818,33.1744592 10.134,34.5927857 C10.5439091,34.9457143 10.9497273,35.301949 11.3375455,35.6714082 C11.7384545,36.0251633 12.1025455,36.4086735 12.4453636,36.7897041 C12.7922727,37.164949 13.0884545,37.5682959 13.3543636,37.9600714 C13.6399091,38.3344898 13.8485455,38.7403163 14.049,39.1031633 C14.2633636,39.4560918 14.3893636,39.8272041 14.5104545,40.1421122 C14.5685455,40.3008061 14.6233636,40.4487551 14.6732727,40.5859592 C14.7133636,40.7272959 14.7289091,40.8661531 14.7542727,40.9851735 C14.8467273,41.4653878 14.877,41.7331837 14.877,41.7331837 C14.8802727,41.7604592 14.8598182,41.7852551 14.8328182,41.7885612 C14.8123636,41.7910408 14.7935455,41.7811224 14.7837273,41.7645918 L14.7788182,41.7571531 C14.7788182,41.7571531 14.6356364,41.5174592 14.4229091,41.1091531 C14.3255455,40.9025204 14.1725455,40.6686122 13.9868182,40.4057755 C13.8084545,40.1412857 13.6268182,39.8387755 13.3715455,39.5362653 C13.1260909,39.230449 12.8896364,38.8857857 12.5844545,38.5526939 C12.2890909,38.2154694 11.9986364,37.8460102 11.6623636,37.4856429 C11.3530909,37.1037857 11.016,36.7235816 10.6690909,36.3367653 C10.3328182,35.9400306 9.95972727,35.5647857 9.58909091,35.1862347 C8.09836364,33.6802959 6.46363636,32.3107347 5.22981818,31.294102 C3.98945455,30.281602 3.12545455,29.6559184 3.12545455,29.6559184 C3.10336364,29.6393878 3.09763636,29.6079796 3.11318182,29.5856633 C3.12954545,29.5658265 3.159,29.5600408 3.18109091,29.5724388 Z" id="Shape" fill="#B26B56"></path>
<path d="M21.3733636,13.1335714 C21.3733636,13.1335714 20.8742727,13.8741429 20.1943636,15.0255 C19.5242727,16.1818163 18.6422727,17.7299082 17.9050909,19.3391633 C17.5295455,20.140898 17.2325455,20.9723878 16.9322727,21.734449 C16.7800909,22.1146531 16.6434545,22.4841122 16.4855455,22.8262959 C16.3521818,23.1759184 16.2294545,23.5065306 16.1001818,23.8106939 C15.8858182,24.4256327 15.6829091,24.9446939 15.5757273,25.3174592 C15.4628182,25.691051 15.3785455,25.9100816 15.3785455,25.9100816 L15.3769091,25.9150408 C15.3662727,25.9414898 15.3368182,25.9547143 15.3114545,25.9447959 C15.2934545,25.9373571 15.282,25.9216531 15.2795455,25.9034694 C15.2795455,25.9034694 15.2476364,25.6778265 15.2271818,25.2728265 C15.2124545,25.0695 15.1936364,24.8190612 15.2247273,24.5413469 C15.2517273,24.2628061 15.2680909,23.9396327 15.3278182,23.599102 C15.3940909,23.261051 15.4693636,22.8932449 15.57,22.5097347 C15.6812727,22.1320102 15.8097273,21.734449 15.9668182,21.3360612 C16.1500909,20.9492449 16.3194545,20.5401122 16.5387273,20.1491633 C16.7604545,19.7598673 16.9592727,19.3515612 17.1940909,18.9647449 C18.09,17.3926837 19.0857273,15.8941837 19.9039091,14.8254796 C20.7130909,13.7509898 21.294,13.0699286 21.294,13.0699286 C21.312,13.0492653 21.3439091,13.0467857 21.3651818,13.0641429 C21.384,13.0831531 21.3872727,13.1120816 21.3733636,13.1335714 Z" id="Shape" fill="#B26B56"></path>
<path d="M12.1598182,0.716602041 C12.1598182,0.716602041 14.8966364,1.17863265 14.2126364,3.71194898 C14.2126364,3.71194898 12.6155455,3.94172449 12.1598182,0.716602041 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M12.6605455,14.7436531 C12.6605455,14.7436531 15.3973636,15.2048571 14.7133636,17.7381735 C14.7125455,17.7381735 13.1162727,17.9671224 12.6605455,14.7436531 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M17.8715455,10.0853265 C17.8715455,10.0853265 17.9402727,12.8872653 15.3482727,12.6864184 C15.3482727,12.6872449 14.823,11.1457653 17.8715455,10.0853265 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M10.0161818,4.88231633 C10.0161818,4.88231633 13.9279091,3.78964286 14.5660909,7.57763265 C14.5660909,7.57763265 12.5893636,8.87611224 10.0161818,4.88231633 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M0.522818182,25.6150102 C0.522818182,25.6150102 4.527,26.2828469 3.53290909,29.9906633 C3.53209091,29.9906633 1.19863636,30.3311939 0.522818182,25.6150102 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M8.54672727,34.1795204 C8.54672727,34.1795204 5.59227273,36.990551 3.27681818,33.9431327 C3.27681818,33.9423061 4.42309091,31.861102 8.54672727,34.1795204 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M20.6533636,28.3433878 C20.6533636,28.3433878 18.7887273,32.7727653 15.3474545,33.4356429 C15.3474545,33.4356429 15.021,29.3922551 20.6533636,28.3433878 Z" id="Shape" fill="#D3FF8D"></path>
<path d="M24.7794545,9.62742857 C24.7794545,9.62742857 24.1347273,14.446102 21.1041818,13.1823367 C21.1041818,13.1823367 20.88,10.3605612 24.7794545,9.62742857 Z" id="Shape" fill="#D3FF8D"></path>
</g>
<g id="Group" transform="translate(226.000000, 0.000000)" fill-rule="nonzero">
<path d="M5.44478127e-05,96.4371271 C0.0165546295,94.4848627 1.44853468,92.2058397 3.20226828,91.3486903 L20.7891048,82.7251041 C19.7224859,81.1801041 19.1084434,79.082219 19.1225864,76.5084029 C19.172087,68.7111845 24.9035429,59.5986443 31.9208345,56.1605753 C34.273289,55.006265 36.4630988,54.6534604 38.3452981,54.9683799 C38.3111191,54.3349891 38.2651543,53.7098857 38.2675115,53.0457133 C38.3724055,37.4489087 49.8270673,19.2332995 63.8616504,12.3524259 C69.4882124,9.59510408 74.6680909,9.09075926 78.8556012,10.4664604 C78.8827087,10.4415983 78.9192448,10.4048972 78.9192448,10.4048972 L79.5415374,10.7091616 C80.2156877,10.9719891 80.8568376,11.2869087 81.4744158,11.6503685 L85.5181389,13.6251271 C89.2283226,8.77465581 93.7953372,4.71503512 98.7524632,2.28802362 C104.091451,-0.330780975 108.963718,-0.617286722 112.765832,0.998747761 C112.777618,0.990460405 112.805904,0.959678795 112.805904,0.959678795 L119.847945,4.39774776 C119.847945,4.39774776 119.13608,4.97431098 118.202642,5.72490868 C119.658193,8.04892017 120.573953,11.0086903 120.758991,14.553311 C122.650619,12.3985983 124.846322,10.6073455 127.189348,9.45895466 C130.13463,8.01458684 132.831231,7.81213857 134.975076,8.62429949 L134.996291,8.60298914 L135.200186,8.70243742 C135.289758,8.74032247 135.372259,8.7876788 135.458296,8.82793167 L142.037154,12.0410581 C142.037154,12.0410581 140.79964,13.0426443 139.439554,14.1318397 C139.675271,15.1050121 139.810808,16.1717133 139.804915,17.347334 C139.784879,19.9258857 139.141372,22.6394029 138.04411,25.2499202 L152.462912,18.1808052 C153.18067,17.8315524 153.832427,17.7830121 154.360433,17.9665179 C154.374576,17.9534949 154.405219,17.9227133 154.405219,17.9227133 L161.447261,21.3595983 C161.447261,21.3595983 154.699865,26.8268857 155.375194,26.0798397 C156.050523,25.3339776 149.286627,28.3564949 148.27658,28.3564949 C147.912397,28.3564949 147.739145,28.0084259 147.597715,27.6035294 L31.7699757,84.3802075 C31.7593684,84.387311 31.7522969,84.3920466 31.7381539,84.400334 C31.7287252,84.400334 31.7192965,84.4086213 31.7110465,84.412173 L11.7234335,94.2113799 C11.8601493,94.7607133 11.8130059,95.3727937 11.4936096,95.7279662 C10.8182807,96.4726443 7.82939065,101.817989 7.82939065,101.817989 L1.39078405,98.6747133 C1.19160328,98.6226213 1.01481562,98.5267248 0.849813804,98.408334 L0.78734883,98.3799202 L0.792063168,98.3574259 C0.297057718,97.9809432 -0.00465988981,97.326242 5.44478127e-05,96.4371271 Z" id="Shape" fill="#DEEBFF"></path>
<path d="M10.2726468,94.9108416 L27.8606619,86.2872554 C26.7916859,84.7422554 26.178822,82.6443703 26.192965,80.0705542 C26.2424655,72.2745197 31.9727429,63.1619795 38.9900344,59.7239105 C41.3436675,58.5707841 43.5334773,58.2167956 45.4133195,58.5317151 C45.3814977,57.8983243 45.3355329,57.2732209 45.3378901,56.6090485 C45.4427841,41.0122439 56.8986245,22.7966347 70.932029,15.9157611 C79.7042327,11.6158071 87.408639,12.7665657 91.9285102,18.0479795 C95.7447665,12.813922 100.569891,8.42399101 105.819306,5.85254273 C117.615757,0.0667841087 127.170541,5.57195652 127.825834,18.1166462 C129.717462,15.9631174 131.913165,14.1706807 134.256191,13.0222899 C141.273482,9.57948526 146.921259,13.1146347 146.870579,20.9106692 C146.851722,23.4892209 146.205858,26.203922 145.109774,28.8132554 L159.528576,21.7441404 C161.28231,20.8858071 162.693075,21.7666347 162.683646,23.7177151 C162.668325,25.66406 161.238702,27.943083 159.481433,28.804968 L38.8332827,87.9447266 C38.823854,87.9518301 38.815604,87.9577496 38.8026395,87.9648531 C38.7920323,87.9648531 38.7837822,87.9731404 38.7755321,87.9766922 L10.2219677,101.974037 C8.47176986,102.83237 7.05746857,101.945623 7.07161159,99.9992784 C7.08693318,98.047014 8.51655607,95.7691749 10.2726468,94.9108416 Z" id="Shape" fill="#E9F2FF"></path>
</g>
<g id="Group" transform="translate(16.000000, 77.000000)" fill-rule="nonzero">
<path d="M0.628863309,96.6435977 C0.645381295,94.6913333 2.07772662,92.4134943 3.83453237,91.553977 L21.4415252,82.9327586 C20.3725755,81.3865747 19.7590504,79.2910575 19.7720288,76.7148736 C19.8215827,68.9176552 25.559223,59.8051149 32.5852662,56.367046 C34.9378993,55.2127356 37.1324317,54.859931 39.0143022,55.1748506 C38.982446,54.5414598 38.9364317,53.9163563 38.9387914,53.251 C39.0426187,37.6565632 50.5108201,19.4397701 64.5593669,12.5588966 C70.1908201,9.8003908 75.3774676,9.29722989 79.5706763,10.672931 C79.5954532,10.648069 79.6332086,10.6101839 79.6332086,10.6101839 L80.2561727,10.9168161 C80.9334101,11.1772759 81.5740719,11.4945632 82.1911367,11.8568391 L86.2404029,13.8315977 C89.9545899,8.98112644 94.5241727,4.92268966 99.4866475,2.49567816 C104.832576,-0.123126437 109.708921,-0.409632184 113.517496,1.2064023 C113.528115,1.19693103 113.556432,1.16614943 113.556432,1.16614943 L120.606072,4.6054023 C120.606072,4.6054023 119.893439,5.18196552 118.957813,5.93137931 C120.416115,8.2542069 121.331683,11.2151609 121.518101,14.7609655 C123.41177,12.605069 125.611022,10.8126322 127.955396,9.66542529 C130.903856,8.22105747 133.603367,8.0186092 135.749525,8.83077011 L135.770763,8.80945977 L135.976058,8.90772414 C136.063367,8.9467931 136.148317,8.99296552 136.235626,9.03321839 L142.820403,12.2475287 C142.820403,12.2475287 141.580374,13.2502989 140.21882,14.3383103 C140.454791,15.3114828 140.591655,16.377 140.584576,17.5538046 C140.564518,20.1323563 139.920317,22.8458736 138.82305,25.4563908 L153.25741,18.3872759 C153.974763,18.0368391 154.628403,17.9882989 155.155799,18.1729885 C155.169957,18.1599655 155.200633,18.128 155.200633,18.128 L162.250273,21.5672529 C162.250273,21.5672529 155.495597,27.0333563 156.172835,26.2863103 C156.847712,25.5404483 150.077698,28.5629655 149.065381,28.5629655 C148.701986,28.5629655 148.527367,28.2148966 148.386964,27.81 L32.4318849,84.5878621 C32.422446,84.5949655 32.4153669,84.6008851 32.4023885,84.6091724 C32.3917698,84.6091724 32.3835108,84.6162759 32.3752518,84.6198276 L12.3637122,94.4190345 C12.5017554,94.9695517 12.455741,95.5816322 12.1348201,95.9356207 C11.4587626,96.6814828 8.46664748,102.026828 8.46664748,102.026828 L2.02227338,98.8835517 C1.82169784,98.8302759 1.64471942,98.7343793 1.47953957,98.6171724 L1.41818705,98.5887586 L1.42290647,98.5662644 C0.927366906,98.1874138 0.624143885,97.5327126 0.628863309,96.6435977 Z" id="Shape" fill="#DEEBFF"></path>
<path d="M10.7119137,94.9103563 L28.3200863,86.2867701 C27.2511367,84.7417701 26.6376115,82.645069 26.6517698,80.0712529 C26.7001439,72.2728506 32.4377842,63.1614943 39.4614676,59.7222414 C41.8176403,58.5691149 44.0098129,58.2163103 45.8928633,58.5312299 C45.8598273,57.8966552 45.8138129,57.2727356 45.8161727,56.6085632 C45.9211799,41.0117586 57.3882014,22.7961494 71.4379281,15.9152759 C80.220777,11.6153218 87.9323165,12.7660805 92.4558849,18.0474943 C96.2786187,12.8122529 101.10895,8.42232184 106.364029,5.85205747 C118.172029,0.0651149425 127.738302,5.57265517 128.393122,18.1161609 C130.286791,15.9626322 132.484863,14.1701954 134.831597,13.0229885 C141.855281,9.579 147.507971,13.1141494 147.458417,20.9113678 C147.43954,23.4911034 146.792978,26.2034368 145.694532,28.813954 L160.131252,21.7448391 C161.886878,20.8865057 163.299165,21.7661494 163.287367,23.7184138 C163.275568,25.6647586 161.843223,27.9437816 160.082878,28.8056667 L39.3045468,87.9466092 C39.2951079,87.9525287 39.2880288,87.9572644 39.2738705,87.9655517 C39.2632518,87.9655517 39.2561727,87.9738391 39.2467338,87.9785747 L10.6635396,101.973552 C8.91027338,102.833069 7.49680576,101.945138 7.50860432,99.999977 C7.5251223,98.0453448 8.95628777,95.7686897 10.7119137,94.9103563 Z" id="Shape" fill="#E9F2FF"></path>
</g>
<g id="Group" transform="translate(286.000000, 99.000000)" fill-rule="nonzero">
<path d="M40.8528671,60.2199265 L40.0563357,58.6380441 C44.6898462,55.1919706 43.366993,51.2205882 39.3220699,44.6965147 L37.5633566,41.1992206 C41.6834685,38.2093676 40.5474126,34.76925 37.0264615,29.0921029 L22.636028,0.480044118 L6.69717483,32.8014265 C5.6645035,33.9211324 5.08648951,35.1051618 4.97723077,36.2963382 L4.93963636,36.3666176 L4.96665734,36.3666176 C4.81627972,38.2069853 5.77141259,40.0330588 7.83793007,41.5815882 L4.18304895,48.9954706 C2.98472727,50.2902794 2.31625175,51.6672794 2.1834965,53.0430882 L2.14355245,53.1276618 L2.1693986,53.1276618 C2.00257343,55.22175 3.06579021,57.3039265 5.3801958,59.0787794 L2.50422378,64.9107794 C1.20016783,66.3258971 0.468251748,67.8255882 0.324923077,69.3288529 L0.281454545,69.4181912 L0.308475524,69.4181912 C0.0735104895,72.4044706 2.12123077,75.3728824 6.51507692,77.5944265 C15.1559161,81.9588971 29.5674965,81.8016618 38.6911888,77.2156324 C47.1017622,72.9988676 45.9739301,68.4866912 40.8528671,60.2199265 Z" id="Shape" fill="#B4D38C"></path>
<path d="M40.8528671,60.2199265 L40.0563357,58.6380441 C44.6898462,55.1919706 43.366993,51.2205882 39.3220699,44.6965147 L37.5633566,41.1992206 C41.6834685,38.2093676 40.5474126,34.76925 37.0264615,29.0921029 L22.636028,0.480044118 L22.5502657,1.28766176 L26.164028,29.0921029 C29.6873287,34.76925 30.8010629,40.5488382 26.680951,43.5386912 L28.4596364,44.6965147 C32.5057343,51.2217794 34.6251189,56.7750441 29.9916084,60.2199265 C35.1126713,68.4866912 38.326993,75.5634706 29.9152448,79.7790441 C26.6492308,81.4216765 32.5633007,80.2983971 38.6923636,77.2156324 C47.1017622,72.9988676 45.9739301,68.4866912 40.8528671,60.2199265 Z" id="Shape" fill="#8AA563"></path>
</g>
<g id="Group" transform="translate(51.000000, 308.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#050E26" cx="8.69817143" cy="39.644" rx="8.04990476" ry="3.87084211"></ellipse>
<g transform="translate(0.809524, 0.000000)" id="Shape">
<path d="M15.0777587,37.5991579 C15.8091365,35.4558947 14.7013841,32.4256842 14.2134032,30.0890526 C13.074781,24.6098947 8.36475556,1.90010526 7.62506667,0.597473684 L7.54907937,0.597473684 C6.80939048,1.91515789 2.35226032,23.1324211 1.10440635,29.8273684 C0.656793651,32.2311579 -0.294234921,35.5751579 0.286355556,37.2645263 C1.13765079,39.754 4.69480635,42.0732632 7.60013333,42.0732632 C11.5942159,42.0732632 14.4009968,39.5861053 15.0777587,37.5991579 Z" fill="#7A9B54"></path>
<path d="M14.767873,30.3171579 C13.6304381,24.8368421 8.36475556,1.90010526 7.62506667,0.597473684 L10.067346,13.178 C11.4481778,19.5672632 10.5683873,25.9449474 11.1252317,28.6173684 C11.6096508,30.9574737 13.1068381,33.3230526 12.3778349,35.4651579 C11.701073,37.4544211 8.89191746,39.9415789 4.89664762,39.9415789 C3.92662222,39.9415789 2.88417143,39.6822105 1.8939619,39.2445263 C3.3840254,40.9697895 5.95453333,42.3002105 8.15222857,42.3002105 C12.1474984,42.3002105 14.9542794,39.8130526 15.6334159,37.8261053 C16.3636063,35.684 15.2534794,32.6514737 14.767873,30.3171579 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(72.000000, 332.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#050E26" cx="8.64236825" cy="39.6984211" rx="8.04990476" ry="3.87084211"></ellipse>
<g transform="translate(0.809524, 0.000000)" id="Shape">
<path d="M15.0207683,37.6535789 C15.7533333,35.5091579 14.645581,32.4812632 14.1564127,30.1434737 C13.0189778,24.6631579 8.30895238,1.95452632 7.56926349,0.651894737 L7.49327619,0.651894737 C6.7535873,1.96957895 2.29645714,23.1868421 1.04741587,29.8817895 C0.600990476,32.2855789 -0.350038095,35.6295789 0.230552381,37.3189474 C1.08184762,39.8072632 4.63900317,42.1276842 7.54195556,42.1276842 C11.5372254,42.1276842 14.3440063,39.6393684 15.0207683,37.6535789 Z" fill="#8BAD60"></path>
<path d="M14.7108825,30.3704211 C13.5734476,24.8901053 8.30895238,1.95452632 7.56926349,0.651894737 L10.0127302,13.2324211 C11.3911873,19.6216842 10.5125841,25.9993684 11.0694286,28.6729474 C11.5550349,31.0130526 13.0522222,33.3786316 12.3196571,35.5207368 C11.6428952,37.5088421 8.83492698,39.9948421 4.83965714,39.9948421 C3.86963175,39.9948421 2.82836825,39.7354737 1.83815873,39.2989474 C3.32822222,41.0242105 5.89873016,42.3546316 8.0964254,42.3546316 C12.0928825,42.3546316 14.8996635,39.8674737 15.5776127,37.8805263 C16.3078032,35.7384211 15.1964889,32.7070526 14.7108825,30.3704211 Z" fill="#56722E"></path>
</g>
</g>
<g id="Group" transform="translate(34.000000, 340.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#050E26" opacity="0.4" cx="7.98285714" cy="49.8423612" rx="7.74857143" ry="3.98595853"></ellipse>
<g id="Shape">
<path d="M14.4742857,46.5310595 C15.1794286,44.3247171 14.1108571,41.2065151 13.6422857,38.801113 C12.5462857,33.1606957 8.01371429,1.74504883 7.30057143,0.405270903 L7.22857143,0.405270903 C6.51657143,1.76173645 2.224,31.6409298 1.024,38.5317271 C0.594285714,41.0062635 -0.321142857,44.4498742 0.237714286,46.1877712 C1.056,48.7493217 4.48114286,51.1392281 7.27542857,51.1392281 C11.12,51.1392281 13.8228571,48.5776776 14.4742857,46.5310595 Z" fill="#B0D384"></path>
<path d="M14.176,39.0347398 C13.08,33.3931304 8.01371429,1.74743278 7.30057143,0.405270903 L9.65257143,21.3923438 C10.2731429,24.4700187 7.72342857,30.3893579 9.128,37.598412 C9.59542857,40.00739 8.512,40.9013699 7.80685714,43.1077124 C7.15542857,45.1543304 9.01257143,47.2402836 5.16571429,47.2402836 C4.23314286,47.2402836 2.736,48.6766114 1.784,48.2272375 C3.21714286,50.0044696 5.69257143,51.3728548 7.80685714,51.3728548 C11.6537143,51.3728548 14.3565714,48.8124963 15.0102857,46.7658783 C15.712,44.5619197 14.6434286,41.4413338 14.176,39.0347398 Z" fill="#7A9B54"></path>
</g>
</g>
<g id="Group" transform="translate(132.000000, 179.000000)" fill-rule="nonzero">
<path d="M25.792,62.5469824 C25.792,65.9563983 20.0192375,68.7149364 12.8972199,68.7149364 C5.78008211,68.7149364 0.00731964809,65.9563983 0.00731964809,62.5469824 C0.00731964809,59.1458505 5.78008211,56.3873123 12.8972199,56.3873123 C20.0180176,56.3861289 25.792,59.1458505 25.792,62.5469824 Z" id="Shape" fill="#050E26"></path>
<g id="Shape">
<path d="M24.4146862,59.2890436 C25.5882698,55.8748941 23.8083754,51.0489316 23.0276129,47.3270944 C21.2062405,38.5946822 13.6633431,2.41771489 12.4775601,0.343190073 L12.3567859,0.343190073 C11.1722229,2.44138317 4.03068622,36.2420551 2.03364223,46.9105327 C1.31631672,50.7388771 -0.204950147,56.0642403 0.72342522,58.7565073 C2.08609971,62.7233111 7.78322581,66.4202966 12.4348622,66.4202966 C18.8334545,66.4179298 23.3277185,62.4534927 24.4146862,59.2890436 Z" fill="#6A8C3E"></path>
<path d="M23.9157302,47.6868523 C22.0931378,38.9556235 14.5490205,2.77983959 13.3656774,0.702947942 L16.389912,20.3831235 C18.6004457,30.5628511 17.1926334,40.7236441 18.0844106,44.9827512 C18.8615132,48.7081386 21.2586979,52.4784958 20.0887742,55.8914619 C19.0018065,59.0594613 14.5075425,63.0227149 8.10651026,63.0227149 C6.55596481,63.0227149 4.88342522,62.60852 3.29872141,61.9126725 C5.68492669,64.6617433 9.80344868,66.7800545 13.3241994,66.7800545 C19.7227918,66.7800545 24.2207155,62.8168008 25.3052434,59.6511683 C26.4702874,56.2370188 24.6940528,51.4086895 23.9157302,47.6868523 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(97.000000, 201.000000)" fill-rule="nonzero">
<path d="M25.4220909,62.6653238 C25.4220909,66.0747397 19.8297273,68.8332778 12.9302727,68.8332778 C6.03554545,68.8332778 0.443181818,66.0747397 0.443181818,62.6653238 C0.443181818,59.2630085 6.03554545,56.5056538 12.9302727,56.5056538 C19.8285455,56.5056538 25.4220909,59.2630085 25.4220909,62.6653238 Z" id="Shape" fill="#050E26"></path>
<g transform="translate(0.812500, 0.000000)" id="Shape">
<path d="M23.2753182,59.407385 C24.4110455,55.9920521 22.6867727,51.167273 21.9315909,47.4442524 C20.1659545,38.7118402 12.8587727,2.53487288 11.7124091,0.460348063 L11.5930455,0.460348063 C10.4455,2.55972458 3.52831818,36.3603965 1.59368182,47.0276907 C0.898772727,50.8572185 -0.576136364,56.1825817 0.324409091,58.8760321 C1.64331818,62.8404691 7.16359091,66.538638 11.6698636,66.538638 C17.8685,66.5374546 22.2211364,62.5718341 23.2753182,59.407385 Z" fill="#7A9B54"></path>
<path d="M22.7931364,47.8051937 C21.0275,39.0739649 13.7179545,2.89936441 12.5727727,0.82247276 L15.5025,20.5026483 C17.6439545,30.6823759 16.2789545,40.8431689 17.1440455,45.102276 C17.8956818,48.82648 20.2191364,52.5980206 19.0857727,56.0109867 C18.0327727,59.1789861 13.6777727,63.1422397 7.47795455,63.1422397 C5.97468182,63.1422397 4.35440909,62.7268614 2.82040909,62.0310139 C5.13086364,64.7800847 9.12186364,66.8983959 12.5314091,66.8983959 C18.7312273,66.8983959 23.0874091,62.9351423 24.1392273,59.7706931 C25.2666818,56.3553602 23.5447727,51.5293977 22.7931364,47.8051937 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(68.000000, 232.000000)" fill-rule="nonzero">
<path d="M25.5000909,61.6924138 C25.5000909,65.0713103 19.9100909,67.8030345 13.0094545,67.8030345 C6.11472727,67.8030345 0.521181818,65.0713103 0.521181818,61.6924138 C0.521181818,58.3217241 6.11472727,55.59 13.0094545,55.59 C19.9100909,55.59 25.5000909,58.3217241 25.5000909,61.6924138 Z" id="Shape" fill="#050E26"></path>
<g transform="translate(0.812500, 0.000000)" id="Shape">
<path d="M23.3533182,58.4647586 C24.4914091,55.0823448 22.7671364,50.3012414 22.0107727,46.6128276 C20.2463182,37.9627586 12.9379545,2.12206897 11.7915909,0.0656551724 L11.6722273,0.0656551724 C10.5258636,2.14551724 3.6075,35.6308276 1.67168182,46.2001379 C0.979136364,49.994069 -0.495772727,55.2711034 0.403590909,57.9383448 C1.7225,61.8671034 7.24277273,65.5297241 11.7478636,65.5297241 C17.9476818,65.5285517 22.3003182,61.6009655 23.3533182,58.4647586 Z" fill="#B0D384"></path>
<path d="M22.8711364,46.9704138 C21.1066818,38.3203448 13.7971364,2.48082759 12.6507727,0.423241379 L15.5805,19.9216552 C17.7219545,30.0067586 16.3569545,40.0731034 17.2208636,44.2926207 C17.9736818,47.9822069 20.2959545,51.7186897 19.1625909,55.099931 C18.1107727,58.2384828 13.7557727,62.1637241 7.55477273,62.1637241 C6.05268182,62.1637241 4.43359091,61.7533793 2.89722727,61.064 C5.20886364,63.7863448 9.19868182,65.8861379 12.6094091,65.8861379 C18.8080455,65.8861379 23.1665909,61.9597241 24.2160455,58.8235172 C25.3470455,55.4422759 23.6263182,50.6588276 22.8711364,46.9704138 Z" fill="#8BAA61"></path>
</g>
</g>
<g id="Group" transform="translate(265.000000, 338.000000)" fill-rule="nonzero">
<g opacity="0.3" transform="translate(12.658915, 22.852941)" fill="#616D3C" id="Shape">
<path d="M0.261901938,23.0750882 C5.9123186,27.1107426 18.8272186,32.361 26.0917019,32.361 C32.1444519,31.9561324 45.0581686,30.7462647 51.1121019,28.7278456 C65.2387353,24.6898235 53.5355686,1.67747794 41.0241853,0.0615588235"></path>
</g>
<g id="Shape">
<path d="M38.7174833,0.167330882 C37.19335,3.21922794 29.4034667,12.0860662 29.4034667,12.0860662 C29.4034667,12.0860662 8.04903333,27.3443676 3.47308333,28.8715 C-1.10286667,30.3986324 0.42245,39.5519559 3.47308333,42.6062206 C6.52371667,45.6581176 28.04145,52.0507647 28.04145,52.0507647 L57.0212833,42.8950735 C55.49715,38.3172279 55.49715,23.0577426 55.49715,23.0577426 C47.8693833,16.9539485 38.7174833,0.167330882 38.7174833,0.167330882 Z" fill="#89756D"></path>
<path d="M3.47308333,42.6062206 L37.19335,20.0046618 C37.19335,12.3749191 38.7174833,0.167330882 38.7174833,0.167330882 L21.939,16.9539485 C21.939,16.9539485 1.57975,27.2354559 0.583383333,32.2134338 C-0.939566667,39.8419926 3.47308333,42.6062206 3.47308333,42.6062206 Z" fill="#C19B7C"></path>
<path d="M37.19335,20.0046618 C37.19335,12.3749191 38.7174833,0.167330882 38.7174833,0.167330882 L21.939,16.9539485 L37.19335,20.0046618 Z" fill="#F9E8DE"></path>
<path d="M34.71545,25.3389706 C34.71545,25.3389706 34.1415333,35.2653309 32.6162167,36.7900956 C31.0920833,38.3160441 28.04145,50.5248162 28.04145,52.0507647 C28.04145,53.5767132 23.4158,39.8739559 23.4158,39.8739559 L34.71545,25.3389706 Z" fill="#C19B7C"></path>
</g>
</g>
<g id="Group" opacity="0.2" transform="translate(178.000000, 231.000000)" fill="#285128" fill-rule="nonzero">
<path d="M0.127459459,60.8479437 C6.62317117,82.5530704 25.388036,76.283831 39.8228198,74.1128451 C61.4755856,71.2189859 80.480027,84.7240563 102.852703,83.2771268 C129.55664,81.1061408 133.647144,65.1887324 129.315883,44.207662 C125.708072,28.2914366 137.496892,14.7851831 117.04673,3.69126761 C97.4935045,-6.91757746 76.1499459,13.8209577 59.5495315,22.5013521 C45.837018,29.736 0.126279279,44.207662 0.126279279,63.0189296" id="Shape"></path>
</g>
<g id="Group" transform="translate(161.000000, 166.000000)">
<g transform="translate(15.692798, 94.237288)" id="Shape" stroke="#703D33" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.714">
<path d="M23.6830533,43.6306864 L23.6830533,11.7407881"></path>
<path d="M0.0353900975,0.216745763 L0.0353900975,32.1054661"></path>
</g>
<g transform="translate(119.146662, 42.406780)" id="Shape" stroke="#703D33" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.714">
<path d="M23.8513953,43.8792373 L23.8513953,11.989339"></path>
<path d="M0.204911853,0.464118644 L0.204911853,32.352839"></path>
</g>
<path d="M17.198057,55.5764407 C17.198057,55.5764407 20.8503151,86.5239661 21.8129257,87.4804746" id="Shape" stroke="#703D33" stroke-width="1.714" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M103.166502,13.0353729 C103.166502,13.0353729 106.81876,43.9840763 107.780191,44.9405847" id="Shape" stroke="#703D33" stroke-width="1.714" stroke-linecap="round" stroke-linejoin="round"></path>
<g transform="translate(7.435109, 35.338983)" fill-rule="nonzero" id="Shape">
<g>
<polygon fill="#77462B" points="9.51167854 64.6938983 123.204726 7.19501695 123.204726 4.97101695 114.206204 2.61508475 0.513156414 57.892322 0.513156414 60.1139661"></polygon>
<polygon fill="#EAA16E" points="9.51167854 62.4710763 123.204726 4.97101695 114.206204 0.391084746 0.513156414 57.892322"></polygon>
</g>
<g transform="translate(10.617029, 5.534350)">
<polygon fill="#77462B" points="9.16131658 64.3696928 122.855544 6.86845547 122.855544 4.64563344 113.857022 2.28852327 0.162794449 57.5657606 0.162794449 59.7885826"></polygon>
<polygon fill="#EAA16E" points="9.16131658 62.1456928 122.855544 4.64563344 113.857022 0.0657012336 0.162794449 57.5657606"></polygon>
</g>
<g transform="translate(20.876969, 10.601695)">
<polygon fill="#77462B" points="9.24708177 64.4535932 122.941309 6.95235593 122.941309 4.73071186 113.942787 2.37360169 0.24973931 57.649661 0.24973931 59.8724831"></polygon>
<polygon fill="#EAA16E" points="9.24708177 62.2295932 122.941309 4.73071186 113.942787 0.149601695 0.24973931 57.649661"></polygon>
</g>
</g>
<g fill-rule="nonzero" id="Shape">
<g transform="translate(2.359340, 11.779661)">
<polygon fill="#77462B" points="2.11833646 66.9438136 3.75217929 67.5492881 115.805486 9.58275424 115.614379 0.731516949 114.012387 0.159025424 0.324058515 57.5189068"></polygon>
<polygon fill="#E08344" points="3.72150788 67.5163051 117.409837 10.1564237 115.614379 0.731516949 1.92722993 58.0913983"></polygon>
</g>
<g>
<polygon fill="#77462B" points="2.04283758 67.1322881 3.67668042 67.7377627 115.731167 9.77122881 113.935709 0.3475 0.24737997 57.7073814"></polygon>
<polygon fill="#E08344" points="3.64364966 67.7059576 117.331979 10.3448983 115.537701 0.919991525 1.84937172 58.2810508"></polygon>
</g>
</g>
</g>
<g id="Group" transform="translate(97.000000, 305.000000)">
<g transform="translate(0.000000, 8.428357)" fill-rule="nonzero" id="Shape">
<path d="M8.06360326,8.02117029 L0.16557337,0.0508327082 C0.16557337,0.0508327082 1.64725543,3.21516879 3.09046739,7.45623406 C4.53251359,11.6996099 7.64742663,17.4621905 8.76305978,20.167877 C9.87869293,22.8747187 10.9395353,25.3262416 10.9395353,25.3262416 C10.9395353,25.3262416 11.6436549,18.4973293 10.989663,15.4277269 C10.3345054,12.3569692 10.3345054,12.3569692 10.3345054,12.3569692" fill="#B0E082"></path>
<path d="M0.16557337,0.0508327082 C0.16557337,0.0508327082 9.43686957,5.59737434 10.7833234,10.65985 C12.1321087,15.7269467 11.194837,15.8494074 10.775163,25.9396999 C10.775163,25.9396999 11.0666033,16.2133233 5.04195109,6.06988747 C4.07670109,4.44555139 0.16557337,0.0508327082 0.16557337,0.0508327082 Z" fill="#85B557"></path>
</g>
<path d="M25.7831685,9.60213053 C21.1993967,10.2779745 17.3896902,14.6230158 15.2656739,18.2090323 C17.0912554,11.0693473 19.5813207,2.94073518 18.0658315,0.0421155289 C7.18811685,4.2623856 10.9162201,25.24012 10.3519918,34.6950038 L10.8754185,34.6233758 C11.7264239,26.8066917 27.3779293,15.7205401 25.7831685,9.60213053 Z" id="Shape" fill="#85B557" fill-rule="nonzero"></path>
<g transform="translate(9.679348, 0.000000)">
<g id="SVGID_51_-link" fill="#85B557" fill-rule="nonzero">
<path d="M16.1038207,9.60213053 C11.5200489,10.2779745 8.52171196,12.444141 6.39769565,16.0301575 C8.22444293,8.88931733 9.90197283,2.94073518 8.3864837,0.0421155289 C-3.90646467,5.86130533 1.23687228,25.24012 0.672644022,34.6950038 L0.9384375,34.7227307 C1.78827717,26.9072018 17.6985815,15.7205401 16.1038207,9.60213053 Z" id="SVGID_51_"></path>
</g>
<g id="Clipped">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="SVGID_51_"></g>
<path d="M9.77257337,-2.12289572 C9.77257337,-2.12289572 5.72854891,3.14637659 4.49633967,7.39783946 C3.26413043,11.6504576 1.53297554,21.5582146 1.41173641,24.3135784 C1.29049728,27.0689422 0.673809783,34.6950038 0.673809783,34.6950038 L-0.854502717,34.1162041 C-0.854502717,34.1162041 -0.476796196,8.30474119 1.48984239,5.45579895 C3.45648098,2.60685671 9.77257337,-2.12289572 9.77257337,-2.12289572 Z" id="Shape" fill="#B0E082" fill-rule="nonzero" mask="url(#mask-2)"></path>
</g>
<g id="Clipped">
<mask id="mask-4" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<g id="SVGID_51_"></g>
<path d="M16.7275027,8.86967742 C16.7275027,8.86967742 12.2078478,13.4203601 10.3682772,16.1329782 C8.526375,18.8455964 4.3704375,25.3417854 3.42500543,27.4836909 C2.47957337,29.6255964 0.673809783,34.6950038 0.673809783,34.6950038 L-0.285611413,34.8729182 C-0.285611413,34.8729182 2.20911685,24.4036909 3.65582609,21.7107127 C5.1002038,19.0188897 5.17248098,17.835874 7.02021196,15.2549587 C8.86677717,12.6740435 10.0068913,11.6989797 10.0068913,11.6989797 C10.0068913,11.6989797 12.6520027,9.20702176 13.7058505,9.15387847" id="Shape" fill="#B0E082" fill-rule="nonzero" mask="url(#mask-4)"></path>
</g>
</g>
</g>
<g id="Group" transform="translate(362.000000, 204.000000)">
<g transform="translate(33.476721, 0.000000)">
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(24.227076, 17.756414) rotate(-179.329603) translate(-24.227076, -17.756414) " cx="24.2270761" cy="17.7564137" rx="2.03962441" ry="1.77604566"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(15.810171, 7.832777) rotate(-179.358250) translate(-15.810171, -7.832777) " cx="15.8101711" cy="7.83277731" rx="2.03841718" ry="1.77484909"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(6.198341, 1.847034) rotate(-179.341062) translate(-6.198341, -1.847034) " cx="6.19834132" cy="1.84703447" rx="2.03961968" ry="1.77366874"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(24.380487, 47.149680) rotate(-179.346791) translate(-24.380487, -47.149680) " cx="24.3804868" cy="47.1496803" rx="2.03961734" ry="1.7748531"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(26.488087, 25.058694) rotate(-179.329603) translate(-26.488087, -25.058694) " cx="26.4880871" cy="25.0586941" rx="2.03962441" ry="1.77604566"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(16.920576, 32.139989) rotate(-179.329603) translate(-16.920576, -32.139989) " cx="16.9205763" cy="32.1399891" rx="2.03962441" ry="1.77367285"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(26.236463, 37.378770) rotate(-179.312415) translate(-26.236463, -37.378770) " cx="26.236463" cy="37.3787697" rx="2.03963166" ry="1.77486556"></ellipse>
<path d="M22.197457,24.6898305 C22.197457,24.6898305 4.66163335,24.1357627 0.728118674,46.8110169" id="Shape" stroke="#F7F7F7" stroke-width="0.639"></path>
<path d="M20.6216599,18.8762712 C20.6216599,18.8762712 12.9746204,21.6276271 11.2685033,28.2372881" id="Shape" stroke="#FFFFFF" stroke-width="0.639"></path>
<path d="M13.1168965,32.9901695 C13.1168965,32.9901695 7.38998608,34.3462712 6.31633983,33.150339" id="Shape" stroke="#F7F7F7" stroke-width="0.639"></path>
<path d="M12.5609438,10.3801695 C12.5609438,10.3801695 0.600189777,21.6038983 0.0298899291,35.7972881" id="Shape" stroke="#F7F7F7" stroke-width="0.639"></path>
<path d="M22.4186425,39.9557627 C22.4186425,39.9557627 12.5549658,46.2332203 6.81490385,48.6535593" id="Shape" stroke="#F7F7F7" stroke-width="0.639"></path>
<path d="M4.46316422,4.9640678 C4.46316422,4.9640678 0.694641953,13.4411864 5.1028087,20.2371186" id="Shape" stroke="#F7F7F7" stroke-width="0.639"></path>
<path d="M20.8428454,46.089661 L14.4691169,44.5971186" id="Shape" stroke="#E8E4E7" stroke-width="0.639"></path>
</g>
<g transform="translate(0.000000, 15.423729)">
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" cx="4.82662576" cy="2.26966102" rx="1.78861336" ry="1.77491525"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" cx="2.3218497" cy="9.72288136" rx="1.78861336" ry="1.77491525"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" cx="11.2649165" cy="17.8879661" rx="1.78861336" ry="1.77491525"></ellipse>
<path d="M6.61404352,9.01457627 C6.61404352,9.01457627 21.9954011,8.65864407 25.2151442,31.3777966" id="Shape" stroke="#F4F4F4" stroke-width="0.5984" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M13.5891574,16.2898305 C13.5891574,16.2898305 16.9882401,14.3369492 19.8493041,16.8213559" id="Shape" stroke="#F4F4F4" stroke-width="0.5984" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M8.04517333,3.51186441 C8.04517333,3.51186441 14.3029289,6.88372881 15.3777707,11.8537288" id="Shape" stroke="#F4F4F4" stroke-width="0.5984" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
</g>
<g id="Group" transform="translate(222.000000, 148.000000)">
<g id="Shape">
<path d="M43.2711781,33.4327532 C43.2711781,33.4327532 48.3088356,49.3287967 49.3683288,51.9356155 C50.4290137,54.5412532 54.3070685,64.5090575 54.3070685,64.5090575 L49.3361507,65.7799851 C49.3361507,65.7799851 44.5964384,59.7525285 42.7432192,56.6271807 C41.4286849,54.4148691 36.5113973,42.2938112 36.5113973,42.2938112" fill="#FFC0B6" fill-rule="nonzero"></path>
<path d="M44.1995753,37.3081372 L39.8245479,47.6350141 C38.9295205,46.2672314 36.4434658,42.1627025 36.4434658,42.1627025" fill="#DD705E" fill-rule="nonzero"></path>
<g transform="translate(36.945205, 133.471014)" fill-rule="nonzero">
<path d="M0.698383562,4.0195213 C2.60880822,8.12759376 1.55884932,10.8064633 5.11035616,13.9719706 C8.85731507,17.3063836 9.29469863,20.6915865 12.6936575,21.3553981 C14.7232603,15.6704778 8.72979452,9.17410101 6.62749315,0.0201155029" fill="#FFC0B6"></path>
<g transform="translate(2.383562, 7.444884)">
<path d="M13.2597534,12.4151667 C15.9496027,16.5775725 13.8175068,19.1501377 11.3636301,19.4572391 C8.25784932,19.8446594 4.3809863,17.8307826 3.72193151,15.9291159 C3.04380822,13.9731159 2.93416438,13.7794058 2.48247945,12.8533768 C2.01172603,11.8836449 0.815178082,10.7013043 0.50769863,9.35360145 C0.106068493,7.59485507 0.104876712,6.90387681 0.104876712,6.90387681 L0.0989178082,2.60681884 C0.0989178082,2.60681884 0.777041096,3.56828261 1.68279452,2.83005797 C2.98421918,1.77055797 4.57047945,-0.581130435 6.70257534,0.309463768 C10.0383699,1.70323188 9.75710959,6.99364493 13.2597534,12.4151667 Z" fill="#000000"></path>
<path d="M0.23239726,7.83935507 C0.287219178,8.12755797 0.355150685,8.45710145 0.442150685,8.84334058 C0.750821918,10.1910435 1.4229863,11.2871594 2.08680822,12.2013768 C2.69342466,13.0364565 2.97826027,13.4652174 3.65519178,15.4223986 C4.31424658,17.3217029 8.19230137,19.3367609 11.2968904,18.9481594 C12.990411,18.737913 14.365726,17.6028188 14.5111233,15.507442 C15.4562055,18.5241232 13.561274,20.2167246 11.494726,20.4765797 C6.35576712,21.115587 4.42389041,18.5949928 3.8530274,16.9472754 C3.17371233,14.9924565 3.0140137,14.8235507 2.71487671,13.8455507 C2.41573973,12.8651884 0.902178082,11.4808696 0.593506849,10.1319855 C0.191876712,8.37323913 0.235972603,7.92203623 0.235972603,7.92203623 L0.23239726,7.83935507 Z" fill="#FFFFFF"></path>
<path d="M13.860411,17.8662174 C13.860411,17.8662174 12.9463151,16.1724348 10.7844247,16.1901522 C8.71430137,16.2078696 7.20312329,18.6989348 7.20312329,18.6989348 C7.20312329,18.6989348 9.70467123,19.9710435 10.9095616,19.8210362" fill="#FFFFFF"></path>
</g>
</g>
<g transform="translate(63.164384, 118.473869)" fill-rule="nonzero">
<path d="M1.2740137,4.47423188 C3.18563014,8.58112319 0.611383562,10.4012899 4.16408219,13.5644348 C7.9110411,16.9012101 12.5077397,19.4607826 15.910274,20.123413 C17.9410685,14.4384928 7.34375342,9.36186957 7.84191781,0.663811594" fill="#FFC0B6"></path>
<path d="M1.80793151,8.84215942 C1.80793151,8.84215942 -1.12146575,14.0534348 3.30480822,15.9173043 C9.78094521,18.6469638 12.033411,21.8042029 15.621863,22.5034493 C21.0075205,23.5535 23.4006164,21.0848768 22.7594384,19.5505507 C21.4866164,16.5067029 14.5242329,13.4002536 11.7581096,8.1559058 C8.95861644,2.84895652 7.99446575,8.98744203 7.00171233,9.91465217 C3.88639726,12.825029 1.80793151,8.84215942 1.80793151,8.84215942 Z" fill="#000000"></path>
<path d="M0.937931507,13.1699275 C1.21442466,14.1113116 1.63989041,15.0715942 5.57991781,16.5905652 C10.0622055,18.3162391 12.0572466,21.6978986 15.621863,22.5046304 C20.5272329,23.612558 22.0848904,20.8226594 22.7153425,19.3946377 C22.7522877,19.4383406 22.8309452,19.6202391 22.8643151,19.663942 C23.9071233,20.967942 21.6046027,24.8787609 15.4109178,23.635 C11.8248493,22.9168551 8.98841096,18.8229565 2.92343836,17.4941522 C0.0726986301,16.8693188 0.927205479,14.1680072 0.937931507,13.1699275 Z" fill="#FFFFFF"></path>
<path d="M23.0454658,20.2427101 C23.0454658,20.2427101 21.1255068,18.3871087 20.0612466,19.4241667 C18.9969863,20.4624058 18.3403151,22.7184203 18.3403151,22.7184203 C18.3403151,22.7184203 20.5987397,22.6451884 20.8573562,22.523529" fill="#FFFFFF"></path>
</g>
<path d="M45.2602603,65.6819488 C40.1582466,58.4414416 39.4038493,35.9391735 37.4147671,35.8411372 C33.1672603,35.6332532 23.9798219,35.802159 19.7311233,37.1451372 C15.2464521,38.7916735 4.34761644,46.3947967 2.48486301,51.2458184 C1.67326027,53.5195503 6.99694521,59.1028909 8.12436986,61.4073329 C10.3756438,66.0150358 12.1216027,75.3650938 14.142863,78.1916083" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M12.566137,74.7957749 C13.0488082,82.5902459 13.098863,85.0009923 19.1137808,92.5580503 C24.495863,99.3178256 29.6836849,103.370384 30.6776301,110.573094 C32.0672466,120.629485 37.2550685,138.377587 37.7067534,138.703587 C38.7221507,139.437087 46.5581096,137.968905 45.713137,135.80384 C44.6739041,133.14505 44.9694658,114.095311 43.2699863,103.145963 C42.7396438,99.7300503 36.9463973,85.7415793 36.9082603,84.6643619 C36.8546301,83.1772822 39.0832603,83.3072097 39.0832603,83.3072097 C40.2500137,84.0099996 59.3161233,94.7089416 59.1754932,97.0547242 C58.7106986,104.872818 63.2525753,120.801934 64.6421918,123.831608 C65.2690685,125.194666 72.7141233,124.826144 72.0002466,121.487007 C70.383,113.947666 71.3030548,91.7182459 68.5202466,87.8676662 C63.1524658,80.441717 46.7011233,66.3363112 46.7011233,66.3363112 C46.7011233,66.3363112 35.941726,73.1846735 31.1412329,73.9914054 C15.1368082,76.6773619 12.566137,74.7957749 12.566137,74.7957749 Z" fill="#F26D5B" fill-rule="nonzero"></path>
<path d="M24.9296712,74.3800068 C30.6847808,79.7271155 27.6397808,81.8532025 29.1473836,81.8520213 C32.4641096,81.8461155 36.8689315,85.1982459 38.0035068,88.0613764 C38.2073014,88.5787242 36.599589,84.9974488 38.1632055,84.2604054 C39.7256301,83.5221807 43.2521096,86.4703546 45.9550685,87.0845575 C45.9550685,87.0845575 42.4047534,80.3814778 46.9323288,76.9218619 C51.4587123,73.4587025 53.3441096,74.0882604 53.3441096,74.0882604 C47.5306027,70.2754778 47.0717671,66.5831735 47.0717671,66.5831735 L24.9296712,74.3800068 Z" fill="#D85648" fill-rule="nonzero"></path>
<g transform="translate(15.129941, 61.778217)" fill-rule="nonzero">
<path d="M16.1817162,23.3668768 C17.0183464,23.7708333 18.6451272,23.6468116 19.8166477,23.0881232 L45.083593,10.0587536 C46.2539217,9.5036087 46.3004012,9.16343478 45.463771,8.75947826 L30.6999902,1.65362319 C29.8621683,1.24966667 29.3926067,0.85515942 28.2234697,1.41148551 L1.00081213,13.6766449 C-0.171900196,14.2341522 0.030702544,15.559413 0.868524462,15.9645507 L16.1817162,23.3668768 Z" fill="#2D3B54"></path>
<path d="M16.0947162,22.5105362 C16.906319,22.9026812 18.483045,22.7822029 19.6164286,22.2412319 L45.5424286,9.82724638 C46.6758121,9.28745652 46.6317162,8.50671014 45.8201135,8.11574638 L31.2875382,0.965007246 C30.4747436,0.574043478 28.4153464,0.291746377 27.2795793,0.831536232 L1.35596282,13.2443406 C0.222579256,13.7853116 -0.0658317025,14.6841739 0.745771037,15.0763188 L16.0947162,22.5105362 Z" fill="#FFFFFF"></path>
<path d="M17.2042642,21.212442 C17.6630998,21.4333188 18.5509765,21.3648116 19.1921546,21.0600725 L33.8164971,14.0569783 C34.4564834,13.7534203 34.6018806,13.3258406 34.1442368,13.1037826 L25.7743601,9.05831159 C25.3167162,8.83625362 24.4276477,8.90357971 23.7888532,9.2095 L9.16451076,16.2102319 C8.52452446,16.5173333 8.37793542,16.9437319 8.83438748,17.1634275 L17.2042642,21.212442 Z" fill="#2D3B54"></path>
</g>
<path d="M27.3358767,74.7060068 C27.2166986,74.7213619 26.6672877,74.7060068 25.8246986,74.6741155 C23.8785205,74.6020648 20.368726,74.4508764 17.0269726,74.4059923 C14.5444932,74.3752822 7.35924658,72.9850575 5.11393151,72.7228401 C3.99365753,72.5905503 2.77565753,65.282717 2.12375342,60.4683112 C1.52786301,56.0696735 0.659054795,48.40513 2.32158904,46.2979416 C3.306,45.360101 11.3576712,43.2434633 11.8653699,44.7352677 C13.1989726,48.642543 12.5125068,64.7393836 12.615,65.5402097 C12.615,65.5402097 23.8606438,70.2494923 29.2975479,69.572688 C31.0649589,69.3518112 34.8035753,68.3442822 34.8035753,68.3442822 C34.8035753,68.3442822 35.6449726,73.8071445 34.1671644,74.1272387 C32.6893562,74.4473329 28.285726,74.5878909 27.3358767,74.7060068 Z" fill="#FFC0B6" fill-rule="nonzero"></path>
<path d="M1.79363014,57.8969271 C0.996328767,51.9344343 1.55050685,47.6350141 1.79363014,47.2428691 C1.12265753,48.3295358 12.392137,54.0321735 12.4195479,54.117217 L1.79363014,57.8969271 Z" fill="#DD705E" fill-rule="nonzero"></path>
<path d="M13.9438356,54.3451807 C9.57,54.7349633 0.622109589,53.9731155 0.731753425,51.9663256 C0.871191781,49.4150213 1.22038356,41.4433764 2.03317808,39.1696445 C3.89593151,34.3209851 14.7935753,26.7154996 19.2794384,25.0689633 C23.5269452,23.7248039 31.0435068,25.4174054 33.7273973,25.8083691 C41.8207808,26.9871662 43.8682603,32.453572 45.6571233,35.7749923 C45.6571233,35.7749923 41.7814521,41.9323764 38.6983151,42.4213764 C38.008274,42.5312242 39.1678767,49.0524054 39.1952877,50.3363256 C39.2226986,51.6249706 40.3882603,54.9310358 40.3882603,54.9310358" fill="#FFFFFF" fill-rule="nonzero"></path>
<g transform="translate(32.178082, 50.789855)">
<path d="M0.734136986,33.9749054 C0.675739726,34.7485648 1.22276712,35.0745648 1.95690411,34.6954126 L28.487137,21.2620865 C29.2224658,20.8864778 29.8696027,19.9509996 29.9291918,19.1749778 L31.3295342,0.900079271 C31.3879315,0.122876372 30.8397123,-0.200761309 30.1043836,0.177209706 L3.57534247,13.611717 C2.83882192,13.9885068 2.19406849,14.9228039 2.13447945,15.7000068 L0.734136986,33.9749054 Z" fill="#629AF4" fill-rule="nonzero"></path>
<path d="M0.636410959,33.9760865 L2.03794521,15.6988256 C2.09872603,14.9239851 2.74347945,13.9885068 3.47880822,13.6105358 L30.0090411,0.178390865 C30.5155479,-0.0814642073 30.9314795,-0.0105946421 31.1257397,0.31186188 C30.9302877,0.284695213 30.6978904,0.327216952 30.4404658,0.460687967 L3.91023288,13.8916517 C3.17609589,14.2684416 2.5289589,15.205101 2.47056164,15.9823039 L1.0690274,34.2560213 C1.04876712,34.4993401 1.09286301,34.6965938 1.17867123,34.8442387 C0.819945205,34.7899054 0.601849315,34.4792604 0.636410959,33.9760865 Z" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M15.9996575,18.2241445 C15.9936986,19.0769416 16.7254521,19.4371952 17.6347808,19.0332387 C18.5429178,18.628101 19.2806301,17.6087604 19.2842055,16.7559633 C19.286589,15.9055285 18.5572192,15.5440938 17.6478904,15.9468691 C16.7397534,16.353188 16.0020411,17.3713474 15.9996575,18.2241445 Z" stroke="#FFFFFF" stroke-width="0.2128" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
<g transform="translate(14.301370, 0.000000)" fill-rule="nonzero">
<path d="M16.5204658,6.38065898 C14.5218493,2.50527492 4.71945205,7.75789087 2.6660137,10.3540793 C0.0119178082,14.0014996 3.05453425,22.9865793 7.32468493,25.3524416 C17.1938219,30.9617677 17.7384658,9.40678942 17.9839726,4.56167347" fill="#FFC0B6"></path>
<path d="M12.169274,29.8148619 C12.4850959,33.5331517 3.61109589,35.3367822 1.99146575,31.2617822 C1.08809589,28.9845068 1.7459589,28.51913 2.0260274,23.0031155 C2.06773973,22.1503184 2.22147945,18.2265068 2.61476712,17.6808112 C4.90894521,14.50113 9.94064384,17.1008619 11.6139041,20.6171735 C12.9641918,23.4519561 13.2251918,20.9821517 12.566137,24.9284054 C12.566137,24.9295865 11.9702466,27.4702604 12.169274,29.8148619 Z" fill="#FFC0B6"></path>
<path d="M12.6293014,25.4327604 C12.6293014,25.4327604 10.1503973,27.3793112 7.93726027,25.9678256 C5.98393151,24.7240648 4.76593151,22.6204199 4.76593151,22.6204199 C4.76593151,22.6204199 5.1890137,26.911572 8.14582192,28.1364343 C11.1026301,29.3612967 12.6293014,25.4327604 12.6293014,25.4327604 Z" fill="#DD705E"></path>
<path d="M16.1450548,2.90686913 C12.4052466,2.7474126 7.79424658,-2.8264787 3.85183562,2.25723144 C1.18820548,5.69086188 10.6366438,8.71344884 13.6887945,8.05318072" fill="#000000"></path>
<path d="M10.3124795,10.7261445 C16.0783151,9.84618072 18.7622055,10.8879633 20.1208356,8.64021695 C23.0752603,3.75376043 15.263137,1.27568797 12.6900822,3.30846333" fill="#000000"></path>
<path d="M11.5721918,9.29221695 C7.95990411,10.1958039 6.48924658,14.0487459 5.01143836,16.1334923 C1.76621918,9.76940536 3.06287671,2.53480391 11.3457534,1.59223869" fill="#000000"></path>
<path d="M6.54049315,10.5619633 C2.92939726,11.4643691 1.8889726,14.6464126 2.20121918,17.3807967 C-1.04280822,11.0155285 0.140630137,0.595340141 5.60613699,2.06115898" fill="#000000"></path>
</g>
</g>
<path d="M21.5628904,40.0496083 C21.9073151,39.6291155 22.3184795,39.2830358 22.7737397,39.0562532 C23.5710411,38.654659 24.3242466,38.7160793 24.8617397,39.136572 C25.2729041,38.240072 25.9414932,37.4640503 26.7423699,37.0624561 C27.1916712,36.8368546 27.627863,36.7612604 28.0223425,36.8085068 C28.8673151,36.9171735 29.5013425,37.6223256 29.6133699,38.7467894 C29.6467397,39.0668836 29.6312466,39.3964271 29.5776164,39.7247894 C29.3630959,42.240659 26.4730274,47.2877532 26.4730274,47.2877532 C26.4730274,47.2877532 21.3805479,46.2447894 20.7083836,44.1730358 C20.5975479,43.9273546 20.5224658,43.6426952 20.4902877,43.3214199 C20.3782603,42.1993184 20.8180274,40.9567387 21.5628904,40.0496083 Z" id="Shape" fill="#FF7373" fill-rule="nonzero"></path>
<g transform="translate(22.280626, 47.604304)" fill="#2D3B54" fill-rule="nonzero" id="Shape">
<path d="M2.45597652,5.94005072 C2.22000391,5.9495 1.96853816,6.031 1.68489432,6.19636232 C1.23320939,6.50582609 0.847072407,6.98183333 0.547935421,7.58894928 C0.232113503,8.23386232 0.0747984344,8.96263768 0.0759902153,9.80952899 C0.142729941,10.5631087 0.336990215,11.1631377 0.652812133,11.5966232 C0.962675147,12.0159348 1.32020939,12.2876014 1.71230528,12.3962681 C2.08175734,12.5025725 2.47623679,12.6242319 2.89336008,12.765971 C3.27353816,12.8923551 3.51904501,13.2490652 3.644182,13.8337391 C3.72879843,14.3924275 3.67397652,14.7703986 3.61081213,14.9062319 C3.47971624,15.1767174 3.19964775,15.477913 2.89097652,15.707058 C2.57992172,15.8877754 2.01501761,15.9657319 1.05563405,15.2948333 C0.885209393,15.2440435 0.714784736,15.3361739 0.543168297,15.5688623 C0.454976517,15.6917029 0.296469667,15.9539203 0.223771037,16.3425217 C0.182058708,16.5574928 0.178483366,16.7452971 0.214236791,16.9023913 C0.24164775,17.0335 0.297661448,17.1386232 0.397771037,17.2342971 C0.864949119,17.5803768 1.26538748,17.7717246 1.61934638,17.8248768 C1.98999022,17.878029 2.40353816,17.7658188 2.87905871,17.4811594 C3.34504501,17.1575217 3.70138748,16.8197101 3.96834638,16.4511884 C4.06368885,16.3212609 4.14830528,16.1830652 4.22457926,16.0413261 C4.4891546,15.5357899 4.67626419,15.0125362 4.77994912,14.4869203 C4.87886693,13.9872899 4.8931683,13.4805725 4.81808611,12.9195217 C4.69056556,12.202558 4.49868885,11.6875725 4.24841487,11.3970072 C4.00529159,11.1147101 3.7121135,10.9115507 3.36888063,10.7934348 C3.04233268,10.6824058 2.70386693,10.5749203 2.35229159,10.4757029 C2.02931898,10.3835725 1.75759295,10.194587 1.54903131,9.9111087 C1.34881213,9.64298551 1.23797652,9.30044928 1.2200998,8.91657246 C1.2141409,8.53978261 1.26777104,8.33189855 1.33570254,8.25866667 C1.6241135,7.97282609 1.86366145,7.84053623 2.07579843,7.8617971 C2.3201135,7.88542029 2.59303131,8.00707971 2.87429159,8.22441304 C3.06736008,8.39095652 3.296182,8.11928986 3.38675734,7.99644928 L3.38675734,7.99526812 C3.47733268,7.87242754 3.55956556,7.71651449 3.61677104,7.56650725 C3.69304501,7.38933333 3.80745597,7.04443478 3.73952446,6.73497101 C3.71926419,6.64047826 3.68351076,6.55543478 3.59651076,6.44558696 C3.05782583,6.09123913 2.69433268,5.92942029 2.45597652,5.94005072 Z"></path>
<path d="M6.94899022,2.42492029 C6.3530998,2.83478261 5.83229159,3.586 5.45568885,4.58762319 C5.10292172,5.51955797 4.9241546,6.6511087 4.90151076,8.04723913 C4.88125049,9.18115217 4.97897652,10.239471 5.19230528,11.1973913 C5.4830998,12.5025725 5.90141487,13.3872609 6.4341409,13.825471 C6.98831898,14.2825797 7.6211546,14.2731304 8.32192172,13.7912174 C8.55074364,13.6258551 8.76883953,13.4108841 8.97144227,13.1522101 C9.14901761,13.454587 9.3671135,13.6884565 9.61500391,13.847913 C9.78185323,13.9825652 9.93678474,13.9943768 10.1012505,13.8798043 C10.1822916,13.8242899 10.2609491,13.743971 10.3372231,13.6364855 C10.4254149,13.5148261 10.5052642,13.366 10.5874971,13.1616594 C10.6971409,12.8687319 10.8353875,12.3313043 10.517182,11.9852246 C10.2478395,11.8647464 10.0297436,11.6745797 9.86408611,11.4135435 C10.1381957,10.5572029 10.2895519,9.57093478 10.3181546,8.41457971 C10.3503327,7.15546377 10.2502231,5.99556522 10.0214012,4.9715 C9.73894912,3.70765942 9.32420939,2.8465942 8.79148337,2.41547101 C8.23849706,1.96072464 7.61996282,1.96544928 6.94899022,2.42492029 Z M7.99060665,10.1508841 C7.86189432,10.3316014 7.75105871,10.5690145 7.68431898,10.817058 L7.64737378,11.0379348 C7.62353816,11.4229928 7.72245597,11.7147391 7.9381683,11.906087 L8.02755186,11.9320725 C8.13362035,11.9190797 8.23134638,11.9556957 8.32192172,12.0336522 C7.91790802,12.2816957 7.5341546,12.2533478 7.17662035,11.9438841 C6.77737378,11.5989855 6.45797652,10.8961957 6.22677104,9.85441304 C6.05634638,9.09256522 5.97530528,8.25394203 5.98245597,7.36098551 C5.98960665,6.14557246 6.14572994,5.45813768 6.27563405,5.09197826 C6.35905871,4.8581087 6.45201761,4.67148551 6.55689432,4.5262029 C6.64746967,4.401 6.75592172,4.29587681 6.87748337,4.21083333 C7.28030528,3.93680435 7.67478474,3.95688406 8.04781213,4.2817029 C8.44467515,4.62187681 8.7581135,5.30222464 8.97859295,6.29912319 C9.16451076,7.12593478 9.2491272,8.05196377 9.23601761,9.05122464 C9.22886693,9.50951449 9.20145597,9.88866667 9.15974364,10.2016739 C8.98693542,9.99497101 8.8081683,9.87331159 8.61986693,9.8296087 C8.53763405,9.8118913 8.28140117,9.75047101 7.99060665,10.1508841 Z"></path>
<path d="M15.0435656,8.07794928 L14.9565656,8.13346377 C14.2653327,8.70750725 13.5669491,9.22839855 12.8363875,9.71976087 L12.0057162,0.605934783 C11.9330176,0.153550725 11.7101546,0.138195652 11.5361546,0.20315942 L11.4646477,0.2445 C11.3716888,0.311826087 11.2834971,0.401594203 11.202456,0.511442029 C11.0153464,0.770115942 10.8175108,1.23076812 10.8735245,1.65598551 L11.7554423,10.9564348 C11.762593,10.9942319 11.7685519,11.0343913 11.7792779,11.0757319 C11.8186067,11.2564493 11.8972642,11.4111812 12.0259765,11.5529203 C12.1928258,11.7182826 12.3894697,11.7277319 12.6230587,11.5753623 C13.4298943,11.0072246 14.2426888,10.3942029 15.041182,9.7481087 L15.1162642,9.68668841 L15.1889628,9.5792029 C15.3069491,9.41147826 15.5619902,8.965 15.4320861,8.39331884 C15.3427025,8.10747826 15.2187573,8.00471739 15.0435656,8.07794928 Z"></path>
</g>
<path d="M28.5526849,15.8405648 C28.5526849,15.8405648 29.3476027,18.7722025 29.1485753,19.7502025 C28.9507397,20.7270213 26.5063973,20.0301372 26.5063973,20.0301372 L28.5526849,15.8405648 Z" id="Shape" fill="#EF9D97" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -0,0 +1,595 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="844px" height="646px" viewBox="0 0 844 646" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
<title>dashboard</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="-0.000102008082%" y1="49.9999524%" x2="100.000156%" y2="49.9999524%" id="linearGradient-1">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#F6F7FC" offset="19.43%"></stop>
<stop stop-color="#F1F2FA" offset="60.75%"></stop>
</linearGradient>
<linearGradient x1="62.50033%" y1="92.9494603%" x2="37.50011%" y2="7.05053973%" id="linearGradient-2">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#A9C9FF" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="62.49879%" y1="92.951206%" x2="37.4993033%" y2="7.05228549%" id="linearGradient-3">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#A9C9FF" offset="99.46%"></stop>
</linearGradient>
<polygon id="path-4" points="26.5156214 26.248381 52.6630874 13.1558095 26.5156214 0.0624761905 26.5156214 0.0624761905 26.5148544 0.0624761905 26.5148544 0.0624761905 26.5148544 0.0624761905 0.36892233 13.1558095 26.5156214 26.248381 26.5156214 26.248381 26.5156214 26.248381"></polygon>
<linearGradient x1="50.0005802%" y1="99.9997711%" x2="50.0005802%" y2="0.00104720209%" id="linearGradient-6">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="19.35%"></stop>
<stop stop-color="#8CB3FE" offset="94.09%"></stop>
</linearGradient>
<linearGradient x1="50.0001868%" y1="99.9999005%" x2="50.0001868%" y2="-0.00104593654%" id="linearGradient-7">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="19.35%"></stop>
<stop stop-color="#8CB3FE" offset="94.09%"></stop>
</linearGradient>
<linearGradient x1="104.217485%" y1="82.009814%" x2="-13.1394306%" y2="12.6572295%" id="linearGradient-8">
<stop stop-color="#92B6FE" offset="49.82%"></stop>
<stop stop-color="#4080FE" offset="73.5%"></stop>
</linearGradient>
<linearGradient x1="31.1908806%" y1="17.8972612%" x2="70.327312%" y2="82.4981081%" id="linearGradient-9">
<stop stop-color="#E9F2FF" offset="0%"></stop>
<stop stop-color="#D2E2FE" offset="36.75%"></stop>
<stop stop-color="#FFFFFF" offset="94.35%"></stop>
</linearGradient>
<linearGradient x1="50.0001821%" y1="99.999199%" x2="50.0001821%" y2="-0.00209545281%" id="linearGradient-10">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" stop-opacity="0.9" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="49.9991509%" y1="100.000113%" x2="49.9991509%" y2="-0.000999261679%" id="linearGradient-11">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" stop-opacity="0.9" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="62.5008433%" y1="92.9499564%" x2="37.5013567%" y2="7.05353506%" id="linearGradient-12">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#A9C9FF" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="-0.000393639232%" y1="49.9988601%" x2="100.002731%" y2="49.9988601%" id="linearGradient-13">
<stop stop-color="#FFFFFF" offset="16.13%"></stop>
<stop stop-color="#F1F2FA" offset="60.75%"></stop>
</linearGradient>
<linearGradient x1="50.001868%" y1="99.9979135%" x2="50.001868%" y2="-0.00419080784%" id="linearGradient-14">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="19.35%"></stop>
<stop stop-color="#C7D7FF" stop-opacity="0.7312" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="49.9998267%" y1="100.001587%" x2="49.9998267%" y2="0.0016863731%" id="linearGradient-15">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="19.35%"></stop>
<stop stop-color="#C7D7FF" stop-opacity="0.7312" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="69.0820638%" y1="94.0576058%" x2="26.1048521%" y2="3.19687565%" id="linearGradient-16">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="50.0002838%" y1="99.9983512%" x2="50.0002838%" y2="0.00320317604%" id="linearGradient-17">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" stop-opacity="0.9" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="50.0005675%" y1="99.99765%" x2="50.0005675%" y2="0.00213534452%" id="linearGradient-18">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" stop-opacity="0.9" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="49.9997162%" y1="99.9967249%" x2="49.9997162%" y2="-0.00106764528%" id="linearGradient-19">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" stop-opacity="0.9" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="49.9977299%" y1="99.9999407%" x2="49.9977299%" y2="0.00320322695%" id="linearGradient-20">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" stop-opacity="0.9" offset="99.46%"></stop>
</linearGradient>
<linearGradient x1="62.0699037%" y1="98.8010777%" x2="42.593541%" y2="5.15112969%" id="linearGradient-21">
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#BFD3FF" offset="99.46%"></stop>
</linearGradient>
</defs>
<g id="dashboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Layer_2" transform="translate(134.000000, 30.000000)">
<g id="Group" fill-rule="nonzero">
<path d="M328.29469,313.760333 L13.044751,471.219467 C8.606253,473.404118 9.04419707,477.220161 14.0234141,479.743982 L240.125273,594.500734 C245.10449,597.02609 252.741284,597.299267 257.181316,595.11615 L572.431254,437.657784 C576.869752,435.473132 576.431808,431.657857 571.452591,429.133269 L345.351499,314.376517 C340.369981,311.851928 332.734722,311.575681 328.29469,313.760333 Z" id="Shape" fill="#95BFE8" opacity="0.2"></path>
<g id="Shape">
<path d="M328.098344,2.808509 L324.194429,1.0704563 C322.71723,0.260899743 320.811292,0.27394473 318.725113,1.31140488 L9.20449534,155.194677 C4.52209854,157.523591 0.724026631,164.103636 0.724026631,169.891774 L0.724026631,439.781815 C0.724026631,443.144352 2.01101465,445.490148 4.00132091,446.417109 C3.99978695,446.421713 3.99518509,446.42862 3.99518509,446.42862 L9.12472969,448.694611 C9.12472969,448.694611 9.24207723,447.426177 9.29116378,446.004274 L318.723579,292.163973 C323.406743,289.835826 327.204815,283.255014 327.204815,277.467644 L327.204815,7.57760283 C327.204815,6.13421337 326.966285,4.87805784 326.540613,3.83906298 C327.433374,3.27045501 328.098344,2.808509 328.098344,2.808509 Z" fill="#CBD4F4"></path>
<path d="M331.731515,279.502662 C331.731515,285.291567 327.93421,291.871612 323.251047,294.198991 L13.7304288,448.083031 C9.04726498,450.41041 5.24996005,447.605738 5.24996005,441.8176 L5.24996005,171.927559 C5.24996005,166.138654 9.046498,159.558609 13.7304288,157.230463 L323.251047,3.34719023 C327.933443,1.01827635 331.731515,3.82448329 331.731515,9.61262082 L331.731515,279.502662 Z" fill="#FFFFFF"></path>
<polygon fill="#E9F2FF" points="321.130354 275.193979 15.8503542 426.968568 15.8503542 176.731184 321.130354 24.9550604"></polygon>
</g>
<path d="M575.513736,402.348073 L345.351499,293.439312 C340.369981,290.914724 332.734722,290.640012 328.29469,292.822361 L10.0151904,444.485684 L10.0151904,453.702351 C9.79506791,455.459587 11.145715,457.348808 14.0234141,458.80908 L240.125273,573.565064 C245.10449,576.088118 252.741284,576.363598 257.181316,574.180481 L572.431254,416.72058 C574.524336,415.690026 575.519872,414.296514 575.478455,412.846986 L575.513736,412.846986 L575.513736,402.348073 Z" id="Shape" fill="#C6DBF6"></path>
<path d="M328.29469,282.684871 L13.044751,440.144005 C8.606253,442.328657 9.04419707,446.144699 14.0234141,448.668521 L240.125273,563.425272 C245.10449,565.950629 252.741284,566.223806 257.181316,564.040689 L572.431254,406.582323 C576.869752,404.397671 576.431808,400.582396 571.452591,398.057807 L345.351499,283.301055 C340.369981,280.776467 332.734722,280.50022 328.29469,282.684871 Z" id="Shape" fill="url(#linearGradient-1)"></path>
</g>
<g id="Group" transform="translate(23.000000, 173.000000)" fill="#559AFF" fill-rule="nonzero">
<path d="M3.6585,8.96158824 C3.6585,10.2233529 2.8455,11.6579412 1.8435,12.1657059 C0.84225,12.6734706 0.03,12.0617059 0.03,10.7991765 C0.03,9.53741176 0.84225,8.10282353 1.8435,7.59505882 C2.8455,7.08805882 3.6585,7.69905882 3.6585,8.96158824 Z" id="Shape"></path>
<path d="M10.5975,5.40341176 C10.5975,6.66594118 9.78525,8.10052941 8.78325,8.60829412 C7.782,9.11682353 6.969,8.50429412 6.969,7.24252941 C6.969,5.98 7.782,4.54617647 8.78325,4.03841176 C9.78525,3.53064706 10.5975,4.14164706 10.5975,5.40341176 Z" id="Shape"></path>
<path d="M17.421,1.96452941 C17.421,3.22705882 16.60725,4.66164706 15.606,5.16941176 C14.6055,5.67717647 13.7925,5.06464706 13.7925,3.80288235 C13.7925,2.54111765 14.6055,1.10652941 15.606,0.598764706 C16.60725,0.0917647059 17.421,0.702764706 17.421,1.96452941 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(480.000000, 182.000000)" fill-rule="nonzero">
<path d="M64.6850595,37.3330769 C64.678869,36.58 64.1163095,35.7007692 63.4252976,35.37 L56.5074405,32.0446154 C56.9268452,31.4492308 57.1682738,30.64 57.1628571,29.6469231 C57.1435119,26.6392308 54.8894048,23.1246154 52.1292262,21.7992308 C51.2045238,21.3546154 50.3417262,21.2176923 49.6011905,21.3392308 C49.615119,21.0953846 49.6329167,20.8538462 49.631369,20.5976923 C49.5903571,14.5830769 45.0844643,7.55692308 39.5633333,4.90307692 C37.3502381,3.84 35.3120238,3.64461538 33.6653571,4.17615385 C33.6545238,4.16692308 33.6405952,4.15230769 33.6405952,4.15230769 L33.3968452,4.26923077 C33.129881,4.37 32.8783929,4.49307692 32.6361905,4.63307692 L31.0452381,5.39384615 C29.5842857,3.52307692 27.7898214,1.95769231 25.8398214,1.02153846 C23.7381548,0.0115384615 21.8229762,-0.0992307692 20.3256548,0.524615385 C20.3217857,0.521538462 20.3109524,0.509230769 20.3109524,0.509230769 L17.5407143,1.83615385 C17.5407143,1.83615385 17.8200595,2.05769231 18.187619,2.34769231 C17.6165476,3.24384615 17.2559524,4.38461538 17.1816667,5.75230769 C16.4372619,4.92076923 15.5744643,4.23 14.6528571,3.78769231 C13.4936905,3.23 12.4335714,3.15230769 11.5893452,3.46538462 L11.5816071,3.45769231 L11.501131,3.49615385 C11.4663095,3.51153846 11.4338095,3.52846154 11.3997619,3.54461538 L8.81136905,4.78384615 C8.81136905,4.78384615 9.29886905,5.17076923 9.83279762,5.59076923 C9.74071429,5.96615385 9.68732143,6.37692308 9.68964286,6.83076923 C9.69660714,7.82538462 9.95041667,8.87230769 10.3822024,9.87923077 L4.71017857,7.15230769 C4.4285119,7.01692308 4.17160714,6.99846154 3.96345238,7.06923077 C3.95880952,7.06461538 3.94642857,7.05230769 3.94642857,7.05230769 L1.17541667,8.37923077 C1.17541667,8.37923077 3.83113095,10.4876923 3.56571429,10.1992308 C3.29952381,9.91153846 5.96065476,11.0776923 6.35761905,11.0776923 C6.50077381,11.0776923 6.56886905,10.9430769 6.62613095,10.7876923 L52.1903571,32.6861538 C52.1942262,32.6884615 52.1973214,32.6907692 52.2019643,32.6938462 C52.2066071,32.6938462 52.2097024,32.6969231 52.2135714,32.6976923 L60.07625,36.4769231 C60.0220833,36.6892308 60.0406548,36.9261538 60.1667857,37.0623077 C60.4322024,37.3492308 61.6083929,39.4107692 61.6083929,39.4107692 L64.1395238,38.1992308 C64.2192262,38.1792308 64.2873214,38.1415385 64.3530952,38.0953846 L64.3763095,38.0846154 L64.3755357,38.0761538 C64.5682143,37.9284615 64.687381,37.6761538 64.6850595,37.3330769 Z" id="Shape" fill="#DEEBFF"></path>
<path d="M60.7231548,36.6646154 L53.8045238,33.3392308 C54.2254762,32.7430769 54.4653571,31.9338462 54.4607143,30.9407692 C54.4421429,27.9338462 52.1872619,24.42 49.4263095,23.0930769 C48.5008333,22.6476923 47.6388095,22.5130769 46.8990476,22.6330769 C46.9122024,22.3892308 46.9307738,22.1476923 46.9292262,21.8915385 C46.8882143,15.8769231 42.3815476,8.85076923 36.8604167,6.19692308 C33.41,4.53846154 30.3782143,4.98153846 28.6015476,7.01846154 C27.0995833,4.99923077 25.2014286,3.30615385 23.136131,2.31461538 C18.4955952,0.0830769231 14.7372024,2.20769231 14.47875,7.04538462 C13.735119,6.21461538 12.8715476,5.52307692 11.9499405,5.08153846 C9.1897619,3.75230769 6.96738095,5.11615385 6.9875,8.12307692 C6.99446429,9.11769231 7.24904762,10.1646154 7.68005952,11.1707692 L2.00880952,8.44538462 C1.31702381,8.11384615 0.76375,8.45230769 0.767619048,9.20615385 C0.772261905,9.95615385 1.33482143,10.8361538 2.02505952,11.1684615 L49.4866667,33.9784615 C49.4913095,33.98 49.493631,33.9823077 49.4998214,33.9853846 C49.5029167,33.9853846 49.5067857,33.9884615 49.5114286,33.99 L60.7432738,39.3884615 C61.4327381,39.7192308 61.9875595,39.3776923 61.9829167,38.6269231 C61.9759524,37.8730769 61.412619,36.9953846 60.7231548,36.6646154 Z" id="Shape" fill="#E9F2FF"></path>
</g>
<g id="Group" transform="translate(357.000000, 67.000000)" fill-rule="nonzero">
<path d="M92.3436639,59.2421481 C92.3429016,58.4231358 91.803959,57.4885432 91.1415246,57.1563457 L84.4821148,53.816 C84.8937541,53.1493086 85.1308279,52.2568148 85.1323525,51.1752593 C85.1323525,47.8999753 82.9796311,44.1639012 80.3245574,42.831284 C79.4334344,42.385037 78.6010082,42.2717531 77.8859754,42.4324938 C77.9012213,42.1676543 77.921041,41.9043457 77.921041,41.6257284 C77.921041,35.0720988 73.617123,27.6014815 68.3069754,24.9385432 C66.321959,23.942716 64.4794918,23.7605432 62.948041,24.2611358 C61.9723033,19.1396296 59.5100902,13.9699012 55.2008361,11.8343457 C53.7944016,11.137037 51.1179836,11.4409136 50.6133443,11.9460988 C50.3892295,8.9685679 46.9253607,5.3128642 44.2657131,3.98024691 C41.9620574,2.82520988 39.8550738,2.77622222 38.2016557,3.61360494 C38.1993689,3.61207407 38.1925082,3.60595062 38.1925082,3.60595062 L37.9615328,3.72995062 C37.9592459,3.72995062 37.9584836,3.73148148 37.9561967,3.73301235 L35.3948852,5.09548148 C35.3948852,5.09548148 35.6563525,5.34424691 36.0062459,5.66037037 C35.3826885,6.64471605 34.9451311,7.87553086 34.7598934,9.33597531 C32.9967049,5.89 30.3705984,2.94385185 27.4327131,1.47039506 C24.9453443,0.221975309 22.684377,0.263308642 20.9768361,1.31960494 C20.9692131,1.31271605 20.9577787,1.30353086 20.9577787,1.30353086 L18.1601557,2.7922963 C18.1601557,2.7922963 18.5077623,3.12525926 18.9392213,3.50950617 C18.2219016,4.81074074 17.8117869,6.49775309 17.8117869,8.50930864 C17.8117869,10.0432346 18.054959,11.6261481 18.4848934,13.1845679 C17.6501803,11.909358 16.5791557,10.8561235 15.4097951,10.269037 C14.1497213,9.63679012 13.0085656,9.66587654 12.149459,10.2131605 L12.1456475,10.2093333 L9.34878689,11.6980988 C9.34878689,11.6980988 10.0287541,12.3494815 10.6660328,12.8822222 C10.6263934,13.1692593 10.5997131,13.4677778 10.5997131,13.7892593 C10.5989508,14.8700494 10.8383115,16.0028889 11.2469016,17.0798519 L4.5874918,13.7379753 C4.31992623,13.6047901 4.0759918,13.5933086 3.87627049,13.6744444 C3.87322131,13.6721481 3.86407377,13.6644938 3.86407377,13.6644938 L1.06645082,15.1532593 C1.06645082,15.1532593 3.52866393,17.5130864 3.4722541,16.9229383 C3.44252459,16.6182963 4.05998361,16.667284 4.73766393,16.7813333 L15.4067459,22.134 L68.287918,48.6585185 C68.2924918,48.6608148 68.2963033,48.6638765 68.3001148,48.664642 C68.3039262,48.6669383 68.3085,48.6677037 68.3130738,48.6707654 L80.3230328,54.694716 L88.3439016,58.7178272 C88.2730082,59.1778519 88.2996885,59.7503951 88.3309426,60.0749383 C88.3873525,60.6650864 89.2266393,61.5912593 89.2266393,61.5912593 L92.0242623,60.1024938 C92.0242623,60.1024938 92.0181639,60.0925432 92.015877,60.088716 C92.2163607,59.9249136 92.3429016,59.6340494 92.3436639,59.2421481 Z" id="Shape" fill="#DEEBFF"></path>
<path d="M88.4544344,58.5892346 L81.7957869,55.2481235 C82.2066639,54.5814321 82.4452623,53.6897037 82.4460246,52.6073827 C82.4460246,49.3320988 80.2940656,45.5967901 77.6374672,44.2634074 C76.7471066,43.8163951 75.9146803,43.7038765 75.1988852,43.8646173 C75.2148934,43.5990123 75.2339508,43.3372346 75.2339508,43.0586173 C75.2339508,36.5049877 70.9307951,29.0343704 65.619123,26.3699012 C63.6341066,25.3748395 61.7931639,25.1934321 60.2624754,25.6932593 C59.2859754,20.5709877 56.8237623,15.4012593 52.5152705,13.2672346 C51.1073115,12.5699259 48.4308934,12.873037 47.9270164,13.3789877 C47.7036639,10.4014568 44.2375082,6.74651852 41.578623,5.4131358 C36.7487213,2.98901235 32.7588689,5.38787654 32.0735656,10.7696296 C30.310377,7.32365432 27.6842705,4.37674074 24.7463852,2.90251852 C19.4347131,0.238814815 15.1269836,3.38933333 15.1262213,9.94219753 C15.1262213,11.475358 15.3686311,13.0575062 15.7985656,14.6166914 C14.9630902,13.3422469 13.8928279,12.2882469 12.7234672,11.7011605 C10.0676311,10.3685432 7.91414754,11.9453333 7.91262295,15.2206173 C7.91262295,16.3014074 8.15122131,17.432716 8.55904918,18.5112099 L1.89963934,15.1693333 C1.23568033,14.8379012 0.698262295,15.2313333 0.6975,16.0495802 C0.6975,16.8678272 1.23568033,17.8024198 1.89963934,18.1361481 L12.7196557,23.565358 L65.6015902,50.0898765 C65.6054016,50.0914074 65.6092131,50.0952346 65.6145492,50.0967654 C65.6183607,50.0975309 65.6221721,50.0998272 65.6267459,50.1028889 L77.6359426,56.1268395 L88.455959,61.5529877 C89.119918,61.886716 89.6573361,61.4925185 89.6588607,60.6735062 C89.6573361,59.8560247 89.1183934,58.9221975 88.4544344,58.5892346 Z" id="Shape" fill="#E9F2FF"></path>
</g>
<g id="Group" transform="translate(29.000000, 254.000000)" fill-rule="nonzero">
<polygon id="Shape" fill="#FFFFFF" points="137.81343 85.2340704 0.739340782 152.860839 0.739340782 68.1872563 137.81343 0.560487437"></polygon>
<g transform="translate(75.553073, 29.984925)" id="Shape">
<path d="M34.3234525,38.6359598 C32.1509162,41.7966784 29.4125028,44.2992663 26.5091061,45.7608392 L26.3834413,45.8231156 C21.3992514,48.2757286 17.0834749,47.0063668 15.2092961,43.101407 L2.59655866,55.1645729 C3.89252514,57.9500955 5.7913743,60.1574472 8.22757542,61.6497739 C13.0938101,64.6282764 19.5420335,64.4153065 26.3842123,61.047 L26.6440223,60.9178342 C32.6774749,57.8816683 38.4434078,52.6189296 43.0089721,46.102206 L34.3234525,38.6359598 Z" fill="#A2DB52"></path>
<path d="M43.0082011,46.102206 L34.3234525,38.6359598 C37.1181453,34.6356633 38.6014525,30.1609899 38.5644469,26.1084121 C38.5158771,20.6580754 35.5546592,17.2328744 31.0168492,17.3835678 C29.5119553,17.432005 27.9176313,17.8748593 26.2747374,18.7036734 L26.1336536,3.55052261 C29.6129497,1.79832663 33.0058994,0.854954774 36.2099665,0.749623116 C45.8237095,0.431321608 52.1038659,7.6899799 52.2056313,19.243402 C52.2811844,27.8367739 48.9306369,37.6264673 43.0082011,46.102206 Z" fill="#8DB3FF"></path>
<path d="M26.1367374,3.54898492 C23.7891955,4.73069849 21.4616983,6.25531658 19.2174637,8.08209045 C15.0065363,11.5111357 11.1656648,15.768995 8.08263687,20.867201 L8.11501676,20.887191 C3.18402235,28.8308894 0.504972067,37.4596281 0.574357542,45.2211106 C0.60750838,48.9999799 1.29056983,52.3421457 2.60581006,55.159191 C2.63818994,55.2299246 2.67134078,55.2998894 2.70449162,55.3698543 L15.2162346,43.1406181 C14.5686369,41.7989849 14.2325028,40.189794 14.2163128,38.3568693 C14.183162,34.651809 15.318,30.7868291 17.6986927,27.0010402 C17.740324,26.913392 17.8405475,26.7726935 17.9114749,26.6612111 C19.3092067,24.4523216 21.0415307,22.4410251 23.0012849,20.8456734 C24.0590279,19.9868744 25.1591732,19.2656985 26.2716536,18.7052111 L26.1367374,3.54898492 Z" fill="#DCE9FF"></path>
</g>
<g transform="translate(13.106145, 63.814070)" id="Shape">
<path d="M34.2155196,38.0539447 C32.0414413,41.2138945 29.3037989,43.7187889 26.3996313,45.179593 L26.2739665,45.2418693 C21.2913184,47.6944824 16.974,46.4251206 15.1005922,42.519392 L2.48785475,54.5817889 C3.78459218,57.3680804 5.68267039,59.5754322 8.11887151,61.0677588 C12.9851061,64.0470302 19.4333296,63.8325226 26.2747374,60.4642161 L26.5345475,60.3358191 C32.5687709,57.3004221 38.3362458,52.0369146 42.8994972,45.5217286 L34.2155196,38.0539447 Z" fill="#4080FE" opacity="0.1"></path>
<path d="M42.8987263,45.5217286 L34.2155196,38.0539447 C37.0094413,34.0536482 38.4927486,29.5789749 38.456514,25.5271658 C38.4079441,20.0760603 35.4459553,16.6516281 30.9089162,16.8015528 C29.4032514,16.8507588 27.8089274,17.2936131 26.1660335,18.1224271 L26.0249497,2.96773869 C29.5042458,1.2170804 32.8964246,0.272170854 36.1004916,0.166839196 C45.7150056,-0.149924623 51.995162,7.10796482 52.0969274,18.6613869 C52.1724804,27.2555276 48.821162,37.0459899 42.8987263,45.5217286 Z" fill="#A2DB52"></path>
<path d="M8.19365363,20.0153216 C11.2774525,14.9171156 14.8970615,10.9306583 19.1095307,7.50084422 C21.3529944,5.67407035 23.6797207,4.14945226 26.0288045,2.96773869 L26.1629497,18.1247337 C25.0489274,18.6852211 23.9487821,19.4056281 22.892581,20.265196 C20.9328268,21.8605477 19.1997318,23.8710754 17.8012291,26.0799648 C17.7310726,26.1922161 17.6308492,26.3321457 17.5892179,26.419794 L8.19365363,20.0153216 Z" fill="#F26D5B"></path>
<g opacity="0.8" transform="translate(0.000000, 19.989950)" fill="#4080FE">
<path d="M2.59578771,34.7986583 C2.56263687,34.7286935 2.52948603,34.6579598 2.4963352,34.5887638 C1.18109497,31.7709497 0.49803352,28.4287839 0.465653631,24.6514523 C0.393955307,16.7915578 3.13622346,8.04518593 8.18594413,0.020758794 L17.5884469,6.43061307 C15.2069832,10.2171709 14.0721453,14.0806131 14.1052961,17.7872111 C14.121486,19.6209045 14.4576201,21.2293266 15.1052179,22.5709598 L2.59578771,34.7986583 Z"></path>
</g>
</g>
</g>
<g id="Group" transform="translate(260.000000, 379.000000)" fill-rule="nonzero">
<polygon id="Shape" fill="url(#linearGradient-2)" points="52.6791942 58.3395065 78.8251262 45.1717792 52.6791942 32.0048182 52.6791942 32.0048182 52.6784272 32.0048182 52.6784272 32.0048182 52.6784272 32.0048182 26.5324951 45.1717792 52.6791942 58.3395065 52.6791942 58.3395065 52.6791942 58.3395065"></polygon>
<polygon id="Shape" fill="#8CB3FE" points="26.5861845 26.6641688 0.439485437 13.4964416 0.439485437 31.9389221 26.5861845 45.1058831 52.7328835 31.9389221 52.7328835 31.9389221 52.7328835 13.4964416"></polygon>
<polygon id="Shape" fill="#A9CAFF" points="26.5861845 26.6641688 0.439485437 13.4964416 0.439485437 31.9389221 26.5861845 45.1058831"></polygon>
<polygon id="Shape" fill="#D7E7FF" points="26.5861845 26.6641688 52.7328835 13.4964416 26.5861845 0.329480519 26.5861845 0.329480519 26.5854175 0.329480519 26.5854175 0.329480519 26.5854175 0.329480519 0.439485437 13.4964416 26.5861845 26.6641688 26.5861845 26.6641688 26.5861845 26.6641688"></polygon>
</g>
<g id="Group" transform="translate(103.000000, 348.000000)">
<polygon id="Shape" fill="url(#linearGradient-3)" fill-rule="nonzero" points="52.6078641 95.5474286 78.7560971 82.4548571 52.6078641 69.3615238 52.6078641 69.3615238 52.6070971 69.3615238 52.6070971 69.3615238 52.6070971 69.3615238 26.461932 82.4548571 52.6078641 95.5474286 52.6078641 95.5474286 52.6078641 95.5474286"></polygon>
<polygon id="Shape" fill="#8CB3FE" fill-rule="nonzero" points="26.5156214 26.248381 0.36815534 13.1558095 0.36892233 69.296 26.5156214 82.3893333 52.6630874 69.296 52.6630874 69.296 52.6630874 13.1558095"></polygon>
<polygon id="Shape" fill="#A9CAFF" fill-rule="nonzero" points="26.5156214 26.248381 0.36815534 13.1558095 0.36892233 69.296 26.5156214 82.3893333"></polygon>
<polygon id="Shape" fill="#D7E7FF" fill-rule="nonzero" points="26.5156214 26.248381 52.6630874 13.1558095 26.5156214 0.0624761905 26.5156214 0.0624761905 26.5148544 0.0624761905 26.5148544 0.0624761905 26.5148544 0.0624761905 0.36892233 13.1558095 26.5156214 26.248381 26.5156214 26.248381 26.5156214 26.248381"></polygon>
<g id="Clipped">
<mask id="mask-5" fill="white">
<use xlink:href="#path-4"></use>
</mask>
<g id="SVGID_19_"></g>
<g id="Group" mask="url(#mask-5)" fill-rule="nonzero">
<g transform="translate(18.407767, 9.142857)" id="Shape">
<path d="M0.167970874,6.88457143 C0.167970874,6.88457143 30.6266893,25.384381 32.5288252,26.7352381 C34.4309612,28.0845714 39.8229029,22.9539048 39.8229029,22.9539048 L6.16430097,5.13447619" fill="url(#linearGradient-6)"></path>
<path d="M11.0109126,2.07466667 C11.0109126,2.07466667 42.4498447,20.615619 44.3519806,21.9641905 C46.2541165,23.3135238 52.0694369,17.8758095 52.0694369,17.8758095 L17.0080097,0.326095238" fill="url(#linearGradient-7)"></path>
</g>
</g>
</g>
</g>
<g id="Group" transform="translate(175.000000, 72.000000)">
<polygon id="Shape" fill="#FFFFFF" fill-rule="nonzero" points="63.3905169 133.558674 0.625752809 164.380674 0.625752809 67.8357209 63.3905169 37.0137209"></polygon>
<polygon id="Shape" fill="#FFFFFF" fill-rule="nonzero" points="135.974787 97.105186 73.2100225 127.927186 73.2100225 31.3822326 135.974787 0.560232558"></polygon>
<g transform="translate(8.404494, 51.418605)" id="Shape">
<polygon fill="#D7E7FF" fill-rule="nonzero" points="24.5770337 66.7290698 0.524898876 78.5146744 0.524898876 74.5516047 24.5770337 62.7667674"></polygon>
<polygon fill="#A9CAFF" fill-rule="nonzero" points="48.1325393 63.3300698 0.524898876 86.8536977 0.524898876 82.8913953 48.1325393 59.367"></polygon>
<polygon fill="#559AFF" fill-rule="nonzero" points="36.6260225 77.464814 0.524898876 95.1942558 0.524898876 91.231186 36.6260225 73.5032791"></polygon>
<g stroke="#A6C8FF" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.4175">
<path d="M1.27977528,22.6502791 L46.6441798,0.235604651"></path>
<path d="M1.27977528,37.7159302 L29.3714157,23.7331395"></path>
<path d="M1.27977528,30.333907 L47.0177978,7.557"></path>
<path d="M1.27977528,44.8569767 L31.0469663,30.2694419"></path>
<path d="M1.27977528,52.1622558 L31.0469663,37.5739535"></path>
<path d="M23.0229663,52.9243256 C23.0229663,54.2473953 22.0014382,55.8237209 20.7422921,56.4430465 L2.75361798,65.4443721 C1.496,66.0636977 0.47447191,65.4934884 0.47447191,64.1704186 C0.47447191,62.845814 1.496,61.2702558 2.75361798,60.6516977 L20.7422921,51.6503721 C22.0014382,51.0302791 23.0229663,51.6012558 23.0229663,52.9243256 Z"></path>
</g>
</g>
<g transform="translate(80.224719, 34.534884)" fill-rule="nonzero" id="Shape">
<polygon fill="#559AFF" points="36.6229663 58.5274186 26.2907865 63.7475581 26.2907865 5.66986047 36.6229663 0.44972093"></polygon>
<polygon fill="#D7E7FF" points="49.5192809 52.0494419 39.1886292 57.2695814 39.1886292 16.684186 49.5192809 11.464814"></polygon>
<path d="M23.6685843,65.0023256 L23.6685843,40.2561628 C21.6591461,40.6199302 20.0447191,40.9829302 18.7488989,41.3336512 C12.8902022,42.9214884 13.5434607,43.2929302 13.5434607,44.2660465 C13.5434607,45.1255814 13.532764,70.1280698 13.532764,70.1280698 L23.6685843,65.0023256 Z" fill="url(#linearGradient-8)"></path>
<path d="M27.8410337,49.335 C26.8714607,49.189186 26.0852584,48.0165349 26.0852584,46.7149535 L26.0844944,46.5537907 L26.0906067,46.5514884 L26.0906067,46.9812558 L26.0906067,41.019 L26.0906067,40.4096512 C26.0906067,39.1088372 25.5764045,37.7719535 24.6068315,37.6261395 C24.275236,37.5770233 23.6953258,37.818 23.4317303,37.9906744 L13.5900674,43.1340698 L13.5900674,43.1356047 C13.804764,43.0427442 14.314382,42.8439767 14.5642247,42.8800465 C15.5330337,43.025093 16.0457079,44.3627442 16.0457079,45.6635581 L16.0457079,51.4707907 C16.0441798,51.4846047 16.0418876,51.4976512 16.0418876,51.5099302 L16.0441798,51.9796047 C16.0441798,53.2804186 16.829618,54.4530698 17.7999551,54.5981163 C18.1628764,54.6533721 18.479191,54.5136977 18.8253034,54.3264419 L28.4362247,49.2835814 C28.2520899,49.3465116 28.050382,49.3656977 27.8410337,49.335 Z" fill="url(#linearGradient-9)"></path>
<polygon fill="#A9CAFF" points="10.7317753 71.4933488 0.400359551 76.7127209 0.400359551 57.6203023 10.7317753 52.4009302"></polygon>
</g>
</g>
<g id="Group" transform="translate(175.000000, 182.000000)" fill-rule="nonzero">
<polygon id="Shape" fill="#FFFFFF" points="137.54514 84.8081307 0.471050279 152.436437 0.471050279 67.7620854 137.54514 0.134547739"></polygon>
<g transform="translate(10.022346, 11.532663)" fill="#4080FE" id="Shape">
<polygon opacity="0.1" points="0.427106145 89.2981809 59.3222682 75.7157789 72.6681788 41.1108693 120.835575 12.8635327 120.835575 65.321005 0.427106145 126.702452"></polygon>
<polygon opacity="0.2" points="0.427106145 112.684884 30.1333408 72.9502462 69.0524246 70.4976332 120.835575 0.658130653 120.835575 65.321005 0.427106145 126.702452"></polygon>
<polygon opacity="0.2" points="0.427106145 112.684884 30.329162 103.196578 69.2328268 61.1846231 120.835575 46.1052814 120.835575 65.321005 0.427106145 126.702452"></polygon>
</g>
</g>
<g id="Group" transform="translate(313.000000, 274.000000)" fill-rule="nonzero">
<path d="M27.7793478,109.450483 C27.7793478,109.450483 59.056413,129.293182 60.9441304,130.652386 C62.8318478,132.011591 69.5731522,126.57554 69.5731522,126.57554 L34.7907609,108.907415" id="Shape" fill="url(#linearGradient-10)"></path>
<path d="M10.7906522,111.42179 C10.7906522,111.42179 45.08,132.872983 46.9684783,134.232188 C48.8554348,135.590625 55.5959783,130.155341 55.5959783,130.155341 L19.9576087,112.100625" id="Shape" fill="url(#linearGradient-11)"></path>
<g transform="translate(8.369565, 96.647727)" id="Shape">
<path d="M5.01413043,1.76880682 C5.35271739,3.33894886 6.82347826,7.71877841 7.43978261,9.52823864 L7.56152174,10.6772727 C7.56152174,10.6772727 7.3423913,12.3072443 5.61293478,11.4880398 C3.88423913,10.6711364 2.93847826,10.7969318 1.47684783,11.1766193 C0.225978261,11.5018466 0.579021739,14.2049148 3.8226087,14.8216193 C7.06543478,15.4390909 9.75282609,17.161108 11.6055435,16.4661648 C12.6867391,16.0603977 11.4898913,12.385483 11.3978261,11.7810511 C11.193913,10.4256818 11.0896739,8.67528409 11.0348913,7.21176136 C11.0531522,6.35957386 11.0318478,5.44372159 10.978587,4.53017045 C10.9770652,4.39670455 10.9770652,4.32306818 10.9770652,4.32306818 L10.9648913,4.32460227 C10.8667391,2.81198864 10.681087,1.31701705 10.4406522,0.125028409" fill="#FFA694"></path>
<path d="M0.992173913,10.4103409 C1.51945652,10.4640341 2.80076087,10.7355682 3.83021739,10.8744034 C3.01913043,10.9488068 1.15043478,12.1684091 2.52836957,13.3174432 C3.44293478,14.0783523 11.5256522,16.1585795 11.8543478,13.7147727 C11.9951087,14.6720455 12.1784783,15.9852273 11.7691304,16.3127557 C9.57630435,18.0662216 6.41717391,15.6162784 3.17358696,14.9972727 C-0.0692391304,14.3813352 -0.547826087,10.2553977 0.992173913,10.4103409 Z" fill="#4080FE"></path>
</g>
<path d="M31.6377174,19.9339773 C32.7326087,20.2453977 39.865,29.9853409 41.5807609,34.070625 C42.2313043,35.6208239 41.5305435,37.056733 37.7992391,39.7759091 L36.1367391,36.7851989 C36.1367391,36.7851989 37.3503261,35.8340625 36.9006522,34.5653693 C36.4509783,33.2982102 33.0354348,29.1139773 29.9797826,28.3139489 C26.9248913,27.5139205 29.126087,25.5057955 29.126087,25.5057955 C29.126087,25.5057955 31.1492391,19.7966761 31.6377174,19.9339773 Z" id="Shape" fill="#FFA694"></path>
<path d="M27.5092391,62.2902273 C27.5092391,62.2902273 18.9258696,80.6832102 18.2973913,81.9519034 C18.0721739,82.4059943 19.1952174,90.3794318 19.4036957,105.813153 L15.6008696,106.505028 C15.6008696,106.505028 10.0381522,94.1134091 11.1223913,79.9084943 C12.2066304,65.7058807 16.473587,52.8609375 16.473587,52.8609375 L30.6303261,52.5947727" id="Shape" fill="#4080FE"></path>
<g transform="translate(24.347826, 98.181818)" id="Shape">
<path d="M6.98173913,4.69892045 C7.00380435,4.79326705 7.07152174,7.83536932 7.105,7.89826705 C7.1651087,8.17977273 7.0776087,8.60701705 5.92336957,8.46127841 C3.93597826,8.20815341 3.39195652,7.68349432 2.11141304,8.06164773 C1.01347826,8.38840909 1.29423913,10.5875284 4.1398913,11.204233 C6.98326087,11.8209375 9.34043478,13.5414205 10.9679348,12.8464773 C11.9167391,12.4407102 10.8941304,9.27051136 10.8142391,8.6653125 C10.4391304,5.8134375 10.5129348,0.441818182 10.5129348,0.441818182 L10.4809783,0.460994318" fill="#FFA694"></path>
<path d="M1.18391304,7.50017045 C1.89304348,7.35826705 3.33717391,7.98647727 4.24032609,8.12454545 C3.52891304,8.19894886 1.87021739,8.81872159 3.07847826,9.96698864 C3.88043478,10.7278977 10.9702174,12.8058239 11.2601087,10.362017 C11.381087,11.3192898 11.5431522,12.6324716 11.1832609,12.96 C9.25978261,14.7134659 6.48869565,12.2642898 3.64380435,11.6475852 C0.63,10.9963636 -1.27217391,7.99107955 1.18391304,7.50017045 Z" fill="#4080FE"></path>
</g>
<path d="M35.1042391,103.877898 C35.1042391,103.877898 35.2518478,97.4669318 34.9254348,90.9225 C34.6819565,86.0701705 33.9363043,80.9018182 33.9363043,79.5057955 C33.9363043,77.5130114 35.868913,61.5891477 35.868913,54.9511364 C35.868913,50.6656534 33.7780435,47.603608 33.1723913,47.2039773 L23.356413,54.691108 C23.356413,54.691108 25.6572826,68.7441477 27.8242391,82.9475284 C29.9919565,97.1516761 30.9696739,103.788153 30.9696739,103.788153 C30.9696739,103.788153 33.1267391,105.599148 35.1042391,103.877898 Z" id="Shape" fill="#4080FE"></path>
<path d="M15.5118478,25.4590057 C15.4661957,23.6012216 20.4331522,21.0277841 22.9265217,19.1623295 C25.3803261,17.3244886 31.4779348,18.1183807 32.4982609,21.2011364 C33.5163043,24.282358 32.7676087,33.614233 31.2846739,39.3218182 C30.2575,43.2736364 34.2497826,48.5639489 34.2497826,48.5639489 C34.2497826,48.5639489 27.5990217,58.8017045 16.0048913,53.2298864 C16.0048913,53.2298864 16.905,46.5565909 16.905,42.4475284 C16.905,38.3376989 15.5118478,25.4590057 15.5118478,25.4590057 Z" id="Shape" fill="#A7D873"></path>
<path d="M19.3763043,31.5754261 C19.3763043,31.5754261 20.8143478,41.0875568 20.5442391,44.1695455 C20.2748913,47.25 18.836087,54.135767 18.836087,54.135767 L13.8942391,52.3240057 C13.8942391,52.3240057 16.5892391,44.2600568 16.9498913,41.360625" id="Shape" fill="#7AAA43"></path>
<g transform="translate(14.456522, 3.068182)" id="Shape">
<path d="M0.848369565,9.36409091 C1.27217391,11.7089489 2.50326087,13.3120739 4.095,13.1924148 L6.54347826,13.0083239 C8.13369565,12.8894318 9.42869565,11.4044318 9.43402174,9.69392045 L9.45836957,3.34201705 C9.46445652,1.62997159 8.18086957,0.339801136 6.59065217,0.457926136 L4.14293478,0.642017045 C2.55195652,0.761676136 0.430652174,1.86622159 0.424565217,3.5775 C0.425326087,3.5775 0.426086957,7.02076705 0.848369565,9.36409091 Z" fill="#FFA694"></path>
<path d="M6.71695652,17.2263068 C6.71695652,17.2263068 6.1775,15.8678693 5.42576087,13.7907102 C4.8726087,12.2627557 2.95597826,11.897642 2.95597826,11.897642 L9.17684783,8.09923295 L11.4176087,16.4653977 L6.71695652,17.2263068 Z" fill="#FFA694"></path>
<path d="M0.540978261,6.91951705 C0.540978261,6.91951705 0.106521739,8.00642045 0.012173913,8.54948864 C-0.0814130435,9.09332386 0.442826087,9.36409091 0.884891304,9.39553977" fill="#F99282"></path>
</g>
<path d="M16.4553261,8.47048295 C17.5281522,12.7996875 19.2811957,18.4328693 17.7678261,20.436392 C15.9280435,22.8717614 25.1672826,21.5731534 27.8029348,20.0544034 C30.7840217,18.3377557 32.7303261,15.5802273 32.4069565,15.3447443 C26.8358696,11.2678977 29.8854348,4.59460227 25.1459783,1.85625 C18.1528261,-2.18454545 13.1782609,5.74977273 14.2533696,7.914375 L16.4553261,8.47048295 Z" id="Shape" fill="#FCBF7C"></path>
<g transform="translate(0.000000, 46.022727)" id="Shape">
<path d="M19.3230435,20.7332386 C19.2446739,21.3092898 18.7858696,21.617642 18.2966304,21.4212784 L1.3376087,14.6521023 C0.848369565,14.4557386 0.516630435,13.8328977 0.59576087,13.2583807 L2.26967391,1.01786932 C2.34880435,0.443352273 2.80836957,0.135 3.2976087,0.330596591 L20.2558696,7.09900568 C20.7451087,7.29460227 21.076087,7.91897727 20.9992391,8.49272727 L19.3230435,20.7332386 Z" fill="#BCD0ED"></path>
<path d="M18.9045652,20.993267 C18.8254348,21.5677841 18.3658696,21.8761364 17.8758696,21.6805398 L0.917608696,14.9113636 C0.429130435,14.715767 0.0973913043,14.0929261 0.175,13.517642 L1.84891304,1.27636364 C1.92804348,0.703380682 2.38913043,0.394261364 2.8776087,0.589857955 L19.8351087,7.35826705 C20.3251087,7.55463068 20.6568478,8.17823864 20.5784783,8.75275568 L18.9045652,20.993267 Z" fill="#D7E4F9"></path>
</g>
<path d="M10.9268478,64.8728693 C10.9268478,64.8728693 12.5444565,61.2478125 13.3532609,59.7528409 C14.1620652,58.2578693 16.8136957,52.1882386 16.8136957,52.1882386 L13.7572826,50.8735227 C13.7572826,50.8735227 8.49967391,60.3879545 8.365,61.8821591 C8.23032609,63.3778977 8.45478261,64.0122443 8.45478261,64.0122443 L10.9268478,64.8728693 Z" id="Shape" fill="#A8C4E5"></path>
<path d="M11.3019565,58.1458807 C11.3019565,58.1458807 19.4554348,46.845 19.4554348,43.7630114 C19.4554348,40.6802557 20.3334783,26.5182955 18.2973913,24.4641477 C16.2575,22.409233 14.221413,25.4927557 14.221413,28.5732102 C14.221413,31.6559659 15.3786957,40.6802557 13.341087,44.7908523 C11.3027174,48.8999148 10.283913,54.0383523 9.26586957,56.091733 C8.55978261,57.5123011 5.97434783,60.8489489 5.71565217,63.1063636 C5.60076087,64.1134943 5.985,63.8304545 7.15369565,64.2837784 C7.71902174,64.5039205 9.30923913,64.9587784 9.5801087,64.3742898 C10.208587,63.0158523 11.3019565,58.1458807 11.3019565,58.1458807 Z" id="Shape" fill="#FFA694"></path>
<g transform="translate(28.152174, 26.079545)" id="Shape">
<path d="M5.11,14.057642 C4.42521739,14.6513352 3.17282609,15.5901989 2.8273913,15.4107102 C2.29630435,15.1353409 1.15119565,15.3754261 0.680978261,15.4996875 C0.563043478,15.5296023 0.596521739,16.2912784 1.32695652,16.2782386 C2.09923913,16.2628977 2.3548913,16.6011648 2.48119565,16.6280114 C2.6075,16.6533239 4.07521739,18.815625 4.07521739,18.815625 C4.07521739,18.815625 10.7982609,12.9738068 11.1771739,12.5174148 C11.5568478,12.0625568 9.065,9.34644886 9.065,9.34644886 L5.11,14.057642 Z" fill="#FFA694"></path>
<path d="M4.92967391,0.375852273 L4.71054348,3.89352273 L8.43576087,7.71494318 C8.43576087,7.71494318 7.39413043,5.26960227 6.72836957,3.54605114 C6.05956522,1.82480114 4.92967391,0.375852273 4.92967391,0.375852273 Z" fill="#FF7B7B"></path>
</g>
<path d="M8.9501087,57.7608239 C8.50043478,58.1228693 6.61423913,59.4820739 6.07554348,60.1156534 C5.53532609,60.75 3.37826087,62.2902273 3.82717391,62.3807386 C4.27684783,62.47125 4.99586957,62.1092045 5.7148913,61.7471591 C6.43315217,61.3843466 7.33173913,61.3843466 7.6923913,61.0230682" id="Shape" fill="#FFA694"></path>
</g>
<g id="Group" transform="translate(193.000000, 361.000000)" fill-rule="nonzero">
<g transform="translate(0.000000, 9.230769)" id="Shape">
<polygon fill="url(#linearGradient-12)" points="53.0376923 80.1992308 79.2607692 66.98 53.0376923 53.7607692 53.0376923 53.7607692 53.0361538 53.7607692 53.0361538 53.7607692 53.0361538 53.7607692 26.8138462 66.98 53.0376923 80.1992308 53.0376923 80.1992308 53.0376923 80.1992308"></polygon>
<polygon fill="#8CB3FE" points="26.8692308 26.5907692 0.645384615 13.3715385 0.645384615 53.6953846 26.8692308 66.9146154 53.0923077 53.6953846 53.0923077 53.6953846 53.0923077 13.3715385"></polygon>
<polygon fill="#A9CAFF" points="26.8692308 26.5907692 0.645384615 13.3715385 0.645384615 53.6953846 26.8692308 66.9146154"></polygon>
<polygon fill="#D7E7FF" points="26.8692308 26.5907692 53.0923077 13.3715385 26.8692308 0.152307692 26.8692308 0.152307692 26.8676923 0.152307692 26.8676923 0.152307692 26.8676923 0.152307692 0.645384615 13.3715385 26.8692308 26.5907692 26.8692308 26.5907692 26.8692308 26.5907692"></polygon>
</g>
<g transform="translate(13.846154, 0.000000)" id="Shape">
<g>
<path d="M18.7307692,0.625384615 L18.5161538,0.529230769 C18.4346154,0.484615385 18.33,0.485384615 18.2146154,0.544615385 L1.16615385,9.01538462 C0.907692308,9.14461538 0.699230769,9.50692308 0.699230769,9.82461538 L0.699230769,24.6830769 C0.699230769,24.8676923 0.77,24.9976923 0.88,25.0484615 L0.879230769,25.0484615 L1.16076923,25.1746154 C1.16076923,25.1746154 1.16846154,25.1046154 1.17076923,25.0261538 L18.2146154,16.5569231 C18.4730769,16.4284615 18.6815385,16.0653846 18.6815385,15.7476923 L18.6815385,0.889230769 C18.6815385,0.809230769 18.6684615,0.741538462 18.6438462,0.682307692 C18.6930769,0.650769231 18.7307692,0.625384615 18.7307692,0.625384615 Z" fill="#D7E7FF"></path>
<path d="M18.93,15.8584615 C18.93,16.1776923 18.7215385,16.54 18.4638462,16.6684615 L1.41461538,25.14 C1.15615385,25.2692308 0.947692308,25.1146154 0.947692308,24.7946154 L0.947692308,9.93692308 C0.947692308,9.61846154 1.15615385,9.25615385 1.41461538,9.12846154 L18.4638462,0.655384615 C18.7223077,0.527692308 18.93,0.682307692 18.93,1.00076923 L18.93,15.8584615 Z" fill="#454B63"></path>
<polygon fill="#559AFF" points="18.2553846 15.3015385 1.89615385 23.4323077 1.89615385 10.0276923 18.2553846 1.89846154"></polygon>
</g>
<path d="M32.3584615,22.6215385 L19.6815385,17.1715385 C19.4069231,17.0315385 18.9861538,17.0176923 18.7415385,17.1376923 L1.21,24.9423077 L1.21,25.9938462 C1.19692308,26.0915385 1.27230769,26.1938462 1.43076923,26.2746154 L13.8838462,32.5930769 C14.1584615,32.7323077 14.5792308,32.7469231 14.8238462,32.6269231 L32.1884615,23.9576923 C32.3030769,23.9 32.3584615,23.8238462 32.3561538,23.7446154 L32.3584615,23.7446154 L32.3584615,22.6215385 Z" fill="#8CB3FE"></path>
<path d="M18.7415385,16.0353846 L1.37692308,24.7038462 C1.13230769,24.8238462 1.15615385,25.0346154 1.43076923,25.1730769 L13.8838462,31.49 C14.1584615,31.63 14.5792308,31.6446154 14.8238462,31.5246154 L32.1884615,22.8553846 C32.4315385,22.7361538 32.4084615,22.5246154 32.1346154,22.3869231 L19.6815385,16.0684615 C19.4069231,15.9292308 18.9861538,15.9138462 18.7415385,16.0353846 Z" fill="url(#linearGradient-13)"></path>
<path d="M18.9961538,17.0484615 L3.35461538,24.8584615 C3.18384615,24.9430769 3.2,25.0907692 3.39307692,25.1884615 L8.48538462,27.6076923 C8.67692308,27.7061538 8.97384615,27.7161538 9.14461538,27.6315385 L24.7838462,19.8207692 C24.9569231,19.7376923 24.9384615,19.5892308 24.7461538,19.4907692 L19.6546154,17.0707692 C19.4630769,16.9738462 19.1669231,16.9638462 18.9961538,17.0484615 Z" fill="#454B63"></path>
<g transform="translate(5.384615, 6.923077)" fill="#FFFFFF">
<polygon points="2.45076923 10.3 0.631538462 11.2146154 0.631538462 9.74307692 2.45076923 8.82692308"></polygon>
<polygon points="4.87538462 9.07846154 3.05692308 9.99307692 3.05692308 6.06615385 4.87538462 5.15076923"></polygon>
<polygon points="7.30153846 7.85692308 5.48230769 8.77230769 5.48230769 6.31769231 7.30153846 5.40153846"></polygon>
<polygon points="9.72692308 6.63538462 7.90769231 7.55076923 7.90769231 1.16923077 9.72692308 0.252307692"></polygon>
</g>
</g>
</g>
<g id="Group" transform="translate(350.000000, 121.000000)" fill="#A9CAFF" fill-rule="nonzero">
<g opacity="0.4" transform="translate(20.643016, 31.590393)" id="Shape">
<polygon points="70.9790975 80.0184653 52.8614109 49.5529985 34.6795015 40.2477016 16.4960631 9.67282421 0.338698366 1.40307574 0.720211875 0.594053486 17.100827 8.97706507 35.2835009 39.5519424 53.4654102 48.8572394 71.7138359 79.5415274"></polygon>
</g>
<g id="Shape">
<path d="M17.3447204,30.6303532 C17.3447204,31.9355757 18.2017878,33.4318817 19.2591689,33.9720003 C20.3165501,34.515201 21.1728529,33.8941801 21.1728529,32.5889575 C21.1728529,31.2845055 20.3165501,29.787429 19.2591689,29.2473104 C18.2017878,28.7048802 17.3447204,29.3251306 17.3447204,30.6303532 Z"></path>
<path d="M53.7100682,49.2401766 C53.7100682,50.5453992 54.5671356,52.0424756 55.6252813,52.5841352 C56.6818978,53.1242539 57.5382007,52.504774 57.5382007,51.1995514 C57.5382007,49.8950994 56.6818978,48.3980229 55.6252813,47.8571338 C54.5671356,47.3162446 53.7100682,47.9357245 53.7100682,49.2401766 Z"></path>
<path d="M35.5273943,39.9356501 C35.5273943,41.2408727 36.3844617,42.7371786 37.4418428,43.2788383 C38.4992239,43.8197275 39.3562914,43.2002476 39.3562914,41.895025 C39.3562914,40.5890319 38.4992239,39.092726 37.4418428,38.5510663 C36.3844617,38.0101772 35.5273943,38.6304275 35.5273943,39.9356501 Z"></path>
<g>
<path d="M53.7100682,70.5105275 C53.7100682,71.8157501 54.5671356,73.3128265 55.6252813,73.8537156 C56.6818978,74.3946048 57.5382007,73.7743544 57.5382007,72.4699023 C57.5382007,71.1646798 56.6818978,69.6683738 55.6252813,69.1274847 C54.5671356,68.585825 53.7100682,69.2053049 53.7100682,70.5105275 Z"></path>
<path d="M35.5273943,61.2052305 C35.5273943,62.5096826 36.3844617,64.006759 37.4418428,64.5476482 C38.4992239,65.0893079 39.3562914,64.4690575 39.3562914,63.1646054 C39.3562914,61.8593828 38.4992239,60.3615359 37.4418428,59.8221877 C36.3844617,59.280528 35.5273943,59.9007784 35.5273943,61.2052305 Z"></path>
<path d="M17.3447204,51.8991631 C17.3447204,53.2043856 18.2017878,54.7006916 19.2591689,55.2415807 C20.3165501,55.7840109 21.1728529,55.16299 21.1728529,53.8585379 C21.1728529,52.5540859 20.3165501,51.0570094 19.2591689,50.5153498 C18.2017878,49.9736901 17.3447204,50.594711 17.3447204,51.8991631 Z"></path>
<path d="M0.61240946,1.83147229 C0.61240946,3.13669487 1.46871233,4.63377129 2.52685801,5.17466046 C3.58423914,5.71554963 4.44054201,5.09684022 4.44054201,3.79161765 C4.44054201,2.48639507 3.58423914,0.989318646 2.52685801,0.44842948 C1.46871233,-0.0940006814 0.61240946,0.526249716 0.61240946,1.83147229 Z"></path>
</g>
<g transform="translate(16.820235, 56.246309)">
<path d="M36.8898333,35.5337985 C36.8898333,36.8390211 37.7469007,38.335327 38.8050464,38.8769867 C39.861663,39.4178759 40.7179658,38.798396 40.7179658,37.4924029 C40.7179658,36.1871803 39.861663,34.6908744 38.8050464,34.1499852 C37.7469007,33.6090961 36.8898333,34.228576 36.8898333,35.5337985 Z"></path>
<path d="M0.524485505,16.9232046 C0.524485505,18.2276567 1.38155293,19.7247331 2.43893406,20.2656223 C3.49631518,20.8065115 4.35261805,20.1862611 4.35261805,18.8825795 C4.35261805,17.5773569 3.49631518,16.0802805 2.43893406,15.5393913 C1.38155293,14.9985022 0.524485505,15.6179821 0.524485505,16.9232046 Z"></path>
<path d="M18.7071594,26.2277311 C18.7071594,27.5329537 19.5642268,29.0300301 20.6216079,29.5709193 C21.6789891,30.1110379 22.5360565,29.4923285 22.5360565,28.187106 C22.5360565,26.8826539 21.6789891,25.3855774 20.6216079,24.8446883 C19.5642268,24.3030286 18.7071594,24.923279 18.7071594,26.2277311 Z"></path>
<path d="M55.0732717,2.3007052 C55.0732717,3.60515728 55.9288101,5.1022337 56.9869557,5.64312287 C58.0435723,6.18478253 58.9006397,5.56376164 58.9006397,4.25930956 C58.9006397,2.95485748 58.0435723,1.45855156 56.9869557,0.916891892 C55.9288101,0.375232228 55.0732717,0.995482625 55.0732717,2.3007052 Z"></path>
<path d="M73.2559456,32.8748121 C73.2559456,34.1808051 74.1114839,35.6778816 75.1681005,36.2180002 C76.2262462,36.7588894 77.0833136,36.1394095 77.0833136,34.8349574 C77.0833136,33.5281938 76.2262462,32.0318879 75.1681005,31.4909988 C74.1122485,30.9501096 73.2559456,31.57036 73.2559456,32.8748121 Z"></path>
<path d="M55.0732717,23.5702856 C55.0732717,24.8747377 55.9288101,26.3725846 56.9869557,26.9127033 C58.0435723,27.4535924 58.9006397,26.8341125 58.9006397,25.5296605 C58.9006397,24.2244379 58.0435723,22.728132 56.9869557,22.1872428 C55.9288101,21.6448126 55.0732717,22.2642925 55.0732717,23.5702856 Z"></path>
<path d="M73.2559456,54.1443925 C73.2559456,55.449615 74.1114839,56.945921 75.1681005,57.4875806 C76.2262462,58.0292403 77.0833136,57.4089899 77.0833136,56.1037673 C77.0833136,54.7985447 76.2262462,53.3022388 75.1681005,52.7613496 C74.1122485,52.21969 73.2559456,52.8391699 73.2559456,54.1443925 Z"></path>
<path d="M55.0732717,44.8390955 C55.0732717,46.1450886 55.9288101,47.6413945 56.9869557,48.1822837 C58.0435723,48.7239433 58.9006397,48.1044634 58.9006397,46.7984704 C58.9006397,45.4924773 58.0435723,43.9969419 56.9869557,43.4552822 C55.9288101,42.914393 55.0732717,43.5331024 55.0732717,44.8390955 Z"></path>
</g>
</g>
<g opacity="0.4" transform="translate(3.058225, 3.852487)" id="Shape">
<polygon points="14.513569 25.3878889 0.183493471 0.731202021 0.923583806 0.263510107 15.2528948 24.920197"></polygon>
</g>
</g>
<g id="Group" transform="translate(215.000000, 330.000000)" fill-rule="nonzero">
<path d="M15.1616863,48.8640656 C15.1616863,48.8640656 12.4249533,53.7475631 11.1940412,54.5605862 C9.96158467,55.3743748 3.12129653,55.6469136 2.43711327,55.7824175 C1.75370223,55.9186869 0.384563501,56.0074917 0.612367182,56.3703664 C0.72665513,56.5502726 4.711289,56.6628097 4.81013263,56.9131473 C4.81013263,56.9131473 1.27415618,57.4773639 1.34288339,57.8172719 C1.48033781,58.4963222 2.11818812,58.5407246 2.80237138,58.8124979 C3.13365198,58.9434084 3.25875095,59.2641774 3.70045843,59.3820734 C4.08502193,59.4838926 5.38080015,59.7656182 6.08660545,59.625521 C7.45497197,59.3545133 9.00558143,59.3101109 10.921449,58.9028338 C12.8365443,58.4963222 15.4373674,55.2404021 15.4373674,55.2404021 L18.4466926,49.5438815" id="Shape" fill="#FFA694"></path>
<g transform="translate(10.811022, 0.000000)" id="Shape">
<g transform="translate(6.177727, 0.000000)">
<g transform="translate(0.772216, 110.240419)">
<path d="M0.599239512,5.94379591 C0.599239512,5.94379591 31.265476,24.532321 33.1797991,25.8904217 C35.0956667,27.2462257 41.9374992,21.8199473 41.9374992,21.8199473 L6.63642315,4.18683924" fill="url(#linearGradient-14)"></path>
<path d="M25.0390994,0.591011134 C25.0390994,0.591011134 58.9208428,21.7158314 60.8359381,23.0716354 C62.7518057,24.428205 69.5936383,19.0026922 69.5936383,19.0026922 L34.2925622,1.36881853" fill="url(#linearGradient-15)"></path>
</g>
<path d="M6.33139788,56.4453911 C4.55298474,62.8385698 1.61779224,72.5665212 0.667966724,77.912416 C0.277225496,80.1072721 2.77071053,90.7477692 3.12592982,92.578985 C3.70972502,95.5991132 5.52288787,107.084787 5.31361737,110.313912 C4.85801001,111.358134 3.74524695,114.217495 3.12592982,114.723529 C2.55603452,115.264779 2.41008572,114.959321 1.67956951,115.22497 C0.722021834,115.576361 2.23170385,116.491969 3.56145957,116.491969 C4.51051287,116.491969 5.40319441,116.800489 6.16305482,116.34881 C7.01712557,115.806029 7.20863511,114.541326 7.96695109,113.818639 C9.27740141,112.654225 12.8380888,111.106265 10.728395,109.315624 C10.3260706,108.378581 9.74536423,106.767846 9.77161957,105.322471 C9.92142944,97.1087945 11.3847785,95.1994917 9.8658299,88.1494638 C8.48588015,81.7409739 7.55149895,79.2169276 7.55149895,79.2169276 C7.55149895,79.2169276 12.5546855,71.1647837 14.5493191,65.6849162 C16.5416361,60.2058143 8.10903881,50.0529779 6.33139788,56.4453911 Z" fill="#FFA694"></path>
<g transform="translate(1.544432, 0.000000)">
<path d="M32.8871293,114.154719 C30.4731825,114.466302 29.3673694,112.603698 27.9449477,112.151253 C26.3495498,111.645219 23.5440895,110.375923 22.4027545,109.201556 C20.9942327,107.74776 23.8691924,107.633692 25.7904655,108.125946 C27.7086497,108.617435 33.3149369,110.183767 33.3149369,110.183767 C33.3149369,110.183767 35.2308044,113.853089 32.8871293,114.154719 Z" fill="#000000"></path>
<path d="M26.6445362,108.667962 C24.6576248,109.022415 30.1558018,111.378804 30.1558018,111.378804 C30.1558018,111.378804 33.6184177,112.560827 33.5357906,111.482155 C33.4245915,110.054388 33.6871449,93.6767959 33.0477502,89.0849762 C32.4083555,84.4954532 28.4522936,75.6762197 28.4522936,75.6762197 C27.7016998,64.0213577 28.4368493,67.6684782 28.0121305,58.1426342 C27.6074894,49.1289489 19.0227656,43.9239169 19.0227656,43.9239169 L13.2319189,56.4622334 C15.6250158,61.1558723 21.7008103,76.4754627 23.2205311,80.5367504 C24.7379353,84.5988036 29.1913042,104.439017 29.3974858,106.768611 C29.5202681,108.162693 28.1627126,108.396954 26.6445362,108.667962 Z" fill="#FFA694"></path>
<path d="M7.5877931,11.6586898 C8.01791733,13.997471 9.2673626,15.5990193 10.8836104,15.4788266 L13.3678289,15.2958581 C14.98176,15.176431 16.2960714,13.6950754 16.3030214,11.98788 L16.32696,5.64752479 C16.3331378,3.93956386 15.0304096,2.65189452 13.4157062,2.76979052 L10.9314878,2.95352455 C9.31678442,3.07295167 6.6194344,4.1967915 6.61248446,5.90475243 C6.61248446,5.90475243 7.15844108,9.31914318 7.5877931,11.6586898 Z" fill="#FFA694"></path>
<path d="M13.5438941,21.1324758 C13.5438941,21.1324758 12.996393,18.1490945 12.2334437,16.0767277 C11.6720428,14.5502042 9.72683105,14.1865639 9.72683105,14.1865639 L16.040468,10.3962839 L18.3146437,20.3738074 L13.5438941,21.1324758 Z" fill="#FFA694"></path>
<path d="M24.0738296,83.2475929 L16.9146163,66.9656955 L24.4985483,59.7510725 C24.4985483,59.7518381 22.1201235,78.7552959 24.0738296,83.2475929 Z" fill="#FF7B7B"></path>
<path d="M0.441707475,71.0690889 C0.441707475,71.0690889 7.18237977,77.5763358 16.6752294,75.7688523 C26.168079,73.9613688 28.5410984,69.7247682 28.5410984,69.7247682 C28.5410984,69.7247682 28.5936091,58.0844518 27.1240823,51.9974964 C26.1526347,47.9737211 23.9587695,46.3338949 23.0738101,43.6820004 C23.0668601,42.1478212 25.076938,36.6756093 26.1703957,33.777205 C27.4491852,30.3834843 28.4492047,23.8953763 28.4492047,23.8953763 C26.5642258,20.1694033 17.0296765,18.9031696 17.0296765,18.9031696 L9.49439407,23.3204419 C9.49439407,23.3204419 7.71906979,23.8333661 6.66653957,28.114369 C5.47887157,32.939684 5.79779672,30.0726676 5.79007456,32.3923097 C5.78003576,34.7104208 7.0086312,37.0599197 7.31133982,38.1171559 C7.61404844,39.1751577 7.52215475,43.8764522 7.34068402,45.9564746 C7.15921329,48.0357314 0.441707475,71.0690889 0.441707475,71.0690889 Z" fill="#2A5FFF"></path>
<path d="M25.5950949,23.289054 C26.768863,23.824945 31.9612425,32.1748911 32.2129848,37.9602164 C32.2801676,39.4913334 27.0970547,44.9298607 23.5772948,46.5888259 L21.5703058,44.0555929 C21.5703058,44.0555929 26.58662,39.4446343 26.6785137,38.0880647 C26.768863,36.7314951 25.5788783,31.5861767 22.0768794,30.4546813 C18.5756527,29.3216547 20.4420984,25.0092639 20.4420984,25.0092639 C20.4420984,25.0092639 23.8437093,22.489811 25.5950949,23.289054 Z" fill="#2A5FFF"></path>
<path d="M16.2319775,0.973790366 C12.3871147,-0.694361527 10.4009755,1.28766934 7.18855749,2.10222354 C3.95451745,2.92213666 4.25182056,6.38169535 5.91749018,6.71777552 C9.16929119,7.37539024 9.82335803,7.64792905 11.1214529,8.70057194 C12.4566141,9.78460273 12.8774718,13.5687582 13.1021866,16.1364413 C13.557794,20.2658637 16.8404836,20.6562985 16.8281281,22.3535416 C16.7717564,29.6462515 24.9008728,29.6776394 29.1318435,30.6292286 C32.7774746,31.446845 33.9659149,25.3369229 31.8647155,23.1680958 C30.4646881,21.7204247 30.2724064,19.89763 28.6376254,18.4683324 C27.4715794,17.2625778 25.4360184,15.2820781 24.2715169,13.8183303 C20.5386254,9.7003913 20.9841939,3.03543931 16.2319775,0.973790366 Z" fill="#000000"></path>
</g>
<path d="M8.82179405,9.21885502 C8.82179405,9.21885502 8.37931436,10.3036514 8.28355959,10.8456668 C8.18857704,11.3892133 8.72063377,11.6586898 9.16929119,11.6900777" fill="#F99282"></path>
<path d="M4.1421659,114.954728 C3.3537335,114.907263 2.22012061,114.038354 1.49578213,114.323142 C-0.118149027,114.954728 1.88497893,116.220962 3.02940284,116.621349 C3.79544098,116.889294 5.40164998,116.801255 6.16228261,116.350341 C7.01635336,115.80756 7.89667944,114.231275 8.65653986,113.507822 C10.0805059,112.24312 13.7160982,110.568078 10.2982708,108.579922 C10.2982708,108.579922 7.37929481,112.060151 6.83256598,112.78437 C6.28583715,113.507822 4.1421659,114.954728 4.1421659,114.954728 Z" stroke="#000000" stroke-width="0.7087" fill="#000000"></path>
<path d="M24.7572407,42.4287812 C24.7572407,42.4287812 24.6197862,43.8312843 24.8946951,44.6450729 C25.1279043,45.3363722 25.8468372,46.3086315 25.8468372,46.3086315 L28.5426428,44.2844949 C28.5426428,44.2844949 25.3503024,43.9208546 24.7572407,42.4287812 Z" fill="#000000"></path>
</g>
<path d="M21.8706977,26.3849725 C21.3602631,26.5235385 20.9162389,26.8266997 20.5216366,27.2462257 C19.1795255,28.6663367 18.3972708,31.4146916 17.4876005,33.5176807 C16.3130602,36.2407721 15.1223033,42.4800736 13.3346236,45.608911 C11.5484883,48.7362174 6.28660936,53.399234 5.10048579,55.2825078 C3.91667887,57.1657816 -0.245564645,56.1353399 0.610050534,53.7475631 C1.4648935,51.3605518 7.86270195,44.2523414 8.95770404,41.6754717 C9.72528661,39.8687537 11.8751356,31.4453139 12.3369207,29.4242396 C13.6937039,23.4789125 18.9478607,21.586452 21.1386371,21.1056813 C21.1386371,21.1056813 24.1093515,25.7794157 21.8706977,26.3849725 Z" fill="#2A5FFF"></path>
</g>
<path d="M5.63022588,54.3799144 C5.63022588,54.3799144 7.18006312,54.833125 7.63721491,54.833125 C8.09359449,54.833125 9.27894584,54.9226953 9.91679615,55.3751404 C10.5561909,55.8275854 7.90980711,56.0985931 7.90980711,56.0985931 C7.90980711,56.0985931 6.63333429,55.6469136 6.35842544,55.5558122 C6.08506102,55.4654763 3.89660126,54.3799144 4.62557304,54.3799144 C5.35686146,54.3799144 5.63022588,54.3799144 5.63022588,54.3799144 Z" id="Shape" fill="#FFA694"></path>
</g>
<g id="Group" transform="translate(161.000000, 106.000000)" fill-rule="nonzero">
<polygon id="Shape" fill="#1552EA" points="10.4798077 30.953122 10.4798077 24.4469024 18.4937308 16.5396341"></polygon>
<g id="Shape">
<path d="M10.6849615,1.25209756 C16.2362308,-1.32921951 20.7286154,1.78665854 20.7286154,8.19307317 C20.7286154,14.6123415 16.2362308,21.8950732 10.6849615,24.4763902 C5.13369231,27.0577073 0.6405,23.9410732 0.6405,17.5339024 C0.6405,11.1274878 5.13288462,3.83265854 10.6849615,1.25209756 Z" fill="#1552EA"></path>
<path d="M4.59415385,17.5119756 L6.07223077,16.8231707 C6.43003846,16.6590976 6.72,16.8587073 6.72161538,17.2722927 L6.72161538,18.9742683 C6.72,19.3893659 6.43084615,19.8589024 6.07223077,20.0275122 L4.59415385,20.7148049 C4.23634615,20.8796341 3.94638462,20.6785122 3.94638462,20.2649268 L3.94638462,18.5637073 C3.94719231,18.1486098 4.23634615,17.6790732 4.59415385,17.5119756 Z M8.01715385,12.1648537 L9.48634615,11.4828537 C9.84334615,11.3180244 10.1333077,11.5183902 10.1341154,11.9334878 L10.1341154,17.3879756 C10.1333077,17.8030732 9.84415385,18.2718537 9.48634615,18.4404634 L8.01715385,19.1224634 C7.66015385,19.2872927 7.37019231,19.0869268 7.36857692,18.6733415 L7.36857692,13.2173415 C7.37019231,12.803 7.65934615,12.3334634 8.01715385,12.1648537 Z M11.4288462,12.6427073 L12.9085385,11.9546585 C13.2647308,11.7898293 13.5563077,11.9901951 13.5571154,12.4045366 L13.5571154,15.794878 C13.5563077,16.2099756 13.2655385,16.6802683 12.9085385,16.848122 L11.4288462,17.5354146 C11.0718462,17.701 10.7826923,17.499122 10.7818846,17.0862927 L10.7818846,13.6951951 C10.7826923,13.2800976 11.0718462,12.810561 11.4288462,12.6427073 Z M14.9277692,6.12287805 L16.3969615,5.44087805 C16.7523462,5.27529268 17.0439231,5.47565854 17.0455385,5.89 L17.0455385,14.174561 C17.0439231,14.5889024 16.7531538,15.0599512 16.3969615,15.2262927 L14.9277692,15.9098049 C14.5707692,16.0746341 14.2808077,15.8742683 14.2808077,15.4599268 L14.2808077,7.17536585 C14.2816154,6.76102439 14.5707692,6.28997561 14.9277692,6.12287805 Z" fill="#FFFFFF"></path>
</g>
</g>
<g id="Group" transform="translate(170.000000, 477.000000)" fill-rule="nonzero">
<path d="M13.7671579,31.3343333 C13.7671579,33.0011111 11.1742105,34.3482222 7.97631579,34.3482222 C4.77989474,34.3482222 2.18768421,33.0011111 2.18768421,31.3343333 C2.18768421,29.6722222 4.78063158,28.3251111 7.97631579,28.3251111 C11.1742105,28.3251111 13.7671579,29.6722222 13.7671579,31.3343333 Z" id="Shape" fill="#050E26" opacity="0.2"></path>
<g id="Shape">
<path d="M11.2316842,29.008 C11.7585263,27.3396667 10.9605263,24.9814444 10.6105263,23.163 C9.79263158,18.8953333 6.40389474,1.21722222 5.87263158,0.203 L5.81810526,0.203 C5.28463158,1.22811111 2.07936842,17.745 1.18189474,22.9576667 C0.859894737,24.829 0.177578947,27.4322222 0.592421053,28.7474444 C1.20621053,30.6848889 3.76378947,32.4908889 5.85273684,32.4908889 C8.72715789,32.4916667 10.7446316,30.555 11.2316842,29.008 Z" fill="#7A9B54"></path>
<path d="M10.5648421,23.3208889 C9.74768421,19.054 6.35821053,1.37588889 5.82768421,0.360888889 L7.18494737,9.97811111 C8.17894737,14.9527778 7.546,19.9173333 7.94610526,21.9986667 C8.29536842,23.8202222 9.37189474,25.6627778 8.84652632,27.3295556 C8.358,28.8765556 6.33978947,30.814 3.46536842,30.814 C2.76684211,30.814 2.01747368,30.611 1.30494737,30.2695556 C2.37705263,31.6143333 4.22578947,32.6503333 5.80631579,32.6503333 C8.68,32.6503333 10.7011579,30.7136667 11.1874737,29.1666667 C11.7128421,27.4998889 10.9141053,25.1401111 10.5648421,23.3208889 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(193.000000, 494.000000)" fill-rule="nonzero">
<path d="M13.5475789,31.5381111 C13.5475789,33.2048889 10.9546316,34.552 7.75673684,34.552 C4.56031579,34.552 1.96736842,33.2048889 1.96736842,31.5381111 C1.96736842,29.876 4.56105263,28.5288889 7.75673684,28.5288889 C10.9546316,28.5288889 13.5475789,29.876 13.5475789,31.5381111 Z" id="Shape" fill="#050E26" opacity="0.2"></path>
<g id="Shape">
<path d="M11.0128421,29.2117778 C11.5396842,27.5434444 10.7416842,25.1852222 10.3902105,23.3652222 C9.57305263,19.0991111 6.18431579,1.42177778 5.65231579,0.406777778 L5.59852632,0.406777778 C5.06578947,1.43188889 1.86052632,17.9487778 0.963052632,23.1614444 C0.640315789,25.0327778 -0.0412631579,27.636 0.373578947,28.9512222 C0.986631579,30.8886667 3.54421053,32.6946667 5.63389474,32.6946667 C8.50757895,32.6954444 10.5250526,30.758 11.0128421,29.2117778 Z" fill="#7A9B54"></path>
<path d="M10.346,23.5246667 C9.52810526,19.2577778 6.13863158,1.57966667 5.60810526,0.564666667 L6.96610526,10.1818889 C7.95936842,15.1565556 7.32642105,20.1211111 7.72578947,22.2024444 C8.07578947,24.024 9.15157895,25.8665556 8.62694737,27.5333333 C8.13915789,29.0803333 6.11947368,31.017 3.24505263,31.017 C2.548,31.017 1.79789474,30.814 1.08536842,30.4748889 C2.15747368,31.8188889 4.00621053,32.8541111 5.58747368,32.8541111 C8.46115789,32.8541111 10.4801053,30.9174444 10.9671579,29.3696667 C11.4932632,27.7021111 10.6952632,25.3431111 10.346,23.5246667 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(479.000000, 371.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#050E26" opacity="0.2" cx="7.73757895" cy="31.6384444" rx="5.79084211" ry="3.01388889"></ellipse>
<g id="Shape">
<path d="M10.9936842,29.3121111 C11.522,27.6437778 10.7232632,25.2855556 10.3732632,23.4663333 C9.55463158,19.1994444 6.16736842,1.52133333 5.63463158,0.507111111 L5.58084211,0.507111111 C5.04736842,1.53144444 1.84136842,18.0491111 0.943894737,23.2625556 C0.622631579,25.1331111 -0.0604210526,27.7355556 0.355894737,29.0507778 C0.968210526,30.989 3.52578947,32.795 5.61547368,32.795 C8.48915789,32.7957778 10.5073684,30.8583333 10.9936842,29.3121111 Z" fill="#7A9B54"></path>
<path d="M10.3275789,23.625 C9.50894737,19.3581111 6.12094737,1.68 5.58894737,0.665 L6.94694737,10.2822222 C7.94094737,15.2568889 7.30726316,20.2206667 7.70810526,22.302 C8.05663158,24.1227778 9.13389474,25.9653333 8.60778947,27.6336667 C8.12073684,29.1806667 6.10105263,31.1173333 3.22663158,31.1173333 C2.52957895,31.1173333 1.77873684,30.9143333 1.06768421,30.5744444 C2.13905263,31.9192222 3.98778947,32.9544444 5.56978947,32.9544444 C8.442,32.9544444 10.4624211,31.017 10.9487368,29.4707778 C11.4741053,27.8024444 10.6768421,25.4434444 10.3275789,23.625 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(282.000000, 488.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#050E26" opacity="0.2" cx="10.58984" cy="38.9497018" rx="7.6646" ry="3.75080702"></ellipse>
<g id="Shape">
<path d="M14.8998,36.0528596 C15.59672,33.9752807 14.54032,31.0407193 14.07672,28.7752982 C12.99372,23.4644211 8.50896,1.4567193 7.80444,0.193877193 L7.733,0.193877193 C7.02696,1.47029825 2.78236,22.0325965 1.596,28.5203158 C1.16964,30.850614 0.26524,34.0914561 0.81624,35.7284737 C1.62792,38.1402456 5.01296,40.3890702 7.7786,40.3890702 C11.5824,40.3883158 14.25532,37.9780526 14.8998,36.0528596 Z" fill="#7A9B54"></path>
<path d="M14.01744,28.972193 C12.93368,23.6605614 8.4474,1.65587719 7.74364,0.392280702 L9.5418,12.3628772 C10.85584,18.5548772 10.01908,24.7363158 10.54956,27.3268772 C11.01012,29.593807 12.43588,31.886386 11.74048,33.9632105 C11.09296,35.8899123 8.42156,38.3016842 4.61624,38.3016842 C3.6936,38.3016842 2.70028,38.0474561 1.75788,37.625 C3.1768,39.2997368 5.62476,40.5867193 7.7178,40.5867193 C11.52236,40.5867193 14.19528,38.1764561 14.83976,36.2512632 C15.53592,34.1736842 14.47876,31.237614 14.01744,28.972193 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(532.000000, 308.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#7981A5" opacity="0.2" cx="12.0952857" cy="92.8128837" rx="9.13392857" ry="5.57623256"></ellipse>
<g id="Shape">
<path d="M12.0945,92.8128837 C12.0945,93.5350465 11.4957857,94.1221395 10.7548571,94.1221395 C10.0155,94.1221395 9.416,93.5350465 9.416,92.8128837 L9.416,73.1303023 C9.416,72.4073721 10.0155,71.821814 10.7548571,71.821814 C11.4957857,71.821814 12.0945,72.4073721 12.0945,73.1303023 L12.0945,92.8128837 Z" fill="#514443"></path>
<g>
<path d="M10.0579286,3.24551163 C10.0579286,3.24551163 1.05285714,34.9684884 0.625428571,49.3112093 C0.249857143,61.8688605 -0.230214286,72.765 3.19785714,80.3012791 C6.62828571,87.8398605 11.5586429,87.212093 12.2013571,84.2812326 C13.0994286,80.1861628 18.6324286,81.9781395 18.6324286,71.926186 C18.6324286,61.8757674 18.6324286,50.9865349 16.0615714,33.3983023 C13.4883571,15.8100698 10.0579286,3.24551163 10.0579286,3.24551163 Z" fill="#5E8455"></path>
<path d="M6.512,27.3846279 L9.46628571,22.7485116 L11.4360714,19.6564884 C11.4360714,19.6564884 13.6125,20.1568605 12.4142857,22.7285581 C11.2184286,25.2987209 6.512,27.3846279 6.512,27.3846279 Z" fill="#729668"></path>
<path d="M11.3598571,8.76188372 C11.3598571,8.76188372 10.9858571,9.8102093 10.4358571,11.2637442 C9.53935714,13.6274651 8.17457143,17.0648372 7.17828571,18.8138372 C5.56992857,21.641093 2.233,35.3882791 2.233,35.3882791 C2.233,35.3882791 8.46528571,5.30762791 8.46528571,4.36597674 C8.46528571,3.4227907 8.46528571,4.99297674 8.46528571,3.4227907 C8.46528571,1.85183721 9.43092857,0.280883721 9.43092857,0.280883721 C9.43092857,0.280883721 11.3598571,6.24927907 11.3598571,8.76188372 Z" fill="#729668"></path>
<path d="M2.74842857,33.752093 C2.74842857,33.752093 4.49664286,35.1457674 5.23128571,35.6929535 C5.96592857,36.240907 5.96592857,36.240907 5.96592857,36.240907 L7.56328571,37.1142558 C7.56328571,37.1142558 5.48114286,36.5624651 3.63,36.1357674 C1.77807143,35.7083023 2.74842857,33.752093 2.74842857,33.752093 Z" fill="#729668"></path>
<path d="M1.99807143,41.1855349 C1.99807143,41.1855349 3.74707143,42.5784419 4.48092857,43.1271628 C5.21478571,43.6743488 5.21478571,43.6743488 5.21478571,43.6743488 L6.81214286,44.5476977 C6.81214286,44.5476977 4.73157143,43.9966744 2.87964286,43.5699767 C1.0285,43.1409767 1.99807143,41.1855349 1.99807143,41.1855349 Z" fill="#729668"></path>
<path d="M10.8232143,38.1848372 C10.8232143,36.3007674 14.0399286,30.6462558 14.0399286,30.6462558 C14.0399286,30.6462558 14.0399286,34.1012791 14.0399286,35.0436977 C14.0399286,35.9853488 14.0399286,35.9853488 14.0399286,35.9853488 L10.8232143,38.1848372 Z" fill="#729668"></path>
<path d="M17.5772143,45.4087674 C17.5772143,45.4087674 19.9343571,73.4050465 18.5420714,78.078 C17.1505714,82.750186 15.3112143,86.5835581 9.84421429,86.268907 C4.378,85.9557907 10.824,86.559 12.4315714,79.0204186 C14.0407143,71.4818372 15.6482857,61.4291163 15.6482857,60.4874651 C15.6482857,59.545814 15.9712143,59.2303953 15.9712143,57.974093 C15.9704286,56.7177907 17.5772143,45.4087674 17.5772143,45.4087674 Z" fill="#4E7244"></path>
<path d="M10.1812857,70.5394186 L17.2566429,62.6869535 C17.2566429,62.6869535 17.2566429,68.0260465 16.291,69.2831163 C15.3253571,70.540186 10.1812857,70.5394186 10.1812857,70.5394186 Z" fill="#4E7244"></path>
<path d="M12.7529286,58.2887442 C12.7529286,57.3455581 15.9704286,49.1792093 15.9704286,49.1792093 C15.9704286,49.1792093 17.5772143,53.8913023 16.9337143,55.1476047 C16.291,56.403907 12.7529286,58.2887442 12.7529286,58.2887442 Z" fill="#4E7244"></path>
<path d="M6.32185714,75.5653953 L13.7185714,74.6222093 C13.7185714,74.6222093 12.4307857,78.078 10.1812857,78.3911163 C7.93021429,78.7065349 6.32185714,75.5653953 6.32185714,75.5653953 Z" fill="#4E7244"></path>
<path d="M5.35621429,80.2759535 C5.35621429,80.2759535 14.3612857,79.9636047 14.6826429,79.0204186 C15.004,78.078 13.7319286,81.5084651 12.7529286,83.4178605 C11.7723571,85.3287907 5.35621429,80.2759535 5.35621429,80.2759535 Z" fill="#4E7244"></path>
<path d="M3.4265,56.7177907 C3.4265,56.7177907 3.10514286,57.3440233 5.35621429,57.9733256 C7.60807143,58.6026279 10.5034286,58.9165116 10.5034286,58.9165116 C10.5034286,58.9165116 7.28514286,60.4874651 5.67835714,60.4874651 C4.07078571,60.4866977 3.4265,56.7177907 3.4265,56.7177907 Z" fill="#4E7244"></path>
<path d="M11.2105714,46.4755116 C11.2105714,46.4755116 11.5319286,47.1040465 13.3972143,45.7226512 C15.2632857,44.3420233 17.2582143,42.2699302 17.2582143,42.2699302 C17.2582143,42.2699302 16.6139286,45.7249535 15.6475,46.9812558 C14.6826429,48.2360233 11.2105714,46.4755116 11.2105714,46.4755116 Z" fill="#4E7244"></path>
<path d="M9.77978571,30.1512558 C9.77978571,30.1512558 10.2708571,30.5073488 11.1445714,28.7614186 C12.0182857,27.0147209 12.7215,24.6955116 12.7215,24.6955116 C12.7215,24.6955116 13.5865714,27.5580698 13.3469286,28.8734651 C13.1072857,30.188093 9.77978571,30.1512558 9.77978571,30.1512558 Z" fill="#4E7244"></path>
<path d="M4.80621429,64.2847674 C5.77028571,64.4935116 9.09385714,64.7022558 9.41521429,64.7022558 C9.73578571,64.7022558 12.5235,63.9701163 12.5235,63.9701163 C12.5235,63.9701163 10.2724286,66.0644651 7.91292857,65.6454419 C5.55578571,65.2241163 4.80621429,64.2847674 4.80621429,64.2847674 Z" fill="#4E7244"></path>
<path d="M8.66407143,72.0305581 C9.84342857,72.0305581 12.2013571,71.7166744 12.2013571,71.7166744 C12.2013571,71.7166744 9.19992857,72.9737442 8.23428571,72.9737442 C7.27021429,72.9737442 5.12678571,71.299186 5.12678571,71.299186 L8.66407143,72.0305581 Z" fill="#4E7244"></path>
</g>
</g>
</g>
<g id="Group" transform="translate(499.000000, 334.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#7981A5" opacity="0.2" cx="13.1529655" cy="58.1197108" rx="8.81896552" ry="5.6026988"></ellipse>
<path d="M11.8284138,58.330988 C11.8284138,58.9609639 11.3262069,59.4721928 10.7056552,59.4721928 C10.0873793,59.4721928 9.58365517,58.9609639 9.58365517,58.330988 L9.58365517,49.3470843 C9.58365517,48.7178795 10.0866207,48.2074217 10.7056552,48.2074217 C11.3262069,48.2074217 11.8284138,48.7171084 11.8284138,49.3470843 L11.8284138,58.330988 Z" id="Shape" fill="#934318"></path>
<path d="M19.8606897,40.2760482 C19.8606897,45.6674699 15.5615862,50.0364337 10.2588276,50.0364337 C4.95455172,50.0364337 0.656206897,45.6674699 0.656206897,40.2760482 L2.90096552,24.3068916 C5.2982069,17.1920964 6.26772414,-0.0300722892 10.7564828,0.350072289 C15.246,0.730216867 17.1167586,18.5360964 17.1167586,23.926747 L19.8606897,40.2760482 Z" id="Shape" fill="#B4D38C"></path>
<path d="M17.116,23.926747 C17.116,19.6186988 15.921931,7.38390361 13.1491724,2.44819277 C13.8281379,8.74563855 12.6264828,19.0982169 12.6264828,22.7855422 L15.3704138,39.1371566 C15.3704138,44.5270361 11.072069,48.896 5.76855172,48.896 C5.76248276,48.896 5.75641379,48.8952289 5.75186207,48.8952289 C7.09537931,49.6223614 8.62855172,50.0364337 10.258069,50.0364337 C15.5608276,50.0364337 19.859931,45.6674699 19.859931,40.2760482 L17.116,23.926747 Z" id="Shape" fill="#96B56D"></path>
</g>
<g id="Group" transform="translate(238.000000, 482.000000)" fill-rule="nonzero">
<ellipse id="Oval" fill="#7981A5" opacity="0.2" cx="13.4105333" cy="58.5843452" rx="8.96463333" ry="5.65422619"></ellipse>
<path d="M12.0627333,58.7971429 C12.0627333,59.4324405 11.5529,59.9485714 10.9219333,59.9485714 C10.2925,59.9485714 9.7819,59.4324405 9.7819,58.7971429 L9.7819,49.7296429 C9.7819,49.0927976 10.2925,48.5782143 10.9219333,48.5782143 C11.5529,48.5782143 12.0627333,49.0927976 12.0627333,49.7296429 L12.0627333,58.7971429 Z" id="Shape" fill="#934318"></path>
<path d="M20.2269667,40.5747024 C20.2269667,46.0153571 15.8577333,50.4252976 10.4673,50.4252976 C5.0784,50.4252976 0.7084,46.0153571 0.7084,40.5747024 L2.98923333,24.4547024 C5.42723333,17.27375 6.41086667,-0.109107143 10.9748333,0.27547619 C15.5380333,0.658511905 17.4393667,18.6317857 17.4393667,24.070119 L20.2269667,40.5747024 Z" id="Shape" fill="#B4D38C"></path>
<path d="M17.4386,24.0693452 C17.4386,19.7228571 16.2242,7.37285714 13.4082333,2.39184524 C14.0959333,8.74714286 12.8761667,19.1974405 12.8761667,22.9186905 L15.6645333,39.4217262 C15.6645333,44.862381 11.2945333,49.2723214 5.90486667,49.2723214 C5.89796667,49.2723214 5.89336667,49.2723214 5.888,49.2723214 C7.2542,50.0066667 8.8113,50.42375 10.4680667,50.42375 C15.8585,50.42375 20.2277333,46.0138095 20.2277333,40.5731548 L17.4386,24.0693452 Z" id="Shape" fill="#96B56D"></path>
</g>
<g id="Group" transform="translate(514.000000, 384.000000)" fill-rule="nonzero">
<path d="M13.356,31.3273333 C13.356,32.9948889 10.7623158,34.3404444 7.56442105,34.3404444 C4.36726316,34.3404444 1.77505263,32.9948889 1.77505263,31.3273333 C1.77505263,29.666 4.368,28.3188889 7.56442105,28.3188889 C10.7623158,28.3188889 13.356,29.6667778 13.356,31.3273333 Z" id="Shape" fill="#050E26" opacity="0.2"></path>
<g id="Shape">
<path d="M10.8212632,29.001 C11.3481053,27.3326667 10.5501053,24.9736667 10.1986316,23.1552222 C9.38147368,18.8883333 5.99347368,1.21022222 5.46073684,0.196777778 L5.40694737,0.196777778 C4.87421053,1.22188889 1.66821053,17.738 0.770736842,22.9514444 C0.448736842,24.822 -0.232842105,27.4244444 0.182,28.7396667 C0.795052632,30.6778889 3.35263158,32.4846667 5.44157895,32.4846667 C8.31526316,32.4862222 10.3327368,30.5487778 10.8212632,29.001 Z" fill="#7A9B54"></path>
<path d="M10.1529474,23.3146667 C9.33505263,19.0485556 5.94631579,1.37044444 5.41505263,0.354666667 L6.77378947,9.97266667 C7.76705263,14.9473333 7.13336842,19.9103333 7.53347368,21.9916667 C7.882,23.8132222 8.95926316,25.6565556 8.43463158,27.3233333 C7.94536842,28.8703333 5.92789474,30.807 3.052,30.807 C2.35568421,30.807 1.60557895,30.604 0.893052632,30.2641111 C1.96515789,31.6081111 3.81389474,32.6441111 5.39442105,32.6441111 C8.26884211,32.6441111 10.2877895,30.7074444 10.7748421,29.1604444 C11.3009474,27.4928889 10.5036842,25.1338889 10.1529474,23.3146667 Z" fill="#466025"></path>
</g>
</g>
<g id="Group" transform="translate(367.000000, 325.000000)" fill-rule="nonzero">
<path d="M61.4178045,63.6025739 C61.4178045,63.6025739 73.2406015,70.6089043 75.1425564,71.9641043 C77.0437444,73.3208348 85.3793684,62.4279652 85.3793684,62.4279652 L68.7595038,52.493913" id="Shape" fill="url(#linearGradient-16)"></path>
<path d="M101.919474,29.4226087 L76.2814286,10.1391304 L44.8255489,0.197426087 L44.8255489,26.5086609 L44.8470226,30.2192 L46.8939248,39.7354435 C56.9006617,39.1186783 67.3368722,41.0125913 75.006812,45.3735652 C77.5069624,46.7938087 75.0405564,42.5062957 75.0405564,42.5062957 L75.0405564,72.4783304 C75.0359549,72.4798609 75.0298195,72.483687 75.0244511,72.487513 L87.0305414,79.3346783 C96.9567519,73.7929739 101.917173,66.4652522 101.916406,59.1053913 L101.91794,59.1053913 L101.91794,29.4226087 L101.919474,29.4226087 Z" id="Shape" fill="#2A5FFF"></path>
<polygon id="Shape" fill="#559AFF" points="46.8448421 0.837147826 44.8255489 0.197426087 44.8255489 26.5086609 44.8477895 30.2184348 46.8448421 39.5043478"></polygon>
<path d="M46.8908571,39.7346783 L46.8617143,39.5908174 L46.8617143,20.7840696 L40.8490827,14.1657043 L35.4246767,14.5368348 L24.2844361,10.8331826 L24.2844361,34.1264 C24.2821353,34.1286957 24.2767669,34.1294609 24.2744662,34.1302261 L24.2844361,34.1409391 L24.2844361,34.2044522 L24.3526917,34.2044522 L33.1745414,42.3448348 C37.4125263,40.9008696 42.0999248,40.0308174 46.8908571,39.7346783 Z" id="Shape" fill="#A9CAFF"></path>
<path d="M33.1653383,42.334887 L33.1653383,29.0139826 L28.4840752,25.6814609 L24.2736992,26.7282783 C20.9544812,27.8600348 17.8154887,29.2221217 14.9449173,30.824487 C9.95458647,33.6098783 0.769984962,40.314713 0.769984962,40.314713 L0.769984962,53.6448 L0.772285714,53.6448 C0.772285714,53.6478609 0.77075188,53.6532174 0.767684211,53.6585739 L17.507188,55.3657739 C18.638391,51.5810087 21.7789173,47.9645913 26.9502406,45.0781913 C28.866,44.0076522 30.9604511,43.0993391 33.1753083,42.3463652 L33.1653383,42.334887 Z" id="Shape" fill="#A9CAFF"></path>
<path d="M21.7052932,64.088487 L21.7052932,68.2229565 C19.5962707,66.1675826 22.124797,60.044313 21.4652481,57.7693217 L17.5578045,55.3810783 C17.5578045,55.3772522 17.5593383,55.3726609 17.5601053,55.3703652 L17.5578045,55.3703652 L17.5578045,33.5264696 L0.125774436,35.6277565 L0.125774436,58.9814261 L0.137278195,58.9814261 C0.382691729,66.1606957 5.34541353,73.328487 15.0346466,78.8525913 C16.3775188,79.6185739 17.7794436,80.333287 19.2273835,80.9974957 L29.8077744,73.5993739 L29.8346165,73.5978435 L29.8346165,63.9637565 L21.7052932,64.088487 Z" id="Shape" fill="#A9CAFF"></path>
<path d="M19.0985414,52.1633391 L19.0985414,80.9385739 C19.1422556,80.9577043 19.1836692,80.9783652 19.2258496,80.9974957 L29.8062406,73.5993739 L29.8330827,73.5978435 L29.8330827,51.6269217 C29.8330827,51.6269217 19.788,53.2560696 19.0985414,52.1633391 Z" id="Shape" fill="#73A3EF"></path>
<path d="M46.8617143,16.3412174 L40.8490827,14.1649391 L35.4246767,14.5360696 L33.1124211,13.7677913 L33.1124211,42.2882087 L33.1737744,42.3440696 C37.4125263,40.9001043 42.0999248,40.0300522 46.8908571,39.733913 L46.8617143,39.5900522 L46.8617143,16.3412174 Z" id="Shape" fill="#71A4F4"></path>
<path d="M87.0236391,79.3147826 L87.0236391,74.5321739 L80.1006767,74.5321739 L80.1006767,75.3654957 L75.0413233,72.4806261 C62.6947218,79.3698783 43.1291278,79.7165217 29.8008722,73.6085565 L26.0774887,76.2125913 L19.1905714,76.2125913 L19.1905714,81.0250435 L19.2043759,81.0250435 C39.1856391,90.1785739 68.5041203,89.6605217 87.0190376,79.3453913 L87.0251729,79.3453913 L87.0251729,79.3415652 C87.033609,79.3369739 87.0412782,79.3331478 87.0504812,79.3277913 L87.0236391,79.3147826 Z" id="Shape" fill="#D7E7FF"></path>
<g id="Shape">
<path d="M87.0090677,74.8795826 L87.0313083,79.333913 C96.9575188,73.7922087 101.91794,66.464487 101.917173,59.1046261 L101.918707,59.1046261 L101.918707,29.4226087 L100.093444,32.4934261 L87.0083008,28.0490435 L87.0083008,74.8795826 L87.0090677,74.8795826 Z" fill="#1552EA"></path>
<path d="M87.006,8.65690435 C75.5114436,2.10128696 59.8509925,-0.730017391 44.8454887,0.194365217 L46.8939248,9.71596522 C56.9006617,9.10073043 67.3422406,10.9831652 75.006812,15.3548522 C88.2583759,22.9121391 88.266812,35.0752696 75.0244511,42.4688 L87.0305414,49.3174957 C106.889865,38.2317913 106.877594,19.9928348 87.006,8.65690435 Z" fill="#5787FF"></path>
<path d="M33.1737744,19.018713 C37.4125263,17.5739826 42.0999248,16.7039304 46.8908571,16.4085565 L44.8416541,6.88542609 C37.6571729,7.32772174 30.6268421,8.6370087 24.2744662,10.8056348 L33.1737744,19.018713 Z" fill="#D7E7FF"></path>
<path d="M24.2736992,26.7282783 C21.9031579,27.5363478 19.6269474,28.4622609 17.4726767,29.5121391 L17.4726767,55.3619478 L17.507188,55.3657739 C18.638391,51.5810087 21.7789173,47.9645913 26.9502406,45.0781913 C28.866,44.0076522 30.9604511,43.0993391 33.1753083,42.3463652 L33.1645714,42.3356522 L33.1645714,29.0147478 L29.8376842,26.6471652 L24.600406,26.6471652 L24.2736992,26.7282783 Z" fill="#8CB3FE"></path>
<path d="M26.9510075,31.7481043 C28.8667669,30.6790957 30.961218,29.7715478 33.1760752,29.0162783 L24.2744662,20.8039652 C20.9552481,21.9357217 17.8162556,23.2985739 14.9456842,24.9009391 C7.18831579,29.2305391 2.46333835,34.6521043 0.768451128,40.328487 L17.5079549,42.0372174 C18.638391,38.2509217 21.7789173,34.6360348 26.9510075,31.7481043 Z" fill="#FFFFFF"></path>
<path d="M29.8284812,51.7531826 C28.8621654,51.310887 27.9272932,50.8372174 27.0323008,50.3260522 C18.9758346,45.7309217 15.9281053,39.4852174 17.4627068,33.5272348 L0.820601504,31.8330435 C-1.79535338,40.6766609 2.94266165,50.1278609 15.0338797,57.0247652 C16.3767519,57.791513 17.7786767,58.5062261 19.2266165,59.1689043 L29.8284812,51.7531826 Z" fill="#D7E7FF"></path>
<path d="M75.0206165,67.6742957 C62.674782,74.564313 43.1084211,74.9101913 29.7786316,68.8029913 L19.1775338,76.2179478 C39.1695338,85.3783652 68.5125564,84.856487 87.0267068,74.5222261 L75.0206165,67.6742957 Z" fill="#FFFFFF"></path>
</g>
</g>
<g id="Group" transform="translate(340.000000, 405.000000)" fill-rule="nonzero">
<g transform="translate(0.000000, 46.365489)" id="Shape">
<path d="M2.15522807,40.8139946 C2.15522807,40.8139946 19.7143158,50.8830333 21.4449825,52.1202191 C23.1756491,53.3589504 29.3580351,48.4071162 29.3580351,48.4071162 L10.6456842,37.844285" fill="url(#linearGradient-17)"></path>
<path d="M10.6418246,3.0948964 L0.750315789,3.0948964 L0.750315789,38.7530486 L0.761122807,38.7530486 C0.774245614,39.4446671 1.23122807,40.1262398 2.13978947,40.6493971 C4.03024561,41.7351223 7.1565614,41.7134851 9.12035088,40.6007133 C10.0335439,40.0837381 10.5345263,39.4222571 10.6202105,38.7522758 L10.6418246,38.7522758 L10.6418246,3.0948964 Z" fill="#71A4F4"></path>
<path d="M9.25235088,1.05481488 C11.1443509,2.14054008 11.0849123,3.92252038 9.11957895,5.03529212 C7.15578947,6.14651834 4.02947368,6.16815557 2.13824561,5.08243037 C0.247789474,3.99670516 0.305684211,2.21472486 2.27178947,1.10272588 C4.23635088,-0.0108186141 7.36112281,-0.0324558424 9.25235088,1.05481488 Z" fill="#A9CAFF"></path>
</g>
<g transform="translate(20.842105, 45.592731)" id="Shape">
<path d="M1.42807018,31.354662 C1.42807018,31.354662 18.986386,41.4221552 20.7178246,42.6608865 C22.4492632,43.8996179 28.6316491,38.9462381 28.6316491,38.9462381 L9.91929825,28.3841797" fill="url(#linearGradient-18)"></path>
<path d="M9.91389474,3.53768682 L0.0231578947,3.53768682 L0.0231578947,29.2929433 L0.0331929825,29.2929433 C0.0463157895,29.9837891 0.503298246,30.6661345 1.41185965,31.1877463 C3.30231579,32.2734715 6.42940351,32.252607 8.39242105,31.1390625 C9.30715789,30.6220873 9.80736842,29.9606063 9.89305263,29.2921705 L9.91389474,29.2921705 L9.91389474,3.53768682 Z" fill="#D2E4FF"></path>
<path d="M8.52596491,1.4976053 C10.4164211,2.58410326 10.3569825,4.36608356 8.39164912,5.47962806 C6.42863158,6.59085428 3.30154386,6.61249151 1.41108772,5.5267663 C-0.480140351,4.4410411 -0.420701754,2.65828804 1.54385965,1.54628906 C3.50842105,0.434290082 6.63473684,0.410334579 8.52596491,1.4976053 Z" fill="#FFFFFF"></path>
</g>
<g transform="translate(58.666667, 0.000000)" id="Shape">
<path d="M1.53536842,58.3262398 C1.53536842,58.3262398 19.0929123,68.3945058 20.8251228,69.6332371 C22.5557895,70.8704229 28.7389474,65.9185887 28.7389474,65.9185887 L10.0258246,55.3557575" fill="url(#linearGradient-19)"></path>
<path d="M10.021193,3.12426121 L0.13045614,3.12426121 L0.13045614,56.2637483 L0.139719298,56.2637483 C0.152842105,56.9561396 0.610596491,57.6377123 1.51915789,58.1600968 C3.40884211,59.245822 6.53670175,59.2249575 8.4997193,58.111413 C9.41445614,57.5959834 9.91466667,56.9329569 10.0003509,56.2637483 L10.021193,56.2637483 L10.021193,3.12426121 Z" fill="#71A4F4"></path>
<path d="M8.63326316,1.08417969 C10.5237193,2.16913213 10.4650526,3.95111243 8.4997193,5.06542969 C6.53670175,6.17665591 3.40884211,6.19829314 1.51838596,5.11256793 C-0.372070175,4.02529721 -0.312631579,2.24331692 1.65115789,1.13131793 C3.61649123,0.0193189538 6.74126316,-0.00309103261 8.63326316,1.08417969 Z" fill="#A9CAFF"></path>
</g>
<g transform="translate(38.596491, 17.773438)" id="Shape">
<path d="M1.97459649,49.7663978 C1.97459649,49.7663978 19.5321404,59.8346637 21.2635789,61.0718495 C22.9950175,62.3098081 29.1781754,57.3579738 29.1781754,57.3579738 L10.4650526,46.7959154" fill="url(#linearGradient-20)"></path>
<path d="M10.4604211,3.29813179 L0.568912281,3.29813179 L0.568912281,47.7039062 L0.579719298,47.7039062 C0.592070175,48.3962976 1.04982456,49.0778702 1.95838596,49.6002548 C3.84884211,50.6867527 6.97515789,50.6651155 8.9397193,49.5523437 C9.85445614,49.0345958 10.3538947,48.3731148 10.4395789,47.7031335 L10.4604211,47.7031335 L10.4604211,3.29813179 Z" fill="#A9CAFF"></path>
<path d="M9.07094737,1.25805027 C10.9621754,2.34377548 10.9027368,4.12575577 8.93894737,5.23852751 C6.97438596,6.35052649 3.84807018,6.37370924 1.95761404,5.28643852 C0.0671578947,4.20071332 0.125052632,2.41796026 2.08884211,1.30596128 C4.05417544,0.193962296 7.18049123,0.170779552 9.07094737,1.25805027 Z" fill="#D7E7FF"></path>
</g>
</g>
<g id="Group" transform="translate(29.000000, 144.000000)">
<path d="M136.634671,95.0789764 L0.457243668,162.70783 L0.457243668,67.9487028 L136.634671,0.319849057 L136.634671,95.0789764 Z" id="Shape" stroke="#A9CAFF" stroke-width="0.7087" stroke-dasharray="2.835,3.5437"></path>
<g transform="translate(3.063609, 22.297170)" id="Shape">
<g transform="translate(0.000000, 0.768868)" fill="#FFFFFF" fill-rule="nonzero">
<polygon points="137.337004 76.7937594 0.546088334 133.646929 8.88140298 43.4441132 104.225516 4.31873113 144.394027 0.685830189"></polygon>
</g>
<g transform="translate(9.190828, 8.457547)" opacity="0.4" stroke="#7FA8EF" stroke-dasharray="2.835,3.5437" stroke-width="0.7087">
<g transform="translate(5.361316, 0.000000)">
<path d="M0.417416749,51.9201132 L125.627889,0.332919811"></path>
</g>
<g transform="translate(3.063609, 17.683962)">
<path d="M0.722245861,51.8547594 L125.936548,0.268334906"></path>
</g>
<g transform="translate(1.531805, 35.367925)">
<path d="M0.0834833498,51.6087217 L125.296254,0.0222971698"></path>
</g>
<g transform="translate(0.000000, 53.820755)">
<path d="M0.348485543,51.5895 L125.561256,0.0030754717"></path>
</g>
</g>
<polygon fill="#8CB3FE" fill-rule="nonzero" points="104.406269 4.36025 143.851003 0.728886792 146.747645 8.90195283"></polygon>
</g>
<path d="M16.9976696,86.9635755 C28.5788781,81.8767453 30.2768835,102.763811 35.6359018,108.487264 C42.0135702,115.298665 45.5865044,105.307995 47.0348256,98.9517642 C48.4831469,92.5932264 49.7499493,80.3336274 55.7201576,78.9711934 C61.6911319,77.6087594 62.8292627,101.037703 69.8342051,99.4968915 C78.0515708,97.689283 76.2126394,64.076684 84.3557125,60.8074575 C91.140075,58.0825896 86.978162,96.7643349 96.9762505,92.9576698 C107.469878,88.9610943 107.456857,62.5081934 115.432198,59.8532925 C120.498642,58.7630377 117.425076,78.3591745 123.574505,77.1543585 C130.993801,75.701967 127.736418,55.7206274 137.960448,54.948684" id="Shape" stroke="#A6C8FF" stroke-width="1.4175" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
<g id="Group" transform="translate(405.000000, 276.000000)">
<path d="M3.56153846,99.2268461 C3.56153846,99.2268461 15.4192308,106.267243 17.3269231,107.629801 C19.2353846,108.991591 27.5946154,98.0472951 27.5946154,98.0472951 L16.2369231,92.3702252" id="Shape" fill="url(#linearGradient-21)" fill-rule="nonzero"></path>
<g id="Shape">
<path d="M30.0707692,23.5433462 C30.0707692,23.5433462 26.6176923,34.6252819 25.8915385,36.4407447 C25.1630769,38.2577454 22.5061538,45.205101 22.5061538,45.205101 L25.9130769,46.0909177 C25.9130769,46.0909177 29.1630769,41.8902089 30.4346154,39.7102695 C31.3338462,38.1685486 34.7053846,29.7194569 34.7053846,29.7194569" fill="#FFA694" fill-rule="nonzero"></path>
<path d="M29.4353846,26.2461636 L32.4330769,33.444962 C33.0461538,32.4914787 34.7492308,29.6294912 34.7492308,29.6294912" fill="#FF7B7B" fill-rule="nonzero"></path>
<g transform="translate(22.307692, 93.041508)" fill-rule="nonzero">
<path d="M11.6207692,3.03730543 C10.3115385,5.90083085 11.03,7.76704358 8.59461538,9.97389588 C6.02769231,12.2976268 5.72769231,14.6590356 3.39615385,15.1211674 C2.00461538,11.1572916 6.11461538,6.6305531 7.55461538,0.248367001" fill="#FFA694"></path>
<g transform="translate(0.000000, 5.382567)">
<path d="M1.37615385,8.69668973 C-0.468461538,11.5978931 0.992307692,13.3918257 2.67615385,13.6055905 C4.80461538,13.8762567 7.46230769,12.4721757 7.91384615,11.1472954 C8.37846154,9.78319924 8.45384615,9.6470972 8.76307692,9.00195815 C9.08538462,8.32683051 9.90538462,7.50175994 10.1176923,6.56288654 C10.3923077,5.33489242 10.3930769,4.85507506 10.3930769,4.85507506 L10.3984615,1.85929229 C10.3984615,1.85929229 9.93230769,2.5298063 9.31230769,2.01538672 C8.41923077,1.27720616 7.33153846,-0.362938776 5.86923077,0.258363196 C3.58384615,1.23030093 3.77692308,4.91735905 1.37615385,8.69668973 Z" fill="#000000"></path>
<path d="M10.3053846,5.50713456 C10.2684615,5.7078274 10.2223077,5.93850882 10.1607692,6.20686821 C9.95076923,7.14651055 9.48846154,7.91083501 9.03384615,8.5467468 C8.61846154,9.12883293 8.42307692,9.42794984 7.95846154,10.7912771 C7.50692308,12.1169263 4.84923077,13.5202383 2.72,13.2503411 C1.55923077,13.1034739 0.616153846,12.3122366 0.515384615,10.8512542 C-0.130769231,12.9542999 1.16615385,14.1353888 2.58461538,14.3153203 C6.10615385,14.7605355 7.43153846,13.0035119 7.82384615,11.8554874 C8.28846154,10.4921602 8.39769231,10.3745126 8.60307692,9.69323348 C8.80846154,9.00810965 9.84615385,8.04386129 10.0576923,7.10498789 C10.3323077,5.87776271 10.3030769,5.56480491 10.3030769,5.56480491 L10.3053846,5.50713456 Z" fill="#FFFFFF"></path>
<path d="M0.963846154,12.4967817 C0.963846154,12.4967817 1.58923077,11.3164618 3.07230769,11.3279958 C4.49230769,11.3402989 5.52692308,13.0765611 5.52692308,13.0765611 C5.52692308,13.0765611 3.81230769,13.9623777 2.98538462,13.85934" fill="#FFFFFF"></path>
</g>
</g>
<g transform="translate(0.000000, 83.045313)" fill-rule="nonzero">
<path d="M15.56,2.89658976 C14.2492308,5.76011519 16.0146154,7.02809409 13.5792308,9.23340851 C11.0115385,11.5594462 7.85923077,13.3441515 5.52692308,13.8047454 C4.13461538,9.84240747 11.3984615,6.30452335 11.0576923,0.24067762" fill="#FFA694"></path>
<path d="M15.1938462,5.94158457 C15.1938462,5.94158457 17.2023077,9.57481702 14.1684615,10.8743224 C9.72923077,12.7766752 8.18461538,14.9781449 5.72384615,15.4656517 C2.03307692,16.1961429 0.392307692,14.4767973 0.832307692,13.4064355 C1.70538462,11.2849353 6.47769231,9.11960567 8.37307692,5.46407402 C10.2923077,1.76317503 10.9538462,6.0430844 11.6346154,6.68976133 C13.7692308,8.71821999 15.1938462,5.94158457 15.1938462,5.94158457 Z" fill="#000000"></path>
<path d="M15.79,8.95889761 C15.6007692,9.6148018 15.3084615,10.2853158 12.6092308,11.3418367 C9.53615385,12.5444559 8.16923077,14.902789 5.72384615,15.4648827 C2.36230769,16.2368966 1.29461538,14.2922522 0.862307692,13.2980152 C0.837692308,13.3272349 0.783076923,13.4548786 0.76,13.4848672 C0.0446153846,14.3929831 1.62461538,17.1204064 5.86923077,16.2538132 C8.32692308,15.7524656 10.2723077,12.8989364 14.4292308,11.972366 C16.3846154,11.537147 15.7969231,9.65401764 15.79,8.95889761 Z" fill="#FFFFFF"></path>
<path d="M0.635384615,13.8885597 C0.635384615,13.8885597 1.95153846,12.5944369 2.68,13.3180076 C3.41,14.0408094 3.86076923,15.6132878 3.86076923,15.6132878 C3.86076923,15.6132878 2.31307692,15.5633068 2.13461538,15.4779547" fill="#FFFFFF"></path>
</g>
<path d="M28.7069231,46.0240201 C32.2046154,40.9774794 32.7215385,25.2919114 34.0846154,25.223476 C36.9969231,25.0781467 43.2946154,25.1957942 46.2069231,26.1323608 C49.2815385,27.2796164 56.7523077,32.5814445 58.0284615,35.9609274 C58.5861538,37.5464777 54.9353846,41.4373044 54.1638462,43.044385 C52.62,46.2570083 51.4238462,52.7729896 50.0376923,54.7437779" fill="#E6F0FF" fill-rule="nonzero"></path>
<path d="M51.1176923,52.3762176 C50.7869231,57.8087651 50.7538462,59.4896638 46.63,64.7584275 C42.9423077,69.4697112 39.3846154,72.2955586 38.7023077,77.3151864 C37.7507692,84.3255949 34.1946154,96.6978087 33.8846154,96.9254144 C33.1892308,97.4367582 27.8161538,96.4125327 28.3953846,94.9038762 C29.1076923,93.0499664 28.9053846,79.7704057 30.07,72.1379263 C30.4346154,69.757294 34.4046154,60.0071591 34.4307692,59.2559066 C34.4684615,58.2193781 32.9407692,58.3093438 32.9407692,58.3093438 C32.1392308,58.8006953 19.0715385,66.2578568 19.1661538,67.8926192 C19.4838462,73.3413144 16.3723077,84.4455493 15.4184615,86.5570533 C14.9892308,87.5074607 9.88461538,87.2506354 10.3746154,84.9222909 C11.4830769,79.667368 10.8530769,64.1717278 12.76,61.4873649 C16.44,56.3101048 27.7169231,46.4776935 27.7169231,46.4776935 C27.7169231,46.4776935 35.0923077,51.2520301 38.3838462,51.8141238 C49.3569231,53.6880259 51.1176923,52.3762176 51.1176923,52.3762176 Z" fill="#F26D5B" fill-rule="nonzero"></path>
<path d="M42.6438462,52.0863279 C38.6992308,55.8149087 40.7853846,57.2966524 39.7515385,57.2943456 C37.48,57.2912698 34.4592308,59.6273037 33.6815385,61.623467 C33.5407692,61.9848679 34.6438462,59.4881259 33.5723077,58.9737063 C32.5007692,58.4592868 30.0838462,60.5146582 28.2307692,60.9421878 C28.2307692,60.9421878 30.6646154,56.27012 27.5607692,53.8579613 C24.4576923,51.4450336 23.1646154,51.8825593 23.1646154,51.8825593 C27.1515385,49.2266472 27.4646154,46.6514735 27.4646154,46.6514735 L42.6438462,52.0863279 Z" fill="#D85648" fill-rule="nonzero"></path>
<g transform="translate(16.923077, 43.060533)" fill-rule="nonzero">
<path d="M21.3461538,16.5306309 C20.7715385,16.8120623 19.6553846,16.7259412 18.8538462,16.3368585 L1.53384615,7.25339294 C0.730769231,6.86584815 0.697692308,6.62901522 1.27230769,6.34758388 L11.3923077,1.39562262 C11.9661538,1.11342235 12.2876923,0.837373573 13.0892308,1.22722518 L31.7515385,9.77474092 C32.5546154,10.1638236 32.4161538,11.0873182 31.8430769,11.3695185 L21.3461538,16.5306309 Z" fill="#2D3B54"></path>
<path d="M21.4046154,15.933935 C20.8484615,16.2076769 19.7676923,16.1230937 18.99,15.747083 L1.21769231,7.09345382 C0.44,6.71667416 0.47,6.17303494 1.02692308,5.89852404 L10.9892308,0.915805258 C11.5469231,0.643601176 12.9592308,0.445984089 13.7353846,0.821994811 L31.5076923,9.47562401 C32.2853846,9.85163473 32.4830769,10.4783193 31.9261538,10.7520612 L21.4046154,15.933935 Z" fill="#FFFFFF"></path>
<path d="M20.6446154,15.0288948 C20.3307692,15.1819135 19.7215385,15.1342394 19.2823077,14.9220125 L9.25692308,10.0407935 C8.81923077,9.82933552 8.71846154,9.53098755 9.03230769,9.37719993 L14.77,6.5559661 C15.0830769,6.40217848 15.6923077,6.44908371 16.1323077,6.66207956 L26.1569231,11.5432985 C26.5953846,11.7562944 26.6969231,12.0538734 26.3830769,12.2061231 L20.6446154,15.0288948 Z" fill="#2D3B54"></path>
</g>
<path d="M40.9938462,52.3147025 C41.0753846,52.3246987 41.4530769,52.3147025 42.0307692,52.2924033 C43.3653846,52.2431913 45.7707692,52.1363089 48.0607692,52.1070892 C49.7623077,52.0840211 54.6884615,51.1151591 56.2276923,50.9321519 C56.9961538,50.8406482 57.83,45.7464334 58.2769231,42.3900187 C58.6869231,39.3258004 59.2807692,33.9824497 58.1407692,32.5122401 C57.4669231,31.8586427 51.9469231,30.3838194 51.5984615,31.4234237 C50.6853846,34.1462335 51.1561538,45.3673469 51.0846154,45.9263649 C51.0846154,45.9263649 43.3776923,49.2089616 39.65,48.7368336 C38.4384615,48.583046 35.8746154,47.8794677 35.8746154,47.8794677 C35.8746154,47.8794677 35.2976923,51.688018 36.31,51.9102411 C37.3246154,52.1340021 40.3423077,52.2316572 40.9938462,52.3147025 Z" fill="#FFA694" fill-rule="nonzero"></path>
<path d="M58.5053846,40.5968551 C59.05,36.4415137 58.6707692,33.444962 58.5053846,33.17122 C58.9638462,33.9278551 51.24,37.9040339 51.2184615,37.9632421 L58.5053846,40.5968551 Z" fill="#FF7B7B" fill-rule="nonzero"></path>
<path d="M50.1746154,38.1224123 C53.1723077,38.3938475 59.3069231,37.8617423 59.2315385,36.4630439 C59.1361538,34.6844901 58.8953846,29.1296814 58.3392308,27.5433622 C57.0623077,24.1623414 49.5915385,18.8620512 46.5169231,17.7147956 C43.6061538,16.77746 38.4538462,17.9570111 36.6123077,18.2299841 C31.0646154,19.0519789 29.6615385,22.8620671 28.4361538,25.1788776 C28.4361538,25.1788776 31.0923077,29.4695521 33.2053846,29.8101916 C33.6784615,29.8878544 32.8830769,34.4322785 32.8646154,35.3288603 C32.8453846,36.226211 32.0469231,38.5291806 32.0469231,38.5291806" fill="#E6F0FF" fill-rule="nonzero"></path>
<g transform="translate(16.153846, 35.371152)">
<path d="M21.0184615,23.9539592 C21.0576923,24.4945227 20.6823077,24.7213594 20.1784615,24.4560758 L1.99153846,15.0927167 C1.48692308,14.8297399 1.04461538,14.1784493 1.00384615,13.6371169 L0.0438461538,0.89888862 C0.00307692308,0.358325147 0.38,0.133026288 0.883846154,0.395234175 L19.07,9.7601311 C19.5753846,10.022339 20.0161538,10.6736295 20.0576923,11.2157309 L21.0184615,23.9539592 Z" fill="#629AF4" fill-rule="nonzero"></path>
<path d="M21.0838462,23.9547281 L20.1230769,11.2157309 C20.0815385,10.6751674 19.6392308,10.022339 19.1353846,9.7601311 L0.949230769,0.396772051 C0.602307692,0.215302663 0.316923077,0.265283639 0.184615385,0.489813559 C0.318461538,0.470590107 0.477692308,0.500578692 0.653846154,0.593620201 L18.8407692,9.95621031 C19.3446154,10.2191871 19.7869231,10.8720156 19.8269231,11.412579 L20.7869231,24.1508073 C20.8007692,24.3207426 20.7715385,24.4576136 20.7123077,24.5606513 C20.9592308,24.5229734 21.11,24.3061328 21.0838462,23.9547281 Z" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M10.5538462,12.9758302 C10.5569231,13.5686814 10.0546154,13.8216621 9.43230769,13.5394618 C8.81076923,13.2572615 8.30384615,12.5467627 8.30230769,11.9523736 C8.29923077,11.3587534 8.8,11.1065417 9.42307692,11.388742 C10.0453846,11.6717112 10.5507692,12.381441 10.5538462,12.9758302 Z" stroke="#FFFFFF" stroke-width="0.2269" stroke-linecap="round" stroke-linejoin="round"></path>
</g>
<g transform="translate(35.384615, 0.000000)" fill-rule="nonzero">
<path d="M3.22,4.68590868 C4.58923077,1.98462919 11.3107692,5.64631235 12.7169231,7.45716154 C14.5361538,9.9985019 12.5838462,16.5237105 9.52384615,17.9116437 C1.53923077,21.5310353 2.38538462,6.79587478 2.21692308,3.41869872" fill="#FFA694"></path>
<path d="M6.20307692,21.0235361 C5.98615385,23.6140886 12.0684615,24.8720713 13.18,22.030845 C13.7992308,20.4445258 13.3469231,20.1200339 13.1561538,16.2738056 C13.1269231,15.6801854 13.0215385,12.9458416 12.7523077,12.5644483 C11.1792308,10.3475998 7.73,12.1607558 6.58230769,14.6121304 C5.65769231,16.5883013 5.47923077,14.8666489 5.92923077,17.6179094 C5.93,17.6171404 6.33923077,19.3887738 6.20307692,21.0235361 Z" fill="#FFA694"></path>
<path d="M6.04153846,18.3107226 C6.04153846,18.3107226 7.16384615,18.79054 8.46153846,18.3583967 C9.41384615,18.0408253 9.95230769,17.6855759 10.1446154,17.348781 C10.1446154,17.348781 9.71153846,18.8866572 8.41384615,19.8478298 C7.78615385,20.3122684 6.25,20.8405289 6.25,20.3768592 C6.25,19.8001557 6.04153846,18.3107226 6.04153846,18.3107226 Z" fill="#FF7B7B"></path>
<path d="M3.47692308,2.26529159 C6.04,2.15456451 9.20153846,-1.73011069 11.9053846,1.813156 C13.7315385,4.20609132 7.25384615,6.31298167 5.16153846,5.85315669" fill="#000000"></path>
<path d="M7.47615385,7.71629367 C3.52230769,7.10268108 1.68307692,7.82855863 0.750769231,6.26300069 C-1.27384615,2.85583604 2.74076923,2.06613663 6.49076923,1.15263819" fill="#000000"></path>
<path d="M6.61230769,6.7174431 C9.08923077,7.34643445 10.0953846,10.0315662 11.11,11.4856282 C13.3346154,7.04885541 12.4453846,2.00615946 6.76769231,1.34948634" fill="#000000"></path>
<path d="M11.8269231,9.75628641 C13.1253846,7.59326358 13.8946154,10.5736676 13.0346154,12.3552971 C13.6538462,12.207661 14.0861538,11.4387229 14.3269231,9.70861224 C14.8484615,5.95850121 14.7115385,0.865824282 11.3461538,1.58631927" fill="#000000"></path>
</g>
</g>
<path d="M44.9515385,28.1554369 C44.7146154,27.8617025 44.4330769,27.6210249 44.1230769,27.4633926 C43.5753846,27.1842681 43.0584615,27.2265597 42.6907692,27.520294 C42.4092308,26.8951474 41.95,26.3538149 41.4007692,26.0746904 C41.0938462,25.9170581 40.7938462,25.8640014 40.5230769,25.8978347 C39.9446154,25.9747285 39.5092308,26.465311 39.4323077,27.2480899 C39.4107692,27.4718509 39.42,27.7009945 39.4576923,27.930138 C39.6038462,29.6848547 41.5853846,33.2019775 41.5853846,33.2019775 C41.5853846,33.2019775 45.0776923,32.4761 45.5376923,31.0312653 C45.6130769,30.8597921 45.6661538,30.662175 45.6869231,30.438414 C45.7646154,29.6556351 45.4630769,28.7890419 44.9515385,28.1554369 Z" id="Shape" fill="#FF7373" fill-rule="nonzero"></path>
<g transform="translate(33.846154, 32.295400)" fill="#2D3B54" fill-rule="nonzero" id="Shape">
<path d="M3.49923077,1.16878589 C3.34923077,0.996543756 3.18,0.851214459 2.98076923,0.728184365 C2.65384615,0.555942235 2.34538462,0.523646835 2.07307692,0.630529229 C1.78692308,0.744332065 1.58461538,1.02345659 1.46846154,1.48635732 C1.40461538,1.94772017 1.44307692,2.42138603 1.58076923,2.8973587 C1.71615385,3.36025943 1.90076923,3.77779281 2.13153846,4.13227326 C2.34769231,4.46753027 2.57769231,4.83123798 2.82076923,5.22570322 C3.03923077,5.58018367 3.14384615,5.96080802 3.14076923,6.37295884 C3.11692308,6.74128018 3.02923077,6.90737081 2.97076923,6.93428364 C2.85,6.9819578 2.63153846,6.93428364 2.40692308,6.82586337 C2.18769231,6.6912992 1.82307692,6.30836804 1.31615385,5.21955171 C1.21615385,5.06268834 1.09615385,4.98271878 0.957692308,4.98271878 C0.885384615,4.98271878 0.749230769,5.00578692 0.650769231,5.16418817 C0.593846154,5.24877136 0.566153846,5.34950225 0.566153846,5.46099827 C0.566153846,5.55480872 0.586153846,5.65553961 0.636153846,5.78164545 C0.879230769,6.32297786 1.10230769,6.72974611 1.31923077,7.02578727 C1.54230769,7.33259357 1.81769231,7.5855742 2.15384615,7.78626704 C2.49076923,7.96081598 2.76153846,8.04616811 2.97923077,8.04616811 C3.05692308,8.04616811 3.12923077,8.03463404 3.19538462,8.01387271 C3.43230769,7.93851678 3.62153846,7.79395642 3.76076923,7.58403632 C3.89230769,7.38718817 3.97,7.12036666 4.00230769,6.75819682 C4.02230769,6.2691522 3.97461538,5.84546731 3.85846154,5.4979073 C3.74615385,5.16034348 3.58846154,4.82739329 3.39153846,4.50597717 C3.20384615,4.19840194 3.00615385,3.8846752 2.80076923,3.56633483 C2.61076923,3.27183155 2.46769231,2.96502525 2.37461538,2.65206745 C2.28769231,2.35525735 2.26538462,2.08612902 2.30769231,1.8615991 C2.35692308,1.651679 2.42,1.57939882 2.47153846,1.58862608 C2.69076923,1.64937219 2.86076923,1.76163715 2.99076923,1.93080353 C3.14230769,2.12918955 3.29384615,2.39908682 3.44076923,2.73049914 C3.53769231,2.96656313 3.71846154,2.99193808 3.79230769,2.99193808 L3.79307692,2.99193808 C3.86692308,2.99193808 3.93923077,2.96886994 3.99692308,2.93119198 C4.06923077,2.89043826 4.18923077,2.79047631 4.18923077,2.56902214 C4.18923077,2.50212452 4.17846154,2.42676859 4.14076923,2.30296956 C3.85461538,1.70473573 3.64923077,1.34256589 3.49923077,1.16878589 Z"></path>
<path d="M6.8,2.63745763 C6.37,2.40985195 5.94,2.42984434 5.56538462,2.69205223 C5.21538462,2.93503667 4.94307692,3.41639191 4.73615385,4.16303079 C4.56538462,4.76664718 4.47923077,5.41947561 4.47923077,6.10229263 C4.47923077,7.03424559 4.61846154,7.83240332 4.89,8.47369768 C5.17307692,9.13959806 5.57153846,9.61095711 6.07692308,9.87700969 C6.24384615,9.960055 6.41,10.0061913 6.57153846,10.0177254 C6.64153846,10.3176112 6.74615385,10.6082698 6.87846154,10.8820118 C6.96461538,11.0819357 7.05923077,11.2041968 7.17769231,11.2672497 C7.23538462,11.2972383 7.29692308,11.313386 7.36,11.313386 C7.43307692,11.313386 7.50307692,11.2926247 7.58384615,11.2418748 C7.69230769,11.1634431 7.85538462,10.9750533 7.70307692,10.5459858 C7.55153846,10.2783954 7.44,10.009267 7.37307692,9.74167658 C7.66538462,9.48254445 7.89692308,9.05655275 8.07538462,8.44678485 C8.27076923,7.78165341 8.36923077,7.07423037 8.36923077,6.34297025 C8.36923077,5.44023694 8.23153846,4.65899585 7.95692308,4.0200083 C7.67230769,3.3556458 7.28384615,2.89043826 6.8,2.63745763 Z M6.37692308,7.64093774 C6.26923077,7.64093774 6.16846154,7.68784296 6.09076923,7.77319509 L6.03615385,7.8662366 C5.96923077,8.06000899 5.98923077,8.29376617 6.09846154,8.55828087 L6.15076923,8.64132618 C6.21846154,8.7143753 6.27461538,8.80587893 6.32076923,8.91814389 C6.03461538,8.74897752 5.79615385,8.44294016 5.61692308,8.00464545 C5.41538462,7.51636977 5.31307692,6.89199204 5.31307692,6.14996679 C5.31307692,5.60555863 5.37846154,5.08421861 5.50692308,4.60209443 C5.68230769,3.94465237 5.87538462,3.68705811 6.00692308,3.58555828 C6.09307692,3.52173642 6.17692308,3.48944102 6.26307692,3.48944102 C6.33692308,3.48944102 6.41846154,3.51174023 6.50538462,3.55787651 C6.79769231,3.71166413 7.04076923,4.02154618 7.23,4.47983328 C7.43,4.96426427 7.53230769,5.57249429 7.53230769,6.28376202 C7.53230769,6.87507541 7.45538462,7.44408959 7.30846154,7.97927049 C7.24,8.22456174 7.16846154,8.40987582 7.1,8.54905361 C7.02076923,8.30683812 6.92615385,8.10537634 6.81461538,7.93928571 C6.76461538,7.8662366 6.61384615,7.64093774 6.37692308,7.64093774 Z"></path>
<path d="M11.0784615,11.8254988 L11.0161538,11.7901276 C10.5038462,11.5809765 9.99461538,11.3395299 9.46769231,11.0565607 L10.2184615,5.45407783 C10.2361538,5.15342304 10.0992308,4.97733622 9.98,4.88198789 L9.93,4.85046143 C9.86230769,4.81662816 9.79538462,4.79971152 9.72923077,4.79971152 C9.57615385,4.79971152 9.38846154,4.90044241 9.36384615,5.1749533 L8.62076923,10.9181519 C8.61846154,10.9435268 8.61615385,10.9704396 8.61615385,11.0011972 C8.61615385,11.1296098 8.64538462,11.2734012 8.70538462,11.4464123 C8.78538462,11.661715 8.90923077,11.8170405 9.07615385,11.909313 C9.66,12.207661 10.2538462,12.4852477 10.8438462,12.7351525 L10.8992308,12.7582207 L10.9607692,12.7559139 C11.0553846,12.7513002 11.2784615,12.6997814 11.2769231,12.2907063 C11.2638462,12.0684832 11.1976923,11.9154645 11.0784615,11.8254988 Z"></path>
</g>
<path d="M39.4069231,11.3418367 C39.4069231,11.3418367 38.3653846,13.5525337 38.41,13.9677603 C38.4838462,14.6574978 40.4330769,14.2899453 40.4330769,14.2899453 L39.4069231,11.3418367 Z" id="Shape" fill="#FF7B7B" fill-rule="nonzero"></path>
</g>
<g id="Group" transform="translate(78.000000, 248.000000)" fill-rule="nonzero">
<path d="M70.4212929,14.3595191 L68.017697,13.0934488 C68.017697,13.0934488 68.8751919,7.53514769 68.4951919,6.86726308 C67.972404,5.94662398 68.8329697,3.95522491 68.8329697,3.95522491 L75.3175354,1.28675016 C75.3175354,1.28675016 74.0923232,2.19130489 72.3934545,5.96194243 C71.9205657,7.01585209 70.4212929,14.3595191 70.4212929,14.3595191 Z" id="Shape" fill="#FFBDA6"></path>
<g transform="translate(0.000000, 0.765923)" id="Shape">
<g transform="translate(40.686869, 52.082745)">
<g transform="translate(0.000000, 53.614590)">
<path d="M6.89527273,3.21457764 C6.89527273,3.21457764 7.23151515,5.01526195 5.30848485,4.88965063 C3.22270707,4.75408231 0.865171717,7.28469096 4.13777778,7.90049283 C7.40961616,8.51859246 10.1195152,10.2365571 11.9895758,9.54263113 C13.0827475,9.13669209 11.8728889,5.46715635 11.7807677,4.86360925 C11.575798,3.51022381 11.4698586,1.76238817 11.4153535,0.301007628" fill="#FFBDA6"></path>
<path d="M1.33652525,4.72880686 C1.86929293,4.78165552 5.63858586,6.30354396 7.04266667,6.98138557 C8.12048485,7.50068117 12.6206061,8.60973726 12.0763232,6.75620429 C12.6206061,7.93112974 12.7626263,10.2740873 12.3480808,10.6011363 C10.1371717,12.3520357 6.36173737,10.1630285 3.18969697,9.15354239 C-1.07244444,7.79556142 -0.215717172,4.57409047 1.33652525,4.72880686 Z" fill="#FFFFFF"></path>
<path d="M1.33652525,4.18500173 C1.86929293,4.23938224 5.32383838,4.48983897 6.36250505,4.6292369 C5.59175758,5.12632075 5.63858586,5.76050476 7.04266667,6.43834636 C8.12048485,6.95840789 12.6206061,8.06746398 12.0763232,6.21239916 C12.6206061,7.38809053 12.7626263,9.7302822 12.3480808,10.0573312 C10.1371717,11.8089965 6.36173737,9.62075525 3.18969697,8.60973726 C-1.07244444,7.25328813 -0.215717172,4.03105126 1.33652525,4.18500173 Z" fill="#000000"></path>
</g>
<g transform="translate(11.515152, 49.019054)">
<path d="M6.87454545,3.16326082 C6.87454545,3.16326082 7.2100202,4.96241328 5.28775758,4.83680196 C3.2019798,4.70123364 0.843676768,7.2318423 4.11705051,7.84841008 C7.38735354,8.46574379 10.0980202,10.1829425 11.9696162,9.49054839 C13.0612525,9.08537527 11.8513939,5.41507361 11.7592727,4.81076059 C11.554303,3.45737515 11.4491313,1.71107135 11.3930909,0.24815896" fill="#FFBDA6"></path>
<path d="M1.38412121,4.84599303 C1.91535354,4.8988417 5.32153535,6.4092413 6.72715152,7.08784882 C7.80420202,7.60791035 12.6666667,8.72692344 12.1231515,6.87262454 C12.6666667,8.04908183 12.8086869,10.3912735 12.3949091,10.7183225 C10.1832323,12.4692218 7.29292929,9.62152117 3.39389899,8.95363656 C-1.01486869,8.19920269 -0.170424242,4.69127664 1.38412121,4.84599303 Z" fill="#FFFFFF"></path>
<path d="M1.38412121,4.3021879 C1.91535354,4.35580249 5.24630303,4.50592334 6.2849697,4.64455536 C5.51422222,5.1416392 5.32153535,5.86620209 6.72715152,6.5440437 C7.80420202,7.06410522 12.6666667,8.18388423 12.1231515,6.32881941 C12.6666667,7.50527671 12.8086869,9.84746837 12.3949091,10.1737515 C10.1832323,11.9261826 7.29292929,9.07771604 3.39389899,8.40983143 C-1.01486869,7.6569294 -0.170424242,4.14747151 1.38412121,4.3021879 Z" fill="#000000"></path>
</g>
<path d="M18.4234747,52.1823147 C19.1489293,53.4591079 23.937697,54.1576294 23.7173737,51.9678564 C23.5469495,50.2713375 20.4186667,30.395643 20.4186667,28.4800703 C20.4186667,27.1833632 21.0427879,14.5073422 21.4465859,6.47511065 C21.6377374,2.65775183 20.5077172,0.369940672 20.5077172,0.369940672 L10.5340606,4.75867784 C10.5340606,4.75867784 11.7132121,22.6736102 13.3460606,30.3336033 C14.9781414,37.9928305 17.6980202,50.9055215 18.4234747,52.1823147 Z" fill="#4080FE"></path>
<path d="M14.5697374,24.588417 C14.5697374,22.6728443 13.4811717,13.4603258 13.4811717,13.4603258 L11.3055758,11.9675425 C11.3055758,11.9675425 11.7132121,22.6743761 13.3460606,30.3336033 C13.3460606,30.3336033 14.5697374,26.5032238 14.5697374,24.588417 Z" fill="#3463E8"></path>
<path d="M6.27268687,55.936102 C6.54444444,57.3385065 10.6246465,59.4647079 11.7585051,56.7066202 C12.5791515,54.7083278 9.71878788,38.0541043 10.262303,32.9476975 C10.6054545,29.7292903 11.6226263,17.3948708 14.1605657,12.5082839 C15.8932121,9.17652007 15.2491313,3.82272028 15.2491313,3.82272028 L2.28076768,6.13657281 C2.28076768,6.13657281 1.66816162,25.7020686 2.21244444,31.446489 C2.75672727,37.1916753 6.00016162,54.5344634 6.27268687,55.936102 Z" fill="#4080FE"></path>
</g>
<path d="M59.8803232,19.038541 C62.6009697,23.8561949 61.0587071,28.2280817 61.4663434,43.2914838 C61.5768889,47.3608312 61.6029899,53.1979282 61.6029899,53.1979282 C61.6029899,53.1979282 60.1528485,56.5856044 56.344404,58.3502904 C47.4808081,62.4548702 42.9676364,58.5593873 42.9676364,58.5593873 C42.9676364,58.5593873 43.1495758,48.0363751 42.8785859,43.1497881 C42.6060606,38.264733 41.4361212,29.2528863 41.9473939,26.5323288 C42.7634343,22.189547 50.2229495,20.1468312 50.2229495,20.1468312 C50.2229495,20.1468312 54.1327273,17.1436482 57.178101,17.3427881 C58.2589899,17.4140189 59.230101,17.8873591 59.8803232,19.038541 Z" fill="#F26D5B"></path>
<g transform="translate(44.525253, 3.829614)">
<path d="M0.695515152,6.21852654 C-0.274828283,8.39144929 -0.15430303,10.4142512 1.23826263,11.21847 L3.38008081,12.457733 C4.77341414,13.2627178 6.69030303,12.7732932 7.66141414,11.3655272 L11.2694949,6.14346611 C12.2413737,4.73493424 11.8997576,2.94267508 10.5079596,2.1376903 L8.36460606,0.89919327 C6.97280808,0.0949744169 4.12242424,-0.487126848 3.14977778,0.919873183 C3.15054545,0.919873183 1.66662626,4.04636971 0.695515152,6.21852654 Z" fill="#FFBDA6"></path>
<path d="M3.45377778,16.9291898 C3.24957576,16.3853847 3.32557576,15.6554603 2.70606061,13.5353863 C2.0719596,11.3639954 1.0210101,9.50586684 1.0210101,9.50586684 L9.59749495,8.83032301 C9.59749495,8.83032301 9.86925253,13.3538626 10.5494141,14.3043727 C10.9839192,14.9117494 10.6407677,18.3760178 7.46642424,18.6249427 C4.9499798,18.8210189 3.65874747,17.4714631 3.45377778,16.9291898 Z" fill="#FFBDA6"></path>
<path d="M1.82092929,4.03028534 C1.82092929,4.03028534 0.844444444,4.67825596 0.459070707,5.07270616 C0.0744646465,5.46792228 0.359272727,5.98874973 0.708565657,6.26524783" fill="#F27C70"></path>
</g>
<path d="M49.4076768,7.86602631 C48.8641616,8.54463383 48.4549899,10.3085539 47.6389495,10.8508271 C46.8229091,11.3946323 45.3267071,10.4441222 44.5106667,11.1219638 C43.6946263,11.8013372 43.0597576,13.6265311 43.422101,14.6505697 C44.2381414,16.957529 47.2451313,17.3044919 47.1629899,16.6182252 C46.9587879,14.9209405 47.9114747,13.9719622 48.8641616,12.3436105 C49.8153131,10.7144929 50.7672323,9.49284616 50.7672323,9.49284616 C50.7672323,9.49284616 52.5367273,10.0351194 52.264202,11.1211979 C51.9916768,12.2072763 49.7247273,12.5236023 50.1331313,13.7444832 C50.5415354,14.9668958 55.3195556,15.5129987 55.2105455,14.6505697 C55.0316768,13.2022099 58.7932929,9.35804376 58.7932929,7.72969206 C58.7932929,6.10134036 57.1612121,3.52171265 54.9848485,2.97943937 C52.8077172,2.43716609 48.3191111,-0.278029946 47.7748283,0.26500926 C47.2313131,0.808048467 46.0790303,3.9414383 47.6750303,4.74872085 C49.2702626,5.55753524 51.3107475,5.55753524 51.4473939,6.23614276 C51.5832727,6.91551621 49.9511919,7.1881847 49.4076768,7.86602631 Z" fill="#000000"></path>
<path d="M18.1440404,31.5989076 C18.1440404,31.5989076 12.6950707,30.5748689 12.0686465,30.2416926 C10.7090909,29.5178956 10.0749899,28.1905515 9.51151515,27.9669021 C7.27911111,27.076134 6.82464646,24.14265 6.44694949,24.4513168 C5.44820202,25.2654927 7.14630303,27.3396114 6.99046465,28.0703017 C6.83078788,28.8186082 5.26779798,29.0652353 3.49983838,29.96979 C3.29717172,30.0724236 1.00565657,31.0558684 0.370787879,31.4173839 C-0.0307070707,31.6463948 4.9599596,31.99106 5.53955556,31.9604231 C7.46488889,31.8593213 9.40480808,32.5540132 10.5271515,33.0465016 C11.8920808,33.6431554 15.3596768,35.1022381 15.8770909,35.3082713" fill="#FFBDA6"></path>
<path d="M43.852,33.9962457 C43.852,33.9962457 34.1485657,37.8411778 29.1164444,38.384217 C26.2476364,38.6928838 18.6883232,37.1173808 14.1536566,35.1267477 C12.8079192,34.5354553 13.7007273,30.3305396 16.1496162,30.8743447 C18.2906667,31.3492168 26.1309495,31.8784694 28.2098182,31.5069969 C32.0182626,30.8283894 38.8198788,26.8019336 40.2707879,25.2647267 C41.7224646,23.7275199 45.2576162,22.0984022 46.7085253,21.5545971" fill="#F26D5B"></path>
</g>
<path d="M70.1249697,4.35580249 C70.2808081,4.11070722 71.0515556,2.41112471 71.2603636,2.08330979 C71.4691717,1.75549487 72.6414141,-0.100335876 72.9216162,0.288752864 C73.2256162,0.713839972 72.4141818,1.75855856 72.3911515,2.78029946 C72.3681212,3.80280629 72.278303,3.88552594 72.1570101,4.7303387" id="Shape" fill="#FFBDA6"></path>
<path d="M45.2798788,41.9541828 C45.6199596,44.8723483 44.5544242,50.5493675 44.1913131,51.9954296 C43.8289697,53.4437894 43.1042828,56.8812506 43.1042828,56.8812506 C43.1042828,56.8812506 42.8094949,45.3456885 42.6275556,42.6320244 C42.4456162,39.9183602 42.0157172,35.5066453 42.0157172,35.5066453 L42.8317576,35.371077 C43.9195556,36.8194369 44.9405657,39.0367831 45.2798788,41.9541828 Z" id="Shape" fill="#FC5D4C"></path>
</g>
<g id="Group" transform="translate(263.000000, 194.000000)" stroke="#4080FE" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1262">
<path d="M23.6592308,0.614397661 L49.7376923,118.977877" id="Shape"></path>
<path d="M0.761538462,12.3783509 L26.84,130.74183" id="Shape"></path>
<path d="M24.4792308,116.896433 L46.4669231,106.12762" id="Shape"></path>
<path d="M21.2076923,102.055895 L43.1953846,91.1966842" id="Shape"></path>
<path d="M17.5723077,87.938538 L40.1523077,76.8540994" id="Shape"></path>
<path d="M14.3015385,73.2787953 L36.8815385,62.1943567" id="Shape"></path>
<path d="M11.3938462,58.6190526 L33.9738462,47.5330819" id="Shape"></path>
<path d="M7.94076923,44.1393392 L30.5207692,33.0549006" id="Shape"></path>
<path d="M4.67076923,29.2084035 L27.25,18.1239649" id="Shape"></path>
</g>
<path d="M139.843516,266.087144 C141.419197,265.530302 142.294081,264.834446 143.08081,263.860561 C143.86828,262.887463 144.918733,256.624758 145.838066,256.207716 C146.755916,255.789103 148.856823,255.928902 148.987945,257.319829 C149.119066,258.710756 148.164917,266.084002 146.887778,268.453525 C145.838066,270.401294 139.756102,274.900796 138.618975,275.967356 C137.923364,276.620016 133.63858,267.271513 134.024537,267.107366 C134.680885,266.830908 138.267836,266.644771 139.843516,266.087144 Z" id="Shape" fill="#F26D5B" fill-rule="nonzero"></path>
<g id="Group" transform="translate(271.000000, 159.000000)" fill-rule="nonzero">
<path d="M39.067,97.116834 C44.3963333,99.294686 40.537,104.920996 42.9271111,108.186621 C45.3141111,105.464882 46.9684444,103.287799 47.5198889,99.656509 C47.7034444,97.6607208 47.7034444,97.6607208 46.417,96.3901151 C45.1313333,95.4828689 42.3756667,94.5756226 40.9056667,94.0309675" id="Shape" fill="#FFBDA6"></path>
<path d="M28.2037778,25.9752059 C25.3781111,24.7499241 18.3687778,19.3148967 17.5233333,18.307016 C16.807,17.4558485 10.3887778,8.38953136 10.0403333,6.18248772 C10.0131111,6.01578794 9.97111111,5.8659886 9.92211111,5.72540768 C9.92133333,5.59174057 9.92211111,5.45807346 9.92133333,5.32286996 C9.91355556,4.43713333 9.90733333,3.52066864 10.0885556,2.66412368 C10.1266667,2.47975526 10.0076667,2.29922785 9.81944444,2.26081776 C9.63588889,2.22163947 9.46711111,2.62494539 9.42744444,2.80931382 C9.27733333,3.52527785 9.23766667,4.08990614 9.23066667,4.73212281 C9.17855556,4.68987171 9.12255556,4.65376623 9.06811111,4.61689254 C9.06344444,4.3349625 9.05411111,4.04535044 9.04477778,3.74344715 C9.01366667,2.93990811 8.98411111,2.10948202 9.07277778,1.48647039 C9.10777778,1.23910943 8.93277778,1.01018531 8.68311111,0.975616228 C8.43111111,0.942583553 8.25066667,1.4465239 8.21411111,1.69465307 C8.11377778,2.39755768 8.09744444,2.9337625 8.12933333,3.77647982 C8.13322222,3.92551096 8.13944444,4.0737739 8.14488889,4.21896404 C8.141,4.21819583 8.13944444,4.21819583 8.13711111,4.21819583 C7.99011111,3.17574605 7.91544444,2.09411798 7.99633333,1.07240965 C8.01577778,0.823512281 7.87733333,0.458616447 7.62455556,0.438643202 C7.37333333,0.419438158 7.15244444,0.605342982 7.133,0.855008553 C7.10811111,1.17842149 7.09255556,1.51719846 7.08866667,1.86519386 C7.06766667,1.69926228 7.042,1.54408553 7.01166667,1.41195482 C6.78766667,0.460152851 6.181,0.406378728 6.16077778,1.98887434 C6.14288889,3.69581864 6.53411111,6.43983531 6.272,6.8738693 C5.93988889,7.41775614 5.36433333,6.2608443 4.08333333,6.96912632 C2.80233333,7.67510373 3.78855556,7.77727456 4.41233333,7.63669364 C5.00811111,7.50302654 5.48566667,8.09838289 6.03244444,8.44330548 C6.20122222,8.55008553 6.81566667,9.6755011 7.833,9.86831974 C8.876,10.0649794 12.929,21.3928825 15.869,25.0226357 C19.5821111,29.608032 22.0811111,30.9016838 24.5046667,30.4668816 C27.5558889,29.9199219 33.1854444,28.1346211 28.2037778,25.9752059 Z M7.182,3.93319298 C7.18744444,3.99311272 7.19833333,4.04842325 7.20455556,4.10757478 C7.18977778,4.10834298 7.18044444,4.10834298 7.18044444,4.10834298 C7.18044444,4.10834298 7.18122222,4.04381404 7.182,3.93319298 Z" id="Shape" fill="#FFBDA6"></path>
<g transform="translate(12.444444, 106.780044)" id="Shape">
<path d="M5.24455556,0.292684868 C5.593,1.86596206 7.09488889,6.25239408 7.72411111,8.06381382 L7.84933333,9.21534825 C7.84933333,9.21534825 7.62533333,10.8470088 5.85822222,10.0281057 C4.09033333,9.20920263 3.122,9.33518772 1.62944444,9.71544759 C0.35,10.0396287 0.712444444,12.7483081 4.02811111,13.3659423 C7.34222222,13.9851129 10.0885556,15.7081895 11.984,15.0121987 C13.09,14.6065882 11.8642222,10.9253654 11.7708889,10.3200224 C11.5632222,8.96184167 11.3703333,6.67183224 10.7271111,5.03863531" fill="#FFBDA6"></path>
<path d="M1.13477778,8.94801404 C1.673,9.00101996 2.98433333,9.27373158 4.03588889,9.41200789 C3.20755556,9.48575526 1.29733333,10.7087325 2.70511111,11.8587305 C3.63844444,12.6215548 11.9031111,14.7041498 12.2375556,12.256659 C12.3822222,13.2146066 12.5704444,14.5305362 12.1504444,14.8585583 C9.91122222,16.6154357 6.68033333,14.1610311 3.36544444,13.5418605 C0.0497777778,12.9249945 -0.438666667,8.79283728 1.13477778,8.94801404 Z" fill="#000000"></path>
</g>
<path d="M42.6502222,94.4842066 C42.6502222,94.4842066 42.0995556,91.2185809 36.7702222,88.3147783 C32.4574444,85.9640809 32.1766667,85.1759059 32.1766667,83.7777787 C32.1766667,81.7819906 35.0241111,69.8940684 33.9212222,62.2712024 C33.3075556,58.0230467 31.0955556,55.6846406 30.4764444,55.2844075 L23.7237778,61.4553721 C23.7237778,61.4553721 24.3856667,83.1455487 25.3773333,88.0428349 C26.1115556,91.67182 40.2608889,97.7536732 40.2608889,97.7536732 C40.2608889,97.7536732 39.5251111,95.0296298 42.6502222,94.4842066 Z" id="Shape" fill="#4080FE"></path>
<path d="M25.7918889,69.2587656 C25.7918889,69.2587656 26.4802222,73.7504412 26.3425556,77.153575 C26.2048889,80.5559406 25.5157778,88.7226934 25.5157778,88.7226934 C25.5157778,88.7226934 24.5046667,80.9638557 24.0916667,77.9694053 C23.6786667,74.9749548 23.6327778,72.2985399 23.6327778,72.2985399" id="Shape" fill="#3463E8"></path>
<path d="M27.7666667,68.8961743 C27.7666667,68.8961743 24.8321111,73.2902884 24.7356667,73.6152377 C23.1077778,79.0264509 19.5704444,87.769355 19.3137778,89.2220246 C19.2258889,89.7228921 21.5491111,97.9618559 23.7478889,113.268276 L19.9818889,114.444393 C19.9818889,114.444393 12.7454444,102.847619 12.0143333,88.5982447 C11.284,74.3496386 13.9556667,61.0413114 13.9556667,61.0413114 L28.2745556,58.9602529" id="Shape" fill="#4080FE"></path>
<path d="M13.8934444,34.413134 C13.5255556,31.5999792 18.0965556,29.1140783 20.6461111,27.2442752 C23.1567778,25.404432 27.6515556,24.2728708 30.1318889,26.7910362 C33.4848889,30.19417 28.6385556,41.4006971 27.1234444,47.1168864 C26.0726667,51.07543 28.777,54.5576886 28.777,54.5576886 C28.777,54.5576886 27.0316667,62.7705336 15.1806667,57.1895478 C15.1806667,57.1895478 14.49,54.6813691 14.49,50.5653441 C14.49,46.4493191 13.8934444,34.413134 13.8934444,34.413134 Z" id="Shape" fill="#FFD1C5"></path>
<path d="M20.3248889,36.8636976 C20.2338889,31.0560923 16.191,30.5114373 16.191,30.5114373 C16.8342222,30.0581982 16.8941111,29.847711 17.8445556,29.150952 C19.3223333,28.0662511 23.5231111,34.4799675 26.0221111,33.2339443 C30.7533333,30.8747967 25.1712222,25.4981526 25.1712222,25.4981526 C25.9046667,25.2085406 25.655,25.3614127 25.655,25.3614127 C33.6466667,28.6961765 30.4772222,40.5833305 28.9613333,46.3002879 C27.9121111,50.2595998 32.0848889,57.1895478 32.0848889,57.1895478 C32.0848889,57.1895478 25.2871111,65.8103079 13.7565556,61.3631879 C13.7565556,61.3631879 14.5452222,56.7255539 15.1417778,52.30148 C16.0984444,45.2117461 9.94388889,43.6691969 13.8942222,37.4990004 C13.8934444,37.4990004 20.4174444,42.6705346 20.3248889,36.8636976 Z" id="Shape" fill="#000000"></path>
<g transform="translate(15.555556, 10.754825)" id="Shape">
<path d="M0.933333333,7.46154364 C0.382666667,10.5235958 1.60066667,12.4479412 3.20755556,13.0870851 L4.49866667,13.5026822 C6.10477778,14.1418261 8.07177778,13.3375189 8.89233333,11.7081629 L11.9365556,5.65703772 C12.7571111,4.02614539 12.1193333,2.1878386 10.5132222,1.54792654 L8.04144444,0.564628289 C6.43533333,-0.0737473684 3.31022222,-0.257347588 2.48966667,1.37277654 C2.49044444,1.37200833 1.38133333,4.96642434 0.933333333,7.46154364 Z" fill="#FFD1C5"></path>
<path d="M4.30966667,18.1234158 C4.30966667,18.1234158 4.67755556,16.2175072 3.89666667,13.585648 C3.38722222,11.8679489 2.08988889,10.2263018 2.08988889,10.2263018 L9.49511111,9.58638969 C9.49511111,9.58638969 8.35333333,10.7502154 8.904,13.4043524 C9.45544444,16.0584895 12.621,17.3029763 10.6501111,18.1234158 C8.03055556,19.2127259 4.30966667,18.1234158 4.30966667,18.1234158 Z" fill="#FFD1C5"></path>
<path d="M1.59911111,5.10854167 C1.59911111,5.10854167 0.780888889,6.06188004 0.451111111,6.50820526 C0.122888889,6.95453048 0.564666667,7.37166404 0.956666667,7.59674715" fill="#E8A78B"></path>
</g>
<path d="M6.63522222,60.8193011 C6.63522222,60.8193011 16.9711111,54.8042814 17.3841111,51.745302 C17.9355556,47.6623096 19.6373333,33.5804033 17.5544444,31.523159 C15.4707778,29.4651465 13.5255556,32.5510129 13.5255556,35.6376476 C13.5255556,38.7250504 12.7905556,48.1147805 13.0666667,49.8386252 C13.0666667,49.8386252 6.92922222,57.6251182 4.61377778,57.3708434 C2.95944444,57.1887796 1.48944444,57.7342029 1.12311111,58.8219765 C0.797222222,59.7853015 0.387333333,60.9998285 1.30588889,60.9998285 C2.22444444,60.9998285 3.23788889,60.5550397 3.87955556,60.681793 C4.79811111,60.864625 6.63522222,60.8193011 6.63522222,60.8193011 Z" id="Shape" fill="#FFD1C5"></path>
<path d="M19.8652222,9.3689886 C17.5225556,9.3689886 15.3175556,9.77690373 17.7978889,12.9073259 C19.4561111,14.895432 19.6023333,14.9384513 19.6598889,17.1954281 C19.6684444,17.5641649 19.7166667,18.5351719 19.6598889,19.0329667 C21.3134444,18.7610232 21.6572222,15.7665728 22.7593333,16.9910864 C23.5861111,17.9444248 22.2086667,21.006477 22.3463333,21.8906772 C22.3463333,21.8906772 25.1486667,22.0251125 25.655,21.6187338 C27.8592222,19.8487969 29.3743333,16.0369798 29.3743333,16.0369798 C29.3743333,16.0369798 30.8217778,16.3780614 32.8891111,12.770586 C33.712,11.3355851 31.2355556,6.71331513 27.9968889,7.39394189 C25.2987778,7.96010658 24.6897778,10.0480789 24.6897778,10.0480789 C23.9998889,9.64016382 22.2934444,9.98047719 20.8304444,9.91210724" id="Shape" fill="#000000"></path>
<path d="M44.3496667,97.7974607 C43.064,99.2493621 42.6961111,104.149721 42.1446667,106.145509 C41.776,107.415347 40.6738889,109.593967 41.5932222,110.682509 C43.4303333,113.405016 45.0838889,110.863804 45.8204444,109.775262 C47.2904444,107.415347 47.7485556,104.824202 48.3917778,102.152396 C49.3111111,98.3421158 46.9217778,93.804348 44.3496667,97.7974607" id="Shape" fill="#000000"></path>
</g>
<g id="Group" transform="translate(324.000000, 416.000000)">
<g transform="translate(100.925083, 0.000000)">
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(14.732283, 7.656908) rotate(164.514226) translate(-14.732283, -7.656908) " cx="14.7322826" cy="7.65690758" rx="1.19657791" ry="1.053563"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(8.329062, 3.429870) rotate(164.496131) translate(-8.329062, -3.429870) " cx="8.32906164" cy="3.42987033" rx="1.1965585" ry="1.05431325"></ellipse>
<path d="M0.75387979,1.91298164 C0.909854919,2.47390806 1.55057628,2.78544859 2.18747472,2.60742543 C2.82437317,2.43170429 3.21660474,1.83164347 3.06215878,1.27148438 C2.90541907,0.712092642 2.26393312,0.39978477 1.62703468,0.578575272 C0.990900819,0.75506375 0.599433829,1.35358989 0.75387979,1.91298164 Z" id="Shape" fill="#FF7A71" fill-rule="nonzero"></path>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(17.164448, 11.437683) rotate(164.514226) translate(-17.164448, -11.437683) " cx="17.1644479" cy="11.4376828" rx="1.19734249" ry="1.05279566"></ellipse>
<path d="M11.7998243,17.3687683 C11.9557995,17.92816 12.5972854,18.2412352 13.235713,18.0616774 C13.8718469,17.8859563 14.2633139,17.2858954 14.1065742,16.724969 C13.9528928,16.1655773 13.3106423,15.8555714 12.6737438,16.0305252 C12.0360808,16.2093157 11.6446138,16.8070745 11.7998243,17.3687683 Z" id="Shape" fill="#FF7A71" fill-rule="nonzero"></path>
<path d="M14.7174767,11.9659188 C14.7174767,11.9659188 4.74194975,14.5226997 6.255826,28.0938964" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M12.8725356,8.9080641 C12.8725356,8.9080641 9.01444495,11.7326471 9.1406013,15.7780699" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M10.9648986,18.1852193 C10.9648986,18.1852193 7.95778991,19.8971576 7.15650591,19.3907124" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M6.93018906,5.38750263 C6.93018906,5.38750263 2.0360871,13.7453831 4.0484721,21.9298444" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M1.47564705,3.62645456 C1.47564705,3.62645456 0.74623395,9.07611183 4.34971818,12.2275822" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
</g>
<g transform="translate(87.927156, 19.183530)">
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(4.945020, 1.788177) rotate(150.843556) translate(-4.945020, -1.788177) " cx="4.94502004" cy="1.78817742" rx="1.19734851" ry="1.05433564"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(13.663922, 16.868906) rotate(150.843556) translate(-13.663922, -16.868906) " cx="13.663922" cy="16.8689064" rx="1.19734851" ry="1.05510299"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(8.264092, 4.922520) rotate(150.861359) translate(-8.264092, -4.922520) " cx="8.26409196" cy="4.92252018" rx="1.19651358" ry="1.05350636"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(5.491487, 11.351922) rotate(150.822962) translate(-5.491487, -11.351922) " cx="5.49148716" cy="11.3519222" rx="1.19654989" ry="1.05353834"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" transform="translate(11.762067, 11.302853) rotate(150.876948) translate(-11.762067, -11.302853) " cx="11.7620666" cy="11.3028534" rx="1.19660612" ry="1.05282049"></ellipse>
<path d="M5.98363411,5.98372675 C5.98363411,5.98372675 -3.10803382,10.8325559 1.55745754,23.6617335" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M3.47197579,3.45150076 C3.47197579,3.45150076 0.38764407,7.10864896 1.46264913,11.0113464" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M3.80151148,12.9166546 C3.80151148,12.9166546 1.28373648,15.292343 0.384585735,14.9915452" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M10.5849004,13.7799134 C10.5849004,13.7799134 7.40958321,19.9017616 5.1976418,22.8291683" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M11.5865054,17.4002293 L7.90197528,18.4982945" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
</g>
<g transform="translate(0.000000, 59.852614)">
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" cx="2.93370867" cy="1.50782548" rx="1.04977378" ry="1.05355948"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" cx="1.46494288" cy="5.93154755" rx="1.04977378" ry="1.05355948"></ellipse>
<ellipse id="Oval" fill="#FF7A71" fill-rule="nonzero" cx="6.7138118" cy="10.7773073" rx="1.04977378" ry="1.05355948"></ellipse>
<path d="M3.98348246,5.51027723 C3.98348246,5.51027723 13.0109253,5.30079308 14.8986831,18.7829781" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M8.07706501,9.82964089 C8.07706501,9.82964089 10.0695708,8.67095567 11.750891,10.1450181" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
<path d="M4.82376024,2.24600772 C4.82376024,2.24600772 8.49758619,4.24646625 9.12760338,7.19766055" id="Shape" stroke="#8CB3FE" stroke-width="0.5612"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 137 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -0,0 +1,3 @@
The illustrations shared in this folder are covered by the CC-BY-SA-NC-ND License v4.0 (or newer). You are allowed to use them when using unmodified versions of the Redash source code for non-commercial purposes (meaning for yourself), but you are not allowed to use for any other use or to distribute them as part of your software or fork of Redash.
For any questions, please contact us.

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,8 @@
# Styling readme
Some general rules before you add stuff.
- Avoid using inline css
- If possible, use classes that are already in place instead of adding new
- Keep less/inc folder untouched, rewrite things in less/redash respectively
- Try following BEM naming conventions: http://getbem.com/naming/

View File

@@ -0,0 +1,73 @@
.four-zero {
background: @white;
box-shadow: 0 1px 11px rgba(0, 0, 0, 0.27);
border-radius: 2px;
position: absolute;
top: 50%;
margin-top: -150px;
text-align: center;
padding: 15px;
height: 300px;
width: 500px;
left: 50%;
color: #333;
margin-left: -250px;
h2 {
font-size: 130px;
}
@media (max-width: @screen-xs-max) {
width: ~"calc(100% - 40px)";
left: 20px;
margin-left: 0;
height: 260px;
margin-top: -130px;
h2 {
font-size: 90px;
}
}
h2 {
line-height: 100%;
font-weight: 100;
}
small {
display: block;
font-size: 26px;
margin-top: -10px
}
footer {
background: @ace;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
padding: 10px;
& > a {
font-size: 21px;
display: inline-block;
color: #333;
margin: 0 1px;
line-height: 40px;
width: 40px;
height: 40px;
background: rgba(0, 0, 0, 0.09);
border-radius: 50%;
text-align: center;
&:hover {
background: rgba(0, 0, 0, 0.2);
}
}
}
}

View File

@@ -0,0 +1,7 @@
.ace_editor {
border: 1px solid #eee;
height: 100%;
margin-bottom: 10px;
}

View File

@@ -0,0 +1,45 @@
.alert {
padding-left: 30px;
padding-right: 30px;
span {
cursor: pointer;
}
}
.alert-dismissable,
.alert-dismissible {
padding-right: 44px;
}
.alert-inverse {
.alert-variant(@alert-inverse-bg; @alert-inverse-border; @alert-inverse-text);
}
.alert-link {
color: #fff !important;
font-weight: normal !important;
text-decoration: underline;
}
.growl-animated {
&.alert-inverse {
box-shadow: 0 0 5px fade(@alert-inverse-bg, 50%);
}
&.alert-info {
box-shadow: 0 0 5px fade(@alert-info-bg, 50%);
}
&.alert-success {
box-shadow: 0 0 5px fade(@alert-success-bg, 50%);
}
&.alert-warning {
box-shadow: 0 0 5px fade(@alert-warning-bg, 50%);
}
&.alert-danger {
box-shadow: 0 0 5px fade(@alert-danger-bg, 50%);
}
}

View File

@@ -0,0 +1,8 @@
a[ng-click] {
cursor: pointer;
}
/* Immediately apply ng-cloak, instead of waiting for angular.js to load: */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}

View File

@@ -0,0 +1,88 @@
*, button, input, i, a {
-webkit-font-smoothing: antialiased;
}
*,
*:active,
*:hover {
outline: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}
html {
overflow-x: ~"hidden\0/";
-ms-overflow-style: auto;
}
html, body {
min-height: 100vh;
}
body {
padding-top: @header-height;
position: relative;
padding-bottom: @footer-height;
&.headless {
padding-top: 0;
padding-bottom: 0;
.nav.app-header {
display: none;
}
div#footer {
display: none;
}
}
}
strong {
font-weight: 500;
}
#content {
position: relative;
padding-top: 30px;
padding-bottom: 30px;
@media (min-width: (@screen-sm-min + 1)) {
padding-right: 15px;
padding-left: 15px;
}
@media (min-width: (@screen-lg-min + 80px)) {
margin-left: @sidebar-left-width;
}
@media (min-width: @screen-sm-min) and (max-width: (@screen-md-max + 80px)) {
margin-left: @sidebar-left-mid-width;
}
@media (max-width: (@screen-sm-min)) {
margin-left: 0;
}
}
.container {
&.c-boxed {
max-width: @boxed-width;
}
}
.scrollbox {
overflow: auto;
position: relative;
}
.resize-vertical {
resize: vertical !important;
transition: height 0s !important;
}
.resize-horizontal {
resize: horizontal !important;
transition: width 0s !important;
}
.resize-both,
.resize-vertical.resize-horizontal {
resize: both !important;
transition: height 0s, width 0s !important;
}

View File

@@ -0,0 +1,42 @@
/** Media - Overriding the Media object to 3.2 version in order to prevent issues like text overflow. **/
.media {
margin-top: 0;
.clearfix();
& > .pull-left {
padding-right: 15px;
}
& > .pull-right {
padding-left: 15px;
}
overflow: visible;
}
.media-heading {
font-size: 14px;
margin-bottom: 10px;
}
.media-body {
zoom: 1;
display: block;
width: auto;
}
.media-object {
border-radius: 2px;
}
.collapsing,
.collapse.in {
padding: 5px 10px;
transition: all 0.35s ease;
}
/** LIST **/
.list-inline > li {
vertical-align: top;
margin-left: 0;
}

View File

@@ -0,0 +1,29 @@
.breadcrumb {
border-bottom: 1px solid #E5E5E5;
border-radius: 0;
padding-top: 10px;
padding-right: 33px;
padding-bottom: 11px;
@media (min-width: (@screen-lg-min + 80px)) {
padding-left: (@sidebar-left-width + @grid-gutter-width);
}
@media (min-width: @screen-sm-min) and (max-width: (@screen-md-max + 80px)) {
padding-left: (@sidebar-left-mid-width + @grid-gutter-width);
}
@media (max-width: (@screen-sm-min)) {
padding-left: @grid-gutter-width/2;
}
& > li {
& > a {
color: #A9A9A9;
&:hover {
color: @breadcrumb-active-color;
}
}
}
}

View File

@@ -0,0 +1,124 @@
.btn {
&:not(.btn-alt) {
border: 0;
}
&[class*="bg-"]:not(.bg-white) {
color: #fff;
}
.caret {
margin-top: -3px;
}
&:not(.btn-link) {
&:active,
&.active,
&:hover {
}
}
}
.btn-default {
.button-variant(#333, #eee, transparent);
}
.btn-inverse {
.button-variant(#fff, #454545, transparent);
}
.btn-link {
color: #333;
}
.btn-icon {
border-radius: 50%;
width: 40px;
height: 40px;
padding: 0;
text-align: center;
.zmdi {
font-size: 17px;
}
}
.btn-icon-text {
& > .zmdi {
font-size: 15px;
vertical-align: top;
display: inline-block;
margin-top: 2px;
line-height: 100%;
margin-right: 5px;
}
}
.open .btn {
outline: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
&:focus, &:active {
outline: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}
}
/** ALTERNATIVE BUTTONS **/
.btn-alt(@color) {
border-color: @color;
color: @color;
&:not(.btn-white) {
&:hover,
&:active,
&:focus {
color: #fff;
background: @color;
}
}
&.btn-white {
&:hover,
&:active,
&:focus {
color: #333;
background: @color;
}
}
}
.btn-alt {
background: transparent;
&.btn-default {
.btn-alt(darken(@brand-default, 30%));
}
&.btn-info {
.btn-alt(@brand-info);
}
&.btn-primary {
.btn-alt(@brand-primary);
}
&.btn-success {
.btn-alt(@brand-success);
}
&.btn-warning {
.btn-alt(@brand-warning);
}
&.btn-danger {
.btn-alt(@brand-danger);
}
}
.btn-xs > .fa {
font-size: 14px;
top: 1px;
position: relative;
}

View File

@@ -0,0 +1,41 @@
.carousel-caption {
left: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.6);
h3 {
margin-top: 0;
margin-bottom: 3px;
color: #fff;
}
}
.carousel-indicators {
bottom: 10px;
& > li:not(.active) {
border: 0;
background: #000;
}
}
.carousel-control {
width: 50px;
background: none;
.fa {
font-size: 50px;
height: 52px;
margin-top: -26px;
position: absolute;
top: 50%;
.margin-left(-9px);
}
}
@media @max-768 {
.carousel-indicators, .carousel-caption {
display: none;
}
}

View File

@@ -0,0 +1,237 @@
/* --------------------------------------------------------
Chart Helper Classes
-----------------------------------------------------------*/
.main-chart {
margin: 0px -8px 0 -10px;
overflow: hidden;
position: relative;
bottom: -10px;
}
.mc-item {
width: 100%;
height: 250px;
}
.mc-pie {
width: 100%;
height: 300px;
}
@media (min-width: @screen-sm-min) {
.mc-info {
position: absolute;
bottom: 10px;
z-index: 1;
padding: 10px 20px 15px;
left: 10px;
background-color: rgba(0, 150, 136, 0.55);
color: #fff;
max-width: 270px;
span {
font-size: 33px;
}
small {
display: block;
margin-top: -3px;
margin-left: 3px;
line-height: 130%;
}
}
}
/* --------------------------------------------------------
Overview Small Charts
-----------------------------------------------------------*/
.o-item {
padding: 0 20px 15px 20px;
color: #fff;
margin-bottom: @grid-gutter-width;
box-shadow: @tile-shadow;
}
.oi-number {
font-size: 23px;
display: block;
margin-top: 6px;
margin-bottom: 3px;
line-height: 100%;
}
.oi-title {
text-transform: uppercase;
.text-overflow();
line-height: 100%;
padding: 10px 15px;
width: auto;
margin: 0 -21px 20px;
}
/* --------------------------------------------------------
Count Box
-----------------------------------------------------------*/
.count-box {
padding: 20px 23px 0;
[class*="col-"] {
padding-left: 8px;
padding-right: 8px;
}
}
.cb-item {
background: rgba(255,255,255,0.22);
padding: 10px 0;
text-align: center;
margin-bottom: 16px;
& > h3 {
margin: 0;
line-height: 100%;
color: #fff;
font-weight: normal;
}
& > small {
line-height: 100%;
margin-top: 1px;
display: block;
font-size: 11px;
color: #fff;
}
}
/* --------------------------------------------------------
Flot Charts
-----------------------------------------------------------*/
.flot-legend {
text-align: center;
margin: 10px 0 5px;
table {
display: inline-block;
}
.legendColorBox {
& > div {
border: #fff !important;
& > div {
border-radius: 50%;
}
}
}
.legendLabel {
padding: 0 8px 0 3px;
}
}
[class*="flc-"] {
text-align: center;
margin: 20px 0 5px;
table {
display: inline-block;
}
.legendColorBox {
& > div {
border: #fff !important;
& > div {
border-radius: 50%;
}
}
}
.legendLabel {
padding: 0 8px 0 3px;
}
}
/* --------------------------------------------------------
Easy Pie Charts
-----------------------------------------------------------*/
.pie-overviews {
margin-bottom: -15px;
}
.po-item {
display: inline-block;
position: relative;
margin: 0 5px 10px;
padding-bottom: 13px;
color: #fff;
}
.poi-percent {
position: absolute;
text-align: center;
width: 100%;
margin-top: 32px;
font-size: 27px;
text-shadow: none;
padding-left: 2px;
&:after {
content: '%';
font-size: 11px;
}
}
.poi-title {
position: absolute;
bottom: 0;
width: 100%;
text-align: center;
font-size: 12px;
i {
font-size: 15px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
.opacity(0.5);
&:hover {
.opacity(1);
cursor: pointer;
}
}
}
/* --------------------------------------------------------
Chart Tooltips
-----------------------------------------------------------*/
#jqstooltip,
.chart-tooltip {
min-width: 21px;
min-height: 23px;
text-align: center;
border: 0;
background: #333;
}
#jqstooltip .jqsfield,
.chart-tooltip {
font-size: 12px;
font-weight: 500;
font-family: inherit;
text-align: center;
color: #fff;
}
#jqstooltip .jqsfield {
& > span {
display: none;
}
}
.chart-tooltip {
position: absolute;
padding: 6px 10px 5px;
}

View File

@@ -0,0 +1,96 @@
.dropdown-menu {
z-index: 1000000000;
box-shadow: @dropdown-shadow;
margin-top: 1px;
border-width: 0;
.animated(fadeIn, 300ms);
> .disabled{
cursor: not-allowed;
// The real magic ;)
> a {
pointer-events: none;
color: @dropdown-link-disabled-color;
}
}
& > li > a {
padding: 8px 17px;
}
&.dm-icon {
& > li > a > .zmdi {
line-height: 100%;
vertical-align: top;
font-size: 18px;
width: 28px;
}
}
&:not([class*="bg-"]) {
& > li > a {
&:hover {
color: #000;
}
}
}
&[class*="bg-"] {
& > li > a {
font-weight: 300;
color: #fff;
}
}
}
.dropdown-header {
padding: 10px 15px 9px;
text-transform: uppercase;
font-weight: normal;
border-radius: 1px 1px 0 0;
line-height: 100%;
border-radius: 2px 2px 0 0;
&[class*="bg-"] {
color: #fff;
}
.actions {
top: 0;
right: 0;
& > li > a {
display: block;
padding: 6px 0 5px;
width: 33px;
text-align: center;
&:hover {
background: rgba(0,0,0,0.08);
}
}
}
}
.dropdown-menu {
>span {
>li {
>a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.428571429;
color: #333333;
white-space: nowrap;
&:hover, &:focus {
color: #ffffff;
text-decoration: none;
background-color: #428bca;
}
}
}
}
}

View File

@@ -0,0 +1,63 @@
.edit-in-place span {
white-space: pre-line;
p {
margin-bottom: 0;
}
}
.edit-in-place span.editable {
cursor: pointer;
}
.edit-in-place span.editable:hover {
background: @redash-yellow;
border-radius: @redash-radius;
}
.edit-in-place input,
.edit-in-place textarea {
display: none;
}
.edit-in-place.active span {
display: none;
}
.edit-in-place.active input,
.edit-in-place.active textarea {
display: inline-block;
}
.edit-in-place {
display: inline-block;
}
.edit-in-place {
.rd-form-control {
padding: 0px 6px;
width: 30vw;
}
&.active {
textarea.rd-form-control {
height: 29px;
width: 40vw;
}
}
}
@media (max-width: 880px) {
.edit-in-place {
.rd-form-control {
width: 50vw;
}
&.active {
textarea.rd-form-control {
width: 50vw;
}
}
}
}

View File

@@ -0,0 +1,38 @@
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-fill { flex: 1 1 auto !important; }
.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }
.align-content-start { align-content: flex-start !important; }
.align-content-end { align-content: flex-end !important; }
.align-content-center { align-content: center !important; }
.align-content-between { align-content: space-between !important; }
.align-content-around { align-content: space-around !important; }
.align-content-stretch { align-content: stretch !important; }
.align-self-auto { align-self: auto !important; }
.align-self-start { align-self: flex-start !important; }
.align-self-end { align-self: flex-end !important; }
.align-self-center { align-self: center !important; }
.align-self-baseline { align-self: baseline !important; }
.align-self-stretch { align-self: stretch !important; }

View File

@@ -0,0 +1,22 @@
///* --------------------------------------------------------
// Roboto Light - 300
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Light-webfont', 300, normal);
//
//
///* --------------------------------------------------------
// Roboto Regular - 400
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Regular-webfont', 400, normal);
//
//
///* --------------------------------------------------------
// Roboto Medium - 500
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Medium-webfont', 500, normal);
//
//
///* --------------------------------------------------------
// Roboto Bold - 700
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Bold-webfont', 700, normal);

View File

@@ -0,0 +1,48 @@
#footer {
position: absolute;
bottom: 0;
text-align: center;
width: 100%;
height: @footer-height;
color: #a2a2a2;
padding-top: 10px;
padding-bottom: 15px;
.f-menu {
display: block;
width: 100%;
.list-inline();
margin-top: 8px;
& > li > a {
color: #a2a2a2;
&:hover {
color: #777;
}
}
}
@media (min-width: (@screen-lg-min + 80px)) {
padding-left: (@sidebar-left-width + @grid-gutter-width);
}
@media (min-width: @screen-sm-min) and (max-width: (@screen-md-max + 80px)) {
padding-left: (@sidebar-left-mid-width + @grid-gutter-width);
}
@media (max-width: (@screen-sm-min)) {
padding-left: @grid-gutter-width/2;
}
}
.footer {
color: #818d9f;
padding-bottom: 30px;
a {
color: #818d9f;
margin-left: 20px;
}
}

View File

@@ -0,0 +1,310 @@
label {
font-weight: 500;
}
textarea.v-resizable {
resize: vertical;
}
.form-group {
&.required {
.control-label {
&:after {
content: " *";
color: inherit;
}
}
}
&.has-error {
.help-block {
&.error {
display: block;
}
}
}
.help-block {
&.error {
display: none;
}
}
}
/* light version of bootstrap's form-control */
.rd-form-control {
display: block;
padding: 6px 12px;
line-height: 1.428571429;
color: #555555;
vertical-align: middle;
background-color: #ffffff;
border: 1px solid #cccccc;
border-radius: 4px;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
width: 90%;
}
/* --------------------------------------------------------
Input Fields
-----------------------------------------------------------*/
.form-control {
.transition(all);
.transition-duration(300ms);
resize: none;
box-shadow: 0 0 0 40px rgba(0, 0, 0, 0) !important;
border-radius: 0;
&:focus {
box-shadow: 0 0 1px -2px rgba(121,194,255,0.5) !important;
}
}
/* --------------------------------------------------------
Custom Checkbox + Radio
-----------------------------------------------------------*/
.cra-validatation(@color) {
input[type="checkbox"], input[type="radio"] {
& + .input-helper {
border-color: @color;
}
&:checked + .input-helper:before {
background: @color;
}
}
}
.cr-alt {
position: relative;
padding-top: 0;
margin: 0;
label {
position: relative;
padding-left: 28px;
}
&.has-success {
.cra-validatation(@green);
}
&.has-warning {
.cra-validatation(@orange);
}
&.has-error {
.cra-validatation(@red);
}
input[type="checkbox"], input[type="radio"] {
.opacity(0);
width: 20px;
height: 20px;
position: absolute;
z-index: 10;
margin: 0;
top: 0;
left: 0;
cursor: pointer;
& + .input-helper {
border: 1px solid @input-border;
width: 19px;
height: 19px;
background: #fff;
position: absolute;
left: 0;
top: -1px;
cursor: pointer;
}
&:checked + .input-helper:before {
content: "";
width: 9px;
height: 9px;
background: #31ACFF;
position: absolute;
left: 4px;
top: 4px;
}
}
input[type="radio"] {
& + i {
border-radius: 50%;
}
&:checked + i:before {
border-radius: 50%;
}
}
&.disabled {
.opacity(0.7);
}
}
.checkbox-inline,
.radio-inline {
padding-left: 27px;
}
/* --------------------------------------------------------
Input Addon
-----------------------------------------------------------*/
.input-group {
.input-group-addon {
min-width: 40px;
color: #333;
padding: 0;
}
&:not([class*="input-group-"]) {
.input-group-addon {
font-size: 15px;
}
}
}
/* --------------------------------------------------------
Toggle Switch
-----------------------------------------------------------*/
.ts-color(@color){
input {
&:not(:disabled) {
&:checked {
& + .ts-helper {
background: fade(@color, 50%);
&:before {
background: @color;
}
&:active {
&:before {
box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px fade(@color, 20%);
}
}
}
}
}
}
}
.toggle-switch {
display: inline-block;
vertical-align: top;
.user-select(none);
.ts-label {
display: inline-block;
margin: 0 20px 0 0;
vertical-align: top;
-webkit-transition: color 0.56s cubic-bezier(0.4, 0, 0.2, 1);
transition: color 0.56s cubic-bezier(0.4, 0, 0.2, 1);
}
.ts-helper {
display: inline-block;
position: relative;
width: 40px;
height: 16px;
border-radius: 8px;
background: rgba(0,0,0,0.26);
-webkit-transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
vertical-align: middle;
cursor: pointer;
&:before {
content: '';
position: absolute;
top: -4px;
left: -4px;
width: 24px;
height: 24px;
background: #fafafa;
box-shadow: 0 2px 8px rgba(0,0,0,0.28);
border-radius: 50%;
webkit-transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
}
&:not(.disabled) {
.ts-helper {
&:active {
&:before {
box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1);
}
}
}
}
input {
position: absolute;
z-index: 1;
width: 46px;
margin: 0 0 0 -4px;
height: 24px;
.opacity(0);
cursor: pointer;
&:checked {
& + .ts-helper {
&:before {
left: 20px;
}
}
}
}
&:not([data-ts-color]){
.ts-color(@teal);
}
&.disabled {
.opacity(0.6);
}
&[data-ts-color="red"] {
.ts-color(@red);
}
&[data-ts-color="blue"] {
.ts-color(@blue);
}
&[data-ts-color="amber"] {
.ts-color(@amber);
}
&[data-ts-color="purple"] {
.ts-color(@purple);
}
&[data-ts-color="pink"] {
.ts-color(@pink);
}
&[data-ts-color="lime"] {
.ts-color(@lime);
}
&[data-ts-color="cyan"] {
.ts-color(@cyan);
}
&[data-ts-color="green"] {
.ts-color(@green);
}
}

View File

@@ -0,0 +1,154 @@
/* --------------------------------------------------------
Generate Margin Classes (0px - 25px)
margin, margin-top, margin-bottom, margin-left, margin-right
-----------------------------------------------------------*/
.margin (@label, @size: 1, @key:1) when (@size =< 30){
.m-@{key} {
margin: @size !important;
}
.m-t-@{key} {
margin-top: @size !important;
}
.m-b-@{key} {
margin-bottom: @size !important;
}
.m-l-@{key} {
margin-left: @size !important;
}
.m-r-@{key} {
margin-right: @size !important;
}
.margin(@label - 5; @size + 5; @key + 5);
}
.margin(25, 0px, 0);
.m-2{
margin:2px;
}
/* --------------------------------------------------------
Generate Padding Classes (0px - 25px)
padding, padding-top, padding-bottom, padding-left, padding-right
-----------------------------------------------------------*/
.padding (@label, @size: 1, @key:1) when (@size =< 30){
.p-@{key} {
padding: @size !important;
}
.p-t-@{key} {
padding-top: @size !important;
}
.p-b-@{key} {
padding-bottom: @size !important;
}
.p-l-@{key} {
padding-left: @size !important;
}
.p-r-@{key} {
padding-right: @size !important;
}
.padding(@label - 5; @size + 5; @key + 5);
}
.padding(25, 0px, 0);
/* --------------------------------------------------------
Generate Font-Size Classes (8px - 20px)
-----------------------------------------------------------*/
.font-size (@label, @size: 8, @key:10) when (@size =< 20){
.f-@{key} {
font-size: @size !important;
}
.font-size(@label - 1; @size + 1; @key + 1);
}
.font-size(20, 8px, 8);
/* --------------------------------------------------------
Font Weight
-----------------------------------------------------------*/
.f-300 { font-weight: 300 !important; }
.f-400 { font-weight: 400 !important; }
.f-500 { font-weight: 500 !important; }
.f-700 { font-weight: 700 !important; }
/* --------------------------------------------------------
Position
-----------------------------------------------------------*/
.p-relative { position: relative !important; }
.p-absolute { position: absolute !important; }
.p-fixed { position: fixed !important; }
.p-static { position: static !important; }
/* --------------------------------------------------------
Overflow
-----------------------------------------------------------*/
.o-hidden { overflow: hidden !important; }
.o-visible { overflow: visible !important; }
.o-auto { overflow: auto !important; }
/* --------------------------------------------------------
Display
-----------------------------------------------------------*/
.di-block { display: inline-block !important; }
.d-block { display: block; }
/* --------------------------------------------------------
Background Colors and Colors
-----------------------------------------------------------*/
@array: c-white bg-white @white, c-ace bg-ace @ace, c-black bg-black @black, c-brown bg-brown @brown, c-pink bg-pink @pink, c-red bg-red @red, c-blue bg-blue @blue, c-purple bg-purple @purple, c-deeppurple bg-deeppurple @deeppurple, c-lightblue bg-lightblue @lightblue, c-cyan bg-cyan @cyan, c-teal bg-teal @teal, c-green bg-green @green, c-lightgreen bg-lightgreen @lightgreen, c-lime bg-lime @lime, c-yellow bg-yellow @yellow, c-amber bg-amber @amber, c-orange bg-orange @orange, c-deeporange bg-deeporange @deeporange, c-gray bg-gray @gray, c-bluegray bg-bluegray @bluegray, c-indigo bg-indigo @indigo;
.for(@array); .-each(@value) {
@name: extract(@value, 1);
@name2: extract(@value, 2);
@color: extract(@value, 3);
&.@{name2} {
background-color: @color !important;
}
&.@{name} {
color: @color !important;
}
}
/* --------------------------------------------------------
Background Colors
-----------------------------------------------------------*/
.bg-brand { background-color: @brand-bg; }
.bg-black-trp { background-color: rgba(0,0,0,0.12) !important; }
/* --------------------------------------------------------
Borders
-----------------------------------------------------------*/
.b-0 { border: 0 !important; }
/* --------------------------------------------------------
Width
-----------------------------------------------------------*/
.w-100 { width: 100% !important; }
/* --------------------------------------------------------
Border Radius
-----------------------------------------------------------*/
.brd-2 { border-radius: 2px; }

View File

@@ -0,0 +1,28 @@
/* angular-growl */
.growl {
position: fixed;
bottom: 10px;
right: 10px;
float: right;
width: 250px;
z-index: 10000;
}
.growl-item.ng-enter,
.growl-item.ng-leave {
-webkit-transition: 0.5s linear all;
-moz-transition: 0.5s linear all;
-o-transition: 0.5s linear all;
transition: 0.5s linear all;
}
.growl-item.ng-enter,
.growl-item.ng-leave.ng-leave-active {
opacity: 0;
}
.growl-item.ng-leave,
.growl-item.ng-enter.ng-enter-active {
opacity: 1;
}

View File

@@ -0,0 +1,366 @@
#header {
width: 100%;
z-index: 10;
top: 0;
left: 0;
background-color: #fff;
height: @header-height;
&.affix {
box-shadow: 0 0 20px rgba(0, 0, 0, 0.23);
}
&:not(.affix) {
box-shadow: @tile-shadow;
position: fixed;
}
}
/* --------------------------------------------------------
Top Menu
-----------------------------------------------------------*/
.header-inner {
padding: 0;
margin: 0;
width: 100%;
list-style: none;
& > li {
&:not(.pull-right) {
float: left;
}
@media (max-width: @screen-sm-min) {
&:not(.top-search) {
position: static;
}
.dropdown-menu {
width: ~"calc(100% - 30px)";
margin-left: 15px;
}
}
& > a {
height: @header-height;
color: #333;
min-width: 45px;
display: block;
position: relative;
& > .zmdi {
font-size: 22px;
line-height: @header-height;
}
}
&:not(.logo) {
text-align: center;
}
&.open > a:not([class*="hi-"]):before {
content: "";
width: 40px;
height: 40px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -21px;
margin-left: -20px;
background: #eee;
border-radius: 50%;
z-index: -1;
}
}
.dropdown-menu {
margin-top: -5px;
}
.open {
& > .hi-messages { color: @green; }
& > .hi-notifications { color: @orange; }
& > .hi-projects { color: @green; }
& > .hi-events { color: @blue; }
.hi-count {
display: none;
}
}
}
.hi-count {
position: absolute;
font-style: normal;
background-color: @red;
padding: 0 4px;
font-size: 10px;
color: #fff;
line-height: 17px;
height: 17px;
top: 11px;
right: 6px;
border-radius: 50%;
width: 17px;
}
.hi-dropdown {
padding: 0;
@media (min-width: @screen-sm-min) {
width: 350px;
}
}
/* --------------------------------------------------------
Logo
-----------------------------------------------------------*/
.logo {
position: relative;
z-index: 2;
height: @logo-height;
@media (min-width: (@screen-lg-min + 80px)) {
width: @logo-width;
background-color: #000;
margin-right: 15px;
& > a {
padding: 15px 22px;
}
}
@media (max-width: (@screen-md-max + 80px)) {
width: @sidebar-left-mid-width;
& > a {
display: none !important;
}
}
@media (max-width: (@screen-sm-min)) {
padding: 12px;
}
}
/* --------------------------------------------------------
Sidebar Trigger for mobile
-----------------------------------------------------------*/
#menu-trigger {
font-size: 21px;
text-align: center;
color: #fff;
cursor: pointer;
display: none;
background: #000;
height: 100%;
&.toggled i:before {
content: '\f2ea';
}
@media (min-width: (@screen-sm-min + 1)) {
line-height: @header-height;
}
@media (max-width: (@screen-md-max + 80px)) {
display: block;
}
@media (max-width: (@screen-sm-min)) {
border-radius: 2px;
line-height: 39px;
}
}
/* --------------------------------------------------------
Top Search
-----------------------------------------------------------*/
.top-search {
position: relative;
background: #fff;
height: @header-height;
&:not(.toggled) {
width: 80px;
margin-left: 15px;
&:before {
font-family: @font-icon;
content: "\f1c3";
position: absolute;
left: 0;
top: 15px;
font-size: 22px;
z-index: 1;
color: #333;
}
.ts-reset {
display: none;
}
.ts-input {
cursor: pointer;
}
@media (max-width: (@screen-xs-min - 150px)) {
width: 20px;
}
}
.ts-input {
height: @header-height - 2px;
padding-left: 25px;
width: 100%;
border: 0;
position: relative;
background: transparent;
z-index: 1;
}
&.toggled {
position: absolute;
top: 0;
font-size: 20px;
font-weight: normal;
z-index: 1;
width: 100%;
left: 0;
@media (min-width: (@screen-lg-min + 80px)) {
padding-left: @sidebar-left-width;
}
@media (min-width: (@screen-sm-min + 1px)) and (max-width: (@screen-md-max + 80px)) {
padding-left: @sidebar-left-mid-width;
}
.ts-input {
background: #fff;
}
.ts-reset {
font-size: 11px;
color: #fff;
position: absolute;
top: 50%;
right: 15px;
z-index: 2;
width: 20px;
height: 20px;
background-color: #8E8E8E;
line-height: 20px;
text-align: center;
border-radius: 50%;
margin-top: -10px;
&:hover {
cursor: pointer;
background: #333;
}
}
}
}
/* --------------------------------------------------------
Events
-----------------------------------------------------------*/
.event-time {
width: 67px;
height: 50px;
text-align: center;
padding: 9px 0;
color: #fff;
border-radius: 2px;
margin-top: 2px;
& > h2 {
margin: 0;
line-height: 100%;
font-size: 17px;
margin-bottom: -1px;
color: #fff;
font-weight: normal;
}
}
/* --------------------------------------------------------
Apps
-----------------------------------------------------------*/
@media (min-width: @screen-sm-min) {
#launch-apps {
padding: 0;
text-align: center;
width: 300px;
}
.la-body {
padding: 20px 10px;
}
.lab-item {
width: 60px;
display: inline-block;
margin: 10px;
&:hover {
& > a {
.opacity(0.8);
}
& > small {
color: #333;
}
}
& > a {
height: 60px;
display: block;
color: #fff;
line-height: 70px;
border-radius: 50%;
.transition(opacity);
& > i {
font-size: 25px;
}
}
& > small {
color: #969696;
display: block;
margin-top: 5px;
.transition(color);
}
}
}
/* --------------------------------------------------------
Time
-----------------------------------------------------------*/
#time {
font-size: 18px;
font-weight: 400;
background-color: @sidebar;
color: #FBFBFB;
padding: 4px 11px;
border-radius: 2px;
margin: 14px;
span {
&:not(:last-child):after {
content: ":";
position: relative;
top: -1px;
right: -1px;
}
}
}

Some files were not shown because too many files have changed in this diff Show More