]> _ Git - extranet.git/commitdiff
wip #3544 @2
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 1 Apr 2020 14:43:28 +0000 (16:43 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 1 Apr 2020 14:43:28 +0000 (16:43 +0200)
_doc/logo.pdf [new file with mode: 0644]
app/Http/Kernel.php
config/backpack/base.php
config/backpack/crud.php
public/packages/cubist/extranet/css/style.css [new file with mode: 0644]
public/packages/cubist/extranet/css/style.css.map [new file with mode: 0644]
public/packages/cubist/extranet/css/style.less [new file with mode: 0644]
public/packages/cubist/extranet/js/bundle.js [new file with mode: 0644]
public/svg/logo.svg [new file with mode: 0644]

diff --git a/_doc/logo.pdf b/_doc/logo.pdf
new file mode 100644 (file)
index 0000000..be7be92
Binary files /dev/null and b/_doc/logo.pdf differ
index 6ead4a3b9ffc0da49643911d4917344f79c7119f..87a5adba1ffdb98415fb47502449c2b142264d8a 100644 (file)
@@ -39,7 +39,6 @@ class Kernel extends HttpKernel
             \Illuminate\View\Middleware\ShareErrorsFromSession::class,
             \App\Http\Middleware\VerifyCsrfToken::class,
             \Illuminate\Routing\Middleware\SubstituteBindings::class,
-            \Cubist\Backpack\app\Middleware\EmailObfuscate::class,
         ],
 
         'api' => [
index 9376826e6529a4ea2b6e540eaed70e386f921f67..9b230d6ce92d484637ec0e1cba89c9443a346656 100644 (file)
@@ -11,47 +11,160 @@ return [
     |
     */
 
-    // Project name. Shown in the breadcrumbs and a few other places.
-    'project_name' => 'Extranet',
 
-    // Menu logos
-    'logo_lg' => '<b>Cubedesigners</b>',
-    'logo_mini' => '<b>C</b>D',
+    // Date & Datetime Format Syntax: https://carbon.nesbot.com/docs/#api-localization
+    'default_date_format' => 'D MMM YYYY',
+    'default_datetime_format' => 'D MMM YYYY, HH:mm',
+
+    // Direction, according to language
+    // (left-to-right vs right-to-left)
+    'html_direction' => 'ltr',
+
+    // ----
+    // HEAD
+    // ----
+
+    // Project name. Shown in the window title.
+    'project_name' => 'Extranet Cubedesigners',
+
+    // When clicking on the admin panel's top-left logo/name,
+    // where should the user be redirected?
+    // The string below will be passed through the url() helper.
+    // - default: '' (project root)
+    // - alternative: 'admin' (the admin's dashboard)
+    'home_link' => '',
+
+    // Content of the HTML meta robots tag to prevent indexing and link following
+    'meta_robots_content' => 'noindex, nofollow',
+
+    // ------
+    // STYLES
+    // ------
+
+    // CSS files that are loaded in all pages, using Laravel's asset() helper
+    'styles' => [
+        'packages/backpack/base/css/bundle.css',
+        'packages/featherlight/featherlight.min.css',
+        'packages/cubist/extranet/css/style.css',
+
+        // Here's what's inside the bundle:
+        // 'packages/@digitallyhappy/backstrap/css/style.min.css',
+        // 'packages/animate.css/animate.min.css',
+        // 'packages/noty/noty.css',
+
+        // Load the fonts separately (so that you can replace them at will):
+        'packages/source-sans-pro/source-sans-pro.css',
+        'packages/line-awesome/css/line-awesome.min.css',
+
+        // Example (the fonts above, loaded from CDN instead)
+        // 'https://maxcdn.icons8.com/fonts/line-awesome/1.1/css/line-awesome-font-awesome.min.css',
+        // 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic',
+
+        // Example (load font-awesome instead of line-awesome):
+        // 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.2/css/all.min.css',
+
+    ],
+
+    // CSS files that are loaded in all pages, using Laravel's mix() helper
+    'mix_styles' => [ // file_path => manifest_directory_path
+        // 'css/app.css' => '',
+    ],
+
+    // ------
+    // HEADER
+    // ------
+
+    // Menu logo. You can replace this with an <img> tag if you have a logo.
+    'project_logo' => '<img src="/svg/logo.svg" alt="Extranet Cubedesigners">',
+
+    // Show / hide breadcrumbs on admin panel pages.
+    'breadcrumbs' => true,
+
+    // Horizontal navbar classes. Helps make the admin panel look similar to your project's design.
+    'header_class' => 'app-header border-0 navbar navbar-color',
+    // For background colors use: bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white
+    // For links to be visible on different background colors use: "navbar-dark", "navbar-light", "navbar-color"
+
+    // ----
+    // BODY
+    // ----
+
+    // Body element classes.
+    'body_class' => 'app aside-menu-fixed sidebar-lg-show',
+    // Try sidebar-hidden, sidebar-fixed, sidebar-compact, sidebar-lg-show
+
+    // Sidebar element classes.
+    'sidebar_class' => 'sidebar sidebar-pills bg-light',
+    // Remove "sidebar-transparent" for standard sidebar look
+    // Try "sidebar-light" or "sidebar-dark" for dark/light links
+    // You can also add a background class like bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan
+
+    // ------
+    // FOOTER
+    // ------
+
+    // Footer element classes.
+    'footer_class' => 'app-footer d-print-none',
+    // hide it with d-none
+    // change background color with bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white
 
     // Developer or company name. Shown in footer.
-    'developer_name' => '',
+    'developer_name' => 'Cubedesigners',
 
-    // Developer website. Link in footer.
-    'developer_link' => 'http://www.cubedesigners.com',
+    // Developer website. Link in footer. Type false if you want to hide it.
+    'developer_link' => 'https://www.cubedesigners.fr',
 
-    // Show powered by Laravel Backpack in the footer?
+    // Show powered by Laravel Backpack in the footer? true/false
     'show_powered_by' => false,
 
-    // The AdminLTE skin. Affects menu color and primary/secondary colors used throughout the application.
-    'skin' => 'skin-blue',
-    // Options: skin-black, skin-blue, skin-purple, skin-red, skin-yellow, skin-green, skin-blue-light, skin-black-light, skin-purple-light, skin-green-light, skin-red-light, skin-yellow-light
+    // -------
+    // SCRIPTS
+    // -------
 
-    // Date & Datetime Format Syntax: https://github.com/jenssegers/date#usage
-    // (same as Carbon)
-    'default_date_format' => 'j F Y',
-    'default_datetime_format' => 'j F Y H:i',
+    // JS files that are loaded in all pages, using Laravel's asset() helper
+    'scripts' => [
+        // Backstrap includes jQuery, Bootstrap, CoreUI, PNotify, Popper
+        'packages/backpack/base/js/bundle.js',
+        'packages/featherlight/featherlight.min.js',
+        'packages/cubist/extranet/js/bundle.js',
 
-    // Content of the HTML meta robots tag to prevent indexing and link following
-    'meta_robots_content' => 'noindex, nofollow',
 
-    // Overlays - CSS files that change the look and feel of the admin panel
-    'overlays' => [
-        'vendor/backpack/base/backpack.bold.css',
-        'vendor/backpack/base/backpack.content.is.king.css',
+        // examples (everything inside the bundle, loaded from CDN)
+        // 'https://code.jquery.com/jquery-3.4.1.min.js',
+        // 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js',
+        // 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js',
+        // 'https://unpkg.com/@coreui/coreui/dist/js/coreui.min.js',
+        // 'https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js',
+        // 'https://unpkg.com/sweetalert/dist/sweetalert.min.js',
+        // 'https://cdnjs.cloudflare.com/ajax/libs/noty/3.1.4/noty.min.js'
+
+        // examples (VueJS or React)
+        // 'https://unpkg.com/vue@2.4.4/dist/vue.min.js',
+        // 'https://unpkg.com/react@16/umd/react.production.min.js',
+        // 'https://unpkg.com/react-dom@16/umd/react-dom.production.min.js',
+    ],
+
+    // JS files that are loaded in all pages, using Laravel's mix() helper
+    'mix_scripts' => [// file_path => manifest_directory_path
+        // 'js/app.js' => '',
     ],
 
+    // -------------
+    // CACHE-BUSTING
+    // -------------
+
+    // All JS and CSS assets defined above have this string appended as query string (?v=string).
+    // If you want to manually trigger cachebusting for all styles and scripts,
+    // append or prepent something to the string below, so that it's different.
+    'cachebusting_string' => \PackageVersions\Versions::getVersion('backpack/crud'),
+
     /*
     |--------------------------------------------------------------------------
     | Registration Open
     |--------------------------------------------------------------------------
     |
     | Choose whether new users/admins are allowed to register.
-    | This will show up the Register button in the menu and allow access to the
+    | This will show the Register button on the login page and allow access to the
     | Register functions in AuthController.
     |
     | By default the registration is open only on localhost.
@@ -95,7 +208,7 @@ return [
     'middleware_class' => [
         App\Http\Middleware\CheckIfAdmin::class,
         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
-        // \Backpack\Base\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class,
+        // \Backpack\CRUD\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class,
     ],
 
     // Alias for that middleware
@@ -123,6 +236,22 @@ return [
     // - example_method_name (specify the method on the User model that returns the URL)
     'avatar_type' => 'gravatar',
 
+    /*
+    |--------------------------------------------------------------------------
+    | Theme (User Interface)
+    |--------------------------------------------------------------------------
+    */
+    // Change the view namespace in order to load a different theme than the one Backpack provides.
+    // You can create child themes yourself, by creating a view folder anywhere in your resources/views
+    // and choosing that view_namespace instead of the default one. Backpack will load a file from there
+    // if it exists, otherwise it will load it from the default namespace ("backpack::").
+
+    'view_namespace' => 'backpack::',
+
+    // EXAMPLE: if you create a new folder in resources/views/vendor/myname/mypackage,
+    // your namespace would be the one below. IMPORTANT: in this case the namespace ends with a dot.
+    // 'view_namespace' => 'vendor.myname.mypackage.',
+
     /*
     |--------------------------------------------------------------------------
     | File System
index ccc4408f0c68dd1ebce3abbb6596bc7210ad9068..7114ca97aff8f999d97872b0b3b5d287021a7b8b 100644 (file)
@@ -8,94 +8,146 @@ return [
     |--------------------------------------------------------------------------
     */
 
-    /*
-    |------------
-    | CREATE & UPDATE
-    |------------
-    */
-    // Where do you want to redirect the user by default, after a CRUD entry is saved in the Add or Edit forms?
-    'default_save_action' => 'save_and_back', //options: save_and_back, save_and_edit, save_and_new
+    // --------------------------
+    // Default operation settings
+    // --------------------------
+    'operations' => [
 
-    // When the user chooses "save and back" or "save and new", show a bubble
-    // for the fact that the default save action has been changed?
-    'show_save_action_change' => true, //options: true, false
+        /*
+         * List Operation
+         */
+        'list' => [
+            // Define the size/looks of the content div for all CRUDs
+            // To override per view use $this->crud->setListContentClass('class-string')
+            'contentClass' => 'col-md-12',
 
-    // When using tabbed forms (create & update), what kind of tabs would you like?
-    'tabs_type' => 'horizontal', //options: horizontal, vertical
+            // enable the datatables-responsive plugin, which hides columns if they don't fit?
+            // if not, a horizontal scrollbar will be shown instead
+            'responsiveTable' => true,
 
-    // How would you like the validation errors to be shown?
-    'show_grouped_errors' => true,
-    'show_inline_errors' => true,
+            // stores pagination and filters in localStorage for two hours
+            // whenever the user tries to see that page, backpack loads the previous pagination and filtration
+            'persistentTable' => true,
 
-    // Here you may override the css-classes for the content section of the create view globally
-    // To override per view use $this->crud->setCreateContentClass('class-string')
-    'create_content_class' => 'col-md-8 col-md-offset-2',
+            // the time the table will be persisted in minutes
+            // after this the table info is cleared from localStorage.
+            // use false to never force localStorage clear. (default)
+            // keep in mind: User can clear his localStorage whenever he wants.
 
-    // Here you may override the css-classes for the content section of the edit view globally
-    // To override per view use $this->crud->setEditContentClass('class-string')
-    'edit_content_class'   => 'col-md-8 col-md-offset-2',
+            'persistentTableDuration' => false,
 
-    // Here you may override the css-classes for the content section of the revisions timeline view globally
-    // To override per view use $this->crud->setRevisionsTimelineContentClass('class-string')
-    'revisions_timeline_content_class'   => 'col-md-10 col-md-offset-1',
+            // How many items should be shown by default by the Datatable?
+            // This value can be overwritten on a specific CRUD by calling
+            // $this->crud->setDefaultPageLength(50);
+            'defaultPageLength' => 10,
 
-    /*
-    |------------
-    | READ
-    |------------
-    */
+            // A 1D array of options which will be used for both the displayed option and the value, or
+            // A 2D array in which the first array is used to define the value options and the second array the displayed options
+            // If a 2D array is used, strings in the right hand array will be automatically run through trans()
+            'pageLengthMenu' => [[10, 25, 50, 100, -1], [10, 25, 50, 100, 'backpack::crud.all']],
 
-    // LIST VIEW (table view)
+            // How important is it for the action buttons to be visible?
+            // - 0 - most important
+            // - 1 - as important as bulk buttons
+            // - 2-3 - more important than the rest of the columns
+            // - 4 - less important than most columns
+            'actionsColumnPriority' => 1,
+        ],
 
-    // enable the datatables-responsive plugin, which hides columns if they don't fit?
-    // if not, a horizontal scrollbar will be shown instead
-    'responsive_table' => true,
+        /*
+         * Create Operation
+         */
+        'create' => [
+            // Define the size/looks of the content div for all CRUDs
+            // To override per view use $this->crud->setCreateContentClass('class-string')
+            'contentClass' => 'col-md-8 bold-labels',
 
-    // stores pagination and filters in localStorage for two hours
-    // whenever the user tries to see that page, backpack loads the previous pagination and filtration
-    'persistent_table' => false,
+            // When using tabbed forms (create & update), what kind of tabs would you like?
+            'tabsType' => 'horizontal', //options: horizontal, vertical
 
-    // How many items should be shown by default by the Datatable?
-    // This value can be overwritten on a specific CRUD by calling
-    // $this->crud->setDefaultPageLength(50);
-    'default_page_length' => 25,
+            // How would you like the validation errors to be shown?
+            'groupedErrors' => true,
+            'inlineErrors'  => true,
 
-    // A 1D array of options which will be used for both the displayed option and the value, or
-    // A 2D array in which the first array is used to define the value options and the second array the displayed options
-    // If a 2D array is used, strings in the right hand array will be automatically run through trans()
-    'page_length_menu' => [[10, 25, 50, 100, -1], [10, 25, 50, 100, 'backpack::crud.all']],
+            // when the page loads, put the cursor on the first input?
+            'autoFocusOnFirstField' => true,
 
-    // Here you may override the css-class for the content section of the list view globally
-    // To override per view use $this->crud->setListContentClass('class-string')
-    'list_content_class' => 'col-md-12',
+            // Where do you want to redirect the user by default, save?
+            // options: save_and_back, save_and_edit, save_and_new
+            'defaultSaveAction' => 'save_and_back',
 
-    // SHOW (PREVIEW)
+            // When the user chooses "save and back" or "save and new", show a bubble
+            // for the fact that the default save action has been changed?
+            'showSaveActionChange' => true, //options: true, false
 
-    // Here you may override the css-classes for the content section of the show view globally
-    // To override per view use $this->crud->setShowContentClass('class-string')
-    'show_content_class'   => 'col-md-8 col-md-offset-2',
+            // Before saving the entry, how would you like the request to be stripped?
+            // - false - ONLY save inputs that have fields (safest)
+            // - [x, y, z] - save ALL inputs, EXCEPT the ones given in this array
+            'saveAllInputsExcept' => false,
+            // 'saveAllInputsExcept' => ['_token', '_method', 'http_referrer', 'current_tab', 'save_action'],
+        ],
 
-    /*
-    |------------
-    | DELETE
-    |------------
-    */
+        /*
+         * Update Operation
+         */
+        'update' => [
+            // Define the size/looks of the content div for all CRUDs
+            // To override per view use $this->crud->setEditContentClass('class-string')
+            'contentClass'   => 'col-md-8 bold-labels',
 
-    /*
-    |------------
-    | REORDER
-    |------------
-    */
+            // When using tabbed forms (create & update), what kind of tabs would you like?
+            'tabsType' => 'horizontal', //options: horizontal, vertical
 
-    // Here you may override the css-classes for the content section of the reorder view globally
-    // To override per view use $this->crud->setReorderContentClass('class-string')
-    'reorder_content_class'   => 'col-md-8 col-md-offset-2',
+            // How would you like the validation errors to be shown?
+            'groupedErrors' => true,
+            'inlineErrors'  => true,
 
-    /*
-    |------------
-    | DETAILS ROW
-    |------------
-    */
+            // when the page loads, put the cursor on the first input?
+            'autoFocusOnFirstField' => true,
+
+            // Where do you want to redirect the user by default, save?
+            // options: save_and_back, save_and_edit, save_and_new
+            'defaultSaveAction' => 'save_and_back',
+
+            // When the user chooses "save and back" or "save and new", show a bubble
+            // for the fact that the default save action has been changed?
+            'showSaveActionChange' => true, //options: true, false
+
+            // Before saving the entry, how would you like the request to be stripped?
+            // - false - Save ONLY inputs that have a field (safest, default);
+            // - [x, y, z] - Save ALL inputs, EXCEPT the ones given in this array;
+            'saveAllInputsExcept' => false,
+            // 'saveAllInputsExcept' => ['_token', '_method', 'http_referrer', 'current_tab', 'save_action'],
+        ],
+
+        /*
+         * Show Operation
+         */
+        'show' => [
+            // Define the size/looks of the content div for all CRUDs
+            // To override per Controller use $this->crud->setShowContentClass('class-string')
+            'contentClass' => 'col-md-8',
+        ],
+
+        /*
+         * Reorder Operation
+         */
+        'reorder' => [
+            // Define the size/looks of the content div for all CRUDs
+            // To override per Controller use $this->crud->setReorderContentClass('class-string')
+            'contentClass'   => 'col-md-8 col-md-offset-2',
+        ],
+
+        /*
+         * Revisions Operation
+         */
+        'revisions' => [
+            // Define the size/looks of the content div for all CRUDs
+            // To override per view use $this->crud->setRevisionsTimelineContentClass('class-string')
+            'timelineContentClass' => 'col-md-12',
+        ],
+
+    ],
 
     /*
     |-------------------
@@ -103,7 +155,7 @@ return [
     |-------------------
     */
 
-    'show_translatable_field_icon' => true,
+    'show_translatable_field_icon'     => true,
     'translatable_field_icon_position' => 'right', // left or right
 
     'locales' => [
@@ -313,7 +365,7 @@ return [
         // "ga" => "Irish",
         // "it_IT" => "Italian (Italy)",
         // "it_CH" => "Italian (Switzerland)",
-        // 'it' => 'Italian',
+        'it' => 'Italian',
         // "ja_JP" => "Japanese (Japan)",
         // "ja" => "Japanese",
         // "kea_CV" => "Kabuverdianu (Cape Verde)",
@@ -418,7 +470,7 @@ return [
         // "pa" => "Punjabi",
         // "ro_MD" => "Romanian (Moldova)",
         // "ro_RO" => "Romanian (Romania)",
-        // 'ro' => 'Romanian',
+        'ro' => 'Romanian',
         // "rm_CH" => "Romansh (Switzerland)",
         // "rm" => "Romansh",
         // "rof_TZ" => "Rombo (Tanzania)",
diff --git a/public/packages/cubist/extranet/css/style.css b/public/packages/cubist/extranet/css/style.css
new file mode 100644 (file)
index 0000000..61330ad
--- /dev/null
@@ -0,0 +1,15 @@
+.app-header {
+  flex: 0 0 70px;
+  background-color: #28292D;
+}
+.app-header .navbar-brand {
+  width: 220px;
+  padding: 20px 15px;
+}
+.app-header .navbar-toggler {
+  display: none;
+}
+.help-block {
+  opacity: 0.5;
+}
+/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git a/public/packages/cubist/extranet/css/style.css.map b/public/packages/cubist/extranet/css/style.css.map
new file mode 100644 (file)
index 0000000..b004830
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"sources":["style.less"],"names":[],"mappings":"AAAA;EACI,cAAA;EACA,yBAAA;;AAFJ,WAII;EACI,YAAA;EACA,kBAAA;;AANR,WASI;EACI,aAAA;;AAIR;EACI,YAAA","file":"style.css"}
\ No newline at end of file
diff --git a/public/packages/cubist/extranet/css/style.less b/public/packages/cubist/extranet/css/style.less
new file mode 100644 (file)
index 0000000..d578fd6
--- /dev/null
@@ -0,0 +1,17 @@
+.app-header{
+    flex: 0 0 70px;
+    background-color: #28292D;
+
+    .navbar-brand{
+        width: 220px;
+        padding: 20px 15px;
+    }
+
+    .navbar-toggler{
+        display: none;
+    }
+}
+
+.help-block{
+    opacity: 0.5;
+}
diff --git a/public/packages/cubist/extranet/js/bundle.js b/public/packages/cubist/extranet/js/bundle.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/public/svg/logo.svg b/public/svg/logo.svg
new file mode 100644 (file)
index 0000000..7d8c893
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 150.1 35.1" style="enable-background:new 0 0 150.1 35.1;" xml:space="preserve">
+<style type="text/css">
+       .st0{fill:#FFFFFF;}
+       .st1{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.25;stroke-miterlimit:10;}
+</style>
+<g>
+       <g>
+               <g>
+                       <g>
+                               <g>
+                                       <path class="st0" d="M48.7,13.4v7.7c0,0.7,0.3,0.9,1,0.9s2.3-0.5,3.4-1v-7.6h1.7v10.1h-1.4l-0.2-0.9c-1.1,0.5-2.9,1.1-4.1,1.1
+                                               c-1.6,0-2.2-1-2.2-2.6v-7.7C46.9,13.4,48.7,13.4,48.7,13.4z"/>
+                                       <path class="st0" d="M65,19.9c0,2.3-0.8,3.8-4.3,3.8c-0.9,0-2.4-0.1-3.6-0.4v-14L58.8,9v4.9c0.7-0.4,1.9-0.7,3.2-0.7
+                                               c2.1,0,3,1.2,3,3.1V19.9z M58.8,22c0.7,0.1,1.4,0.1,2,0.1c2.1,0,2.4-0.8,2.4-2.2v-3.7c0-1-0.5-1.6-1.6-1.6
+                                               c-0.9,0-2.1,0.4-2.8,0.8C58.8,15.4,58.8,22,58.8,22z"/>
+                                       <path class="st0" d="M70.8,22.2c1,0,2.1-0.2,3.2-0.5l0.2,1.4c-1,0.4-2.3,0.6-3.6,0.6c-3,0-4-1.4-4-3.7v-3c0-2.1,1-3.8,4-3.8
+                                               s3.8,1.7,3.8,3.8v2.1h-6V20C68.4,21.5,68.8,22.2,70.8,22.2z M68.4,17.6h4.3v-0.8c0-1.4-0.5-2.2-2.1-2.2s-2.2,0.8-2.2,2.2
+                                               C68.4,16.8,68.4,17.6,68.4,17.6z"/>
+                                       <path class="st0" d="M76.7,16.5c0-2,0.9-3.3,3.3-3.3c0.9,0,2.1,0.1,2.9,0.3V9.2L84.6,9v14.5h-1.5l-0.1-1
+                                               c-0.8,0.7-2,1.1-3.3,1.1c-2,0-2.9-1.1-2.9-3.1L76.7,16.5L76.7,16.5z M82.9,15c-0.9-0.2-2.1-0.3-2.8-0.3c-1.2,0-1.6,0.5-1.6,1.8
+                                               v4.1c0,1,0.3,1.6,1.6,1.6c1,0,2.1-0.5,2.9-1.2L82.9,15L82.9,15z"/>
+                                       <path class="st0" d="M90.8,22.2c1,0,2.1-0.2,3.2-0.5l0.2,1.4c-1,0.4-2.3,0.6-3.6,0.6c-3,0-4-1.4-4-3.7v-3c0-2.1,1-3.8,4-3.8
+                                               s3.8,1.7,3.8,3.8v2.1h-6V20C88.4,21.5,88.9,22.2,90.8,22.2z M88.4,17.6h4.3v-0.8c0-1.4-0.5-2.2-2.1-2.2s-2.2,0.8-2.2,2.2
+                                               C88.4,16.8,88.4,17.6,88.4,17.6z"/>
+                                       <path class="st0" d="M99.2,23.7c-1,0-2.4-0.2-3.2-0.5l0.2-1.4c0.9,0.3,2,0.4,2.9,0.4c1.6,0,1.9-0.3,1.9-1.4s-0.1-1.2-2.1-1.7
+                                               c-2.5-0.6-2.7-1.1-2.7-3.2c0-1.9,0.8-2.7,3.5-2.7c1,0,2,0.1,2.9,0.4l-0.1,1.4c-0.8-0.2-2-0.3-2.8-0.3c-1.5,0-1.7,0.4-1.7,1.3
+                                               c0,1.1,0,1.3,1.7,1.7c2.9,0.7,3.1,1.1,3.1,3.1C102.7,22.7,102.1,23.7,99.2,23.7z"/>
+                                       <path class="st0" d="M104.8,11.7V9.2h1.7v2.5H104.8z M104.8,23.5V13.4h1.7v10.1H104.8z"/>
+                                       <path class="st0" d="M124.7,23.5v-7.7c0-0.7-0.3-0.9-1-0.9s-2.3,0.5-3.4,1v7.6h-1.7V13.4h1.4l0.2,0.9c1.1-0.5,2.9-1.1,4.1-1.1
+                                               c1.6,0,2.2,1,2.2,2.6v7.7H124.7z"/>
+                                       <path class="st0" d="M132.5,22.2c1,0,2.1-0.2,3.2-0.5l0.2,1.4c-1,0.4-2.3,0.6-3.6,0.6c-3,0-4-1.4-4-3.7v-3c0-2.1,1-3.8,4-3.8
+                                               s3.8,1.7,3.8,3.8v2.1h-6V20C130.1,21.5,130.6,22.2,132.5,22.2z M130.1,17.6h4.3v-0.8c0-1.4-0.5-2.2-2.1-2.2s-2.2,0.8-2.2,2.2
+                                               V17.6z"/>
+                                       <path class="st0" d="M142.8,14.8c-1,0.5-2.1,1.2-2.9,1.7v7h-1.7V13.4h1.5l0.1,1.4c0.7-0.6,1.8-1.2,2.8-1.6L142.8,14.8z"/>
+                                       <path class="st0" d="M146.6,23.7c-1,0-2.4-0.2-3.2-0.5l0.2-1.4c0.9,0.3,2,0.4,2.9,0.4c1.6,0,1.9-0.3,1.9-1.4s-0.1-1.2-2.1-1.7
+                                               c-2.5-0.6-2.7-1.1-2.7-3.2c0-1.9,0.8-2.7,3.5-2.7c1,0,2,0.1,2.9,0.4l-0.1,1.4c-0.8-0.2-2-0.3-2.8-0.3c-1.5,0-1.7,0.4-1.7,1.3
+                                               c0,1.1,0,1.3,1.7,1.7c2.9,0.7,3.1,1.1,3.1,3.1C150.1,22.7,149.5,23.7,146.6,23.7z"/>
+                                       <path class="st0" d="M109.8,19.9c-0.5,0.4-1,1-1,1.8c0,0.9,0.5,1.7,2,1.8c1.2,0.1,1.6,0.1,2.7,0.2c1.2,0.1,1.5,0.2,1.5,1.1
+                                               c0,0.1,0,0.3,0,0.4h1.6c0-0.2,0-0.3,0-0.5c0-1.5-0.7-2.2-2.5-2.4c-1.3-0.1-1.8-0.2-2.9-0.3c-0.5,0-0.7-0.2-0.7-0.6
+                                               s0.4-0.8,0.7-1.1c0.3,0,0.7,0.1,1,0.1c2.6,0,4-1.3,4-3.4v-0.5c0-0.8-0.2-1.5-0.6-2l1.2-0.2v-1h-2.9c-0.5-0.1-1.2-0.2-1.7-0.2
+                                               c-2.9,0-3.9,1.3-3.9,3.5v0.5C108.4,18.4,108.9,19.4,109.8,19.9z M110.1,16.6c0-1.5,0.6-2.1,2.3-2.1c1.7,0,2.3,0.6,2.3,2.1V17
+                                               c0,1.3-0.6,2-2.3,2c-1.7,0-2.3-0.5-2.3-2V16.6z"/>
+                               </g>
+                       </g>
+               </g>
+               <g>
+                       <path class="st0" d="M38.6,20v-3.2c0-2.3,0.9-3.7,4-3.7c0.9,0,1.9,0.1,2.4,0.3l-0.1,1.5c-0.8-0.2-1.5-0.2-2.2-0.2
+                               c-1.7,0-2.3,0.5-2.3,2.1v3.3c0,1.6,0.6,2.1,2.3,2.1c0.7,0,1.4-0.1,2.2-0.2l0.2,1.5c-0.5,0.2-1.5,0.3-2.4,0.3
+                               C39.4,23.7,38.6,22.3,38.6,20z"/>
+               </g>
+       </g>
+       <g>
+               <path class="st1" d="M14.2,0.7C13.5,1.1,3.1,7,1.5,7.9C0.7,8.4,0.6,9,0.6,9.8c0,0.6,0,14,0,15.8c0,1,0.5,1.3,0.9,1.5
+                       c2.6,1.6,10.5,6.4,11.7,7.2c1.5,0.9,3.1-0.3,2.3-1.8c-0.8-1.6-5.7-10.9-5.7-10.9c2.3-1.4,4.5-2.7,5.2-3.1c1.3-0.8,1.4-0.9,1.4-2.6
+                       c0-1.2,0-11.5,0-13.8C16.4,0.8,15.2,0.2,14.2,0.7z M14.2,33L14,33.2L2.5,26.1c0,0,3.2-2.1,6.1-3.9L14.2,33z M1.9,24.9V9.3L14.8,2
+                       L15,2.1v14.7L1.9,24.9z"/>
+               <path class="st1" d="M19.4,34.4c0.7-0.4,11.1-6.2,12.7-7.2c0.8-0.4,0.9-1,0.9-1.8c0-0.6,0-14,0-15.8c0-1-0.5-1.3-0.9-1.5
+                       c-2.6-1.6-10.5-6.4-11.7-7.2c-1.4-0.9-3,0.2-2.2,1.7c0.8,1.6,5.7,10.9,5.7,10.9c-2.3,1.4-4.5,2.7-5.2,3.1
+                       c-1.3,0.8-1.4,0.9-1.4,2.6c0,1.2,0,11.5,0,13.8C17.2,34.3,18.4,34.9,19.4,34.4z M19.3,2.1l0.2-0.2L31,9c0,0-3.1,2.1-6.1,3.9
+                       L19.3,2.1z M31.7,10.2v15.6l-12.9,7.3L18.5,33V18.3L31.7,10.2z"/>
+       </g>
+</g>
+</svg>