Compare commits

...

174 Commits

Author SHA1 Message Date
Sébastien Bourdeauducq 6fe4f124bc add link to Argent 2024-04-23 13:14:23 +08:00
Egor Savkin 3fd43e0de8 Increase padding in searchbar to avoid shadow
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-10 15:17:31 +08:00
Egor Savkin 4448029757 Update bundle and make example configuration correct
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 51c9031f24 Add text options validation
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin be50b2a3c3 Optimize bundle size, and drop its support for J2ME's Opera (layout doesn't support small screens anyway)
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin ee6da1b282 Update bundle
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 5e3a9af749 Fix notification remained visible when side menu is opened
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin d3fb46956e Fix notification overlay making "added" notification disappear on touchables
When notification doesn't fit viewport on touch-enabled devices, it makes the canvas extend to its boundaries, braking the fixed positioned elements placement

Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 6bfed3e779 Show at max only one options notification
Closes #124

Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin dfe1f0ea2d Rename backlog to catalog
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 839d7c6612 Fix search bar icon conflicting in webkit and make backlog scroll bar thin
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 1cb9c90c65 Fix bottom side gradient
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin eb196b086e Make fonts sizes more consistent and fiz minor paddings issues
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 56a44ce4a3 Do not show groups when there are search results
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin aa35348288 Apply styles to the search bar
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Egor Savkin 4bc6f6a3ee Prototype search bar for the backlog
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-04-09 14:56:05 +08:00
Sébastien Bourdeauducq 2ba10dd2e8 improve sales info 2024-03-08 09:31:30 +08:00
Egor Savkin df7607ffd8 Do not show copy button in not secured contexts and add product number to the backlog header
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-21 11:57:33 +08:00
Sébastien Bourdeauducq 4906ad1713 shop: price excludes shipping 2024-02-15 12:36:09 +08:00
Sébastien Bourdeauducq 41e20d205c shop: improve wording 2024-02-15 12:34:01 +08:00
Egor Savkin 67cef120b6 Move order options to the OrderForm, fix missing tooltip props, update tooltip contents
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin 759f7cffcc Add css classes to the radio component, add shipping summary and other content fixes
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin 0b5797b1ba Add more order options and enhance the look of them
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin bcc8db6819 Add order options
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin 15d9124025 Cache total price calculation
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin 4527189994 Add flexible crate options
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin bc81035555 Prototype crate and order options
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 12:17:19 +08:00
Egor Savkin cbe61efc1d Delete idc-mcx adapter
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-02-15 11:38:14 +08:00
Sébastien Bourdeauducq ad262c6657 avoid uncommon/incorrect 'TEC chip' terminology 2024-02-07 10:31:53 +08:00
Sébastien Bourdeauducq 3fb2a219de fix fan tray price and description 2024-01-26 15:47:30 +08:00
Egor Savkin ddd8b2d894 Add fan tray option to the crate
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-25 17:10:14 +08:00
Egor Savkin 3366f80ed7 Fix reminder background color
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-23 16:30:27 +08:00
Egor Savkin 9d5ed66985 Do not show reminders in summary
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-23 11:44:01 +08:00
Egor Savkin ca2eb29fbf Alignment fixes, remove price of spare cards, reworded the description phrase,
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-23 11:36:56 +08:00
Egor Savkin 7ceba1d461 Extend shop description to 80% and fix notification on mobiles when sidemenu is open
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-15 15:51:04 +08:00
Egor Savkin 4f702e9064 Remove delete crate from spare cards and add crate numbers to the summary
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-15 13:01:27 +08:00
Egor Savkin 6d6809af7f Show tooltip instead of badge by default
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-15 12:28:07 +08:00
Egor Savkin fcf0f49816 Fix form submit
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin d8bad3d7b4 Fix example for import
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin e87c4a16a8 Add copy to clipboard button in ShowJSON
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 83be26ecbb Change JSON structure from array to object, so that we can add more fields later
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
火焚 富良 963f342c89 Spare cards is always last
Also add warning if no cards were added
2024-01-09 10:14:53 +08:00
火焚 富良 a589c309cc Notification badge on unviewed options 2024-01-09 10:14:53 +08:00
Egor Savkin 0ed9f730b2 Add prototype of the notification, fixes and animation needed
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin c3e583d644 Revert legend
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 161666b09c Disable warnings and options for the spare cards crate mode
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 2673f81526 Disable warnings and resources for standalone->spare cards
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin a9e24c6202 Fix same options in different crates and drop to the backlog
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 14c365b20f Add legend to help users discover options
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin a03a151c42 Modals style fixes
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin c09d583fa6 Fix moving cards in carts, json importer, and further rerender fixes and optimizations
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 2bfc16e3c0 Split Summary so that it rerenders only partially
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin bf05594813 Set up preprocessor for conditional compilation
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 25c4ff970d Significantly reduce number of renders
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 0e60eb9bce Fix buttons colors
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 07e01bcc93 Crates UI fixes
TODO ex .rfqFeedback fixes

Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin c7314801ed Fix crate list expansion behavior
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 3b1d9fcb56 Minor fixes
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin ff7eac97dc Restored all the functionality, but needs UI fixes
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
火焚 富良 59f726e805 Start refactor of order form 2024-01-09 10:14:53 +08:00
火焚 富良 6b92bf9145 Make cards behavior working somewhat properly 2024-01-09 10:14:53 +08:00
Egor Savkin ec2c0a3b80 Somewhat minimal working example
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 9edf410e4d Start refactor to state manager zustand
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 9bdaca2ca9 Start adding the warnings
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 94f321ecf7 Minimal summary and crate mode
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin e6df70b96a Add add/delete functionality to crates
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 691e5bbd86 Minimal working multiple crates
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 63d83b5e10 Add other warnings for the cards
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin abb472f0ea Minimal working warnings and resources
TODO:
* Add all other warnings for cards
* Add crate level warnings
* Add reminders to the bottom of the crate
* Refactor crate mode selection (???)
* Add resource consumers, instead of a bunch of nbrOccupiedSLots

Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin 530be12334 Start refactoring warnings
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin e8b1d70356 Refactor resource subsystem (still needs integration)
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin da3f18d6d9 Slightly reduce dependencies
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Egor Savkin ecbbd6898d Split components into separate files
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-01-09 10:14:53 +08:00
Sébastien Bourdeauducq 2d6cb872f1 rfq: use password file 2024-01-08 17:53:04 +08:00
Sébastien Bourdeauducq 11d2e7c3d0 replace deprecated json.htmlsafe_dumps 2024-01-08 16:47:42 +08:00
Egor Savkin 49ef25b5c3 Demangle email addresses on the site
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-29 17:21:33 +08:00
Egor Savkin 9966593166 Add options for the cards (#93)
Closes #85
Closes #80
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-11-28 15:32:34 +08:00
Egor Savkin f8c19cf9b9 Update funding design
Wrap each funder into the horizontal card with logo and description, increase margins for platinum/gold/... headers

Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-20 14:32:50 +08:00
Egor Savkin cb99047571 Articles from Nature magazine
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-20 14:28:39 +08:00
Egor Savkin 83a04be40e Sort publications - put individual works to the bottom, add expandable view
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-20 14:28:39 +08:00
Egor Savkin e576704db3 Add publications by "artiq" keyword
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-20 14:28:39 +08:00
Egor Savkin a93f210c92 Update icons for BNC cards - Sampler, IDC and TTL
Make connectors same across cards and adjust labels to fit them

Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-17 12:05:17 +08:00
Egor Savkin a5b217c183 Fix hover logic on touchables
* fix cards removal
* fix cards progress bar overlay
* fix cards warning overlay

Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-11-07 14:59:20 +08:00
Egor Savkin bd33946b0e Use thin spaces between initials
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-26 10:28:41 +08:00
Egor Savkin b88e6bc485 Refactor publications section and layout them as cards
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-26 10:28:21 +08:00
Egor Savkin c34b1d9e4b Optimize preview with pngquant 256
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-17 14:04:54 +08:00
Egor Savkin 026c3c3108 Add photos for Thermostat EEM (@mwojcik)
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-17 14:04:54 +08:00
Egor Savkin 5d298b3325 Fix card at index 0 being not addable
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-11 12:15:12 +08:00
Egor Savkin fe26aa890d Update shuttler to have one mandatory EEM and clock source
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-11 11:38:00 +08:00
Sebastien Bourdeauducq 896946336b Shuttler precisions 2023-10-11 11:04:33 +08:00
Egor Savkin da74bb1d8d Add Shuttler to the shop (#98)
Closes #95

Reviewed-on: M-Labs/web2019#98
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-10-11 11:01:26 +08:00
Sebastien Bourdeauducq 320665c3bd cleanup 2023-10-10 17:53:25 +08:00
Sebastien Bourdeauducq a6faaecb8b clarify external PSU 2023-10-10 17:51:18 +08:00
Egor Savkin 393fc8e3c9 Add EEM power module to the shop
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-10-10 17:34:52 +08:00
Sebastien Bourdeauducq a7c4c079a4 add link to UCLA AMO 2023-09-11 21:02:44 +08:00
Egor Savkin 212a7743eb Update bundle file
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-22 16:34:12 +08:00
Egor Savkin 27c7db1df4 Allow duplicating cards in the backlog
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-22 16:18:22 +08:00
Egor Savkin 4dc15f5633 Fix `Show JSON` button functionality regression introduced with 0e9f822536
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-22 16:14:11 +08:00
Egor Savkin dee2a40151 Fix #72 - make side-panel button depend on screen size, same as the appearance
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin 52afd69445 Fix shop import json buttons spacing
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin 5d69e9cef5 Remove weird animations from backlog
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin 77e3ce05aa Fix unused css class
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin ad91b12879 Fix react-beautiful-dnd warning in development
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin 0e9f822536 Fix React warnings in development
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin 77b3836d90 A bit more forgotten pr/pl -> pe/ps
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:29:40 +08:00
Egor Savkin b3964ec2c9 shop: add Pounder (#87)
Closes #42

Reviewed-on: M-Labs/web2019#87
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-08-10 12:27:06 +08:00
Sebastien Bourdeauducq 23d404a7ce improved crate pricing 2023-08-09 10:00:50 +08:00
Sebastien Bourdeauducq 752d2fb177 bye bye kam hoi 2023-07-14 10:04:02 +08:00
Egor Savkin 053d31ddce Optimize webpack usage
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-12 13:16:44 +08:00
Egor Savkin ddd49b71af Fix solvespace 3d models display
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-12 12:46:39 +08:00
Egor Savkin 191d6a970b Fix overflown content in the cards in the resources page on tablets
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-11 17:43:48 +08:00
Egor Savkin 15f08a5b1a Replace removed negative margins with opposite positive ones
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-11 16:25:06 +08:00
Egor Savkin 61d580fda4 Bring back source map for bootstrap stylesheet
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-11 16:23:37 +08:00
Egor Savkin a377ef9ab3 Fix left/right -> start/end, and other styles issues and adjustments
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-11 13:50:32 +08:00
Egor Savkin 76dc20c798 Fix dropdown, accordion and modal
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-10 17:46:45 +08:00
Egor Savkin 85429b64f8 Add webpack
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-10 16:32:09 +08:00
Egor Savkin e5d754d2bc Just update dependencies, without any migration/bugfixing
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-10 14:55:19 +08:00
Egor Savkin 73e396a633 Fix incorrect min-height for the crate
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-07 16:30:52 +08:00
Egor Savkin 48eb492410 Fix incorrect vertical size of the shop body, which lead to additional scrolling panel
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-07-05 17:50:41 +08:00
Egor Savkin 4141e5b315 add 8453 Thermostat EEM to the shop and control loops (#71)
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-07-05 12:36:06 +08:00
Egor Savkin 07b747efd5 Update SMA-IDC, MCX-IDC and BNC-IDC adapters graphics (#66)
Closes #58
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-06-30 10:54:45 +08:00
Sebastien Bourdeauducq 829680aa1f shop: punctuation 2023-06-30 10:18:35 +08:00
Sebastien Bourdeauducq a18147c088 shop: fix naming 2023-06-30 10:17:41 +08:00
Egor Savkin 53a6d3f378 shop: group cards
Closes #30
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-06-30 10:10:15 +08:00
Egor Savkin d9ba17ad3a Add Almazny to the shop
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-06-16 16:29:41 +08:00
Sebastien Bourdeauducq 7dbbdc40a6 add thermostat price 2023-06-15 11:30:17 +08:00
Sebastien Bourdeauducq 52fabb5fad update jobs 2023-04-10 17:33:12 +08:00
Sebastien Bourdeauducq 5efa3543b7 add club mate page 2023-04-10 16:31:10 +08:00
Sebastien Bourdeauducq 19c4fa0d8c add Kasli-SoC links 2023-03-12 09:31:48 +08:00
Sebastien Bourdeauducq 6dec17d998 improve logo resolution 2023-03-07 14:27:00 +08:00
Sebastien Bourdeauducq 6337553556 update logo 2023-03-07 14:23:45 +08:00
Sebastien Bourdeauducq 43450f7801 remove obsolete file 2023-03-07 13:59:33 +08:00
Sebastien Bourdeauducq 10691b6bf0 shrink front page top banner 2023-03-07 13:58:32 +08:00
Sebastien Bourdeauducq b5b1126377 improve front page links 2023-03-07 13:53:01 +08:00
Sebastien Bourdeauducq ec23fb5828 add Duke publications 2023-03-07 13:47:23 +08:00
Sebastien Bourdeauducq 9dab6eaf9f add link to U Toronto examples 2023-03-07 10:47:02 +08:00
Sebastien Bourdeauducq 37afd22b34 remove or update broken links 2023-03-07 10:33:06 +08:00
Sebastien Bourdeauducq a222e01889 clarify address 2023-01-29 12:50:10 +08:00
Sebastien Bourdeauducq 16e165fd32 add new office view 2022-09-29 18:27:35 +08:00
Sebastien Bourdeauducq 11923be31d new office 2022-09-18 20:17:51 +08:00
Sebastien Bourdeauducq 62ede45936 grammar 2022-08-25 12:45:12 +08:00
Sebastien Bourdeauducq cb70b8757a remove minerva link 2022-05-08 15:28:35 +08:00
Sebastien Bourdeauducq a5d32e547d syntax 2022-03-02 12:27:11 +08:00
Sebastien Bourdeauducq dccbfc24aa add NY CREATES presentation 2022-03-02 12:26:54 +08:00
Sebastien Bourdeauducq a5b1459739 add IJET publication 2022-03-02 12:24:04 +08:00
occheung 9010bc7cb9 shop: fix link text placement 2022-01-20 11:59:00 +08:00
Sebastien Bourdeauducq 3c12a03a0e solvespace: fix broken link 2022-01-20 10:18:29 +08:00
Sebastien Bourdeauducq a1c94a5840 update solvespace page 2022-01-20 10:03:16 +08:00
Sebastien Bourdeauducq ab0605276c we don't touch yosys that much 2022-01-20 09:55:48 +08:00
occheung 1baa5c52e4 shop: use lighter color for links 2022-01-19 15:20:28 +08:00
occheung 9eed389c6e shop_data: add datasheet entries if available 2022-01-19 14:27:48 +08:00
occheung 62286e9ea8 shop: implement link to datasheet if available 2022-01-19 14:27:09 +08:00
occheung 1b47bdbfd9 docs: add datasheets
datasheets version: 73714d0028
2022-01-19 12:45:58 +08:00
occheung 400c0890ad sinara-core: icon & link 2022-01-18 17:21:47 +08:00
occheung a2217c1d5b css: add pdf icon class 2022-01-18 17:19:43 +08:00
Sebastien Bourdeauducq b9751f7f63 add alternative phone number 2021-11-25 10:50:00 +08:00
Sebastien Bourdeauducq 0f6257f7d3 koster -> grabber 2021-11-22 12:35:54 +08:00
Sebastien Bourdeauducq cdb85a5728 novo -> sampler 2021-11-22 12:34:40 +08:00
Sebastien Bourdeauducq b51ca62120 add DIQKD paper 2021-11-20 16:45:03 +08:00
Sebastien Bourdeauducq 6ca7864e80 update funding page 2021-11-09 10:48:42 +08:00
Sebastien Bourdeauducq 457ead6dae add Duke publication 2021-10-28 17:53:14 +08:00
Sebastien Bourdeauducq b7e3a15533 add Chinese address 2021-08-18 10:16:17 +08:00
Sebastien Bourdeauducq 662fd9b612 add helpdesk email 2021-08-11 12:30:22 +08:00
occheung 5a4f51504b add zotino temperature data image (#61)
This patch adds a graph which shows that the temperature of Zotino can be stabilized using the Thermostat.
Co-authored-by: occheung <dc@m-labs.hk>
Co-committed-by: occheung <dc@m-labs.hk>
2021-08-04 13:39:22 +08:00
occheung 8c6fcf0b0e add Kasli-SOC 2021-08-04 10:37:19 +08:00
Sebastien Bourdeauducq aeb890d3d0 mention Zotino temp stabilization 2021-07-30 18:09:32 +08:00
Sebastien Bourdeauducq 7f4306b78a remove Kasli-SoC warning 2021-07-30 17:50:07 +08:00
Sebastien Bourdeauducq a87771f163 add CERN poster 2021-07-23 11:24:05 +08:00
Sebastien Bourdeauducq 739e33870e about: mention Greg/WUT 2021-07-20 12:41:57 +08:00
Sebastien Bourdeauducq af05dd4a3b add Kasli thesis 2021-07-19 12:24:00 +08:00
Sebastien Bourdeauducq 967da477c1 Freenode -> OFTC 2021-07-05 22:18:22 +08:00
occheung 86d19e5d1f optimize images using pngnq 2021-06-03 15:15:34 +08:00
occheung c80e67129e move highlight_code config to markdown 2021-06-03 11:20:14 +08:00
occheung caaec8bf5a remove unnecessary images 2021-06-03 10:59:08 +08:00
206 changed files with 11542 additions and 14720 deletions

View File

@ -18,8 +18,10 @@ Start:
zola serve
```
To update the .min.js and .jsx file:
To build the .bundle.js from .jsx files:
```
nix-shell -p nodejs --run "npm run build"
nix-shell -p nodejs
npm install
npm run build
```

View File

@ -3,9 +3,11 @@ title = "M-Labs"
description = "Open tools for open physics."
compile_sass = true
highlight_code = true
insert_anchor_links = true
build_search_index = false
[markdown]
highlight_code = true
[extra]
author = "M-Labs"

View File

@ -0,0 +1,21 @@
+++
title = "Club Mate HK"
weight = 2
template = "page-custom-footer-design.html"
+++
As shops in Hong Kong stopped selling Club Mate, we are importing it ourselves from Germany and you can buy some from us. We usually stock several flavors (original, pomegranate, Ice-T, winter edition, cola).
Price is 550 HKD (or the equivalent in BTC) per crate of 20 bottles of 500mL each.
Selling drinks is not our main business and only a service we do to other Club Mate fans in Hong Kong, so the following terms of sale apply:
* Minimum purchase 1 crate, purchase by whole crates only.
* Mixing flavors within one crate may be OK, depending on stocks.
* Payment by cash, or bank transfer/FPS/BTC in advance, or credit card in advance with 3% transaction fee.
* All bank/BTC/credit card fees to be paid by the buyer.
* Pickup at our locations in Quarry Bay only. We do not arrange delivery. We do not pay or tip your driver.
* All sales are final. No returns, no refunds.
* In case of any dispute, the seller is always right.
Contact: [sb@m-labs.hk](mailto:sb@m-labs.hk)

View File

@ -16,7 +16,7 @@ In the summer of 2007, Sébastien Bourdeauducq, while a student at <a href="http
Components of the Milkymist SoC soon found many other uses, such as <a href="/images/jpl_letter.jpg" target="_blank" rel="noopener noreferrer">software-defined radio</a> on board the International Space Station. The community grew and activities diversified, with the development of a <a href="http://www.ohwr.org/projects/tdc-core/wiki" target="_blank" rel="noopener noreferrer">TDC core</a> for CERN (using a variant of the Milkymist SoC for integration), the <a href="/gateware/migen/">Migen</a> logic design system and its application to the Rhino software-defined radio platform, and the <a href="/other/mixxeo">Mixxeo</a> digital video mixer. In 2013, Milkymist was renamed to M-Labs to match the more varied activities, and formally incorporated as M-Labs Limited.
Since 2014, the company's main project is <a href="/experiment-control/artiq/">ARTIQ</a>, a leading-edge open source control system for quantum information experiments. In 2016, Robert Jördens joined the directorate of the company to further develop ARTIQ and other physics-related projects. Commercial hardware developed specifically for ARTIQ, codenamed Sinara, started appearing in 2017.
Since 2014, the company's main project is <a href="/experiment-control/artiq/">ARTIQ</a>, a leading-edge open source control system for quantum information experiments. In 2016, Robert Jördens joined the directorate of the company to further develop ARTIQ and other physics-related projects. Commercial hardware developed specifically for ARTIQ, codenamed Sinara, started appearing in 2017 thanks to a collaboration with Grzegorz Kasprowicz from the Warsaw Insitute of Technology.
Over 200 major quantum physics experiments have been relying on ARTIQ as their main control and data acquisition system.

View File

@ -4,14 +4,12 @@ weight = 1
template = "page-custom-footer-design.html"
+++
{% layout_centered_content() %}
##### We are looking for talented people to join our team.
{% end %}
{% layout_centered_content(min_width=true) %}
If you want to be at the intersection of physics and engineering, collaborate with world-class scientists, and have the freedom to work with cutting-edge open source technology such as embedded Rust, LLVM, and next-generation FPGA tools such as the nMigen language and Yosys - then consider a job at M-Labs.
We are always looking for talented people to join our team and help us deliver the systems that enable the experimental quantum research of tomorrow. If you are good at software, electronics or photonics, and physics makes you tick, then you should get in touch.
We post specific vacancies on job boards such as Indeed.com, but if you think you can contribute to our company (see our open source software and hardware repositories to get a good idea), then feel free to contact us anytime.
{% end %}
@ -43,7 +41,7 @@ If you want to be at the intersection of physics and engineering, collaborate wi
{% layout_centered_content(min_width=true) %}
<i>The laboratories at NIST and PTB, where some of the main ARTIQ installations are located</i>
<i>The laboratories at NIST (Boulder, CO, USA) and PTB (Braunschweig, Germany), where some of the main ARTIQ installations are located.</i>
{% end %}
@ -75,16 +73,15 @@ If you want to be at the intersection of physics and engineering, collaborate wi
{% layout_centered_content(min_width=true) %}
Our office is located in the center of Hong Kong, a cosmopolitan city with world-class infrastructure, many cultural and social events, and <a href="https://www.discoverhongkong.com/eng/see-do/great-outdoors/hikes/index.jsp" rel="noopener noreferrer" target="_blank">beautiful natural scenery</a>. It has a separate system from mainland China, where, for example, communications are unrestricted, taxes are low, and customs tariffs virtually inexistent. Hong Kong is located next to Shenzhen, a city with <a href="https://www.wired.co.uk/video/shenzhen-full-documentary" rel="noopener noreferrer" target="_blank">a bustling tech scene</a>, and where many of the world's electronic gadgets are designed and manufactured.
Our main office is located in the center of Hong Kong, a cosmopolitan city with world-class infrastructure, many cultural and social events, and <a href="https://www.discoverhongkong.com/eng/see-do/great-outdoors/hikes/index.jsp" rel="noopener noreferrer" target="_blank">beautiful natural scenery</a>. It has a separate system from mainland China, where, for example, communications are unrestricted, taxes are low, and customs tariffs virtually inexistent. Hong Kong is located next to Shenzhen, a city with <a href="https://www.wired.co.uk/video/shenzhen-full-documentary" rel="noopener noreferrer" target="_blank">a bustling tech scene</a>, and where many of the world's electronic gadgets are designed and manufactured.
For local applicants, now is your chance to work on top-notch science and technology projects with partners worldwide, including Oxford University and <a href="https://www.nist.gov/nist-and-nobel/dave-wineland" rel="noopener noreferrer" target="_blank">NIST</a> - in <a href="https://web.archive.org/web/20170114210545/https://www.nature.com/articles/s41570-016-0001" rel="noopener noreferrer" target="_blank">a field whose applications are responsible for 20% of GDP</a>. For international applicants, Hong Kong provides <a href="https://www.immd.gov.hk/eng/services/visas/GEP.html" rel="noopener noreferrer" target="_blank">fast</a>, <a href="https://www.immd.gov.hk/eng/services/fee-tables/index.html" rel="noopener noreferrer" target="_blank">low-cost</a>, and relatively hassle-free employment visa processing.<br />
We also have a location in Manila, Philippines.
We also accept remote positions, and you may also choose to work at our sister company QUARTIQ GmbH in Berlin-Adlershof, Germany.
Now is your chance to work on top-notch science and technology projects that get shipped to world-class laboratories at NASA, <a href="https://www.nist.gov/nist-and-nobel/dave-wineland" rel="noopener noreferrer" target="_blank">NIST</a>, Oxford University and many more - in <a href="https://web.archive.org/web/20170114210545/https://www.nature.com/articles/s41570-016-0001" rel="noopener noreferrer" target="_blank">a field whose applications are responsible for 20% of GDP</a>.<br />
{% end %}
{% layout_centered_content() %}
##### Contact us at
##### jobs@m-****.hk!
##### Contact us at [jobs@m-labs.hk](mailto:jobs@m-labs.hk) or [jobs@m-labs.ph](mailto:jobs@m-labs.ph)!
{% end %}

View File

@ -4,36 +4,32 @@ weight = 2
template = "page.html"
+++
<div class="row d-flex align-items-center mt-5 mb-5">
{% layout_text_img(src="images/map@2x.jpg", alt="", textleft=true, shadow=false) %}
##### Address
{% layout_div(css="col-12 col-md-6") %}
**M-Labs Limited**
G/F Kam Hoi Mansion, 31 Pan Hoi Street, Quarry Bay, Hong Kong
Unit 7, 21/F Kodak House II, 39 Healthy Street East, North Point, Hong Kong
This is part of the building complex numbered 15-53A on the street entrance.
**Tel:** +852 65873703
##### Public transport
**MTR:** Island Line, Quarry Bay, exit A
**Tramway:** Mount Parker Road
**Bus:** Sunway Gardens / Westlands Road / Pan Hoi Street
Those transportation options take you to King's Road, then see the directions below.
In Chinese: 北角健康東街39號 柯達大廈二座 21樓7號房 右邊2107
**Tel:** +852 65873703 or +852 51373772
{% end %}
{% layout_div(css="col-12 col-md-6") %}
<div class="row">
MTR: Island Line, Quarry Bay, exit C
{{ layout_flex_office_direction() }}
Tramway: Healthy Street East
</div>
Bus: Kodak House / North Point Government Office / North Point Fire Station / Healthy Village; King's Road
{% end %}
</div>
<img class="img-fluid" src="/images/kodakview2.jpg" height="250" alt="view">
<small>Photo: Mateusz Wójcik</small>

View File

@ -19,7 +19,7 @@ The Sinara 8452 DSP is a CPU-based dual-channel digital signal processing platfo
- connectors for optional analog front-end (AFE) module
- IDC connectors for BNC-IDC/SMA-IDC extension for digital IO and aux analog inputs and outputs
It can be used as a general-purpose PID controller. Several AFE extensions are under development including high current power supply for magnets.
It can be used as a general-purpose PID controller. Several AFE extensions are under development including high current power supply for magnets and 2-channel Pound Drever Hall (PDH) lock generator.
<a href="https://github.com/sinara-hw/stabilizer/wiki" target="_blank" rel="noopener noreferrer">More information</a>
@ -62,7 +62,7 @@ The <a href="https://github.com/quartiq/stabilizer" target="_blank" rel="noopene
<div class="col-12 col-md-4">
<p>
To purchase this controller, email sales@m-***s.hk. We also offer firmware customizations and development of new features. Note that features that are not implemented in the open source code above (e.g. control from Kasli) are not supported unless purchased separately.
To purchase this controller, email <a href="mailto:sales@m-labs.hk">sales@m-labs.hk</a>. We also offer firmware customizations and development of new features. Note that features that are not implemented in the open source code above (e.g. control from Kasli) are not supported unless purchased separately.
</p>
</div>
@ -74,6 +74,8 @@ The <a href="https://github.com/quartiq/stabilizer" target="_blank" rel="noopene
##### Sinara 8451 Thermostat
900.00 USD
The Sinara 8451 Thermostat is a precision 2-channel temperature controller based on the Maxim MAX1968 driver, capable of driving 6W into a TEC or resistive heater. The sensor interface is based on 24-bit AD7172 ADC.
Temperature stability better than 1mK can be achieved; typically the temperature drift is around 300µK peak-to-peak over 10 hours.
@ -94,7 +96,29 @@ Specifications:
{% layout_text_img(src="images/side-min.png", textleft=true, shadow=false) %}
{% layout_text_img(src="images/Thermostat_EEM@2x.png", popup="images/origin/thermostat_eem.jpg", alt="", textleft=true, shadow=false) %}
##### Sinara 8453 Thermostat EEM
The Sinara 8453 Thermostat is a precision 4-channel temperature controller based on the Maxim MAX1968/MAX1969 drivers, capable of driving 8/16W into a TEC or resistive heater. The sensor interface is based on 24-bit AD7172-2 ADC.
Specifications:
- Channel count: 4.
- Sensor: 10k NTC thermistor.
- Load (heater/TEC) drive: up to 8W (+-2A with 4V compliance) from MAX1968 drivers, up to 16W (+4A 4V) from MAX1969 drivers.
- Form factor: 3U module.
- Output connectors: sensor and load connect via HD44 DSUB connector.
- Programming interface: Ethernet accessible via RJ45 connector on the front panel, USB via the micro USB connector on the front panel.
- Power supply: +12V DC (4A max) supplied either by a front-panel barrel connector, via EEM - internal 100mils pin-header, or PoE (up to 30W).
- STM32 MCU
- <a href="https://github.com/quartiq/thermostat-eem" target="_blank" rel="noopener noreferrer">Firmware</a>
{% end %}
{% layout_text_img(src="images/side-min.png", shadow=false) %}
##### SU-Servo

View File

@ -6,6 +6,8 @@ template = "page.html"
[extra]
+++
{% layout_funding(position="center") %}
The free and open dissemination of methods and results is central to scientific progress.
The ARTIQ and Sinara authors, contributors, and supporters consider the free and open exchange of scientific tools to be equally important and have chosen the licensing terms of ARTIQ and Sinara accordingly. ARTIQ, including its gateware, the firmware, and the ARTIQ tools and libraries are licensed as LGPLv3+. The Sinara hardware designs are licensed under CERN OHL.
@ -13,64 +15,105 @@ This ensures that a user of ARTIQ or Sinara hardware designs obtains broad right
ARTIQ and the related components that we are developing ([Migen/MiSoC](/gateware/migen), [nMigen](/gateware/nmigen), [smoltcp](/software/smoltcp), [minimq](https://github.com/quartiq/minimq), [zynq-rs](https://git.m-labs.hk/m-labs/zynq-rs), [SiPyCo](https://github.com/m-labs/sipyco), [RayOpt](https://github.com/quartiq/rayopt), [WFVM](https://git.m-labs.hk/m-labs/wfvm), ...) need to be kept on a sound financial basis. We have been relying on a combination of [hardware sales](../place-order), sponsorships, and grants.
##### Sponsors
{% end %}
We acknowledge support from our partners below. Please get in touch (sales@m-\*\*\*.hk) if you also want to move ARTIQ forward!
{% layout_funding(position="center", title="Sponsors") %}
###### Platinum level
We acknowledge support from our partners below. Please get in touch ([sales@m-labs.hk](mailto:sales@m-labs.hk)) if you also want to move ARTIQ forward!
[![log nist](/images/logo_nist.png)](https://www.nist.gov/pml/time-and-frequency-division/ion-storage)
{% end %}
#### Platinum level
{% layout_funding(logo="/images/logo_nist.png", logo_link="https://www.nist.gov/pml/time-and-frequency-division/ion-storage", logo_alt="logo nist", title="NIST", position="left", icon="/images/icons/diamond.svg") %}
ARTIQ was initiated by the [Ion Storage Group](https://www.nist.gov/pml/time-and-frequency-division/ion-storage) at NIST, who provided valuable technical insight as well as financial support to develop the first version of the ARTIQ software and gateware targeting the KC705 development kit. This included some FPGA SoC libraries such as a SDRAM controller and PHYs, the first two iterations of the ARTIQ runtime including the development of [smoltcp](/software/smoltcp), the RTIO infrastructure and PHYs, the ARTIQ-Python LLVM-based compiler, RTIO DMA, the ARTIQ dashboard and browser, the ARTIQ master, and several controllers. They also supported the more recent ARTIQ port to Zynq, targeting the ZC706 development kit, and enabling ARTIQ-Python kernels to take advantage of the 1GHz CPU in the core device; as well as matrix and trigonometric function support in ARTIQ-Python kernels.
<small>*Disclaimer: NIST and the United States government are not providing an endorsement of ARTIQ.*</small>
[![logo oxford](/images/logo_oxford.png)](https://www2.physics.ox.ac.uk/research/ion-trap-quantum-computing-group)
{% end %}
{% layout_funding(logo="/images/logo_oxford.png", logo_link="https://www2.physics.ox.ac.uk/research/ion-trap-quantum-computing-group", logo_alt="logo oxford", title="Oxford", icon="/images/icons/diamond.svg", position="right") %}
The [University of Oxford](https://www2.physics.ox.ac.uk/research/ion-trap-quantum-computing-group) funded major improvements to the RTIO infrastructure: the Distributed RTIO (DRTIO) system that allows clock synchronization and RTIO command transfer between FPGAs using cost-effective high-speed serial links (e.g. over fiber optics), and changes to the RTIO architecture to improve scalability. They also funded the Sinara Sampler hardware and software, the [SU-Servo](https://m-labs.hk/artiq/manual-beta/core_drivers_reference.html?highlight=suservo#artiq.coredevice.suservo.SUServo) integrated laser intensity servo, parts of Urukul and Zotino, firmware development on the Sinara Thermostat, the Kasli v2.0 ARTIQ support, the Fastino ARTIQ support, parts of the Sinara Phaser gateware and software development, and significant parts of the Booster RF amplifier.
[![logo wut](/images/logo_wut.png)](http://www.ise.pw.edu.pl)
{% end %}
{% layout_funding(logo="/images/logo_wut.png", logo_link="http://www.ise.pw.edu.pl", logo_alt="logo wut", title="Warsaw University of Technology", icon="/images/icons/diamond.svg", position="left") %}
[Warsaw University of Technology](http://www.ise.pw.edu.pl) contributed most of the hardware designs and prototypes for the Sinara ecosystem.
###### Gold level
{% end %}
[![logo oregon](/images/logo_oregon.png)](https://ions.uoregon.edu/)
#### Gold level
{% layout_funding(logo="/images/logo_oregon.png", logo_link="https://ions.uoregon.edu/", logo_alt="logo oregon", title="University of Oregon", icon="/images/icons/gold-badge.svg", position="right") %}
The [University of Oregon](https://ions.uoregon.edu/) funded a large part of the Sinara Phaser gateware and software development, as well as firmware for the Pounder PDH/phase lock signal generator for Stabilizer.
[![logo arl](/images/logo_arl_devcom.png)](http://brittonlab.umd.edu/)
{% end %}
{% layout_funding(logo="/images/duke_brown.svg", logo_link="https://brownlab.pratt.duke.edu/", logo_alt="logo duke brown", title="Brown Lab at Duke University", icon="/images/icons/gold-badge.svg", position="left") %}
The [Brown Lab at Duke University](https://brownlab.pratt.duke.edu/) funded the migration of ARTIQ softcore platforms to the RISC-V architecture, memory protection support, and floating point unit support.
{% end %}
{% layout_funding(logo="/images/logo_arl_devcom.png", logo_link="http://brittonlab.umd.edu/", logo_alt="logo arl", title="Army Research Lab", icon="/images/icons/gold-badge.svg", position="right") %}
The [Army Research Lab](http://brittonlab.umd.edu/) funded the SAWG high-throughput digital waveform generator, as well as ARTIQ support for the Sayma and Metlino boards.
{% end %}
###### Silver level
#### Silver level
[![logo quest](/images/logo_luh.png)](https://www.quest-lfs.uni-hannover.de/)
{% layout_funding(logo="/images/logo_luh.png", logo_link="https://www.quest-lfs.uni-hannover.de/", logo_alt="logo hannover", title="QUEST/Uni Hannover", icon="/images/icons/silver-badge.svg", position="left") %}
[QUEST/Uni Hannover](https://www.quest-lfs.uni-hannover.de/) funded gateware and software support for the Grabber EEM, partial Mirny support, part of the Fastino development, and part of Urukul synchronization support.
[![logo ptb](/images/logo_ptb.png)](http://ptb.de)
{% end %}
{% layout_funding(logo="/images/logo_ptb.png", logo_link="http://ptb.de", logo_alt="logo ptb", title="PTB", icon="/images/icons/silver-badge.svg", position="right") %}
PTB funded the development of lock-in amplifier support for the Sinara Stabilizer, as well as part of Urukul synchronization support.
[![logo uwisc](/images/logo_uwisc.png)](http://hexagon.physics.wisc.edu/)
{% end %}
{% layout_funding(logo="/images/logo_uwisc.png", logo_link="http://hexagon.physics.wisc.edu/", logo_alt="logo uwisc", title="University of Wisconsin-Madison", icon="/images/icons/silver-badge.svg", position="left") %}
The [University of Wisconsin-Madison](http://hexagon.physics.wisc.edu/) funded the development of Urukul RAM mode support.
{% end %}
{% layout_funding(title="MIT", icon="/images/icons/silver-badge.svg", position="right") %}
[MIT](http://web.mit.edu/~cua/www/quanta/) funded parts of the Sinara Phaser gateware and software development.
[![logo hu](/images/logo_hu.png)](https://www.physik.hu-berlin.de/en/qom/people/qom-group/markus/view)
{% end %}
{% layout_funding(logo="/images/logo_hu.png", logo_link="https://www.physik.hu-berlin.de/en/qom/people/qom-group/markus/view", logo_alt="logo hu", title="Humboldt University of Berlin", icon="/images/icons/silver-badge.svg", position="left") %}
[Humboldt University of Berlin](https://www.physik.hu-berlin.de/en/qom/people/qom-group/markus/view) funded [prototype digital spectroscopy modulation/demodulation firmware](https://github.com/quartiq/queenmod), which is part of the "Optical quantum technologies on nanosatellites" (QUEEN) project.
##### Grants
{% end %}
{% layout_funding(position="center", title="Grants") %}
Parts of ARTIQ and Sinara have been developed through the participation of our sister company QUARTIQ GmbH in European research grant programmes.
[![logo opticlock](/images/logo_opticlock.png)](https://www.opticlock.de/)
{% end %}
{% layout_funding(logo="/images/logo_opticlock.png", logo_link="https://www.opticlock.de/", logo_alt="logo opticlock", title="Opticlock", icon="/images/icons/grant.svg", position="left") %}
The BMBF project [Opticlock](https://www.opticlock.de/) developed an optical clock as a replacement for a hydrogen maser, based on a single ytterbium ion captured and laser-cooled in an ion trap. It helped fund the development of the Kasli, Urukul, Zotino and Sampler modules.
![logo aiartiq](/images/logo_aiartiq.png)
{% end %}
{% layout_funding(logo="/images/logo_aiartiq.png", logo_link="https://www.opticlock.de/", logo_alt="logo aiartiq", title="AI-ARTIQ", icon="/images/icons/grant.svg", position="right") %}
AI-ARTIQ develops a control platform for laser sources and atom interferometer-based quantum sensors.
{% end %}

View File

@ -1,79 +1,15 @@
+++
title = "Publications"
weight = 4
template = "page.html"
template = "publications.html"
[extra]
data = "content/experiment-control/publications.yaml"
+++
##### This page lists publications about experiments performed using ARTIQ, or which otherwise cite ARTIQ.
- **Fast quantum logic gates with trapped-ion qubits**<br />
V. M. Schäfer, C. J. Ballance, K. Thirumalai, L. J. Stephenson, T. G. Ballance, A. M. Steane & D. M. Lucas<br />
[Nature volume 555, pages75-78(2018)](https://www.nature.com/articles/nature25737) | [arXiv](https://arxiv.org/pdf/1709.06952.pdf)
- **Programming languages and compiler design for realistic quantum hardware**<br />
Frederic T. Chong, Diana Franklin & Margaret Martonosi<br />
[Nature volume 549, pages180-187(2017)](https://www.nature.com/articles/nature23459)
- **High-rate, high-fidelity entanglement of qubits across an elementary quantum network**<br />
L.J. Stephenson, D.P. Nadlinger, B.C. Nichol, S. An, P. Drmota, T.G. Ballance, K. Thirumalai, J.F. Goodwin, D.M. Lucas & C.J. Ballance<br />
[Phys. Rev. Lett. 124, 110501](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.124.110501) | [arXiv](https://arxiv.org/abs/1911.10841)
- **Fault-Tolerant Operation of a Quantum Error-Correction Code**<br />
Laird Egan, Dripto M. Debroy, Crystal Noel, Andrew Risinger, Daiwei Zhu, Debopriyo Biswas, Michael Newman, Muyuan Li, Kenneth R. Brown, Marko Cetina & Christopher Monroe<br />
[arXiv](https://arxiv.org/abs/2009.11482)
- **Probing Qubit Memory Errors at the Part-per-Million Level**<br />
M.A. Sepiol, A.C. Hughes, J.E. Tarlton, D.P. Nadlinger, T.G. Ballance, C.J. Ballance, T.P. Harty, A.M. Steane, J.F. Goodwin & D.M. Lucas<br />
[Phys. Rev. Lett. 123, 110503](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.123.110503) | [arXiv](https://arxiv.org/abs/1905.06878)
- **Quantum amplification of mechanical oscillator motion**<br />
S. C. Burd, R. Srinivas, J. J. Bollinger, A. C. Wilson, D. J. Wineland, D. Leibfried, D. H. Slichter & D. T. C. Allcock<br />
[Science, Vol 364, Issue 6446, 21 June 2019](https://science.sciencemag.org/content/364/6446/1163)
- **State Readout of a Trapped Ion Qubit Using a Trap-Integrated Superconducting Photon Detector**<br />
S. L. Todaro, V. B. Verma, K. C. McCormick, D. T. C. Allcock, R. P. Mirin, D. J. Wineland, S. W. Nam, A. C. Wilson, D. Leibfried & D. H. Slichter<br />
[arXiv](https://arxiv.org/abs/2008.00065)
- **Trapped-Ion Spin-Motion Coupling with Microwaves and a Near-Motional Oscillating Magnetic Field Gradient**<br />
R. Srinivas, S.C. Burd, R.T. Sutherland, A.C. Wilson, D.J. Wineland, D. Leibfried, D.T.C. Allcock & D.H. Slichter<br />
[Phys. Rev. Lett. 122, 163201](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.122.163201) | [arXiv](https://arxiv.org/abs/1812.02098.pdf)
- **Speed, retention loss, and motional heating of atoms in an optical conveyor belt**<br />
G. T. Hickman & M. Saffman<br />
[Phys. Rev. A 101, 063411](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.101.063411) | [arXiv](https://arxiv.org/abs/2004.04848)
- **A hybrid ion-atom trap with integrated high resolution mass spectrometer**<br />
S. Jyothi, Kisra N. Egodapitiya, Brad Bondurant, Zhubing Jia, Eric Pretzsch, Piero Chiappina, Gang Shu & Kenneth R. Brown<br />
[Review of Scientific Instruments 90, 103201 (2019)](https://aip.scitation.org/doi/abs/10.1063/1.5121431) | [arXiv](https://arxiv.org/abs/1907.10455)
- **Photon-mediated charge-exchange reactions between <sup>39</sup>K atoms and <sup>40</sup>Ca<sup>+</sup> ions in a hybrid trap**<br />
Hui Li, S. Jyothi, Ming Li, Jacek Klos, Alexander Petrov, Kenneth R Brown & Svetlana Kotochigova<br />
[Phys. Chem. Chem. Phys., 2020,22, 10870-10881](https://pubs.rsc.org/en/content/articlelanding/2020/cp/d0cp01131b) | [arXiv](https://arxiv.org/abs/2003.03430)
- **Spin Readout Techniques of the Nitrogen-Vacancy Center in Diamond**<br />
David A. Hopper, Henry J. Shulevitz, & Lee C. Bassett<br />
[Micromachines 2018, 9(9), 437](https://www.mdpi.com/2072-666X/9/9/437) | [arXiv](https://arxiv.org/abs/1809.05237)
- **High-accuracy inertial measurements with cold-atom sensors**<br />
Remi Geiger, Arnaud Landragin, Sébastien Merlet & Franck Pereira Dos Santos<br />
[AVS Quantum Sci. 2, 024702 (2020)](https://avs.scitation.org/doi/10.1116/5.0009093) | [arXiv](https://arxiv.org/abs/2003.12516)
- **Dynamical low-noise microwave source for cold atom experiments**<br />
Bernd Meyer, Alexander Idel, Fabian Anders, Jan Peise & Carsten Klempt<br />
[arXiv](https://arxiv.org/abs/2003.10989)
- **Ion-trapping lab setup for quantum information experiments**<br />
Alexander Quinn, Jeremy Metzner, Daniel Moore, Vikram Sandhu, Dave Wineland, David Allcock<br />
[DAMOP20 poster](https://meetings.aps.org/Meeting/DAMOP20/Session/K01.113)
- **Short Time Fourier Transform Pulse Generator for Trapped Ion Quantum Gates**<br />
Norman Krackow<br />
[local copy](/thesis_nkrackow.pdf)
- **Precise PID controller for quantum applications**<br />
Jakub Matyas<br />
[Warsaw University of Technology, Engineer's thesis](https://repo.pw.edu.pl/info/bachelor/WUTe90de3461b53456c9d63c55d80d34220/) | [local copy](/JMatyas_inz_v6.pdf)
- **Driver module for quantum computer experiments: Kasli**<br />
Paweł Kulik, Grzegorz Kasprowicz and Michał Gąska<br />
[Proceedings Volume 10808, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2018](https://doi.org/10.1117/12.2501709) | [slides](https://raw.githubusercontent.com/wiki/sinara-hw/meta/talks/pawel_kasli_mgr2.pdf)
- **Sayma: Agile RF for Coherent Quantum Control Using ARTIQ**<br />
Joseph W. Britton, David T. C. Allcock, Chris Ballance, Tom P. Harty, Robert Jordens, Greg Kasprowicz, Pawel Kulik, Daniel H. Slichter, Weida Zhang, Sebastien Bourdeauducq<br />
APS Division of Atomic and Molecular Physics Meeting 2019, abstract id.E01.164
- **Programowalny sterownik siłownika piezoelektrycznego**<br />
Adam Kołodyński<br />
Warsaw University of Technology, Engineer's thesis | [local copy](/AdamKolodynski.pdf)
- **Microwave synthesizer for driving ion traps in quantum computing**<br />
Krzysztof Belewicz<br />
Warsaw University of Technology, Bachelor's dipoma thesis | [local copy](/Krzysztof_Belewicz_V1.1.pdf)
- **Wielokanałowy moduł sterujący pułapką jonową w standardzie MicroTCA.4**<br />
Tomasz Przywózki<br />
Warsaw University of Technology, Master's thesis | [local copy](/TomaszPrzywozki_v3.pdf)
To have your publication listed here, write to sb@m-l\*\*\*.hk.

View File

@ -0,0 +1,410 @@
- title: "Fast quantum logic gates with trapped-ion qubits"
authors: "V.M. Schäfer, C.J. Ballance, K. Thirumalai, L.J. Stephenson, T.G. Ballance, A.M. Steane & D.M. Lucas"
links:
- name: "Nature volume 555, pages75-78(2018)"
path: "https://www.nature.com/articles/nature25737"
- name: "arXiv"
path: "https://arxiv.org/pdf/1709.06952.pdf"
- title: "Experimental quantum key distribution certified by Bell's theorem"
authors: "D.P. Nadlinger, P. Drmota, B.C. Nichol, G. Araneda, D. Main, R. Srinivas, D.M. Lucas, C.J. Ballance, K. Ivanov, E. Y-Z. Tan, P. Sekatski, R.L. Urbanke, R. Renner, N. Sangouard, J-D. Bancal"
links:
- name: "Nature 607, 682686 (2022)"
path: "https://www.nature.com/articles/s41586-022-04941-5"
- name: "arXiv"
path: "https://arxiv.org/abs/2109.14600"
- title: "Programming languages and compiler design for realistic quantum hardware"
authors: "Frederic T. Chong, Diana Franklin & Margaret Martonosi"
links:
- name: "Nature volume 549, pages180-187(2017)"
path: "https://www.nature.com/articles/nature23459"
- title: "High-rate, high-fidelity entanglement of qubits across an elementary quantum network"
authors: "L.J. Stephenson, D.P. Nadlinger, B.C. Nichol, S. An, P. Drmota, T.G. Ballance, K. Thirumalai, J.F. Goodwin, D.M. Lucas & C.J. Ballance"
links:
- name: "Phys. Rev. Lett. 124, 110501"
path: "https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.124.110501"
- name: "arXiv"
path: "https://arxiv.org/abs/1911.10841"
- title: "Device-Independent Quantum Key Distribution"
authors: "D.P. Nadlinger, P. Drmota, B.C. Nichol, G. Araneda, D. Main, R. Srinivas, D.M. Lucas, C.J. Ballance, K. Ivanov, E.Y-Z. Tan, P. Sekatski, R.L. Urbanke, R. Renner, N. Sangouard & J-D. Bancal"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2109.14600"
- title: "Universal Graph-Based Scheduling for Quantum Systems"
authors: "L. Riesebos, B. Bondurant, & Kenneth R. Brown"
links:
- name: "IEEE Micro, Volume: 41, Issue: 5, Sept.-Oct. 1 2021"
path: "https://doi.org/10.1109/MM.2021.3094968"
- title: "Functional simulation of real-time quantum control software"
authors: "Leon Riesebos & Kenneth R. Brown"
links:
- name: "QCE2022 (Best Paper Award)"
path: "https://doi.org/10.1109/QCE53715.2022.00076"
- name: "arXiv"
path: "https://arxiv.org/abs/2210.14364"
- title: "Modular software for real-time quantum control systems"
authors: "Leon Riesebos, Brad Bondurant, Jacob Whitlow, Junki Kim, Mark Kuzyk, Tianyi Chen, Samuel Phiri, Ye Wang, Chao Fang, Andrew Van Horn, Jungsang Kim & Kenneth R. Brown"
links:
- name: "QCE2022"
path: "https://doi.org/10.1109/QCE53715.2022.00077"
- name: "arXiv"
path: "https://arxiv.org/abs/2210.14341"
- title: "Fault-Tolerant Operation of a Quantum Error-Correction Code"
authors: "Laird Egan, Dripto M. Debroy, Crystal Noel, Andrew Risinger, Daiwei Zhu, Debopriyo Biswas, Michael Newman, Muyuan Li, Kenneth R. Brown, Marko Cetina & Christopher Monroe"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2009.11482"
- name: "Nature 598, 281286 (2021)"
path: "https://www.nature.com/articles/s41586-021-03928-y"
- title: "Probing Qubit Memory Errors at the Part-per-Million Level"
authors: "M.A. Sepiol, A.C. Hughes, J.E. Tarlton, D.P. Nadlinger, T.G. Ballance, C.J. Ballance, T.P. Harty, A.M. Steane, J.F. Goodwin & D.M. Lucas"
links:
- name: "Phys. Rev. Lett. 123, 110503"
path: "https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.123.110503"
- name: "arXiv"
path: "https://arxiv.org/abs/1905.06878"
- title: "Quantum amplification of mechanical oscillator motion"
authors: "S.C. Burd, R. Srinivas, J.J. Bollinger, A.C. Wilson, D.J. Wineland, D. Leibfried, D.H. Slichter & D.T.C. Allcock"
links:
- name: "Science, Vol 364, Issue 6446, 21 June 2019"
path: "https://science.sciencemag.org/content/364/6446/1163"
- title: "Quantum amplification of boson-mediated interactions"
authors: "S.C. Burd, R. Srinivas, H.M. Knaack, W. Ge, A.C. Wilson, D.J. Wineland, D. Leibfried, J.J. Bollinger, D.T.C. Allcock, D.H. Slichter"
links:
- name: "Nat. Phys. 17, 898902 (2021)"
path: "https://www.nature.com/articles/s41567-021-01237-9"
- name: "arXiv"
path: "https://arxiv.org/abs/2009.14342"
- title: "State Readout of a Trapped Ion Qubit Using a Trap-Integrated Superconducting Photon Detector"
authors: "S.L. Todaro, V.B. Verma, K.C. McCormick, D.T.C. Allcock, R.P. Mirin, D.J. Wineland, S.W. Nam, A.C. Wilson, D. Leibfried & D.H. Slichter"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2008.00065"
- title: "Trapped-Ion Spin-Motion Coupling with Microwaves and a Near-Motional Oscillating Magnetic Field Gradient"
authors: "R. Srinivas, S.C. Burd, R.T. Sutherland, A.C. Wilson, D.J. Wineland, D. Leibfried, D.T.C. Allcock & D.H. Slichter"
links:
- name: "Phys. Rev. Lett. 122, 163201"
path: "https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.122.163201"
- name: "arXiv"
path: "https://arxiv.org/abs/1812.02098.pdf"
- title: "Speed, retention loss, and motional heating of atoms in an optical conveyor belt"
authors: "G.T. Hickman & M. Saffman"
links:
- name: "Phys. Rev. A 101, 063411"
path: "https://journals.aps.org/pra/abstract/10.1103/PhysRevA.101.063411"
- name: "arXiv"
path: "https://arxiv.org/abs/2004.04848"
- title: "A hybrid ion-atom trap with integrated high resolution mass spectrometer"
authors: "S. Jyothi, Kisra N. Egodapitiya, Brad Bondurant, Zhubing Jia, Eric Pretzsch, Piero Chiappina, Gang Shu & Kenneth R. Brown"
links:
- name: "Review of Scientific Instruments 90, 103201 (2019)"
path: "https://aip.scitation.org/doi/abs/10.1063/1.5121431"
- name: "arXiv"
path: "https://arxiv.org/abs/1907.10455"
- title: "Photon-mediated charge-exchange reactions between <sup>39</sup>K atoms and <sup>40</sup>Ca<sup>+</sup> ions in a hybrid trap"
authors: "Hui Li, S. Jyothi, Ming Li, Jacek Klos, Alexander Petrov, Kenneth R Brown & Svetlana Kotochigova"
links:
- name: "Phys. Chem. Chem. Phys., 2020,22, 10870-10881"
path: "https://pubs.rsc.org/en/content/articlelanding/2020/cp/d0cp01131b"
- name: "arXiv"
path: "https://arxiv.org/abs/2003.03430"
- title: "Spin Readout Techniques of the Nitrogen-Vacancy Center in Diamond"
authors: "David A. Hopper, Henry J. Shulevitz, & Lee C. Bassett"
links:
- name: "Micromachines 2018, 9(9), 437"
path: "https://www.mdpi.com/2072-666X/9/9/437"
- name: "arXiv"
path: "https://arxiv.org/abs/1809.05237"
- title: "High-accuracy inertial measurements with cold-atom sensors"
authors: "Remi Geiger, Arnaud Landragin, Sébastien Merlet & Franck Pereira Dos Santos"
links:
- name: "AVS Quantum Sci. 2, 024702 (2020)"
path: "https://avs.scitation.org/doi/10.1116/5.0009093"
- name: "arXiv"
path: "https://arxiv.org/abs/2003.12516"
- title: "Dynamical low-noise microwave source for cold atom experiments"
authors: "Bernd Meyer, Alexander Idel, Fabian Anders, Jan Peise & Carsten Klempt"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2003.10989"
- title: "Ion-trapping lab setup for quantum information experiments"
authors: "Alexander Quinn, Jeremy Metzner, Daniel Moore, Vikram Sandhu, Dave Wineland, David Allcock"
links:
- name: "DAMOP20 poster"
path: "https://meetings.aps.org/Meeting/DAMOP20/Session/K01.113"
- title: "Driver module for quantum computer experiments: Kasli"
authors: "Paweł Kulik, Grzegorz Kasprowicz and Michał Gąska"
links:
- name: "Proceedings Volume 10808, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2018"
path: "https://doi.org/10.1117/12.2501709"
- name: "slides"
path: "https://raw.githubusercontent.com/wiki/sinara-hw/meta/talks/pawel_kasli_mgr2.pdf"
- title: "Urukul open-source frequency synthesizer module for quantum physics"
authors: "Grzegorz Kasprowicz, Thomas Harty, Sébastien Bourdeauducq, Robert Jördens, David Allcock, David Nadlinger, Joseph Britton, Ana Sotirova, Dorota Nowicka"
links:
- name: "International Journal of Electronics and Telecommunications, Vol 68, No 1 (2022)"
path: "http://ijet.pl/index.php/ijet/issue/view/58"
- title: "Control system for ion Penning traps at the AEgIS experiment at CERN"
authors: "Dorota Nowicka"
links:
- name: "TIPP 2021 Poster"
path: "https://indico.cern.ch/event/981823/contributions/4295432/attachments/2250078/3816845/poster_445.pdf"
- title: "Integrated photonic control of trapped ion qubits"
authors: "Jules Stuart, Dave Reens, Cheri Sorace-Agaskar, Dave Kharas, Jeremy Sage, John Chiaverini"
links:
- name: "NY CREATES presentation"
path: "https://ny-creates.org/wp-content/uploads/Niffenegger_NY_CREATES_04_22_2021.pdf"
- title: "Sayma: Agile RF for Coherent Quantum Control Using ARTIQ"
authors: "Joseph W. Britton, David T.C. Allcock, Chris Ballance, Tom P. Harty, Robert Jordens, Greg Kasprowicz, Pawel Kulik, Daniel H. Slichter, Weida Zhang, Sebastien Bourdeauducq"
links:
- name: "APS Division of Atomic and Molecular Physics Meeting 2019, abstract id.E01.164"
path: null
- title: "Progress towards ultracold Sr for the AION project — sub-microkelvin atoms and an optical-heterodyne diagnostic tool for injection-locked laser diodes"
authors: "E. Pasatembou, C.F.A. Baynham, O. Buchmüller, D. Evans, R. Hobson, L. Iannizzotto-Venezze, A. Josset"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2310.08500"
- title: "Experimental demonstration of enhanced violations of Leggett-Garg inequalities in a PT-symmetric trapped-ion qubit"
authors: "Pengfei Lu, Xinxin Rao, Teng Liu, Yang Liu, Ji Bian, Feng Zhu, Le Luo"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2309.06713"
- title: "Fast adiabatic transport of single laser-cooled <sup>9</sup>Be+ ions in a cryogenic Penning trap stack"
authors: "T. Meiners, J.-A. Coenders, J. Mielke, M. Niemann, J.M. Cornejo, S. Ulmer, C. Ospelkaus"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2309.06776"
- title: "Schlussbericht zum Verbundvorhaben Quanten-Inertialsensorsystem (QGyro)"
authors:
short: "S. Schön, S. Abend, E. v. Hinüber, N.B. Weddig,"
full: "B. Tennstedt, P. Barbey, M. Gersemann, T. Kersten, Yueyang Zou, Ashwin Rajagopalan, Mouine Abidi, Alexander Löwer, Ernst M. Rasel"
links:
- name: "Leibniz Universität Hannover"
path: "https://www.repo.uni-hannover.de/handle/123456789/14823"
- title: "One-Time Compilation of Device-Level Instructions for Quantum Subroutines"
authors: "Aniket S. Dalvi, Jacob Whitlow, Marissa D'Onofrio, Leon Riesebos, Tianyi Chen, Samuel Phiri, Kenneth R. Brown, Jonathan M. Baker"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2308.10787"
- title: "QUANT-NET: A testbed for quantum networking research over deployed fiber"
authors: "Inder Monga, Erhan Saglamyurek, Ezra Kissel, Hartmut Häffner, Wenji Wu"
links:
- name: "Association for Computing Machinery"
path: "https://dl.acm.org/doi/abs/10.1145/3610251.3610561"
- name: "eScholarship University of California"
path: "https://escholarship.org/uc/item/7hk9g5d3"
- title: "An environmental monitoring network for quantum gas experiments and devices"
authors: "T.J. Barrett, W. Evans, A. Gadge, S. Bhumbra, S. Sleegers, R. Shah, J. Fekete, F. Oručević and P. Krüger"
links:
- name: "IOPscience"
path: "https://iopscience.iop.org/article/10.1088/2058-9565/ac3385"
- title: "Adiabatically controlled motional states of a ground-state cooled CaO<sup>+</sup> and Ca<sup>+</sup> trapped ion chain"
authors: "Lu Qi, Evan C. Reed, Kenneth R. Brown"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2212.05105"
- title: "Dynamical low-noise microwave source for cold-atom experiments"
authors: "Bernd Meyer-Hoppe, Maximilian Baron, Christophe Cassens, Fabian Anders, Alexander Idel, Jan Peise, and Carsten Klempt"
links:
- name: "AIP Publishing"
path: "https://pubs.aip.org/aip/rsi/article/94/7/074705/2902630"
- title: "Fast, high-fidelity addressed single-qubit gates using efficient composite pulse sequences"
authors: "A.D. Leu, M.F. Gely, M.A. Weber, M.C. Smith, D.P. Nadlinger, D.M. Lucas"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2305.06725"
- title: "QisDAX: An Open Source Bridge from Qiskit to Trapped Ion Quantum Devices."
authors: "Kaustubh Jagdish Badrike"
links:
- name: "NCSU"
path: "https://repository.lib.ncsu.edu/bitstream/handle/1840.20/40949/etd.pdf"
- title: "Verifiable blind quantum computing with trapped ions and single photons"
authors: "P. Drmota, D.P. Nadlinger, D. Main, B.C. Nichol, E.M. Ainley, D. Leichtle, A. Mantri, E. Kashefi, R. Srinivas, G. Araneda, C.J. Ballance, D.M. Lucas"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2305.02936"
- title: "Low noise quantum frequency conversion of photons from a trapped barium ion to the telecom O-band"
authors: "Uday Saha, James D. Siverns, John Hannegan, Qudsia Quraishi, Edo Waks"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2305.01205"
- title: "Open-source electronics ecosystem for optical atomic clocks"
authors: "Piotr Morzyński, Sławomir Bilicki, Marcin Bober, Adam Ledziński, Marcin Witkowski, Mehrdad Zarei and Michał Zawada"
links:
- name: "IOPscience"
path: "https://iopscience.iop.org/article/10.1088/1361-6501/acc5a1"
- title: "Transient fluorescence with a single trapped ion"
authors: "Nicolás Nuñez Barreto, Lucas Giardino, Carla Crucianelli, Muriel Bonetto, Martin Drechsler, Christian Tomás Schmiegelow"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2303.00650"
- title: "Sampler: Open-Source Data Acquisition Module for Quantum Physics"
authors: "Kasprowicz Grzegorz, Harty Thomas, Bourdeauducq Sébastien, Jördens Robert, Allcock David, Slichter Daniel, Nadlinger David, Britton Joseph W. ,Sotirova Ana"
links:
- name: "BazTech"
path: "https://yadda.icm.edu.pl/baztech/element/bwmeta1.element.baztech-e97e8039-a7dd-4283-b1af-45b6a61993d1"
- title: "Practical Implementation of an Analogue and Digital Electronics System for a Modular Cosmic Ray Detector — MCORD"
authors:
short: "Marcin Bielewicz, Aleksandr Bancer, Andrzej Dziedzic, Jaroslaw Grzyb,"
full: "Elzbieta Jaworska, Grzegorz Kasprowicz, Michal Kiecana, Piotr Kolasinski, Michal Kuc, Michal Kuklewski, Marcin Pietrzak, Krzysztof Pozniak, Maciej Sitek, Mikolaj Sowinski, Łukasz ´Swiderski, Agnieszka Syntfeld-Kazuch, Jaroslaw Szewinski and Wojciech Marek Zabołotny"
links:
- name: "MDPI"
path: "https://www.mdpi.com/2079-9292/12/6/1492"
- title: "Cold highly charged ions in a radio-frequency trap with superconducting magnetic shielding"
authors:
short: "Elwin A. Dijck, Christian Warnecke, Malte Wehrheim, Ruben B. Henninger, Julia Eff,"
full: "Kostas Georgiou, Andrea Graf, Stepan Kokh, Lakshmi P. Kozhiparambil Sajith, Christopher Mayo, Vera M. Schäfer, Claudia Volk, Piet O. Schmidt, Thomas Pfeifer, José R. Crespo López-Urrutia"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2306.01670"
- title: "Positronium laser cooling via the 1<sup>3</sup>S-2<sup>3</sup>P transition with a broadband laser pulse"
authors:
short: "AEgIS Collaboration:"
full: "L.T. Glöggler, N. Gusakova, B. Rienäcker, A. Camper, R. Caravita, S. Huck, M. Volponi, T. Wolz, L. Penasa, V. Krumins, F. Gustafsson, M. Auzins, B. Bergmann, P. Burian, R.S. Brusa, F. Castelli, R. Ciuryło, D. Comparat, G. Consolati, M. Doser, Ł. Graczykowski, M. Grosbart, F. Guatieri, S. Haider, M.A. Janik, G. Kasprowicz, G. Khatri, Ł.Kłosowski, G. Kornakov, L. Lappo, A. Linek, J. Malamant, S. Mariazzi, V. Petracek, M. Piwiński, S. Pospisil, L. Povolo, F. Prelz, S.A. Rangwala, T. Rauschendorfer, B.S. Rawat, V. Rodin, O.M. Røhne, H. Sandaker, P. Smolyanskiy, T. Sowiński, D. Tefelski, T. Vafeiadis, C.P. Welsch, M. Zawada, J. Zielinski, N. Zurlo"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2310.08760"
- name: "CERN"
path: "https://cds.cern.ch/record/2878376"
- title: "Open Hardware in Quantum Technology"
authors:
short: "Nathan Shammah, Anurag Saha Roy, Carmen G. Almudever, Sébastien Bourdeauducq, Anastasiia Butko,"
full: "Gustavo Cancelo, Susan M. Clark, Johannes Heinsoo, Loïc Henriet, Gang Huang, Christophe Jurczak, Janne Kotilahti, Alessandro Landra, Ryan LaRose, Andrea Mari, Kasra Nowrouzi, Caspar Ockeloen-Korppi, Guen Prawiroatmodjo, Irfan Siddiqi, William J. Zeng"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2309.17233"
- title: "Weighing antimatter: AEg over bar IS Phase 2, upgrades and first data"
authors: "M. Volponi, G. Consolati, AEgIS Collaboration"
links:
- name: "Politecnico di Milano"
path: "https://re.public.polimi.it/handle/11311/1249382"
- title: "The Electronic Control System of a Trapped-Ion Quantum Processor: A Systematic Literature Review"
authors: "Stefanie Castillo"
links:
- name: "IEEE"
path: "https://ieeexplore.ieee.org/abstract/document/10164086"
- title: "Engineering a Control System for a Logical Qubit-Scalee Trapped Ion Quantum Computer"
authors: "Andrew Russ Risinger"
links:
- name: "Duke"
path: "https://iontrap.duke.edu/files/2023/07/thesis-arr-2023-04-16.pdf"
- title: "An optical clock based on a highly charged ion"
authors: "Lukas Josef Spieß"
links:
- name: "Leibniz Universität Hannover"
path: "https://www.repo.uni-hannover.de/handle/123456789/13801"
- title: "Advances in performance and automation of a single ytterbium ion optical clock"
authors: "Alexandra Tofful"
links:
- name: "Imperial College London"
path: "https://spiral.imperial.ac.uk/handle/10044/1/103468"
- title: "A many-channel FPGA control system"
authors: "Daniel T. Schussheim, Kurt Gibble"
links:
- name: "arXiv"
path: "https://arxiv.org/abs/2307.16008"
- title: "Radium ions and radioactive molecules for probing new physics"
authors: "Mingyu Fan"
links:
- name: "eScholarship University of California"
path: "https://escholarship.org/uc/item/5j42z6c8"
- title: "Programowalny sterownik siłownika piezoelektrycznego"
authors: "Adam Kołodyński"
links:
- name: "Warsaw University of Technology, Engineer's thesis"
path: null
- name: "local copy"
path: "/AdamKolodynski.pdf"
- title: "Microwave synthesizer for driving ion traps in quantum computing"
authors: "Krzysztof Belewicz"
links:
- name: "Warsaw University of Technology, Bachelor's dipoma thesis"
path: null
- name: "local copy"
path: "/Krzysztof_Belewicz_V1.1.pdf"
- title: "Wielokanałowy moduł sterujący pułapką jonową w standardzie MicroTCA.4"
authors: "Tomasz Przywózki"
links:
- name: "Warsaw University of Technology, Master's thesis"
path: null
- name: "local copy"
path: "/TomaszPrzywozki_v3.pdf"
- title: "Short Time Fourier Transform Pulse Generator for Trapped Ion Quantum Gates"
authors: "Norman Krackow"
links:
- name: "local copy"
path: "/thesis_nkrackow.pdf"
- title: "Precise PID controller for quantum applications"
authors: "Jakub Matyas"
links:
- name: "Warsaw University of Technology, Engineer's thesis"
path: "https://repo.pw.edu.pl/info/bachelor/WUTe90de3461b53456c9d63c55d80d34220/"
- name: "local copy"
path: "/JMatyas_inz_v6.pdf"
- title: "Controller module for real-time quantum applications"
authors: "Paweł Kulik"
links:
- name: "Warsaw University of Technology, Masters's diploma thesis"
path: "https://repo.pw.edu.pl/info/master/WUT6212c3c3cdcd40ea9095f4ead6482596/"
- name: "local copy"
path: "/pawel_kulik_kasli_thesis_2019_compressed.pdf"

View File

@ -78,9 +78,9 @@ template = "page.html"
{% layout_card(src="images/irc@2x.png", css="col-12 col-md-4 text-center") %}
<a href="https://webchat.freenode.net/" target="_blank" rel="noopener noreferrer">IRC: #m-labs</a>
<a href="https://webchat.oftc.net/" target="_blank" rel="noopener noreferrer">IRC: #m-labs</a>
<small>on Freenode</small>
<small>on OFTC</small>
{% end %}
@ -114,7 +114,7 @@ template = "page.html"
**Sinara hardware purchases, ports to your hardware, feature development, technical support, bugfixing**
contact sales@m-\*\*\*s.hk
contact [sales@m-labs.hk](mailto:sales@m-labs.hk)
We welcome inquiries from research groups of all sizes.<br>[See what has been funded before](/experiment-control/funding)
@ -146,16 +146,10 @@ We welcome inquiries from research groups of all sizes.<br>[See what has been fu
<a href="https://github.com/OxfordIonTrapGroup/oitg" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="Terminal interface", sameheight=120) %}
<small>A terminal interface for the Advanced Real-Time Infrastructure for Quantum physics (ARTIQ).</small>
{% layout_card(title="UCLA routines", sameheight=120) %}
<small>ARTIQ experiments in use at UCLA AMO</small>
<a href="https://github.com/chase1635321/ARTIQ" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="ARTIQ-suservo", sameheight=120) %}
<small>A set of scripts for the ARTIQ suservo device.</small>
<a href="https://github.com/chase1635321/ARTIQ-suservo" target="_blank" rel="noopener noreferrer">Repository</a>
<a href="https://github.com/EGGS-Experiment/LAX_exp" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="nvOS", sameheight=120) %}
@ -170,12 +164,6 @@ We welcome inquiries from research groups of all sizes.<br>[See what has been fu
<a href="https://github.com/HaeffnerLab/artiq-work-lattice" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="WIPM routines", sameheight=120) %}
<small>WIPM (CAS Wuhan) routines</small>
<a href="https://github.com/GuanQunMu/IonTrap-WIPM" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="Birmingham examples", sameheight=120) %}
<small>A repository of simple examples of ARTIQ code</small>
@ -186,7 +174,7 @@ We welcome inquiries from research groups of all sizes.<br>[See what has been fu
{% layout_card(title="Deltaflow-on-ARTIQ", sameheight=120) %}
<small>Run programs in the Deltaflow language from Riverlane on simulated ARTIQ</small>
<a href="https://www.riverlane.com/products/" target="_blank" rel="noopener noreferrer">Product page</a>
<a href="https://github.com/riverlane/deltaflow-on-artiq" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="DAX - Duke ARTIQ extensions", sameheight=120) %}
@ -196,6 +184,12 @@ We welcome inquiries from research groups of all sizes.<br>[See what has been fu
{% end %}
{% layout_card(title="Argent", sameheight=120) %}
<small>High-level sequence control interface for ARTIQ.</small>
<a href="https://github.com/robertfasano/argent" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
{% layout_card(title="flake8-artiq", sameheight=120) %}
<small>A Flake8 plugin for checking ARTIQ code</small>
@ -234,9 +228,15 @@ We welcome inquiries from research groups of all sizes.<br>[See what has been fu
{% end %}
{% layout_card(title="U Toronto examples", sameheight=120) %}
<small>A repository of examples of ARTIQ code and instructions</small>
<a href="https://github.com/vuthalab/artiq" target="_blank" rel="noopener noreferrer">Repository</a>
{% end %}
</div>
{% layout_div(css="col-12 text-center") %}
Want your project listed here? Write to sb@m-l\*\*\*.hk.
Want your project listed here? Write to [sb@m-labs.hk](mailto:sb@m-labs.hk).
{% end %}

View File

@ -14,7 +14,7 @@ The first ARTIQ core devices used hardware built in-house by physicists (based o
The Sinara hardware is in active development, and the latest information is available <a href="https://github.com/sinara-hw" target="_blank" rel="noopener noreferrer">on the wiki of each project's page</a>. Most of the hardware engineering is done at the <a href="http://www.ise.pw.edu.pl/" target="_blank" rel="noopener noreferrer">Institute for Electronics Systems</a> at the Warsaw University of Technology.
Kasli and EEMs can be ordered now. We can deliver a rack-mountable crate that contains all the cards, is fully tested, and is ready to be connected to your experiment and computer network. Contact sales@m-\*\*\*s.hk with your requirements and we will establish a quote.
Kasli and EEMs can be ordered now. We can deliver a rack-mountable crate that contains all the cards, is fully tested, and is ready to be connected to your experiment and computer network. Use our [web-based configuration and ordering tool](../place-order), or contact <a href="mailto:sales@m-labs.hk">sales@m-labs.hk</a> with your requirements, and we will establish a quote.
{% end %}
@ -30,9 +30,19 @@ One of the main devices in the Sinara family is the 1124 Carrier (codenamed Kasl
{% end %}
{% layout_text_img(src="images/kasli-soc@2x.png", popup="images/origin/kasli-soc.jpg", alt="", textleft=true, shadow=false) %}
##### Sinara 1125 Carrier "Kasli-SoC"
{% layout_text_img(src="images/isolated-ttl@2x.png", popup="images/origin/dio.jpg", alt="", textleft=true, shadow=false) %}
Based on a Zynq-7000 SoC, Kasli-SoC can execute kernels on a 1GHz CPU with a hardware FPU. This enables much heavier software computations to be performed on the core device with a low-latency path to the experiment. Network transfer rates are also greatly increased. Features are otherwise similar as Kasli's.
See our paper <a href="https://arxiv.org/abs/2111.15290" target="_blank" rel="noopener noreferrer">Combining processing throughput, low latency and timing accuracy in experiment control</a> for information about what Kasli-SoC enables compared to previous ARTIQ platforms.
<a href="https://github.com/sinara-hw/Kasli-SoC/wiki" target="_blank" rel="noopener noreferrer">More information</a>
{% end %}
{% layout_text_img(src="images/isolated-ttl@2x.png", popup="images/origin/dio.jpg", alt="", shadow=false) %}
##### Sinara 2118/2128/2138 8-channel isolated TTL cards
@ -40,9 +50,13 @@ For simple TTL signals, we offer I/O cards in the EEM form factor with 8 channel
More information: <a href="https://github.com/sinara-hw/DIO_BNC/wiki" target="_blank" rel="noopener noreferrer">BNC card</a> <a href="https://github.com/sinara-hw/DIO_SMA/wiki" target="_blank" rel="noopener noreferrer">SMA card</a>
<p style="padding-top: 8px">
<span class='doc-icon'></span> <a href="/docs/sinara-datasheets/2118-2128.pdf" target="_blank" rel="noopener noreferrer">2118/2128 BNC/SMA-TTL datasheet</a>
</p>
{% end %}
{% layout_text_img(src="images/DIOMCX@2x.png", popup="images/origin/dio_mcx.jpg", alt="", shadow=false) %}
{% layout_text_img(src="images/DIOMCX@2x.png", popup="images/origin/dio_mcx.jpg", alt="", textleft=true, shadow=false) %}
##### Sinara 2238 16-channel non-isolated MCX TTL card
@ -50,11 +64,15 @@ When higher densities or faster speeds are required, the Sinara 2238 MCX card is
<a href="https://github.com/sinara-hw/DIO_MCX/wiki" target="_blank" rel="noopener noreferrer">More information</a>
<p style="padding-top: 8px">
<span class='doc-icon'></span> <a href="/docs/sinara-datasheets/2238.pdf" target="_blank" rel="noopener noreferrer">2238 MCX-TTL datasheet</a>
</p>
{% end %}
{% layout_text_img(src="images/LVDS@2x.png", popup="images/origin/dio_rj45.jpg", alt="", textleft=true, shadow=false) %}
{% layout_text_img(src="images/LVDS@2x.png", popup="images/origin/dio_rj45.jpg", alt="", shadow=false) %}
##### Sinara 2245 16-channel non-isolated LVDS RJ45 TTL card
@ -64,11 +82,15 @@ Each RJ45 supplies 4 LVDS DIOs. The direction (input/output) is individually sel
<a href="https://github.com/sinara-hw/DIO_RJ45/wiki" target="_blank" rel="noopener noreferrer">More information</a>
<p style="padding-top: 8px">
<span class='doc-icon'></span> <a href="/docs/sinara-datasheets/2245.pdf" target="_blank" rel="noopener noreferrer">2245 LVDS-TTL datasheet</a>
</p>
{% end %}
{% layout_text_img(src="images/Banker-TTL-1@2x.png", popup="images/origin/banker1.jpg", alt="", shadow=false) %}
{% layout_text_img(src="images/Banker-TTL-1@2x.png", popup="images/origin/banker1.jpg", alt="", textleft=true, shadow=false) %}
##### Sinara 3128 TTL I/O expander "Banker"
@ -84,7 +106,7 @@ Interfaces include:
{% layout_text_img(src="images/Banker-TTL-2@2x.png", popup="images/origin/banker2.jpg", alt="", textleft=true, shadow=false) %}
{% layout_text_img(src="images/Banker-TTL-2@2x.png", popup="images/origin/banker2.jpg", alt="", shadow=false) %}
All outputs can be configured either as 3.3 or 5V. They can drive 50&#8486; load when set to 5V. FPGA can is configured from on-board FLASH. FLASH can be updated over I2C or with the on-board SPI connector.
@ -105,7 +127,7 @@ There are several DIN-rail compatible modules for use with Banker. They are inte
{% layout_text_img(src="images/Urukul-DDS@2x.png", popup="images/origin/urukul.jpg", alt="", shadow=false) %}
{% layout_text_img(src="images/Urukul-DDS@2x.png", popup="images/origin/urukul.jpg", alt="", textleft=true, shadow=false) %}
##### Sinara 4410/4412 DDS "Urukul"
@ -117,17 +139,21 @@ In regular mode, various DDS features are supported, including frequency, phase
<a href="https://github.com/sinara-hw/Urukul/wiki" target="_blank" rel="noopener noreferrer">More information</a>
<p style="padding-top: 8px">
<span class='doc-icon'></span> <a href="/docs/sinara-datasheets/4410-4412.pdf" target="_blank" rel="noopener noreferrer">4410/4412 Urukul datasheet</a>
</p>
{% end %}
{% layout_text_img(src="images/Mirny-Synth@2x.png", popup="images/origin/mirny.jpg", alt="", textleft=true, shadow=false) %}
{% layout_text_img(src="images/Mirny-Synth@2x.png", popup="images/origin/mirny.jpg", alt="", shadow=false) %}
##### Sinara 4456 synthesizer "Mirny"
Mirny is a 4 channel wide-band PLL/VCO-based microwave frequency synthesiser.
Like the Urukul DDS but with a VCO/PLL (ADF5356) as the synthesizer and options for frequency double/tripler and analog frontend mezzanines.
Like the Urukul DDS but with a VCO/PLL (ADF5356) as the synthesizer and options for frequency double/tripler and analog frontend mezzanines, e.g. Sinara 4457 "Almazny".
Comparing Mirny to Urukul:
@ -145,7 +171,7 @@ Comparing Mirny to Urukul:
{% layout_text_img(src="images/Zotino-DAC@2x.png", popup="images/origin/zotino.jpg", alt="", shadow=false) %}
{% layout_text_img(src="images/Zotino-DAC@2x.png", popup="images/origin/zotino.jpg", alt="", textleft=true, shadow=false) %}
##### Sinara 5432 DAC "Zotino"
@ -157,6 +183,32 @@ It is also possible to connect the Zotino using a HD68 cable to an external crat
<a href="https://github.com/sinara-hw/Zotino/wiki" target="_blank" rel="noopener noreferrer">More information</a>
<p style="padding-top: 8px">
<span class='doc-icon'></span> <a href="/docs/sinara-datasheets/5432.pdf" target="_blank" rel="noopener noreferrer">5432 Zotino datasheet</a>
</p>
{% end %}
{% layout_text_img(src="images/zotino-temp-eqm.png", popup="images/origin/zotino-temp-eqm.png", alt="", shadow=false) %}
- The temperature of the Zotino DAC can be stabilized using the [Sinara 8451 Thermostat](../control-loops) to reduce output voltage drifts. A stable temperature can be re-established quickly after momentary disruption.
{% end %}
{% layout_text_img(src="images/zotino-temp-var.png", popup="images/origin/zotino-temp-var.png", alt="", textleft=true shadow=false) %}
- Zotino was placed on a table without protection from air currents, and an air conditioning unit generating disturbances nearby. The graph show its the temperature stability over 5 minutes while connected to the [Sinara Thermostat](../control-loops).
{% end %}
{% layout_text_img(src="images/side-min.png", shadow=false) %}
##### Sinara 5632 DAC "Fastino"
Fastino is a higher-speed version of Zotino. It also has 32 16-bit channels, but they all can be updated at 2Msps simultaneously (1Gb/s data).
@ -241,11 +293,11 @@ The 4624 AWG "Phaser" is a quad channel 1.25 GS/s RF generator card with dual IQ
{% layout_centered_content(min_width=true, css="row d-flex align-items-center mt-5") %}
##### Kasli and EEMs can be ordered now
##### Ordering from M-Labs is easy and quick
We can deliver a rack-mountable crate that contains all the cards, is fully tested, and is ready to be connected to your experiment and computer network.
We can deliver a rack-mountable crate that contains all the cards, is fully tested, and is ready to be connected to your experiment and computer network. The lead time can be as short as a few working days and we will provide assistance to help you set up your new equipment with ARTIQ via the online helpdesk. Using our AFWS tool, you can keep the firmware of your M-Labs devices up-to-date easily, and benefit from the new features we continuously develop into ARTIQ.
Contact sales@m-\*\*\*s.hk with your requirements and we will establish a quote.
Use our [web-based configuration and ordering tool](../place-order), or contact <a href="mailto:sales@m-labs.hk">sales@m-labs.hk</a> with your requirements, and we will establish a quote.
{% end %}

View File

@ -24,7 +24,7 @@ Although Migen works very well in production (it is used, for instance, in the [
##### Environment
nMigen itself provides the core language, and is complemented by a number of external components. The nmigen-boards package contains definition files for various FPGA boards, providing information such as pin locations and clocks. The nmigen-stdio package provides libraries to interface to common I/O protocols such as I2C and SPI. The nmigen-soc package is a library that provides bus interconnect and configuration and status register (CSR) management. Finally, the HeavyX system uses all the previous components and integrates them into a complete system-on-chip solution, able to run Rust code on the <a href="https://github.com/lambdaconcept/minerva" target="_blank" rel="noopener noreferrer">Minerva RISC-V CPU core</a> entirely written in nMigen.
nMigen itself provides the core language, and is complemented by a number of external components. The nmigen-boards package contains definition files for various FPGA boards, providing information such as pin locations and clocks. The nmigen-stdio package provides libraries to interface to common I/O protocols such as I2C and SPI. The nmigen-soc package is a library that provides bus interconnect and configuration and status register (CSR) management. Finally, the HeavyX system uses all the previous components and integrates them into a complete system-on-chip solution, able to run Rust code on a RISC-V CPU core entirely written in nMigen.
##### Documentation

View File

@ -30,7 +30,7 @@ Built on the <a href="/gateware/migen/">MiSoC and Migen</a> technologies that or
The Mixxeo supported mixing from two DVI or HDMI sources up to 720p60, with crossfade, fade to black and potentially other effects with a latency of less than two frames.
<b>Status (Aug 2014)</b> - Main board and gateware have been <a href="/images/mixxeo_result.jpg">mostly functional</a> for a while, mechanical design and manufacturing for the case/mechatronics are progressing slowly. If you have the skills and would like to help out, email sb at m-labs.hk or the mailing list.
<b>Status (Aug 2014)</b> - Main board and gateware have been <a href="/images/mixxeo_result.jpg">mostly functional</a> for a while, mechanical design and manufacturing for the case/mechatronics are progressing slowly. If you have the skills and would like to help out, email [sb@m-labs.hk](mailto:sb@m-labs.hk) or the mailing list.
<center><img src="/images/mixxeo_menu.png"><br /><br /><img src="/images/mixxeo_board.jpg" class="picimg"></center>

View File

@ -26,6 +26,6 @@ smoltcp achieves <a href="https://github.com/smoltcp-rs/smoltcp#examplesbenchmar
The source code is available <a href="https://github.com/smoltcp-rs/smoltcp" rel="noopener noreferrer">on GitHub</a>.
**Commercial support for smoltcp is available.** Email sales@m-l\*\*\*s.hk.
**Commercial support for smoltcp is available.** Email [sales@m-labs.hk](mailto:sales@m-labs.hk).
{% end %}

View File

@ -9,7 +9,7 @@ layout_css = "col-12 col-md-10 mx-auto"
{% div() %}
<script src="/js/hammer-2.0.8.js"></script>
<script src="/js/hammer.min.js"></script>
<script src="/js/three-r76.js"></script>
<script src="/js/SolveSpaceControls.js"></script>
{% end %}
@ -20,7 +20,9 @@ layout_css = "col-12 col-md-10 mx-auto"
##### What is SolveSpace?
{% end %}
<a href="http://solvespace.com/" target="_blank" rel="noopener noreferrer">SolveSpace</a> is a libre and open-source parametric computer-aided design application that uses a NURBS geometric kernel, allowing it to represent curved surfaces exactly. It was originally released by <a href="http://cq.cx/" target="_blank" rel="noopener noreferrer">Jonathan Westhues</a> under the GPLv3 license and is now further developed at M-Labs.
<a href="http://solvespace.com/" target="_blank" rel="noopener noreferrer">SolveSpace</a> is a libre and open-source parametric computer-aided design application that uses a NURBS geometric kernel, allowing it to represent curved surfaces exactly. It was originally released by <a href="http://cq.cx/" target="_blank" rel="noopener noreferrer">Jonathan Westhues</a> under the GPLv3 license. M-Labs contributed to its development around 2015-2018.
SolveSpace development at M-Labs has now been discontinued; please visit <a href="https://solvespace.com/" target="_blank" rel="noopener noreferrer">solvespace.com</a> for the latest information about SolveSpace. This page is kept for historical purposes only.
@ -104,17 +106,19 @@ The KF25 adapter for the cold head is a much simpler device:
{% layout_centered_content(css="row d-flex align-items-center mt-5 mb-5 pt-5") %}
##### Ongoing development by M-Labs
##### Development by M-Labs
{% end %}
As originally released, SolveSpace was far ahead almost every other FLOSS CAD by virtue of its parametric nature, exact internal representation of curves and a codebase easy to work with. (The only other FLOSS parametric CAD that uses a NURBS representation, including NURBS booleans, is FreeCAD.) While it was already suitable for practical work, it had a much greater unrealized potential.
Thus, M-Labs has developed many additional features:
Thus, M-Labs developed many additional features:
- Native Linux (GTK) and OS X ports;
- stippling as well as <a href="https://m-labs.hk/solvespace/images/hiddenline.gif" target="_blank" rel="noopener noreferrer">outline and hidden line</a> styling in preparation for export of shop drawings according to ISO or another standard;
- WebGL export using Three.js, which is how the interactive models on this page work;
- stippling as well as <a href="/ss_hiddenline.gif" target="_blank" rel="noopener noreferrer">outline and hidden line</a> styling in preparation for export of shop drawings according to ISO or another standard;
- WebGL export using Three.js, whhow the interactive models on this page work;
- DXF export that preserves the ability to edit the drawing afterwards, by mapping parametric constraints to DXF dimensions and grouping the lines;
- DXF import that automatically infers (some) constraints, such as horizontal/vertical, point-coincident, linear and angular dimensions from DXF geometry and dimensions;
- internationalization;
- and many other minor ones.
SolveSpace development at M-Labs has been discontinued; please visit <a href="https://solvespace.com/" target="_blank" rel="noopener noreferrer">solvespace.com</a> for the latest information about SolveSpace.

7223
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,27 +1,50 @@
{
"name": "m-labs-zola",
"sideEffects": false,
"version": "1.0.0",
"description": "These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. For deployment, see the nix-scripts repository. Commits to https://git.m-labs.hk/M-Labs/web2019.git are automatically deployed to m-labs.hk through Hydra.",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "./node_modules/.bin/babel static/js/shop.jsx --watch -o static/js/shop.min.js",
"build": "./node_modules/.bin/babel static/js/shop.jsx -o static/js/shop.min.js"
"start": "npx webpack --watch",
"build": "npx webpack"
},
"repository": {
"type": "git",
"url": "https://git.m-labs.hk/M-Labs/web2019.git"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.9.0",
"@babel/preset-env": "^7.9.5",
"@babel/preset-react": "^7.9.4",
"babel-preset-minify": "^0.5.1"
"@babel/cli": "^7.23.9",
"@babel/core": "^7.24.0",
"@babel/preset-env": "^7.24.0",
"@babel/preset-react": "^7.23.3",
"babel-loader": "^9.1.3",
"babel-preset-minify": "^0.5.2",
"bootstrap": "^5.3.3",
"jquery": "^3.7.1",
"react": "^18.2.0",
"react-bootstrap": "^2.10.2",
"@hello-pangea/dnd": "^16.5.0",
"react-dom": "^18.2.0",
"uuid": "^9.0.1",
"webpack": "^5.90.3",
"webpack-cli": "^5.1.4",
"json-logic-js": "^2.0.2",
"zustand": "^4.5.2",
"@uidotdev/usehooks":"^2.4.1",
"webpack-preprocessor-loader": "^1.3.0"
},
"babel": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
"@babel/preset-react",
["@babel/preset-env", {
"targets": {
"browsers": [
">0.25%",
"not dead",
"not op_mini all"
]
}
}]
]
}
}

View File

@ -149,7 +149,7 @@ a {
border: 1px solid $btn-primary-2 !important;
text-decoration: none;
&:hover {
&:hover, &:disabled {
background-color: $btn-secondary-2;
border: 1px solid $btn-secondary-2 !important;
}
@ -233,4 +233,16 @@ a[aria-expanded='true']:after {
border: 1px solid $btn-primary-2 !important;
background-color: transparent !important;
color: $btn-primary-2 !important;
}
}
.doc-icon {
background: url('../images/pdf-icon.png');
height: 24px;
width: 24px;
margin-right: 12px;
display: block;
float: left;
}
.hide-expanded[aria-expanded="true"], .show-expanded[aria-expanded="false"], .show-expanded {display: none;}
.hide-expanded[aria-expanded="false"], .show-expanded[aria-expanded="true"] {display: inline;}

View File

@ -83,10 +83,18 @@
.card h5,
.card h4,
h5 {
color: $brand-color;
}
h4 {
color: $color-primary;
margin-top: 3rem;
margin-bottom: 3rem;
text-align: center;
}
h3, h2, h1 {
color: $color-secondary;
}
@ -134,7 +142,7 @@ img.kf25 {
@media (min-width: 992px) {
.hero {
// height: 692px;
height: calc(100vh - 200px);
height: calc(65vh - 200px);
background: url("../images/hero@2x.png") repeat-x top center;
-webkit-background-size: contain;
-moz-background-size: contain;
@ -236,4 +244,22 @@ img.kf25 {
#root-shop, #root-shop>div {
height: 100%;
}
}
}
// follow respective border-[start, end, top, bottom] from bootstrap
@media (max-width: 767px) {
.funding-logo-start {
border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;
}
.funding-logo-end {
border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;
}
}
@media (min-width: 768px) {
.funding-logo-start {
border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;
}
.funding-logo-end {
border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;
}
}

View File

@ -1,6 +1,6 @@
#root-shop, #root-shop > div {
width: 100%;
height: calc(100vh - 72px);
height: calc(100vh - 40px - 2.625rem); /* .pb-md-3 + .pt-md-3 + img.height + .navbar-brand.paddings */
overflow: hidden;
}
@ -8,50 +8,61 @@ button {
outline: none!important;
}
#root-shop {
.rfqFeedback {
/* -webkit-box-shadow: 0px 0px 33px -7px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 33px -7px rgba(0,0,0,0.75);
box-shadow: 0px 0px 33px -7px rgba(0,0,0,0.75);*/
border: 1px solid $brand-color;
.modal-body, .modal-content, .modal {
border-radius: 0;
}
.form-group {
display: flex;
align-items: center;
padding: 0.5rem 0.75rem;
text-align: center;
.layout {
/*position: absolute;
width: 350px;*/
background: white;
/*left: calc(100%/2 - 350px/2);*/
.rfqFeedback {
display: flex;
align-items: center;
padding: 2rem 3rem;
text-align: center;
/*position: absolute;
width: 350px;*/
background: white;
/*left: calc(100%/2 - 350px/2);*/
-webkit-box-shadow: 0px 0px 33px -7px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 33px -7px rgba(0,0,0,0.75);
box-shadow: 0px 0px 33px -7px rgba(0,0,0,0.75);
/*top: calc(50% - 50px);*/
border: 1px solid $brand-color;
font-size: .9rem;
/*top: calc(50% - 50px);*/
button {
background-color: inherit;
align-self: center;
border: 0;
position: absolute;
right: 10px;
top: 10px;
font-size: .9rem;
}
img {
width: 15px;
}
}
button {
background-color: inherit;
align-self: center;
border: 0;
position: absolute;
right: 10px;
top: 10px;
.btn.btn-primary.disabled {
background-color: gray;
}
.btn-outline-primary,
.btn-outline-primary:hover {
color: $btn-primary-2;
border-color: $btn-primary-2;
background-color: inherit;
}
img {
width: 15px;
}
}
.btn.btn-primary.disabled {
background-color: gray;
}
.btn-outline-primary {
color: $btn-primary-2;
border-color: $btn-primary-2;
background-color: inherit;
&:hover {
background-color: inherit;
color: $btn-secondary-2;
border-color: $btn-secondary-2;
}
}
}
#root-shop {
.layout {
display: flex;
@ -61,26 +72,32 @@ button {
overflow-y: scroll;
overflow-x: hidden;
position: relative;
max-width: max(1/4 * 100%, 310px);
scrollbar-width: thin;
scrollbar-gutter: stable;
scrollbar-color: #6e7e87 transparent;
scrollbar-arrow-color: transparent;
/*padding-bottom: 4rem!important;*/
}
> aside.aside:after {
position: fixed;
bottom: 0;
height: 100px;
width: calc(2 / 6 * 100%);
content: "";
background: linear-gradient(
to top,
rgba(13, 53, 71, 1),
rgba(13, 53, 71, 0)
);
pointer-events: none;
.gradient-bottom {
position: sticky;
bottom: 0;
height: 100px;
//width: max(1/4 * 100%, 310px);
width: inherit;
content: "";
background: linear-gradient(
to top,
rgba(13, 53, 71, 1),
rgba(13, 53, 71, 0)
);
pointer-events: none;
}
}
> section.main {
flex: 4;
max-width: calc(4 / 6 * 100%);
width: calc(3/4 * 100%);
overflow-y: scroll;
}
}
@ -89,7 +106,7 @@ button {
display: flex;
color: white;
padding: 3rem 2rem 1rem;
padding: 1rem 0rem 1rem 1.5rem;
.content {
flex: 1;
@ -108,6 +125,7 @@ button {
h3 {
color: white;
font-size: 1.5rem;
}
button {
@ -142,11 +160,73 @@ button {
padding: .3rem 0;
}
}
.ds {
display: flex;
font-size: .8rem;
margin: 0;
padding-left: 0px;
a {
flex: 1;
display: flex;
flex-direction: column;
color: $link-primary-dark;
text-decoration: underline;
&:hover {
color: $link-secondary-dark;
text-decoration: none;
}
}
}
}
}
.backlog-container {
.catalog-container {
padding-bottom: 4rem;
.catalog-bar {
display: flex;
width: 100%;
margin: 13px 0 0.4rem 0;
padding: 0 0.5rem;
justify-content: space-around;
.mobileCloseMenu {
display: flex;
padding: 0;
margin: 0;
width: 10%;
align-content: center;
}
.search-catalog {
display: inline-block;
border: 0;
width: 90%;
.search-catalog-input {
display: inline;
border: 0;
color: white;
border-radius: 2rem;
background: rgba(255, 255, 255, 0.15) url("/images/shop/icon-search.svg") no-repeat;
background-position: left 2% center;
background-size: 20px;
padding-right: 1rem;
text-indent: 20px;
&::placeholder {
color: white;
opacity: 0.5;
}
&:focus {
box-shadow: none;
}
}
}
}
}
.rule {
@ -166,37 +246,25 @@ button {
padding-bottom: .5rem;
}
.btn-outline-primary,
.btn-outline-primary:hover {
.btn-outline-primary {
color: $btn-primary-2;
border-color: $btn-primary-2;
background-color: inherit;
&:hover {
background-color: inherit;
color: $btn-secondary-2;
border-color: $btn-secondary-2;
}
}
.control {
display: flex;
font-size: .8rem;
> p {
width: 50%;
> .description {
width: 80%;
padding-right: 30px;
}
.crate-mode {
text-align: right;
width: 50%;
a {
cursor: pointer;
margin-right: 1rem;
color: inherit;
text-decoration: none;
padding-bottom: 5px;
}
a.active {
font-weight: 700;
border-bottom: 3px solid $btn-primary-2;
}
}
}
.summary {
@ -222,6 +290,9 @@ button {
.item-card-name {
font-weight: 700;
&.tabbed {
padding-left: 16px;
}
}
.price {
@ -235,11 +306,31 @@ button {
.item-card-name,
.price {
> .alert-warning {
.alert-warning, .alert-info {
background-color: inherit;
height: inherit;
width: 20px;
padding-bottom: 3px;
padding-bottom: 0;
}
}
.overlayVariant {
min-width: 100px;
max-height: 150px;
min-height: 50px;
overflow-y: scroll;
position: absolute;
display: flex;
align-items: start;
text-align: left;
background-color: white;
color: black;
flex-direction: column;
cursor: pointer;
p {
font-size: .875rem;
margin: 0;
}
}
@ -276,13 +367,19 @@ button {
button {
background-color: inherit;
border: 0;
margin-left: 20px;
margin-left: 16px;
img {
width: 20px;
height: auto;
}
}
span {
width: 28px;
}
.span-with-margin {
margin-left: 16px;
}
}
> .summary-form {
@ -307,7 +404,7 @@ button {
outline: none;
}
input[type="submit"],
.order-form-submit,
.btn-cla {
/*background-color: $btn-primary-2;*/
font-weight: 700;
@ -326,16 +423,39 @@ button {
border: 1px solid #e53e3e !important;
}
.btn-outline-primary,
.btn-outline-primary:hover {
.btn-outline-primary {
color: $btn-primary-2;
border-color: $btn-primary-2;
background-color: inherit;
&:hover {
background-color: inherit;
color: $btn-secondary-2;
}
}
}
}
}
.order-bar {
width: 90%;
font-size: 0.9rem;
padding: 0;
input[type="text"] {
padding: 0;
font-size: 0.9rem;
line-height: 1.1;
}
.options-group {
margin-bottom: 1rem;
padding: 0.5rem;
}
.shop-radio-label {
font-weight: bold;
}
}
.crate {
position: relative;
@ -351,7 +471,9 @@ button {
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
-ms-overflow-style: -ms-autohiding-scrollbar;
min-height: 345px;
/* img.height + .items-cart-list.padding + .items-cart-list.div.padding + h6.font-size*_base.h6.line-height + progress-container.warning.height +
+ bootstrap.h6.margin-bottom + progress-container.height */
min-height: calc(350px + 17px + 10px + 0.6rem*1.1 + 24px + 0.5rem + 22px);
background-color: #ebebeb;
padding: 5px 5px 12px;
position: relative;
@ -360,7 +482,7 @@ button {
display: flex;
flex-direction: column;
/*max-width: 96px;*/
max-width: 130px;
max-width: 132px;
justify-content: flex-start;
align-content: center;
align-items: center;
@ -404,57 +526,18 @@ button {
width: 100%;
text-align: center;
position: relative;
height: 22px;
> .alert-warning {
&.warning {
height: 24px;
}
> .alert-warning, .alert-info {
background-color: inherit;
height: inherit;
width: 20px;
padding-bottom: 3px;
}
.k-popup-connectors,
.k-popup-warning {
position: absolute;
background-color: $color-primary;
color: white;
font-weight: 700;
font-size: .6rem;
padding: .8rem 1rem;
box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
text-align: left;
p {
margin-bottom: 0;
}
p + p {
padding-bottom: 8px;
}
}
.k-popup-connectors {
min-width: 200px;
bottom: 50px;
}
.k-popup-warning {
background-color: #c75e5e;
min-width: 350px;
.rule.warning {
display: flex;
font-size: .75rem;
img {
margin-right: 10px;
height: 100%;
}
}
}
.k-popup-warning.inverted {
right: 0;
}
}
.overlayRemove {
@ -481,6 +564,67 @@ button {
}
}
.overlayVariant {
top: 24px;
width: 140px;
min-height: 40px;
max-height: 320px;
overflow-y: scroll;
position: absolute;
display: flex;
align-items: start;
text-align: left;
background-color: white;
color: black;
flex-direction: column;
cursor: pointer;
padding: 0.2rem 0;
p {
font-size: .65rem;
margin: 0;
}
div {
margin: 0.1rem 0.2rem;
font-size: 0.75rem;
input {
padding: 0;
font-size: 0.75rem;
line-height: 1.1;
}
label {
margin-bottom: 0.1rem;
}
.options-icon {
display: inline;
height: .875rem;
margin-right: 0.2rem;
margin-left: 0.2rem;
}
}
.form-check {
min-height: 1rem;
}
}
}
.overlay-smallcard {
left: -38.5px; // (card width (63) - overlay width (140)) / 2
&.overlay-first {
left: 0;
}
&.overlay-last {
left: -67px;
}
}
.overlay-bigcard {
left: -7px; // (card width (126) - overlay width (140)) / 2
}
.hovered {
@ -491,6 +635,43 @@ button {
.crate-info {
padding: 1rem 0 0;
}
.crate-bar {
width: 100%;
font-size: 0.9rem;
.crate-mode {
text-align: left;
width: 75%;
display: inline;
a {
cursor: pointer;
margin-right: 1rem;
color: inherit;
text-decoration: none;
padding-bottom: 5px;
display: inline-block;
}
a.active {
font-weight: 700;
border-bottom: 3px solid $btn-primary-2;
}
}
.delete-crate {
text-decoration: none;
cursor: pointer;
text-align: right;
display: inline-flex;
width: 25%;
color: inherit;
img {
margin-left: 1rem;
align-self: center;
}
}
}
}
}
@ -523,4 +704,70 @@ button {
margin-left: -10px;
}
#accordion_crates {
background-color: inherit;
.accordion_crates_item {
.accordion-header {
padding-bottom: 0;
}
.accordion-button {
background-color: inherit;
font-weight: bold;
&:hover {
background-color: $color-highlight;
}
}
}
#accordion_crates_add {
.accordion-header {
padding-bottom: 0;
}
.accordion-button {
font-weight: bold;
&:hover {
background-color: $color-highlight;
}
}
.accordion-button:after {
background-image: url("/images/shop/icon-add.svg");
}
}
}
}
.k-popup-connectors,
.k-popup-warning {
background-color: $color-primary;
color: white;
font-weight: 700;
font-size: .6rem;
padding: .5rem .8rem;
box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
text-align: left;
p {
margin-bottom: 0;
}
}
.k-popup-connectors {
min-width: 200px;
}
.k-popup-warning {
background-color: #c75e5e;
min-width: 300px;
.rule.warning {
display: flex;
font-size: .75rem;
img {
margin-right: 10px;
height: 100%;
}
}
}

View File

@ -21,7 +21,11 @@ $color-secondary: #1a6d93 !default;
$btn-primary-2: #715ec7 !default;
$btn-secondary-2: #a88cfd !default;
$color-hover: #eae7f7 !default;
$link-primary-dark: #c2affd !default;
$link-secondary-dark: #cec2ea !default;
$color-hover: #eae7f7 !default;
$color-highlight: #dfe9ff !default;
// Import partials.
@import

View File

@ -10,10 +10,18 @@ from flask import request
from flask_mail import Mail
from flask_mail import Message
from werkzeug.middleware.proxy_fix import ProxyFix
from jinja2.utils import htmlsafe_json_dumps
load_dotenv()
mail_password_file = getenv("FLASK_MAIL_PASSWORD_FILE")
if mail_password_file is not None:
with open(mail_password_file, "r") as f:
mail_password = f.read().strip()
else:
mail_password = None
app = Flask(__name__)
app.config.update(
DEBUG=getenv("FLASK_DEBUG") == "True",
@ -22,7 +30,7 @@ app.config.update(
MAIL_USE_SSL=getenv("FLASK_MAIL_USE_SSL"),
MAIL_DEBUG=False,
MAIL_USERNAME=getenv("FLASK_MAIL_USERNAME"),
MAIL_PASSWORD=getenv("FLASK_MAIL_PASSWORD"),
MAIL_PASSWORD=mail_password,
MAIL_RECIPIENT=getenv("FLASK_MAIL_RECIPIENT"),
MAIL_SENDER=getenv("FLASK_MAIL_SENDER")
)
@ -41,7 +49,7 @@ def after(response):
@app.route("/rfq", methods=["POST"])
def send_rfq():
payload = request.json
payload = json.loads(json.htmlsafe_dumps(payload))
payload = json.loads(htmlsafe_json_dumps(payload))
if payload is None:
resp = jsonify(error="invalid data")

File diff suppressed because one or more lines are too long

6
static/css/bootstrap-5.3.0.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,14 +4,79 @@
padding: 1em 1em 0;
}
.simu-clone {
.simclone {
z-index: 10;
}
.feedback-add-success {
display: none;
}
.feedback-add-failure {
background-color: #c75e5e;
display: block;
position: fixed;
top: 20px;
right: 20px;
padding: 1em;
z-index: 100000;
color: white;
border-radius: 10px;
box-shadow: 0 0 5px 3px;
}
#accordion_categories,
#accordion_categories .accordion-header,
#accordion_categories .accordion-button,
#accordion_categories .accordion-item {
background-color: inherit;
border: none;
--bs-accordion-border-width: 0;
}
.accordion-button:focus {
box-shadow: none;
border-color: rgba(0,0,0,.125);
}
#accordion_categories .accordion-item:not(:first-child) {
border-top: thin rgba(255,255, 255, 20%) solid ;
border-radius: 0;
}
#accordion_categories .accordion-header {
padding: 0;
}
#accordion_categories .accordion-button:after {
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
}
#accordion_categories button {
color: white;
font-weight: bold;
font-size: 1.75rem;
padding: .75rem 1.5rem;
}
#accordion_categories .accordion-body {
padding: 0;
}
#accordion_categories .accordion-header:hover {
background-color: #1f4f68;
transition: 0.3s;
text-decoration: none;
}
#accordion_categories button:focus,
#accordion_categories button:hover {
text-decoration: none;
}
.options-invalid {
box-shadow: 0 0 0 .25rem rgba(229, 62, 62, 0.25)!important;
--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important;
}
/*
##Device = Tablets, Ipads (portrait)
##Screen = B/w 768px to 1024px
@ -30,7 +95,15 @@
}
#root-shop, #root-shop>div {
height: calc(100vh - 50px);
height: calc(100vh - 10px - 2.5rem); /* .navbar vertical padding + line height (.navbar-brand.font-size.rem * body.font-size * body.line-height)*/
}
#root-shop .layout>aside.aside {
min-width: max(300px, 30%);
}
#root-shop .layout>aside.aside .gradient-bottom {
width: inherit;
}
#root-shop .productItem {
@ -50,7 +123,7 @@
}
#root-shop .productItem .content ul {
font-size: .6rem;
font-size: .75rem;
}
#root-shop .panel .control {
@ -59,11 +132,11 @@
}
#root-shop .panel .control > .description,
#root-shop .panel .control > .crate-mode {
#root-shop .crate-mode {
width: 100%;
}
#root-shop .panel .control > .crate-mode {
#root-shop .crate-mode {
text-align: left;
}
@ -72,10 +145,11 @@
}
#root-shop .panel .summary>.summary-price table {
font-size: 1rem;
font-size: 0.8rem;
}
#root-shop .panel .summary>.summary-form form {
#root-shop .panel .summary>.summary-form form,
#root-shop .panel .summary>.summary-form .order-bar {
width: 100%;
}
@ -101,7 +175,7 @@
}
#root-shop table tr {
padding: .8em 0;
padding: .2em 0;
display: flex !important;
justify-content: space-between;
}
@ -110,6 +184,11 @@
#root-shop .panel .summary>.summary-form {
width: 100%;
}
#accordion_categories button {
font-size: 1.5rem;
padding: .75rem 1rem;
}
}
/*
##Device = Tablets, Ipads (landscape)
@ -125,11 +204,11 @@
}
body {
font-size: .7rem;
font-size: .8rem;
}
#root-shop, #root-shop>div {
height: calc(100vh - 50px);
height: calc(100vh - 10px - 2.5rem); /* .navbar vertical padding + line height (.navbar-brand.font-size.rem * body.font-size * body.line-height)*/
}
#root-shop .mobileBtnDisplaySideMenu,
@ -150,7 +229,7 @@
}
#root-shop table tr {
padding: .8em 0;
padding: .2em 0;
display: flex !important;
justify-content: space-between;
}
@ -160,15 +239,16 @@
}
#root-shop .panel .summary>.summary-price table {
font-size: .7rem;
font-size: .8rem;
}
#root-shop .panel .summary>.summary-form form {
#root-shop .panel .summary>.summary-form form,
#root-shop .panel .summary>.summary-form .order-bar {
width: 100%;
}
#root-shop .panel .summary>.summary-price tfoot {
font-size: .85rem;
font-size: 1.0rem;
}
/*#root-shop .panel .summary>.summary-form form input[type="submit"] {
@ -178,13 +258,18 @@
#root-shop .panel .summary>.summary-form {
width: 100%;
}
#accordion_categories button {
font-size: 1.5rem;
padding: .75rem 1rem;
}
}
/*
##Device = Low Resolution Tablets, Mobiles (Landscape)
##Screen = B/w 481px to 767px
*/
@media (min-width: 481px) and (max-width: 767px) {
.feedback-add-success {
.feedback-add-success, .feedback-add-failure {
background-color: green;
display: block;
position: fixed;
@ -196,6 +281,9 @@
border-radius: 10px;
box-shadow: 0 0 5px 3px;
}
.feedback-add-failure {
background-color: #c75e5e;
}
.dropdown-item {
font-size: .75em;
@ -212,12 +300,11 @@
}
body {
font-size: .7rem;
font-size: .8rem;
}
#root-shop, #root-shop>div {
/*height: calc(100vh - 50px);*/
height: 100%;
height: calc(100vh - 10px - 2.5rem); /* .navbar vertical padding + line height (.navbar-brand.font-size.rem * body.font-size * body.line-height)*/
}
#root-shop .productItem {
@ -233,11 +320,11 @@
}
#root-shop .productItem .content h3 {
font-size: 1rem;
font-size: 1.25rem;
}
#root-shop .productItem .content ul {
font-size: .5rem;
font-size: .75rem;
}
#root-shop .panel {
@ -249,13 +336,16 @@
margin-bottom: 1.5rem;
}
#root-shop .panel .control > .description,
#root-shop .panel .control > .crate-mode {
#root-shop .panel .control > .description {
width: 100%;
}
#root-shop .panel .control > .crate-mode {
#root-shop .panel .crate .crate-bar .crate-mode {
text-align: left;
width: 50%;
}
#root-shop .panel .crate .crate-bar .crate-mode a {
display: block;
}
#root-shop .panel .summary {
@ -267,15 +357,16 @@
}
#root-shop .panel .summary>.summary-price table {
font-size: .7rem;
font-size: .8rem;
}
#root-shop .panel .summary>.summary-form form {
#root-shop .panel .summary>.summary-form form,
#root-shop .panel .summary>.summary-form .order-bar {
width: 100%;
}
#root-shop .panel .summary>.summary-price tfoot {
font-size: .85rem;
font-size: 1rem;
}
/*#root-shop .panel .summary>.summary-form form input[type="submit"] {
@ -288,7 +379,6 @@
border-top-right-radius: 30px;
width: 80px;
padding: 5px 0 5px 10px;
margin-bottom: -25px;
margin-left: -1.3rem;
position: relative;
z-index: 1;
@ -307,7 +397,7 @@
}
#root-shop table tr {
padding: .8em 0;
padding: .2em 0;
display: flex !important;
justify-content: space-between;
}
@ -315,21 +405,22 @@
#root-shop .layout>aside.aside.menu-opened {
/*transform: translate3d(0, 0, 0);*/
transition: left .3s;
width: 310px;
width: min(310px, 60vw);
max-width: 60%;
left: 0;
}
#root-shop .layout>aside.aside.menu-opened + section.main {
/*transform: translate3d(310px, 0, 0);*/
transition: left .3s;
left: 310px;
left: min(310px, 60vw);
position: relative;
z-index: 0;
}
#root-shop .layout>aside.aside.menu-opened + section.main:after {
content: '';
position: absolute;
position: fixed;
height: 100%;
width: 100%;
background-color: rgba(0, 0, 0, .3);
@ -343,13 +434,13 @@
transition: left .3s;
position: fixed;
z-index: 1;
left: -310px;
width: 310px;
left: max(-310px, -60vw);
width: min(310px, 60vw);
height: 100%;
}
#root-shop .layout>aside.aside:after {
width: 0;
#root-shop .layout>aside.aside .gradient-bottom {
display: none;
}
#root-shop .layout>aside.aside + section.main {
@ -371,7 +462,7 @@
overflow: initial;
}
#root-shop .layout>aside.aside.menu-opened > .backlog-container {
#root-shop .layout>aside.aside.menu-opened > .catalog-container {
overflow-y: scroll;
height: 100%;
}
@ -379,13 +470,18 @@
#root-shop .panel .summary>.summary-form {
width: 100%;
}
#accordion_categories button {
font-size: 1.5rem;
padding: .5rem 0.5rem;
}
}
/*
##Device = Most of the Smartphones Mobiles (Portrait)
##Screen = B/w 320px to 479px
*/
@media (min-width: 320px) and (max-width: 480px) {
.feedback-add-success {
.feedback-add-success, .feedback-add-failure {
background-color: green;
display: block;
position: fixed;
@ -397,6 +493,9 @@
border-radius: 10px;
box-shadow: 0 0 5px 3px;
}
.feedback-add-failure {
background-color: #c75e5e;
}
.dropdown-item {
font-size: .75em;
@ -413,11 +512,11 @@
}
body {
font-size: .7rem;
font-size: .8rem;
}
#root-shop, #root-shop>div {
height: calc(100vh - 50px);
height: calc(100vh - 10px - 2.5rem); /* .navbar vertical padding + line height (.navbar-brand.font-size.rem * body.font-size * body.line-height)*/
}
#root-shop .productItem {
@ -429,20 +528,21 @@
}
#root-shop .productItem .content h3 {
font-size: 1rem;
font-size: 1.25rem;
}
#root-shop .layout>aside.aside.menu-opened {
/*transform: translate3d(0, 0, 0);*/
transition: left .3s;
width: 310px;
width: min(310px, 90vw);
max-width: 90%;
left: 0;
}
#root-shop .layout>aside.aside.menu-opened + section.main {
/*transform: translate3d(310px, 0, 0);*/
transition: left .3s;
left: 310px;
left: min(310px, 90vw);
position: relative;
z-index: 0;
}
@ -462,13 +562,13 @@
transition: left .3s;
position: fixed;
z-index: 1;
left: -310px;
width: 310px;
left: max(-310px, -90vw);
width: min(310px, 90vw);
height: 100%;
}
#root-shop .layout>aside.aside:after {
width: 0;
#root-shop .layout>aside.aside .gradient-bottom {
display: none;
}
#root-shop .layout>aside.aside + section.main {
@ -507,13 +607,16 @@
font-size: 1.5rem;
}
#root-shop .panel .control > .description,
#root-shop .panel .control > .crate-mode {
#root-shop .panel .control > .description {
width: 100%;
}
#root-shop .panel .control > .crate-mode {
#root-shop .panel .crate .crate-bar .crate-mode {
text-align: left;
width: 50%;
}
#root-shop .panel .crate .crate-bar .crate-mode a {
display: block;
}
#root-shop .panel .summary {
@ -521,15 +624,16 @@
}
#root-shop .panel .summary>.summary-price table {
font-size: .7rem;
font-size: .8rem;
}
#root-shop .panel .summary>.summary-form form {
#root-shop .panel .summary>.summary-form form,
#root-shop .panel .summary>.summary-form .order-bar {
width: 100%;
}
#root-shop .panel .summary>.summary-price tfoot {
font-size: .85rem;
font-size: 1rem;
}
/*#root-shop .panel .summary>.summary-form form input[type="submit"] {
@ -542,7 +646,6 @@
border-top-right-radius: 30px;
width: 80px;
padding: 5px 0 5px 10px;
margin-bottom: 15px;
margin-left: -1.3rem;
}
@ -559,7 +662,7 @@
}
#root-shop table tr {
padding: .8em 0;
padding: .2em 0;
display: flex !important;
justify-content: space-between;
}
@ -568,7 +671,7 @@
overflow: initial;
}
#root-shop .layout>aside.aside.menu-opened > .backlog-container {
#root-shop .layout>aside.aside.menu-opened > .catalog-container {
overflow-y: scroll;
height: 100%;
}
@ -576,4 +679,9 @@
#root-shop .panel .summary>.summary-form {
width: 100%;
}
#accordion_categories button {
font-size: 1.5rem;
padding: .5rem 0.5rem;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="376.04" height="42.13" viewBox="0 0 376.04 42.13"><path d="M7.64,40.93c-.86,0-1.9.06-2.89.12s-1.9.12-2.66.12c-.31,0-1.11,0-1.11-.61s.45-1,2.28-1.33C4.59,39,6,38.79,6,35.23V6.31c0-1.17-2.58-1-4.18-1.17C.43,5,0,5,0,4.34c0-1,1.66-1,2.4-1H8c1.54,0,3-.13,4.56-.19s3.32-.19,5.29-.19c12.91,0,23.36,6.4,23.36,21.22,0,9.22-8.49,16.79-19.06,16.79Zm3.69-7.69c0,4.31,3.88,6.22,7.87,6.22,4.8,0,16.23-4,16.23-16.48S24.12,4.77,16.5,4.77c-5,0-5.17,1.11-5.17,2Z" fill="#292f62"/><path d="M46.41,33.39c0-3.75.12-9.47.12-13.11,0-.86-1.05-1-1.77-1.16-1.48-.37-1.85-.5-1.85-.93s.67-.55,1.54-.55,1.72.12,2.66.12,1.78-.12,2.71-.12.92.3.92,1.16c0,5.48-.12,11-.12,16.44,0,2.52,1.85,3.94,4.86,3.94,6.83,0,7.32-2.9,7.39-5.42,0-4.37.12-8.8.12-13.17,0-.74-.31-.74-3.2-1.48-.49-.13-1.78-.5-1.78-1s.68-.49,1.34-.49c1,0,2.09.12,3.14.12,1.23,0,2.39-.12,3.63-.12a1.2,1.2,0,0,1,1.29,1.11v.18c0,6.22-.24,12.44-.24,18.65a1.42,1.42,0,0,0,1.59,1.48c2.4,0,3.21,0,3.21.62s-.31.62-1.23.74c-4.31.67-6.83,1.23-7.39,1.23s-.49-.45-.49-1V39.24c0-.49-.13-.74-.45-.74-1,0-3.63,3.63-8.61,3.63C48,42.13,46.41,38.63,46.41,33.39Z" fill="#292f62"/><path d="M77.18,6c0-3.26-3-2.22-3-3.38,0-.45.44-.56,1.29-.87L79.64.13a2.8,2.8,0,0,1,1-.12c.31,0,.68.18.68,1.1V26.39c0,.68.12,1,.55,1,.61,0,10-5.54,10-6.67,0-1.59-2.33-1.59-2.33-2.52,0-.3.49-.61.86-.61,1.29,0,3.13.12,4.73.12s3.39-.12,4.62-.12c.55,0,1.17.12,1.17.74s-2.16,1.1-3,1.47c-1.78.8-11.87,6.66-11.87,7.32a1.19,1.19,0,0,0,.49.86l10.66,9.66c2.52,2.27,4.86,2.09,4.86,2.95,0,.31-.61.61-1.6.61-1.29,0-2.89-.24-4.73-.24-1.6,0-3.08.24-4.56.24-1.29,0-1.84-.06-1.84-.61s.74-.74,1.78-.86c.61-.06,1.17-.45,1.17-.86s-.31-.62-.68-1l-9.29-8.78a1.2,1.2,0,0,0-.55-.36c-.25,0-.45.06-.45.3v8.74a1.88,1.88,0,0,0,1.34,2c1,.3,1.77.3,1.77.86s-.8.61-1.41.61c-1.47,0-2.77-.24-4.12-.24s-3.38.24-4.44.24c-.37,0-1.48-.06-1.48-.61s.5-.68,1.11-.86c1.72-.5,3-.31,3-2.9Z" fill="#292f62"/><path d="M106.17,26.7a9.67,9.67,0,0,0-.12,2.15c0,5.17,1.41,10.29,8.93,10.29,4.74,0,4.88-2.46,5.85-2.46a.5.5,0,0,1,.55.45v0c0,.44-2.59,4.93-9,4.93-6.78,0-10.66-4.81-10.66-12.51,0-5.77,3.55-13,11.21-13a9.22,9.22,0,0,1,9.49,8.69c0,1.11-.19,1.42-1.23,1.42Zm12.2-4.89c0-2.09-2-3.76-4.56-3.76-4.44,0-7.1,4.32-7.1,6.22,0,.45.12.56,5.36.56,5.44,0,6.3-.78,6.3-3Z" fill="#292f62"/><rect x="135.89" width="0.55" height="42.13" fill="#292f62"/><path d="M154.1,16.87h7.36c3.42,0,5.88.5,7.4,1.49a5.24,5.24,0,0,1,2.28,4.72A5.7,5.7,0,0,1,170,26.69a5,5,0,0,1-3.22,1.81v.17a6.44,6.44,0,0,1,3.84,1.94,5.89,5.89,0,0,1,1.23,3.93,6.35,6.35,0,0,1-2.33,5.23,10,10,0,0,1-6.48,1.89h-9Zm4.06,10.24h3.9a6.74,6.74,0,0,0,3.71-.8,3.09,3.09,0,0,0,1.17-2.74A2.74,2.74,0,0,0,165.68,21a7.91,7.91,0,0,0-4-.78h-3.51Zm0,3.29v7.85h4.3a6.32,6.32,0,0,0,3.84-1,3.59,3.59,0,0,0,1.3-3.08,3.28,3.28,0,0,0-1.32-2.87,7,7,0,0,0-4-.93Z" fill="#292f62"/><path d="M183.44,31.76v9.9h-4.05V16.87h7c3.2,0,5.56.6,7.1,1.8a6.44,6.44,0,0,1,2.31,5.42q0,4.64-4.82,6.6l7,11h-4.61l-5.93-9.9Zm0-3.36h2.81a6.4,6.4,0,0,0,4.1-1,3.81,3.81,0,0,0,1.28-3.12,3.36,3.36,0,0,0-1.38-3,7.5,7.5,0,0,0-4.13-.91h-2.68Z" fill="#292f62"/><path d="M225.57,29.23q0,6.06-3,9.41T214,42q-5.61,0-8.62-3.33t-3-9.47q0-6.14,3-9.43c2-2.19,4.89-3.29,8.64-3.29s6.53,1.11,8.54,3.34S225.57,25.18,225.57,29.23Zm-18.92,0c0,3.05.61,5.37,1.85,6.94a7.51,7.51,0,0,0,10.92,0q1.85-2.34,1.84-7c0-3-.6-5.35-1.82-6.92A6.45,6.45,0,0,0,214,20a6.6,6.6,0,0,0-5.51,2.35Q206.66,24.67,206.65,29.23Z" fill="#292f62"/><path d="M255.84,41.66h-4.41l-4.21-14.79c-.18-.64-.4-1.57-.67-2.79s-.44-2-.5-2.53c-.11.72-.29,1.66-.55,2.82s-.46,2-.63,2.57l-4.11,14.72h-4.4l-3.21-12.41L229.9,16.87H234l3.55,14.45a61,61,0,0,1,1.18,6.13c.13-1,.32-2,.56-3.22s.48-2.15.68-2.88l4-14.48h4l4.13,14.55a53,53,0,0,1,1.26,6,43.68,43.68,0,0,1,1.22-6.17l3.53-14.41h4.1Z" fill="#292f62"/><path d="M289.06,41.66h-5L271.91,21.91h-.14l.08,1.1q.24,3.15.24,5.76V41.66h-3.68V16.87h4.92l12.16,19.65h.1c0-.26-.07-1.2-.14-2.84s-.1-2.91-.1-3.82v-13h3.71Z" fill="#292f62"/><path d="M309.84,41.66V16.87h4.05V38.18h10.5v3.48Z" fill="#292f62"/><path d="M348,41.66l-2.47-6.88H336l-2.43,6.88H329.3l9.28-24.89H343l9.28,24.89Zm-3.54-10.38-2.32-6.75c-.17-.45-.41-1.16-.71-2.13s-.5-1.69-.62-2.14a36.68,36.68,0,0,1-1.34,4.56l-2.23,6.46Z" fill="#292f62"/><path d="M358.27,16.87h7.36c3.42,0,5.88.5,7.4,1.49a5.24,5.24,0,0,1,2.28,4.72,5.75,5.75,0,0,1-1.11,3.61A5,5,0,0,1,371,28.5v.17a6.44,6.44,0,0,1,3.84,1.94A5.89,5.89,0,0,1,376,34.54a6.35,6.35,0,0,1-2.33,5.23,10,10,0,0,1-6.48,1.89h-9Zm4.06,10.24h3.9a6.74,6.74,0,0,0,3.71-.8,3.09,3.09,0,0,0,1.17-2.74A2.74,2.74,0,0,0,369.85,21a7.91,7.91,0,0,0-4-.78h-3.51Zm0,3.29v7.85h4.3a6.32,6.32,0,0,0,3.84-1,3.59,3.59,0,0,0,1.3-3.08,3.28,3.28,0,0,0-1.32-2.87,7,7,0,0,0-4-.93Z" fill="#292f62"/></svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 128 128" height="128px" id="Layer_1" version="1.1" viewBox="0 0 128 128" width="128px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><path d="M127.744,46.594c-0.777-2.07-3.086-3.113-5.152-2.34L94.655,54.731L79.847,2.902 C79.354,1.184,77.784,0,75.999,0H52c-1.785,0-3.355,1.184-3.848,2.902L33.344,54.731L5.406,44.254 c-2.063-0.773-4.375,0.27-5.152,2.34c-0.773,2.07,0.273,4.375,2.34,5.152l30.421,11.408l27.32,62.447 c0.637,1.457,2.074,2.398,3.664,2.398s3.027-0.941,3.664-2.398l27.32-62.447l30.421-11.408 C127.471,50.969,128.518,48.664,127.744,46.594z M55.015,8h17.968l13.712,48H41.303L55.015,8z M63.999,114.016L42.117,64h43.765 L63.999,114.016z" fill="#81D4FA"/></g></g><path d="M95.999,8l23.999,40l-55.999,72L8,48L32,8H95.999L95.999,8 M95.999,0H32c-2.809,0-5.414,1.473-6.859,3.883 l-24,40c-1.699,2.836-1.484,6.422,0.543,9.027l55.999,72c1.516,1.949,3.848,3.09,6.316,3.09s4.801-1.141,6.316-3.09l55.999-72 c2.027-2.605,2.242-6.191,0.543-9.027l-23.999-40C101.413,1.473,98.808,0,95.999,0L95.999,0z" fill="#03A9F4"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 128 128" height="128px" id="Layer_1" version="1.1" viewBox="0 0 128 128" width="128px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><path d="M117.996,8.242C115.176,3.156,109.816,0,104,0H24c-5.816,0-11.176,3.156-13.996,8.242 c-2.816,5.086-2.656,11.305,0.43,16.234l11.605,18.57c1.809-2.055,3.742-3.992,5.832-5.766L17.215,20.234 c-1.539-2.461-1.621-5.57-0.215-8.109C18.41,9.578,21.094,8,24,8h80c2.906,0,5.59,1.578,6.996,4.117 c1.41,2.547,1.328,5.656-0.215,8.117l-10.656,17.047c2.09,1.773,4.027,3.711,5.836,5.766l11.605-18.57 C120.652,19.547,120.813,13.328,117.996,8.242z" fill="#F44336"/></g></g><path d="M64,56c13.234,0,24,10.766,24,24s-10.766,24-24,24S40,93.234,40,80S50.766,56,64,56 M64,48 c-17.672,0-32,14.328-32,32s14.328,32,32,32s32-14.328,32-32S81.672,48,64,48L64,48z" fill="#FFC107"/><path d="M64,40c22.055,0,40,17.945,40,40s-17.945,40-40,40s-40-17.945-40-40S41.945,40,64,40 M64,32 c-26.508,0-48,21.492-48,48s21.492,48,48,48s48-21.492,48-48S90.508,32,64,32L64,32z" fill="#FFA726"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
enable-background="new 0 0 128 128"
height="128px"
id="Layer_1"
version="1.1"
viewBox="0 0 128 128"
width="128px"
xml:space="preserve"
sodipodi:docname="728958_economy_finance_money_shopping_currency_icon.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1174" /><sodipodi:namedview
id="namedview1172"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="6.2578125"
inkscape:cx="64.0799"
inkscape:cy="64.1598"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1155" /><g
id="g1157"
style="display:inline"><g
id="g1155"><path
d="M 97.469,32 H 30.531 C 28.119,38.793 22.793,44.121 16,46.531 V 81.469 C 22.793,83.875 28.125,89.207 30.531,96 H 97.469 C 99.879,89.207 105.207,83.879 112,81.469 V 46.531 C 105.207,44.121 99.879,38.793 97.469,32 Z M 104,76.441 C 99.211,79.226 95.227,83.211 92.441,88 H 35.559 C 32.774,83.211 28.789,79.227 24,76.441 V 51.559 c 4.789,-2.785 8.773,-6.77 11.559,-11.559 19.783981,0 36.595699,0 56.882,0 2.785,4.789 6.77,8.773 11.559,11.559 z"
fill="#b0bec5"
id="path1153"
sodipodi:nodetypes="cccccccccccccccccc" /></g></g><path
d="m 64,48 c 8.824,0 16,7.176 16,16 0,8.824 -7.176,16 -16,16 -8.824,0 -16,-7.176 -16,-16 0,-8.824 7.176,-16 16,-16 m 0,-8 C 50.746,40 40,50.746 40,64 40,77.25 50.746,88 64,88 77.254,88 88,77.25 88,64 88,50.746 77.254,40 64,40 Z"
fill="#546e7a"
id="path1159"
style="display:inline" /><path
d="m 0,16 v 96 H 128 V 16 Z m 16,88 C 16,99.578 12.422,96 8,96 V 32 c 4.422,0 8,-3.578 8,-8 h 96 c 0,4.422 3.578,8 8,8 v 64 c -4.422,0 -8,3.578 -8,8 z"
fill="#546e7a"
id="path1161"
style="display:inline" /><path
d="m 20,40 c 2.211,0 4,-1.789 4,-4 0,-2.211 -1.789,-4 -4,-4 -2.211,0 -4,1.789 -4,4 0,2.211 1.789,4 4,4 z"
fill="#546e7a"
id="path1163"
style="display:inline" /><path
d="m 20,88 c -2.211,0 -4,1.789 -4,4 0,2.211 1.789,4 4,4 2.211,0 4,-1.789 4,-4 0,-2.211 -1.789,-4 -4,-4 z"
fill="#546e7a"
id="path1165"
style="display:inline" /><path
d="m 108,88 c -2.211,0 -4,1.789 -4,4 0,2.211 1.789,4 4,4 2.211,0 4,-1.789 4,-4 0,-2.211 -1.789,-4 -4,-4 z"
fill="#546e7a"
id="path1167"
style="display:inline" /><path
d="m 108,32 c -2.211,0 -4,1.789 -4,4 0,2.211 1.789,4 4,4 2.211,0 4,-1.789 4,-4 0,-2.211 -1.789,-4 -4,-4 z"
fill="#546e7a"
id="path1169"
style="display:inline" /></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 128 128" height="128px" id="Layer_1" version="1.1" viewBox="0 0 128 128" width="128px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><path d="M117.996,8.242C115.176,3.156,109.816,0,104,0H24c-5.816,0-11.176,3.156-13.996,8.242 c-2.816,5.086-2.656,11.305,0.43,16.234l11.605,18.57c1.809-2.055,3.742-3.992,5.832-5.766L17.215,20.234 c-1.539-2.461-1.621-5.57-0.215-8.109C18.41,9.578,21.094,8,24,8h80c2.906,0,5.59,1.578,6.996,4.117 c1.41,2.547,1.328,5.656-0.215,8.117l-10.656,17.047c2.09,1.773,4.027,3.711,5.836,5.766l11.605-18.57 C120.652,19.547,120.813,13.328,117.996,8.242z" fill="#F44336"/></g></g><path d="M64,56c13.234,0,24,10.766,24,24s-10.766,24-24,24S40,93.234,40,80S50.766,56,64,56 M64,48 c-17.672,0-32,14.328-32,32s14.328,32,32,32s32-14.328,32-32S81.672,48,64,48L64,48z" fill="#BDBDBD"/><path d="M64,40c22.055,0,40,17.945,40,40s-17.945,40-40,40s-40-17.945-40-40S41.945,40,64,40 M64,32 c-26.508,0-48,21.492-48,48s21.492,48,48,48s48-21.492,48-48S90.508,32,64,32L64,32z" fill="#616161"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
static/images/pdf-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 88 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -1,404 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="MCX_IDC" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="4609 147 180 500" enable-background="new 4609 147 180 500" xml:space="preserve">
<g id="Group_129_4_" transform="translate(364 434)">
<g id="Rectangle_1_17_" transform="translate(-364 -434)">
<rect x="4609" y="147" fill="#FFFFFF" width="180" height="500"/>
<rect x="4610" y="148" fill="none" stroke="#0D3547" stroke-width="2" width="178" height="498"/>
</g>
<g id="Group_17_7_" transform="translate(-22 -521)">
<circle id="Ellipse_6_17_" fill="#0D3547" cx="4429" cy="252" r="8"/>
<rect id="Rectangle_2_17_" x="4428" y="248" fill="#FFFFFF" width="2" height="8"/>
<rect id="Rectangle_3_17_" x="4425" y="251" fill="#FFFFFF" width="8" height="2"/>
</g>
<g id="Group_18_17_" transform="translate(-166 -521)">
<circle id="Ellipse_6-2_17_" fill="#0D3547" cx="4429" cy="252" r="8"/>
<rect id="Rectangle_2-2_17_" x="4428" y="248" fill="#FFFFFF" width="2" height="8"/>
<rect id="Rectangle_3-2_17_" x="4425" y="251" fill="#FFFFFF" width="8" height="2"/>
</g>
<g id="Group_75_6_" transform="translate(-22 -58)">
<circle id="Ellipse_6-3_8_" fill="#0D3547" cx="4429" cy="252" r="8"/>
<rect id="Rectangle_2-3_8_" x="4428" y="248" fill="#FFFFFF" width="2" height="8"/>
<rect id="Rectangle_3-3_8_" x="4425" y="251" fill="#FFFFFF" width="8" height="2"/>
</g>
<g id="Group_76_6_" transform="translate(-166 -58)">
<circle id="Ellipse_6-4_8_" fill="#0D3547" cx="4429" cy="252" r="8"/>
<rect id="Rectangle_2-4_8_" x="4428" y="248" fill="#FFFFFF" width="2" height="8"/>
<rect id="Rectangle_3-4_8_" x="4425" y="251" fill="#FFFFFF" width="8" height="2"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4388.4,63h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V63z"/>
<path fill="#0D3547" d="M4396,63h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2V63h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V63z"/>
<path fill="#0D3547" d="M4399.8,58.4c0.3,0,0.6,0,0.9,0.1s0.5,0.2,0.7,0.4s0.3,0.4,0.5,0.7c0.1,0.3,0.2,0.6,0.2,0.9
c0,0.4-0.1,0.7-0.2,1c-0.1,0.3-0.3,0.6-0.5,0.8c-0.2,0.2-0.5,0.4-0.9,0.5s-0.7,0.2-1.2,0.2c-0.2,0-0.4,0-0.5,0s-0.3,0-0.5-0.1
c-0.2,0-0.3-0.1-0.5-0.1s-0.3-0.1-0.4-0.2v-1.3c0.1,0.1,0.2,0.1,0.4,0.2c0.1,0.1,0.3,0.1,0.5,0.1c0.2,0,0.3,0.1,0.5,0.1
c0.2,0,0.3,0,0.5,0c0.4,0,0.8-0.1,1-0.3c0.2-0.2,0.3-0.5,0.3-0.9c0-0.4-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3
c-0.1,0-0.2,0-0.3,0s-0.2,0-0.3,0s-0.2,0-0.3,0.1c-0.1,0-0.2,0-0.2,0.1l-0.6-0.3l0.3-3.6h3.8v1.3h-2.5l-0.1,1.4
c0.1,0,0.2,0,0.4-0.1S4399.6,58.4,4399.8,58.4z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4314.4,63h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V63z"/>
<path fill="#0D3547" d="M4322,63h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2V63h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V63z"/>
<path fill="#0D3547" d="M4328.2,61.5h-0.9V63h-1.5v-1.5h-2.9v-1l3-4.6h1.4v4.5h0.9V61.5z M4325.8,60.3v-1.2c0,0,0-0.1,0-0.2
c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3s0-0.2,0-0.3s0-0.2,0-0.3c0-0.1,0-0.1,0-0.2h0c-0.1,0.1-0.1,0.3-0.2,0.4s-0.2,0.3-0.3,0.5
l-1.2,1.8H4325.8z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4388.4,135h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V135z"/>
<path fill="#0D3547" d="M4396,135h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2v3.4h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V135z"/>
<path fill="#0D3547" d="M4397.9,135l2.5-5.9h-3.3v-1.3h4.9v0.9l-2.6,6.2H4397.9z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4314.4,135h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V135z"/>
<path fill="#0D3547" d="M4322,135h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2v3.4h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V135z"/>
<path fill="#0D3547" d="M4323.2,132c0-0.3,0-0.7,0.1-1s0.1-0.7,0.2-1c0.1-0.3,0.2-0.6,0.4-0.9s0.4-0.5,0.6-0.7
c0.3-0.2,0.6-0.4,0.9-0.5c0.4-0.1,0.8-0.2,1.2-0.2c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.2,0c0.1,0,0.2,0,0.2,0s0.1,0,0.2,0v1.2
c-0.1,0-0.3-0.1-0.4-0.1c-0.1,0-0.3,0-0.4,0c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.5,0.3-0.7,0.5s-0.3,0.4-0.4,0.7s-0.1,0.6-0.1,0.9
h0.1c0.1-0.1,0.1-0.2,0.2-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.1,0.4-0.2s0.3-0.1,0.5-0.1c0.3,0,0.6,0.1,0.8,0.2
c0.2,0.1,0.5,0.2,0.6,0.4s0.3,0.4,0.4,0.7c0.1,0.3,0.1,0.6,0.1,1c0,0.4-0.1,0.7-0.2,1s-0.3,0.6-0.5,0.8c-0.2,0.2-0.4,0.4-0.7,0.5
c-0.3,0.1-0.6,0.2-1,0.2c-0.4,0-0.7-0.1-1-0.2c-0.3-0.1-0.6-0.3-0.8-0.6s-0.4-0.6-0.5-1C4323.3,133,4323.2,132.5,4323.2,132z
M4325.7,133.9c0.1,0,0.3,0,0.4-0.1c0.1-0.1,0.2-0.1,0.3-0.2c0.1-0.1,0.1-0.2,0.2-0.4s0.1-0.3,0.1-0.6c0-0.3-0.1-0.6-0.2-0.8
c-0.1-0.2-0.4-0.3-0.7-0.3c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.1-0.3,0.2s-0.2,0.2-0.2,0.3s-0.1,0.2-0.1,0.4c0,0.2,0,0.3,0.1,0.5
c0,0.2,0.1,0.3,0.2,0.4c0.1,0.1,0.2,0.2,0.3,0.3S4325.6,133.9,4325.7,133.9z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4388.4-83h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V-83z"/>
<path fill="#0D3547" d="M4396-83h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2v3.4h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V-83z"/>
<path fill="#0D3547" d="M4400.9-83h-1.5v-4.1c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.4c0-0.1,0-0.3,0-0.4s0-0.2,0-0.4c0,0,0,0-0.1,0.1
s-0.1,0.1-0.1,0.1c0,0-0.1,0.1-0.2,0.1c-0.1,0-0.1,0.1-0.2,0.1l-0.8,0.7l-0.7-0.9l2.3-1.8h1.2V-83z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4314.4-83h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V-83z"/>
<path fill="#0D3547" d="M4322-83h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2v3.4h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V-83z"/>
<path fill="#0D3547" d="M4328.1-86.6c0,0.6,0,1.1-0.1,1.5s-0.2,0.8-0.4,1.2s-0.5,0.6-0.8,0.7s-0.7,0.2-1.1,0.2
c-0.4,0-0.8-0.1-1.1-0.2c-0.3-0.2-0.6-0.4-0.8-0.7c-0.2-0.3-0.4-0.7-0.5-1.2s-0.1-1-0.1-1.5s0-1.1,0.1-1.5s0.2-0.8,0.4-1.2
s0.4-0.6,0.8-0.7c0.3-0.2,0.7-0.3,1.1-0.3c0.4,0,0.8,0.1,1.1,0.2c0.3,0.2,0.6,0.4,0.8,0.7s0.4,0.7,0.5,1.2
C4328-87.7,4328.1-87.2,4328.1-86.6z M4324.7-86.6c0,0.8,0.1,1.4,0.2,1.8c0.1,0.4,0.4,0.6,0.7,0.6c0.3,0,0.6-0.2,0.7-0.6
s0.2-1,0.2-1.8c0-0.8-0.1-1.4-0.2-1.8c-0.1-0.4-0.4-0.6-0.7-0.6c-0.2,0-0.3,0.1-0.4,0.2s-0.2,0.3-0.3,0.5
c-0.1,0.2-0.1,0.5-0.2,0.8C4324.7-87.3,4324.7-87,4324.7-86.6z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4388.4-11h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V-11z"/>
<path fill="#0D3547" d="M4396-11h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2v3.4h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V-11z"/>
<path fill="#0D3547" d="M4401.8-16.6c0,0.2,0,0.5-0.1,0.7c-0.1,0.2-0.2,0.4-0.3,0.5c-0.1,0.1-0.3,0.3-0.5,0.4
c-0.2,0.1-0.4,0.2-0.6,0.2v0c0.6,0.1,1,0.2,1.3,0.5c0.3,0.3,0.4,0.7,0.4,1.1c0,0.3-0.1,0.6-0.2,0.9c-0.1,0.3-0.3,0.5-0.5,0.7
s-0.5,0.3-0.9,0.5c-0.4,0.1-0.8,0.2-1.2,0.2c-0.4,0-0.7,0-1.1-0.1c-0.3-0.1-0.7-0.2-0.9-0.3v-1.3c0.1,0.1,0.3,0.1,0.5,0.2
c0.2,0.1,0.3,0.1,0.5,0.1c0.2,0,0.3,0.1,0.5,0.1s0.3,0,0.4,0c0.3,0,0.5,0,0.7-0.1s0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.3
c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0-0.3-0.1-0.4c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.3-0.1-0.5-0.2c-0.2,0-0.5-0.1-0.8-0.1h-0.5v-1.1
h0.5c0.3,0,0.5,0,0.7-0.1c0.2-0.1,0.4-0.1,0.5-0.2c0.1-0.1,0.2-0.2,0.3-0.3s0.1-0.3,0.1-0.4c0-0.3-0.1-0.5-0.2-0.6
s-0.4-0.2-0.8-0.2c-0.2,0-0.3,0-0.4,0c-0.1,0-0.3,0.1-0.4,0.1c-0.1,0-0.2,0.1-0.3,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l-0.8-1
c0.1-0.1,0.3-0.2,0.4-0.3s0.3-0.2,0.5-0.2c0.2-0.1,0.4-0.1,0.6-0.1c0.2,0,0.5-0.1,0.7-0.1c0.4,0,0.7,0,1,0.1
c0.3,0.1,0.5,0.2,0.7,0.3c0.2,0.1,0.4,0.3,0.5,0.5C4401.7-17.1,4401.8-16.8,4401.8-16.6z"/>
</g>
<g enable-background="new ">
<path fill="#0D3547" d="M4314.4-11h-3.2v-0.9l0.9-0.4v-4.6l-0.9-0.4v-0.9h3.2v0.9l-0.9,0.4v4.6l0.9,0.4V-11z"/>
<path fill="#0D3547" d="M4322-11h-1.9l-3.1-5.4h0c0.1,1,0.1,1.6,0.1,2v3.4h-1.4v-7.1h1.9l3.1,5.3h0c0-0.9-0.1-1.6-0.1-2v-3.4h1.4
V-11z"/>
<path fill="#0D3547" d="M4328.1-11h-4.8v-1l1.7-1.8c0.2-0.2,0.4-0.4,0.6-0.6c0.2-0.2,0.3-0.4,0.4-0.6c0.1-0.2,0.2-0.4,0.3-0.6
s0.1-0.4,0.1-0.6c0-0.2-0.1-0.4-0.2-0.6s-0.3-0.2-0.6-0.2c-0.3,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.5,0.3-0.7,0.5l-0.8-1
c0.1-0.1,0.3-0.3,0.5-0.4c0.2-0.1,0.3-0.2,0.5-0.3c0.2-0.1,0.4-0.2,0.6-0.2c0.2-0.1,0.5-0.1,0.8-0.1c0.3,0,0.6,0,0.9,0.1
s0.5,0.2,0.7,0.4c0.2,0.2,0.3,0.4,0.4,0.6s0.2,0.5,0.2,0.8c0,0.3,0,0.5-0.1,0.8c-0.1,0.3-0.2,0.5-0.4,0.8
c-0.2,0.2-0.4,0.5-0.6,0.7c-0.2,0.2-0.5,0.5-0.7,0.7l-0.9,0.9v0.1h2.9V-11z"/>
</g>
</g>
<g id="logo_17_">
<path fill="#1A6D93" d="M4708.8,196.2c0.4,0,0.7-0.3,0.7-0.7c0-0.4-0.3-0.7-0.7-0.7s-0.7,0.3-0.7,0.7
C4708,195.9,4708.4,196.2,4708.8,196.2z"/>
<path fill="#1A6D93" d="M4691.4,181.8l0.8,0.8c0,0,0,0,0.1,0c1.6-1.4,3.5-2.7,5.6-3.7c2.6-1.3,4.9-2,7-2.2c0.2,0,0.4,0,0.6,0
c0.7,0,1.3,0.1,1.9,0.4c0.6,0.3,0.9,0.8,0.9,1.5c0,0.5-0.2,1.1-0.5,1.6c-0.2,0.4-0.5,0.8-0.7,1.1c-0.1,0.2-0.2,0.3-0.3,0.5l0.8,0.8
c0.6-0.8,1.3-1.8,1.7-3c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0-0.1,0-0.2v-0.7c0,0,0,0,0,0c0,0,0-0.1,0-0.1c-0.2-1-0.7-1.7-1.7-2.1
c-0.6-0.3-1.3-0.4-1.9-0.4c-0.2,0-0.4,0-0.6,0c-1,0-1.9,0.1-3,0.4c-3.7,1-7.3,2.8-10.5,5.5c-0.1,0.1-0.2,0.2-0.3,0.2
C4691.5,181.8,4691.5,181.8,4691.4,181.8z"/>
<path fill="#1A6D93" d="M4693.7,179.1c0.2-0.2,0.5-0.3,0.7-0.4c0.3-0.2,0.4-0.4,0.4-0.6c0.3-1.6,0.8-2.9,1.4-4
c0.4-0.6,0.7-1.1,1.2-1.4c0.7-0.6,1.5-0.6,2.2,0c0.4,0.4,0.8,0.8,1.1,1.4c0.2,0.3,0.3,0.7,0.5,1c0.1,0.1,0.1,0.3,0.2,0.4l1.1-0.3
c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.4-0.4-0.9-0.7-1.3c-0.8-1.4-1.7-2.1-2.8-2.3h-0.7c-1,0.2-1.8,0.8-2.4,1.7
c-0.3,0.4-0.5,0.8-0.8,1.3c-0.6,1.2-1,2.5-1.3,4.2c-0.1,0.2-0.1,0.5-0.1,0.7c0,0.1,0,0.2-0.1,0.3
C4693.6,179.2,4693.6,179.1,4693.7,179.1z"/>
<path fill="#1A6D93" d="M4692.7,189.7c-0.3,0-0.5,0.1-0.7,0.1c-0.2,0-0.3,0-0.4,0c-0.6,0-1.1-0.1-1.5-0.2c-0.1,0-0.1,0-0.2-0.1
c-0.9-0.3-1.3-1-1.1-2c0.2-0.9,0.6-1.6,1.1-2.3c0.1-0.1,0.2-0.3,0.3-0.4c0-0.1,0.1-0.1,0.1-0.2l-0.8-0.8c-0.6,0.7-1.3,1.8-1.7,3
c-0.3,0.9-0.2,1.8,0.2,2.5c0.4,0.7,1.1,1.2,2.1,1.4c0.5,0.1,1,0.2,1.6,0.2c0.3,0,0.6,0,1-0.1c0.2,0,0.4,0,0.6-0.1
c0.1,0,0.2,0,0.2,0l-0.3-1.1C4692.9,189.7,4692.8,189.7,4692.7,189.7z"/>
<path fill="#1A6D93" d="M4691.5,189.8c0.1,0,0.3,0,0.4,0C4691.8,189.8,4691.7,189.8,4691.5,189.8z"/>
<path fill="#1A6D93" d="M4690,189.6c0.4,0.1,0.9,0.2,1.5,0.2C4691,189.8,4690.5,189.7,4690,189.6z"/>
<path fill="#1A6D93" d="M4691.6,190.9c-0.6,0-1.1-0.1-1.6-0.2C4690.5,190.9,4691,190.9,4691.6,190.9z"/>
<path fill="#1A6D93" d="M4692.5,190.9c-0.4,0-0.7,0.1-1,0.1C4691.9,190.9,4692.2,190.9,4692.5,190.9z"/>
<path fill="#1A6D93" d="M4701.5,179.9c0-0.3-0.1-0.7-0.2-1c0-0.2-0.5-0.5-0.7-0.5c0,0,0,0,0,0c-0.3,0.1-0.7,0.3-1,0.4
c-0.1,0.1-0.2,0.1-0.3,0.1l2.2,1.3L4701.5,179.9z"/>
<path fill="#1A6D93" d="M4694.3,181.9C4694.3,181.9,4694.3,181.9,4694.3,181.9c-0.1,0.1-0.2,0.1-0.2,0.2c-0.2,0.2-0.4,0.4-0.7,0.5
c-0.2,0.2-0.3,0.3-0.3,0.6c0,0.1,0,0.1,0,0.2c0,0.1,0,0.2,0,0.2c0.3,0.2,0.6,0.5,0.9,0.7c0,0,0.1,0.1,0.2,0.1c0,0,0,0,0.1,0.1
c0,0,0,0,0,0L4694.3,181.9C4694.3,181.9,4694.3,181.9,4694.3,181.9z"/>
<path fill="#1A6D93" d="M4696.4,177.5L4696.4,177.5c0.3-0.1,0.6-0.3,0.8-0.4l0.3-0.2l-1.4-0.5l-0.3,1.1c0.1,0.1,0.2,0.1,0.3,0.1
c0,0,0.1,0,0.2-0.1C4696.4,177.5,4696.4,177.5,4696.4,177.5z"/>
<path fill="#1A6D93" d="M4696.3,177.5C4696.4,177.5,4696.4,177.5,4696.3,177.5l0.1-0.1L4696.3,177.5
C4696.4,177.5,4696.4,177.5,4696.3,177.5z"/>
<path fill="#1A6D93" d="M4705.6,184.7l-0.8-0.8c-0.1,0.2-0.2,1.1-0.1,1.6L4705.6,184.7z"/>
<path fill="#1A6D93" d="M4696,189C4695.9,189,4695.9,189,4696,189c-0.1,0-0.1,0.1-0.1,0.1c0.1,0.3,0.1,0.5,0.2,0.8l0.1,0.2l1.2-0.4
l-0.2-0.1C4696.7,189.4,4696.4,189.2,4696,189C4696,189,4696,189,4696,189z"/>
<path fill="#1A6D93" d="M4698.5,184c0.4,0,0.7-0.3,0.7-0.7c0-0.4-0.3-0.7-0.7-0.7c-0.4,0-0.7,0.3-0.7,0.7
C4697.8,183.6,4698.1,184,4698.5,184z"/>
<path fill="#0D3547" d="M4708.4,196.5l1.2-0.2l0.4-1.1l-0.8-0.9l-1.2,0.2l-0.4,1.1L4708.4,196.5 M4697.9,185l1.8-0.3l0.6-1.7
l-1.2-1.4l-1.8,0.3l-0.6,1.7L4697.9,185 M4698.5,180.4c0.8,0,1.7,0.4,2.2,1c0.5,0.7,0.8,1.5,0.6,2.3c0.1,0.4,0.3,1.1,1.3,2.3
c0,0,3.2,4.1,5.4,6.9c0.1,0.1,0.5,0.6,1,0.7c0.4,0.1,0.8,0.3,1,0.6c0.6,0.8,0.5,1.9-0.2,2.5c-0.3,0.3-0.8,0.4-1.2,0.4
c-0.5,0-1-0.2-1.4-0.7c-0.3-0.3-0.4-0.7-0.4-1l0,0c0,0,0-0.1,0-0.1c0-0.4-0.4-1-0.6-1.2l-5.9-6.4c-1-1.2-1.7-1.6-2-1.7
c-0.8,0-1.6-0.4-2.1-1c-1-1.2-0.9-3,0.4-4.1C4697.2,180.6,4697.9,180.4,4698.5,180.4"/>
<path fill="#1A6D93" d="M4700.3,188.7L4700.3,188.7c-1.9-0.7-3.9-1.7-5.7-3c-2-1.3-3.4-2.6-4.5-4.1c-0.7-0.9-1.1-1.7-1.3-2.4
c-0.2-0.9,0-1.6,0.7-2c0.2-0.1,0.4-0.2,0.6-0.2c0.6-0.2,1.3-0.2,2-0.2c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0l0.3,0l0.3-1.1
c-0.1,0-0.2,0-0.2,0c-0.2,0-0.4-0.1-0.6-0.1c-0.4,0-0.7-0.1-1-0.1c-0.7,0-1.3,0.1-1.9,0.3c-1.2,0.4-1.8,1.1-2.1,2.1
c-0.2,0.7,0,1.5,0.3,2.4c0.5,1.1,1.2,2.2,2.4,3.4c2.5,2.6,5.6,4.5,9.3,6c0.3,0.1,0.5,0.2,0.8,0.3c0.1,0,0.2,0.1,0.4,0.1l0.2-0.7
L4700.3,188.7z"/>
<path fill="#1A6D93" d="M4709.4,187.6C4709.4,187.6,4709.4,187.6,4709.4,187.6c-0.1-0.7-0.3-1.4-0.7-2.1c-0.6-1.1-1.5-2.2-2.7-3.4
c-0.3-0.3-0.6-0.6-0.9-0.8c-0.1-0.1-0.3-0.2-0.4-0.4v0c0,0,0,0,0,0.1l0,0.3c0,0.4,0,0.7,0.1,1.1c0,0.1,0,0.1,0.1,0.2
c0.2,0.2,0.4,0.3,0.5,0.5c0.3,0.3,0.6,0.6,0.9,0.9c0.9,1,1.5,1.9,1.9,2.9c0.2,0.5,0.2,0.9,0.2,1.2c-0.1,0.6-0.5,1.1-1.2,1.3
c-0.2,0.1-0.4,0.1-0.6,0.2l0.8,1c0.1,0,0.3-0.1,0.4-0.1c1-0.4,1.6-1,1.8-2l0.1-0.3V187.6C4709.4,187.6,4709.4,187.6,4709.4,187.6z"
/>
<path fill="#1A6D93" d="M4702.2,178.2c0,0.4,0.1,0.8,0.2,1.2c0.1,0.9,0.2,1.8,0.3,2.7c0.1,0.9,0.1,1.8,0,2.7l1,1.3
c0-0.3,0-0.5,0.1-0.8c0.2-2,0.1-4-0.2-5.9c-0.1-0.4-0.1-0.8-0.2-1.2c0-0.2-0.1-0.4-0.1-0.5l-1.1,0.3c0,0,0,0,0,0.1
C4702.1,178.1,4702.2,178.1,4702.2,178.2z"/>
<path fill="#1A6D93" d="M4701.7,190.2c-0.2,0.6-0.4,1.1-0.6,1.7c-0.3,0.7-0.7,1.4-1.4,2c-0.7,0.6-1.5,0.6-2.3,0
c-0.5-0.4-0.9-0.9-1.3-1.7c-0.5-1-0.9-2.2-1.3-3.7l0,0c0-0.1,0-0.2-0.1-0.2c-0.3-0.2-0.7-0.4-1-0.7c-0.1-0.1-0.2-0.1-0.3-0.2
c0,0.1,0,0.2,0,0.2c0,0.2,0.1,0.4,0.1,0.6c0.4,2,0.9,3.4,1.6,4.7c0.6,1.1,1.4,2.2,3,2.6h0.7c1.4-0.3,2.2-1.3,2.8-2.3
c0.2-0.3,0.3-0.5,0.4-0.8c0.2-0.4,0.4-0.8,0.5-1.3L4701.7,190.2z"/>
<g>
<path fill="#0D3547" d="M4686,213.4c-0.6,0-1.2-0.2-1.6-0.6c-0.3-0.3-0.4-0.6-0.4-1h1.1c0,0.3,0.5,0.5,0.9,0.5l0,0
c0.2,0,0.4,0,0.5-0.1c0.2-0.1,0.3-0.2,0.3-0.4c0-0.4-0.5-0.5-1-0.5c-1.2-0.1-1.7-0.5-1.7-1.5c0-0.4,0.1-0.7,0.4-1
c0.3-0.3,0.9-0.5,1.4-0.5c0.6,0,1.1,0.2,1.4,0.5c0.3,0.3,0.4,0.6,0.4,1h-1.1c0-0.3-0.4-0.5-0.7-0.5c-0.4,0-0.7,0.2-0.8,0.5
c0,0.5,0.5,0.5,0.8,0.6c1.1,0.1,1.9,0.3,1.9,1.4c0,0.5-0.2,0.9-0.6,1.1C4686.9,213.3,4686.5,213.4,4686,213.4L4686,213.4z"/>
<polygon fill="#0D3547" points="4688.9,213.3 4688.9,212.3 4689.6,212.3 4689.6,209.4 4689,209.4 4689,208.4 4691.3,208.4
4691.3,209.4 4690.7,209.4 4690.7,212.3 4691.4,212.3 4691.4,213.3 "/>
<polygon fill="#0D3547" points="4696.5,213.3 4693.9,210.8 4693.9,213.3 4692.7,213.3 4692.7,208.4 4693.1,208.4 4695.7,210.9
4695.7,208.4 4696.9,208.4 4696.9,213.3 "/>
<path fill="#0D3547" d="M4701.8,213.3l-0.3-0.6h-2l-0.3,0.6h-1.2v-0.1l2.2-4.8h0.5l2.2,4.8v0.1H4701.8z M4699.8,211.7h1.3
l-0.7-1.5L4699.8,211.7z"/>
<path fill="#0D3547" d="M4706.9,213.3l-0.8-1.5h-0.7v1.5h-1.2v-4.8h2.1c0.8,0,1.4,0.4,1.6,1.2c0.2,0.7,0,1.5-0.6,1.9l0,0l1,1.6
v0.1H4706.9z M4705.3,210.8h1c0.4,0,0.6-0.3,0.6-0.7c0-0.3-0.2-0.7-0.6-0.7c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.3,0
c-0.1,0-0.2,0-0.3,0h-0.1V210.8z"/>
<path fill="#0D3547" d="M4712.8,213.3l-0.3-0.6h-2l-0.3,0.6h-1.2v-0.1l2.2-4.8h0.5l2.2,4.8v0.1H4712.8z M4710.9,211.7h1.3
l-0.7-1.5L4710.9,211.7z"/>
</g>
<g>
<path fill="#0D3547" d="M4688.9,203.7l0.7-1.5l0.7,1.5H4688.9z M4689.4,200.4l-2.2,4.9v0.1h1.1l0.3-0.7h2l0.3,0.7h1.1v-0.1
l-2.2-4.9H4689.4z"/>
<path fill="#0D3547" d="M4695.3,202.9h-1v-1.4h0.1c0.1,0,0.2,0,0.3,0c0.2,0,0.4,0,0.6,0c0.4,0,0.6,0.4,0.6,0.7
C4695.9,202.6,4695.7,202.9,4695.3,202.9z M4696.3,203.6c0.6-0.4,0.9-1.2,0.6-1.9c-0.2-0.7-0.8-1.2-1.7-1.2h-2.1v4.9h1.1v-1.5h0.8
l0.9,1.5h1.3v-0.1L4696.3,203.6L4696.3,203.6z"/>
<polygon fill="#0D3547" points="4699.2,201.5 4699.2,205.4 4700.4,205.4 4700.4,201.5 4701.6,201.5 4701.6,200.5 4698,200.5
4698,201.5 "/>
<polygon fill="#0D3547" points="4702.5,200.5 4702.5,201.5 4703.1,201.5 4703.1,204.4 4702.4,204.4 4702.4,205.4 4704.8,205.4
4704.8,204.4 4704.2,204.4 4704.2,201.5 4704.8,201.5 4704.8,200.5 "/>
<path fill="#0D3547" d="M4708.3,204.4c-0.6,0-1.3-0.5-1.3-1.5c0-1,0.7-1.4,1.3-1.4c0.6,0,1.3,0.5,1.3,1.4
C4709.7,204,4709,204.4,4708.3,204.4z M4710.4,204.4c0.3-0.4,0.4-0.9,0.4-1.5c0-1.7-1.3-2.5-2.5-2.5s-2.5,0.8-2.5,2.5
c0,1.7,1.3,2.5,2.5,2.5c0.4,0,0.9-0.1,1.2-0.3l0.1,0l0.1,0.3h1.2v-0.1L4710.4,204.4L4710.4,204.4z"/>
</g>
</g>
<g>
<path fill="#715EC7" d="M4692.1,234.4c0.2,0,0.5,0,0.7,0.1s0.4,0.2,0.6,0.3s0.3,0.3,0.4,0.5c0.1,0.2,0.1,0.5,0.1,0.7
c0,0.3,0,0.6-0.1,0.8c-0.1,0.2-0.2,0.5-0.4,0.6s-0.4,0.3-0.7,0.4s-0.6,0.1-1,0.1c-0.1,0-0.3,0-0.4,0s-0.3,0-0.4-0.1
s-0.3-0.1-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.1v-1c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.4,0.1s0.3,0.1,0.4,0.1c0.1,0,0.3,0,0.4,0
c0.3,0,0.6-0.1,0.8-0.2c0.2-0.1,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.6c-0.2-0.1-0.5-0.2-0.8-0.2c-0.1,0-0.1,0-0.2,0
c-0.1,0-0.2,0-0.2,0s-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0l-0.5-0.3l0.2-2.9h3v1h-2l-0.1,1.1c0.1,0,0.2,0,0.3-0.1
C4691.8,234.4,4691.9,234.4,4692.1,234.4z"/>
<path fill="#715EC7" d="M4696.5,234.4c0.2,0,0.5,0,0.7,0.1s0.4,0.2,0.6,0.3s0.3,0.3,0.4,0.5c0.1,0.2,0.1,0.5,0.1,0.7
c0,0.3,0,0.6-0.1,0.8c-0.1,0.2-0.2,0.5-0.4,0.6s-0.4,0.3-0.7,0.4s-0.6,0.1-1,0.1c-0.1,0-0.3,0-0.4,0s-0.3,0-0.4-0.1
s-0.3-0.1-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.1v-1c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.4,0.1s0.3,0.1,0.4,0.1c0.1,0,0.3,0,0.4,0
c0.3,0,0.6-0.1,0.8-0.2c0.2-0.1,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.6c-0.2-0.1-0.5-0.2-0.8-0.2c-0.1,0-0.1,0-0.2,0
c-0.1,0-0.2,0-0.2,0s-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0l-0.5-0.3l0.2-2.9h3v1h-2l-0.1,1.1c0.1,0,0.2,0,0.3-0.1
C4696.2,234.4,4696.3,234.4,4696.5,234.4z"/>
<path fill="#715EC7" d="M4702.5,233.6c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.3,0.4c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.2v0c0.5,0.1,0.8,0.2,1,0.4c0.2,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.7s-0.2,0.4-0.4,0.6
c-0.2,0.2-0.4,0.3-0.7,0.4c-0.3,0.1-0.6,0.1-1,0.1c-0.3,0-0.6,0-0.9-0.1c-0.3-0.1-0.5-0.1-0.8-0.2v-1c0.1,0.1,0.2,0.1,0.4,0.2
c0.1,0,0.3,0.1,0.4,0.1c0.1,0,0.3,0.1,0.4,0.1c0.1,0,0.2,0,0.4,0c0.2,0,0.4,0,0.6-0.1s0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.3
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.4-0.2c-0.2,0-0.4-0.1-0.6-0.1h-0.4v-0.8h0.4
c0.2,0,0.4,0,0.6-0.1c0.2,0,0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.3s0.1-0.2,0.1-0.3c0-0.2-0.1-0.4-0.2-0.5
c-0.1-0.1-0.3-0.2-0.6-0.2c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.1,0.1-0.2,0.1l-0.6-0.8
c0.1-0.1,0.2-0.2,0.4-0.2s0.3-0.1,0.4-0.2c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.6,0c0.3,0,0.5,0,0.8,0.1s0.4,0.1,0.6,0.3
s0.3,0.3,0.4,0.4S4702.5,233.4,4702.5,233.6z"/>
<path fill="#715EC7" d="M4705.2,232.3c0.2,0,0.5,0,0.7,0.1s0.4,0.1,0.6,0.3c0.2,0.1,0.3,0.3,0.4,0.4s0.1,0.4,0.1,0.6
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c0.2,0.1,0.3,0.2,0.4,0.3
s0.3,0.2,0.4,0.3c0.1,0.1,0.2,0.3,0.3,0.4c0.1,0.2,0.1,0.3,0.1,0.5c0,0.2,0,0.5-0.1,0.6s-0.2,0.4-0.4,0.5c-0.2,0.1-0.4,0.2-0.6,0.3
c-0.2,0.1-0.5,0.1-0.8,0.1c-0.3,0-0.6,0-0.8-0.1c-0.2-0.1-0.4-0.2-0.6-0.3s-0.3-0.3-0.4-0.5c-0.1-0.2-0.1-0.4-0.1-0.6
c0-0.2,0-0.4,0.1-0.5c0.1-0.2,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3s0.3-0.2,0.4-0.3c-0.1-0.1-0.2-0.2-0.4-0.3
c-0.1-0.1-0.2-0.2-0.3-0.3s-0.1-0.2-0.2-0.4c0-0.1-0.1-0.3-0.1-0.5c0-0.2,0-0.4,0.1-0.6c0.1-0.2,0.2-0.3,0.4-0.4
c0.2-0.1,0.3-0.2,0.6-0.3S4705,232.3,4705.2,232.3z M4704.4,236.6c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2s0.1,0.1,0.2,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.3,0,0.5-0.1,0.6-0.2c0.1-0.1,0.2-0.3,0.2-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.2l-0.1-0.1c-0.1,0.1-0.2,0.1-0.3,0.2s-0.2,0.1-0.2,0.2s-0.1,0.2-0.2,0.3
C4704.4,236.4,4704.4,236.5,4704.4,236.6z M4705.2,233.2c-0.1,0-0.2,0-0.2,0s-0.1,0.1-0.2,0.1c-0.1,0-0.1,0.1-0.1,0.2s0,0.2,0,0.2
c0,0.1,0,0.2,0,0.3c0,0.1,0.1,0.1,0.1,0.2c0.1,0.1,0.1,0.1,0.2,0.2s0.2,0.1,0.2,0.1c0.1,0,0.2-0.1,0.2-0.1c0.1,0,0.1-0.1,0.2-0.2
c0.1-0.1,0.1-0.1,0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2,0-0.2s-0.1-0.1-0.1-0.2s-0.1-0.1-0.2-0.1
C4705.4,233.2,4705.3,233.2,4705.2,233.2z"/>
<path fill="#715EC7" d="M4667.4,247.7l-1.4-4.5h0c0,0.9,0.1,1.5,0.1,1.8v2.7h-1.1V242h1.6l1.4,4.4h0l1.4-4.4h1.6v5.7h-1.1V245
c0-0.1,0-0.3,0-0.4s0-0.6,0.1-1.3h0l-1.5,4.5H4667.4z"/>
<path fill="#715EC7" d="M4674.9,242.9c-0.5,0-0.8,0.2-1.1,0.5s-0.4,0.8-0.4,1.4c0,1.3,0.5,1.9,1.4,1.9c0.4,0,0.9-0.1,1.5-0.3v1
c-0.5,0.2-1,0.3-1.6,0.3c-0.8,0-1.5-0.3-1.9-0.8c-0.4-0.5-0.7-1.2-0.7-2.2c0-0.6,0.1-1.1,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1
c0.4-0.2,0.9-0.4,1.4-0.4c0.6,0,1.1,0.1,1.7,0.4l-0.4,1c-0.2-0.1-0.4-0.2-0.6-0.3C4675.3,242.9,4675.1,242.9,4674.9,242.9z"/>
<path fill="#715EC7" d="M4682.2,247.7h-1.4l-1.3-2.2l-1.3,2.2h-1.3l1.9-2.9l-1.8-2.8h1.3l1.2,2.1l1.2-2.1h1.3l-1.8,2.8
L4682.2,247.7z"/>
<path fill="#715EC7" d="M4682.6,245.8v-1h2.1v1H4682.6z"/>
<path fill="#715EC7" d="M4688,247.7h-2.6V247l0.7-0.3V243l-0.7-0.3V242h2.6v0.7l-0.7,0.3v3.7l0.7,0.3V247.7z"/>
<path fill="#715EC7" d="M4693.7,244.8c0,0.9-0.3,1.7-0.8,2.2s-1.3,0.8-2.3,0.8h-1.6V242h1.8c0.9,0,1.7,0.2,2.2,0.7
S4693.7,243.9,4693.7,244.8z M4692.4,244.8c0-1.2-0.5-1.8-1.6-1.8h-0.6v3.7h0.5C4691.8,246.7,4692.4,246.1,4692.4,244.8z"/>
<path fill="#715EC7" d="M4697.3,242.9c-0.5,0-0.8,0.2-1.1,0.5s-0.4,0.8-0.4,1.4c0,1.3,0.5,1.9,1.4,1.9c0.4,0,0.9-0.1,1.5-0.3v1
c-0.5,0.2-1,0.3-1.6,0.3c-0.8,0-1.5-0.3-1.9-0.8c-0.4-0.5-0.7-1.2-0.7-2.2c0-0.6,0.1-1.1,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1
c0.4-0.2,0.9-0.4,1.4-0.4c0.6,0,1.1,0.1,1.7,0.4l-0.4,1c-0.2-0.1-0.4-0.2-0.6-0.3C4697.7,242.9,4697.5,242.9,4697.3,242.9z"/>
<path fill="#715EC7" d="M4704.7,247.7l-0.2-0.6h0c-0.2,0.3-0.4,0.4-0.6,0.5c-0.2,0.1-0.5,0.1-0.8,0.1c-0.4,0-0.8-0.1-1-0.4
c-0.2-0.2-0.4-0.6-0.4-1c0-0.5,0.2-0.8,0.5-1s0.8-0.3,1.5-0.4l0.8,0v-0.2c0-0.4-0.2-0.7-0.7-0.7c-0.3,0-0.8,0.1-1.2,0.3l-0.4-0.8
c0.5-0.3,1.1-0.4,1.7-0.4c0.6,0,1,0.1,1.3,0.4s0.5,0.6,0.5,1.2v2.9H4704.7z M4704.4,245.7l-0.5,0c-0.3,0-0.6,0.1-0.8,0.2
c-0.2,0.1-0.3,0.3-0.3,0.5c0,0.3,0.2,0.5,0.6,0.5c0.3,0,0.5-0.1,0.7-0.2c0.2-0.2,0.2-0.4,0.2-0.6V245.7z"/>
<path fill="#715EC7" d="M4708.2,247.8c-0.5,0-0.9-0.2-1.2-0.6s-0.4-1-0.4-1.7c0-0.7,0.1-1.3,0.4-1.7c0.3-0.4,0.7-0.6,1.2-0.6
c0.5,0,1,0.2,1.3,0.6h0c-0.1-0.3-0.1-0.6-0.1-0.9v-1.4h1.2v6.1h-0.9l-0.2-0.6h-0.1C4709.1,247.5,4708.7,247.8,4708.2,247.8z
M4708.6,246.8c0.3,0,0.5-0.1,0.7-0.3c0.1-0.2,0.2-0.5,0.2-0.9v-0.1c0-0.5-0.1-0.8-0.2-1s-0.4-0.3-0.7-0.3c-0.3,0-0.5,0.1-0.6,0.3
c-0.1,0.2-0.2,0.6-0.2,1s0.1,0.8,0.2,1S4708.3,246.8,4708.6,246.8z"/>
<path fill="#715EC7" d="M4714.6,247.7l-0.2-0.6h0c-0.2,0.3-0.4,0.4-0.6,0.5c-0.2,0.1-0.5,0.1-0.8,0.1c-0.4,0-0.8-0.1-1-0.4
c-0.2-0.2-0.4-0.6-0.4-1c0-0.5,0.2-0.8,0.5-1s0.8-0.3,1.5-0.4l0.8,0v-0.2c0-0.4-0.2-0.7-0.7-0.7c-0.3,0-0.8,0.1-1.2,0.3l-0.4-0.8
c0.5-0.3,1.1-0.4,1.7-0.4c0.6,0,1,0.1,1.3,0.4s0.5,0.6,0.5,1.2v2.9H4714.6z M4714.3,245.7l-0.5,0c-0.3,0-0.6,0.1-0.8,0.2
c-0.2,0.1-0.3,0.3-0.3,0.5c0,0.3,0.2,0.5,0.6,0.5c0.3,0,0.5-0.1,0.7-0.2c0.2-0.2,0.2-0.4,0.2-0.6V245.7z"/>
<path fill="#715EC7" d="M4719.1,247.8c-0.5,0-0.9-0.2-1.2-0.6h-0.1c0,0.4,0.1,0.6,0.1,0.6v1.8h-1.2v-6.3h1l0.2,0.6h0.1
c0.3-0.4,0.7-0.6,1.2-0.6c0.5,0,0.9,0.2,1.2,0.6c0.3,0.4,0.4,1,0.4,1.7c0,0.5-0.1,0.9-0.2,1.2s-0.3,0.6-0.6,0.8
C4719.7,247.7,4719.4,247.8,4719.1,247.8z M4718.7,244.2c-0.3,0-0.5,0.1-0.6,0.3c-0.1,0.2-0.2,0.5-0.2,0.9v0.1c0,0.5,0.1,0.8,0.2,1
c0.1,0.2,0.4,0.3,0.7,0.3c0.5,0,0.8-0.4,0.8-1.3c0-0.4-0.1-0.8-0.2-1C4719.2,244.3,4719,244.2,4718.7,244.2z"/>
<path fill="#715EC7" d="M4723.6,246.8c0.2,0,0.5,0,0.8-0.1v0.9c-0.3,0.1-0.7,0.2-1.1,0.2c-0.5,0-0.8-0.1-1-0.4
c-0.2-0.2-0.3-0.6-0.3-1.1v-2.1h-0.6v-0.5l0.7-0.4l0.3-0.9h0.8v0.9h1.2v0.9h-1.2v2.1c0,0.2,0,0.3,0.1,0.4
C4723.3,246.8,4723.4,246.8,4723.6,246.8z"/>
<path fill="#715EC7" d="M4727.2,247.8c-0.7,0-1.3-0.2-1.6-0.6c-0.4-0.4-0.6-0.9-0.6-1.6c0-0.7,0.2-1.3,0.5-1.7
c0.4-0.4,0.9-0.6,1.5-0.6c0.6,0,1.1,0.2,1.4,0.5s0.5,0.8,0.5,1.5v0.6h-2.8c0,0.3,0.1,0.6,0.3,0.8s0.5,0.3,0.8,0.3
c0.3,0,0.5,0,0.7-0.1s0.5-0.1,0.7-0.3v0.9c-0.2,0.1-0.4,0.2-0.7,0.2C4727.8,247.7,4727.5,247.8,4727.2,247.8z M4727,244.1
c-0.3,0-0.5,0.1-0.6,0.2c-0.1,0.2-0.2,0.4-0.2,0.7h1.7c0-0.3-0.1-0.5-0.2-0.7S4727.3,244.1,4727,244.1z"/>
<path fill="#715EC7" d="M4732.4,243.2c0.2,0,0.3,0,0.4,0l-0.1,1.1c-0.1,0-0.2,0-0.4,0c-0.4,0-0.7,0.1-0.9,0.3
c-0.2,0.2-0.3,0.5-0.3,0.8v2.2h-1.2v-4.4h0.9l0.2,0.7h0.1c0.1-0.2,0.3-0.4,0.5-0.6S4732.1,243.2,4732.4,243.2z"/>
</g>
<g id="Layer_21">
<g id="Group_2_10_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="167.1" y="6466.1" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_10_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M409.1,6162.8c-3.1,0-6-1.2-8.2-3.4c-2.2-2.2-3.4-5.1-3.4-8.2c0-3.1,1.2-6,3.4-8.2
c2.2-2.2,5.1-3.4,8.2-3.4c3.1,0,6,1.2,8.2,3.4c2.2,2.2,3.4,5.1,3.4,8.2c0,3.1-1.2,6-3.4,8.2
C415.2,6161.6,412.2,6162.8,409.1,6162.8z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M397.2,6151.1L397.2,6151.1
c0-6.6,5.4-11.9,11.9-11.9h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9h0C402.6,6163,397.2,6157.7,397.2,6151.1z"/>
</g>
<g id="Path_2_10_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M402.1,6148.9c-2.6,0-4.8-2.1-4.8-4.8c0-2.6,2.1-4.8,4.8-4.8c2.6,0,4.8,2.1,4.8,4.8
C406.9,6146.7,404.7,6148.9,402.1,6148.9z"/>
<path fill="#0D3547" d="M402.1,6142.1c-1.1,0-2,0.9-2,2c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C404.1,6143,403.2,6142.1,402.1,6142.1
L402.1,6142.1z M402.1,6136.6c4.1,0,7.5,3.4,7.5,7.5c0,4.1-3.4,7.5-7.5,7.5c-4.1,0-7.5-3.4-7.5-7.5
C394.6,6140,398,6136.6,402.1,6136.6z"/>
</g>
</g>
<g id="Group_2_11_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="166.9" y="6540.2" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_11_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M408.9,6236.9c-3.1,0-6-1.2-8.2-3.4c-2.2-2.2-3.4-5.1-3.4-8.2s1.2-6,3.4-8.2c2.2-2.2,5.1-3.4,8.2-3.4
c3.1,0,6,1.2,8.2,3.4c2.2,2.2,3.4,5.1,3.4,8.2s-1.2,6-3.4,8.2C414.9,6235.7,412,6236.9,408.9,6236.9z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M397,6225.2L397,6225.2c0-6.6,5.4-11.9,11.9-11.9
h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9h0C402.3,6237.1,397,6231.8,397,6225.2z"/>
</g>
<g id="Path_2_11_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M401.9,6223c-2.6,0-4.8-2.1-4.8-4.8c0-2.6,2.1-4.8,4.8-4.8c2.6,0,4.8,2.1,4.8,4.8
C406.6,6220.8,404.5,6223,401.9,6223z"/>
<path fill="#0D3547" d="M401.9,6216.2c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S403,6216.2,401.9,6216.2L401.9,6216.2z
M401.9,6210.7c4.1,0,7.5,3.4,7.5,7.5s-3.4,7.5-7.5,7.5c-4.1,0-7.5-3.4-7.5-7.5S397.7,6210.7,401.9,6210.7z"/>
</g>
</g>
<g id="Group_2_13_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="94.3" y="6466.1" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_13_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M336.3,6162.8c-3.1,0-6-1.2-8.2-3.4c-2.2-2.2-3.4-5.1-3.4-8.2c0-3.1,1.2-6,3.4-8.2
c2.2-2.2,5.1-3.4,8.2-3.4s6,1.2,8.2,3.4c2.2,2.2,3.4,5.1,3.4,8.2c0,3.1-1.2,6-3.4,8.2S339.4,6162.8,336.3,6162.8z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M324.3,6151.1L324.3,6151.1
c0-6.6,5.4-11.9,11.9-11.9h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9l0,0C329.7,6163,324.3,6157.7,324.3,6151.1z"
/>
</g>
<g id="Path_2_13_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M329.2,6148.9c-2.6,0-4.8-2.1-4.8-4.8c0-2.6,2.1-4.8,4.8-4.8c2.6,0,4.8,2.1,4.8,4.8
C334,6146.7,331.9,6148.9,329.2,6148.9z"/>
<path fill="#0D3547" d="M329.2,6142.1c-1.1,0-2,0.9-2,2c0,1.1,0.9,2,2,2s2-0.9,2-2C331.3,6143,330.4,6142.1,329.2,6142.1
L329.2,6142.1z M329.2,6136.6c4.1,0,7.5,3.4,7.5,7.5c0,4.1-3.4,7.5-7.5,7.5c-4.1,0-7.5-3.4-7.5-7.5
C321.7,6140,325.1,6136.6,329.2,6136.6z"/>
</g>
</g>
<g id="Group_2_12_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="94" y="6540.2" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_12_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M336,6236.9c-3.1,0-6-1.2-8.2-3.4c-2.2-2.2-3.4-5.1-3.4-8.2s1.2-6,3.4-8.2c2.2-2.2,5.1-3.4,8.2-3.4
s6,1.2,8.2,3.4s3.4,5.1,3.4,8.2s-1.2,6-3.4,8.2S339.1,6236.9,336,6236.9z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M324.1,6225.2L324.1,6225.2
c0-6.6,5.4-11.9,11.9-11.9h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9l0,0C329.5,6237.1,324.1,6231.8,324.1,6225.2
z"/>
</g>
<g id="Path_2_12_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M329,6223c-2.6,0-4.8-2.1-4.8-4.8s2.1-4.8,4.8-4.8c2.6,0,4.8,2.1,4.8,4.8S331.6,6223,329,6223z"/>
<path fill="#0D3547" d="M329,6216.2c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S330.1,6216.2,329,6216.2L329,6216.2z M329,6210.7
c4.1,0,7.5,3.4,7.5,7.5s-3.4,7.5-7.5,7.5c-4.1,0-7.5-3.4-7.5-7.5S324.9,6210.7,329,6210.7z"/>
</g>
</g>
<g id="Group_2_17_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="20.1" y="6466.1" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_17_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M262.1,6162.8c-3.1,0-6-1.2-8.2-3.4s-3.4-5.1-3.4-8.2c0-3.1,1.2-6,3.4-8.2c2.2-2.2,5.1-3.4,8.2-3.4
c3.1,0,6,1.2,8.2,3.4c2.2,2.2,3.4,5.1,3.4,8.2c0,3.1-1.2,6-3.4,8.2C268.2,6161.6,265.2,6162.8,262.1,6162.8z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M250.2,6151.1L250.2,6151.1
c0-6.6,5.4-11.9,11.9-11.9h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9h0C255.6,6163,250.2,6157.7,250.2,6151.1z"/>
</g>
<g id="Path_2_17_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M255.1,6148.9c-2.6,0-4.8-2.1-4.8-4.8c0-2.6,2.1-4.8,4.8-4.8s4.8,2.1,4.8,4.8
C259.9,6146.7,257.7,6148.9,255.1,6148.9z"/>
<path fill="#0D3547" d="M255.1,6142.1c-1.1,0-2,0.9-2,2c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C257.1,6143,256.2,6142.1,255.1,6142.1
L255.1,6142.1z M255.1,6136.6c4.1,0,7.5,3.4,7.5,7.5c0,4.1-3.4,7.5-7.5,7.5s-7.5-3.4-7.5-7.5C247.6,6140,251,6136.6,255.1,6136.6
z"/>
</g>
</g>
<g id="Group_2_16_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="19.9" y="6540.2" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_16_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M261.9,6236.9c-3.1,0-6-1.2-8.2-3.4s-3.4-5.1-3.4-8.2s1.2-6,3.4-8.2s5.1-3.4,8.2-3.4c3.1,0,6,1.2,8.2,3.4
c2.2,2.2,3.4,5.1,3.4,8.2s-1.2,6-3.4,8.2C267.9,6235.7,265,6236.9,261.9,6236.9z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M250,6225.2L250,6225.2c0-6.6,5.4-11.9,11.9-11.9
h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9h0C255.3,6237.1,250,6231.8,250,6225.2z"/>
</g>
<g id="Path_2_16_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M254.9,6223c-2.6,0-4.8-2.1-4.8-4.8c0-2.6,2.1-4.8,4.8-4.8s4.8,2.1,4.8,4.8
C259.6,6220.8,257.5,6223,254.9,6223z"/>
<path fill="#0D3547" d="M254.9,6216.2c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S256,6216.2,254.9,6216.2L254.9,6216.2z
M254.9,6210.7c4.1,0,7.5,3.4,7.5,7.5s-3.4,7.5-7.5,7.5s-7.5-3.4-7.5-7.5S250.7,6210.7,254.9,6210.7z"/>
</g>
</g>
<g id="Group_2_15_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="-52.7" y="6466.1" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_15_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M189.3,6162.8c-3.1,0-6-1.2-8.2-3.4c-2.2-2.2-3.4-5.1-3.4-8.2c0-3.1,1.2-6,3.4-8.2
c2.2-2.2,5.1-3.4,8.2-3.4s6,1.2,8.2,3.4c2.2,2.2,3.4,5.1,3.4,8.2c0,3.1-1.2,6-3.4,8.2S192.4,6162.8,189.3,6162.8z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M177.3,6151.1L177.3,6151.1
c0-6.6,5.4-11.9,11.9-11.9h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9h0C182.7,6163,177.3,6157.7,177.3,6151.1z"/>
</g>
<g id="Path_2_15_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M182.2,6148.9c-2.6,0-4.8-2.1-4.8-4.8c0-2.6,2.1-4.8,4.8-4.8c2.6,0,4.8,2.1,4.8,4.8
C187,6146.7,184.9,6148.9,182.2,6148.9z"/>
<path fill="#0D3547" d="M182.2,6142.1c-1.1,0-2,0.9-2,2c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C184.3,6143,183.4,6142.1,182.2,6142.1
L182.2,6142.1z M182.2,6136.6c4.1,0,7.5,3.4,7.5,7.5c0,4.1-3.4,7.5-7.5,7.5c-4.1,0-7.5-3.4-7.5-7.5
C174.7,6140,178.1,6136.6,182.2,6136.6z"/>
</g>
</g>
<g id="Group_2_14_" transform="translate(-1829.339 512.463) rotate(-90)">
<rect x="-53" y="6540.2" fill="none" stroke="#0D3547" stroke-width="2" width="30" height="30"/>
<g id="Path_1_14_" transform="translate(-227 330)">
<path fill="#FFFFFF" d="M189,6236.9c-3.1,0-6-1.2-8.2-3.4c-2.2-2.2-3.4-5.1-3.4-8.2s1.2-6,3.4-8.2c2.2-2.2,5.1-3.4,8.2-3.4
s6,1.2,8.2,3.4s3.4,5.1,3.4,8.2s-1.2,6-3.4,8.2S192.1,6236.9,189,6236.9z"/>
<path fill="none" stroke="#715EC7" stroke-width="2" stroke-miterlimit="10" d="M177.1,6225.2L177.1,6225.2
c0-6.6,5.4-11.9,11.9-11.9h0c6.6,0,11.9,5.4,11.9,11.9l0,0c0,6.6-5.4,11.9-11.9,11.9h0C182.5,6237.1,177.1,6231.8,177.1,6225.2z"
/>
</g>
<g id="Path_2_14_" transform="translate(-220.111 336.889)">
<path fill="#FFFFFF" d="M182,6223c-2.6,0-4.8-2.1-4.8-4.8s2.1-4.8,4.8-4.8c2.6,0,4.8,2.1,4.8,4.8S184.6,6223,182,6223z"/>
<path fill="#0D3547" d="M182,6216.2c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S183.1,6216.2,182,6216.2L182,6216.2z
M182,6210.7c4.1,0,7.5,3.4,7.5,7.5s-3.4,7.5-7.5,7.5c-4.1,0-7.5-3.4-7.5-7.5S177.9,6210.7,182,6210.7z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 76 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 44 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB

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