initial commit

This commit is contained in:
equippedcoding-master
2025-09-17 09:37:06 -05:00
parent 86108ca47e
commit e2c98790b2
55389 changed files with 6206730 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
{
"presets": ["babel-preset-env"],
"plugins": [
[
"transform-runtime",
{
"regenerator": true
}
]
]
}

View File

@@ -0,0 +1,5 @@
USERNAME=equippedcodeing
PASSWORD=c0Xjk9jHwuWIlQQW

View File

@@ -0,0 +1,3 @@
.DS_Store
css/.DS_Store
node_modules

View File

@@ -0,0 +1,5 @@
{
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100
}

View File

@@ -0,0 +1,5 @@
[Github Code](https://github.com/code-dexterous/grapesjs-example-html/tree/ab78eddf78362d373614130b6a2544f850938246)
[Medium Blog](https://codedexterous.medium.com/create-your-own-webpge-website-builder-8d77097585f8)
[Video Tutorial](https://www.youtube.com/c/CodeDexterous)

View File

@@ -0,0 +1,346 @@
(function(){
const REQUEST_URL = "./php/request.php";
const LOADER_ID = "afs-main-loader-screen";
const LOADER_REMOVE_WAIT = 0;
const TABLE = "admin_users";
$.post(REQUEST_URL,{
init: true
},function(schemas){
schemas = JSON.parse(schemas);
console.log(schemas)
//document.body.insertAdjacentHTML("afterbegin", application_loader_screen_html());
func_run_application2();
});
function func_run_application2(){
const editor = grapesjs.init({
// Indicate where to init the editor. You can also pass an HTMLElement
container: '#gjs',
// Get the content for the canvas directly from the element
// As an alternative we could use: `components: '<h1>Hello World Component!</h1>'`,
fromElement: true,
// Size of the editor
height: '300px',
width: 'auto',
// Disable the storage manager for the moment
storageManager: false,
// Avoid any default panel
panels: { defaults: [] },
layerManager: {
appendTo: '.layers-container'
},
blockManager: {
appendTo: '#blocks',
blocks: [
{
id: 'section', // id is mandatory
label: '<b>Section</b>', // You can use HTML/SVG inside labels
attributes: { class:'gjs-block-section' },
content: `<section>
<h1>This is a simple title</h1>
<div>This is just a Lorem text: Lorem ipsum dolor sit amet</div>
</section>`,
}, {
id: 'text',
label: 'Text',
content: '<div data-gjs-type="text">Insert your text here</div>',
}, {
id: 'image',
label: 'Image',
// Select the component once it's dropped
select: true,
// You can pass components as a JSON instead of a simple HTML string,
// in this case we also use a defined component type `image`
content: { type: 'image' },
// This triggers `active` event on dropped components and the `image`
// reacts by opening the AssetManager
activate: true,
}
]
},
panels: {
defaults: [
{
id: 'layers',
el: '.panel__right',
// Make the panel resizable
resizable: {
maxDim: 350,
minDim: 200,
tc: 0, // Top handler
cl: 1, // Left handler
cr: 0, // Right handler
bc: 0, // Bottom handler
// Being a flex child we need to change `flex-basis` property
// instead of the `width` (default)
keyWidth: 'flex-basis',
}
},
{
id: 'panel-switcher',
el: '.panel__switcher',
buttons: [{
id: 'show-layers',
active: true,
label: 'Layers',
command: 'show-layers',
// Once activated disable the possibility to turn it off
togglable: false,
}, {
id: 'show-style',
active: true,
label: 'Styles',
command: 'show-styles',
togglable: false,
}],
},
{
id: 'panel-switcher',
el: '.panel__switcher',
buttons: [
// ...
{
id: 'show-traits',
active: true,
label: 'Traits',
command: 'show-traits',
togglable: false,
}]
}
]
},
traitManager: {
appendTo: '.traits-container',
},
// The Selector Manager allows to assign classes and
// different states (eg. :hover) on components.
// Generally, it's used in conjunction with Style Manager
// but it's not mandatory
selectorManager: {
appendTo: '.styles-container'
},
styleManager: {
appendTo: '.styles-container',
sectors: [{
name: 'Dimension',
open: false,
// Use built-in properties
buildProps: ['width', 'min-height', 'padding'],
// Use `properties` to define/override single property
properties: [
{
// Type of the input,
// options: integer | radio | select | color | slider | file | composite | stack
type: 'integer',
name: 'The width', // Label for the property
property: 'width', // CSS property (if buildProps contains it will be extended)
units: ['px', '%'], // Units, available only for 'integer' types
defaults: 'auto', // Default value
min: 0, // Min value, available only for 'integer' types
}
]
},{
name: 'Extra',
open: false,
buildProps: ['background-color', 'box-shadow', 'custom-prop'],
properties: [
{
id: 'custom-prop',
name: 'Custom Label',
property: 'font-size',
type: 'select',
defaults: '32px',
// List of options, available only for 'select' and 'radio' types
options: [
{ value: '12px', name: 'Tiny' },
{ value: '18px', name: 'Medium' },
{ value: '32px', name: 'Big' },
],
}
]
}]
}
});
editor.BlockManager.add('my-block-id', {
// ...
content: {
tagName: 'div',
draggable: false,
attributes: { 'some-attribute': 'some-value' },
components: [
{
tagName: 'span',
content: '<b>Some static content</b>',
}, {
tagName: 'div',
// use `content` for static strings, `components` string will be parsed
// and transformed in Components
components: '<span>HTML at some point</span>',
}
]
}
});
// The wrapper is the root Component
// const wrapper = editor.DomComponents.getWrapper();
// const myComponent = wrapper.find('div.my-component')[0];
// myComponent.components().forEach(component => console.log(component));
// myComponent.components('<div>New content</div>');
editor.Panels.addPanel({
id: 'panel-top',
el: '.panel__top',
});
editor.Panels.addPanel({
id: 'basic-actions',
el: '.panel__basic-actions',
buttons: [
{
id: 'visibility',
active: true, // active by default
className: 'btn-toggle-borders',
label: '<u>B</u>',
command: 'sw-visibility', // Built-in command
}, {
id: 'export',
className: 'btn-open-export',
label: 'Exp',
command: 'export-template',
context: 'export-template', // For grouping context of buttons from the same panel
}, {
id: 'show-json',
className: 'btn-show-json',
label: 'JSON',
context: 'show-json',
command(editor) {
editor.Modal.setTitle('Components JSON')
.setContent(`<textarea style="width:100%; height: 250px;">
${JSON.stringify(editor.getComponents())}
</textarea>`)
.open();
},
}
],
});
editor.Commands.add('show-layers', {
getRowEl(editor) { return editor.getContainer().closest('.editor-row'); },
getLayersEl(row) { return row.querySelector('.layers-container') },
run(editor, sender) {
const lmEl = this.getLayersEl(this.getRowEl(editor));
lmEl.style.display = '';
},
stop(editor, sender) {
const lmEl = this.getLayersEl(this.getRowEl(editor));
lmEl.style.display = 'none';
},
});
editor.Commands.add('show-styles', {
getRowEl(editor) { return editor.getContainer().closest('.editor-row'); },
getStyleEl(row) { return row.querySelector('.styles-container') },
run(editor, sender) {
const smEl = this.getStyleEl(this.getRowEl(editor));
smEl.style.display = '';
},
stop(editor, sender) {
const smEl = this.getStyleEl(this.getRowEl(editor));
smEl.style.display = 'none';
},
});
editor.Commands.add('show-traits', {
getTraitsEl(editor) {
const row = editor.getContainer().closest('.editor-row');
return row.querySelector('.traits-container');
},
run(editor, sender) {
this.getTraitsEl(editor).style.display = '';
},
stop(editor, sender) {
this.getTraitsEl(editor).style.display = 'none';
},
});
}
function func_run_application(usereData,schemas,paymentsObj){
$.post(REQUEST_URL, {
api_get_folder_templates:true,
path: "/admin/core/html",
backpath: 5
},function(html){
//console.log(html);
$.post(REQUEST_URL, {retrieve_data_for_update: true }, function(resp){
afsconfig = JSON.parse(resp);
console.log(afsconfig);
let app = new ApplicationContextManager();
app.extra.config = AFS_SCHEMA_DESCRIPTION_INTEGRATION(afsconfig);
app.extra.config.html = JSON.parse(html);
app.extra.config.user = JSON.parse(usereData);
app.extra.config.schemas = schemas;
app.extra.url = REQUEST_URL;
// app.extra.pay = afsconfig.configurations.paypal;
app.extra.paymentsObj = paymentsObj;
app.extra.processor = new AFSPayments(app, afsconfig.managed_domain);
requirejs.config({ baseUrl: 'core/api/js/' });
let routes = ["pages/index","pages/schema"];
require(routes, function(_route_func){
setTimeout(() => {
$("#"+LOADER_ID).remove();
_route_func(app);
// setTimeout(() => {
$("#console_custome_log").empty();
$("#console_custome_log").append(`<a id="_logolinkheader_" href="#">${app.extra.config.configurations.settings[0].json.dashboard.web_console_label}</a>`);
// console.log("running");
//},1000);
},LOADER_REMOVE_WAIT);
});
});
});
}
function application_loader_screen_html(){
return `
<div id="${LOADER_ID}">
<div class="page page-center">
<div class="container container-slim py-4">
<div class="text-center">
<div class="mb-3">
<a href="." class="navbar-brand navbar-brand-autodark"><img src="./static/logo-small.svg" height="36" alt=""></a>
</div>
<div class="text-secondary mb-3">Preparing dashboard</div>
<div class="progress progress-sm">
<div class="progress-bar progress-bar-indeterminate"></div>
</div>
</div>
</div>
</div>
</div>
`;
}
})();

View File

@@ -0,0 +1,21 @@
export const loadAllAssets = async (req, res) => {
const assets = [
{
type: 'image',
src: 'http://placehold.it/350x250/459ba8/fff/image2.jpg',
height: 350,
width: 250,
},
{
src: 'http://placehold.it/350x250/79c267/fff/image3.jpg',
height: 350,
width: 250,
},
{
src: 'http://placehold.it/350x250/79c267/fff/image3.jpg',
height: 350,
width: 250,
},
];
res.json(assets);
};

View File

@@ -0,0 +1,8 @@
import express from 'express';
import { loadAllAssets } from './assets.controller';
const assetRoute = express.Router();
assetRoute.get('/', loadAllAssets);
export default assetRoute;

View File

@@ -0,0 +1,3 @@
require('dotenv').config();
require('babel-register');
require('./server');

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
{
"name": "Webpage Builder",
"version": "1.0.0",
"description": "[Github Code](https://github.com/vijayshukla30/grapesjs-example-html",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon index.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/vijayshukla30/grapesjs-example-html.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/vijayshukla30/grapesjs-example-html/issues"
},
"homepage": "https://github.com/vijayshukla30/grapesjs-example-html#readme",
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-loader": "^8.2.2",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"nodemon": "^2.0.7"
},
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"hbs": "^4.1.1",
"mongoose": "^5.12.2"
}
}

View File

@@ -0,0 +1,45 @@
import {
createPage,
deletePage,
listPages,
pageDetails,
savePageContent,
updatePage,
} from './page.services';
export const create = async (req, res) => {
const pageBody = req.body;
const page = await createPage(pageBody);
res.json(page);
};
export const list = async (req, res) => {
const pages = await listPages();
res.json(pages);
};
export const details = async (req, res) => {
const { pageId } = req.params;
const details = await pageDetails(pageId);
res.json(details);
};
export const deletePageRecord = async (req, res) => {
const { pageId } = req.params;
const data = await deletePage(pageId);
res.json(data);
};
export const update = async (req, res) => {
const { pageId } = req.params;
const pageBody = req.body;
const page = await updatePage(pageId, pageBody);
res.json(page);
};
export const changeContent = async (req, res) => {
const { pageId } = req.params;
const pageContent = await savePageContent(pageId, req.body);
res.json(pageContent);
};
export const loadContent = async (req, res) => {
const { pageId } = req.params;
res.header('Content-Type', 'application/json');
const pageData = await pageDetails(pageId);
res.json(pageData.content);
};

View File

@@ -0,0 +1,23 @@
const mongoose = require('mongoose');
const { Schema } = mongoose;
const Page = new mongoose.Schema(
{
name: {
type: String,
required: true,
trim: true,
maxlength: 25,
},
slug: {
type: String,
required: true,
},
content: Object,
},
{
timestamps: true,
},
);
export default mongoose.model('Pages', Page);

View File

@@ -0,0 +1,24 @@
import express from 'express';
import {
changeContent,
create,
update,
deletePageRecord,
details,
list,
loadContent,
} from './page.controller';
const pageRoute = express.Router();
pageRoute.post('/', create);
pageRoute.post('/:pageId/content', changeContent);
pageRoute.put('/:pageId', update);
pageRoute.delete('/:pageId', deletePageRecord);
pageRoute.get('/:pageId', details);
pageRoute.get('/', list);
pageRoute.get('/:pageId/content', loadContent);
export default pageRoute;

View File

@@ -0,0 +1,27 @@
import Pages from './page.modal';
export const createPage = async (pageBody) => {
const slug = pageBody.name.toLowerCase().split(' ').join('-');
pageBody.slug = slug;
const page = new Pages(pageBody);
const pageResponse = await page.save();
return pageResponse;
};
export const listPages = async () => {
const pages = await Pages.find({});
return pages;
};
export const deletePage = async (pageId) => {};
export const updatePage = async (pageId, pageBody) => {};
export const pageDetails = async (pageId) => {
const pages = await Pages.findOne({ _id: pageId });
return pages;
};
export const savePageContent = async (pageId, content) => {
const pageUpdated = await Pages.findOneAndUpdate({ _id: pageId }, { content });
return pageUpdated;
};
export const findPageById = async (pageId) => {
const page = await Pages.findById(pageId);
return page;
};

View File

@@ -0,0 +1,16 @@
import { createProject, findProject } from './project.service';
export const create = async (req, res, next) => {
try {
const response = await createProject(req.body);
res.status(200).json(response);
} catch (error) {
console.error(error);
res.status(400).send(error);
}
};
export const findAll = async (req, res, next) => {
const projects = await findProject({});
res.status(200).json(projects);
};

View File

@@ -0,0 +1,23 @@
const mongoose = require('mongoose');
const { Schema } = mongoose;
const Project = new mongoose.Schema(
{
name: {
type: String,
required: true,
trim: true,
maxlength: 25,
},
description: {
type: String,
},
logo: {
type: String,
},
},
{
timestamps: true,
},
);
export default mongoose.model('Projects', Project);

View File

@@ -0,0 +1,7 @@
import express from 'express';
import { create, findAll } from './project.controller';
const projectRoute = express.Router();
projectRoute.post('/', create);
projectRoute.get('/', findAll);
export default projectRoute;

View File

@@ -0,0 +1,19 @@
import Projects from './project.model';
export const createProject = async (body) => {
const projects = await findProject({ name: body.name });
console.log('projects :>> ', projects);
if (projects && projects.length > 0) {
throw new Error(`Project with name: ${body.name} already exists`);
}
console.log('jdjdjdjdjdjdjdjdjdjjd');
const project = new Projects(body);
console.log('project :>> ', project);
return await project.save();
};
export const findProjectByUuid = async (projectId) => {};
export const findProject = async (query) => {
const projects = await Projects.find(query);
return projects;
};

View File

@@ -0,0 +1,394 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1000"
height="1000"
viewBox="0 0 999.99999 999.99999"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="main-fonts.svg">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4431"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
transform="scale(0.8) translate(12.5,0)" />
</marker>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 500 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="999.99999 : 500 : 1"
inkscape:persp3d-origin="500 : 333.33333 : 1"
id="perspective4924" />
<font
horiz-adv-x="1024"
id="font3336"
inkscape:label="font 1"
horiz-origin-x="0"
horiz-origin-y="0"
vert-origin-x="45"
vert-origin-y="90"
vert-adv-y="90">
<font-face
units-per-em="1024"
id="font-face3338"
font-family="SVGFont 1" />
<missing-glyph
d="M0,0h1000v1024h-1000z"
id="missing-glyph3340" />
<glyph
glyph-name="b100"
id="glyph3342"
unicode="q"
d="M 122.06174,747.63773 C 110.00813,747.63773 100,737.71025 100,725.75379 l 0,-556.23236 c 0,-11.9564 10.00814,-21.8837 22.06174,-21.8837 l 755.87652,0 c 12.0536,0 22.06174,9.9275 22.06174,21.8837 l 0,556.23236 c 0,11.95646 -10.00812,21.88394 -22.06174,21.88394 l -755.87652,0 z m 0,-19.35484 755.87652,0 c 1.58135,0 2.54954,-0.96039 2.54954,-2.5291 l 0,-556.23236 c 0,-1.5685 -0.96817,-2.5289 -2.54954,-2.5289 l -755.87652,0 c -1.58136,0 -2.54955,0.9604 -2.54955,2.5289 l 0,556.23236 c 0,1.56871 0.96821,2.5291 2.54955,2.5291 z" />
<glyph
glyph-name="b33"
id="glyph4306"
unicode="e"
d="m 122.12332,747.63773 c -12.08627,0 -22.123322,-8.54906 -22.123322,-18.84764 l 0,-562.30156 c 0,-10.2985 10.037082,-18.8508 22.123322,-18.8508 l 186.60985,0 c 12.08628,0 22.12332,8.5523 22.12332,18.8508 l 0,562.30156 c 0,10.29858 -10.03702,18.84764 -22.12332,18.84764 l -186.60985,0 z m 284.56982,0 c -12.08625,0 -22.11949,-8.54906 -22.11949,-18.84764 l 0,-562.30156 c 0,-10.2985 10.03324,-18.8508 22.11949,-18.8508 l 186.61372,0 c 12.08622,0 22.1195,8.5523 22.1195,18.8508 l 0,562.30156 c 0,10.29858 -10.03328,18.84764 -22.1195,18.84764 l -186.61372,0 z m 284.57362,0 c -12.08622,0 -22.1233,-8.54906 -22.1233,-18.84764 l 0,-562.30156 c 0,-10.2985 10.03709,-18.8508 22.1233,-18.8508 l 186.61374,0 c 12.0862,0 22.1195,8.5523 22.1195,18.8508 l 0,562.30156 c 0,10.29858 -10.0333,18.84764 -22.1195,18.84764 l -186.61374,0 z m -569.14344,-16.66661 186.60985,0 c 1.58838,0 2.56343,-0.82761 2.56343,-2.18103 l 0,-562.30156 c 0,-1.3533 -0.97502,-2.1843 -2.56343,-2.1843 l -186.60985,0 c -1.58841,0 -2.56341,0.831 -2.56341,2.1843 l 0,562.30156 c 0,1.35342 0.97503,2.18103 2.56341,2.18103 z m 284.56982,0 186.61372,0 c 1.58837,0 2.5596,-0.82761 2.5596,-2.18103 l 0,-562.30156 c 0,-1.3533 -0.97123,-2.1843 -2.5596,-2.1843 l -186.61372,0 c -1.58837,0 -2.55961,0.831 -2.55961,2.1843 l 0,562.30156 c 0,1.35342 0.97127,2.18103 2.55961,2.18103 z m 284.57362,0 186.61374,0 c 1.5884,0 2.5595,-0.82761 2.5595,-2.18103 l 0,-562.30156 c 0,-1.3533 -0.9711,-2.1843 -2.5595,-2.1843 l -186.61374,0 c -1.58837,0 -2.56341,0.831 -2.56341,2.1843 l 0,562.30156 c 0,1.35342 0.97504,2.18103 2.56341,2.18103 z" />
<glyph
glyph-name="b50"
id="glyph4889"
unicode="w"
d="m 541.98335,747.63769 c -11.9982,0 -21.95893,-9.85244 -21.95893,-21.72025 l 0,-555.59715 c 0,-11.86783 9.96071,-21.71632 21.95893,-21.71632 l 336.05772,0 c 11.99822,0 21.95894,9.84849 21.95894,21.71632 l 0,555.59714 c 0,11.86781 -9.96074,21.72025 -21.95894,21.72025 l -336.05772,0 z m 0,-19.05571 336.05772,0 c 1.65972,0 2.69763,-1.02288 2.69763,-2.66454 l 0,-555.59715 c 0,-1.64155 -1.03793,-2.66453 -2.69763,-2.66453 l -336.05772,0 c -1.6597,0 -2.69763,1.02299 -2.69763,2.66453 l 0,555.59714 c 0,1.64166 1.03791,2.66454 2.69763,2.66454 z m -420.02441,18.08953 c -11.99821,0 -21.958948,-9.85245 -21.958948,-21.72025 l 0,-555.59716 c 0,-11.86782 9.960718,-21.71633 21.958948,-21.71633 l 336.0577,0 c 11.99822,0 21.95894,9.84851 21.95894,21.71633 l 0,555.59715 c 0,11.8678 -9.96074,21.72025 -21.95894,21.72025 l -336.0577,0 z m 0,-19.05571 336.0577,0 c 1.65972,0 2.69763,-1.02288 2.69763,-2.66454 l 0,-555.59716 c 0,-1.64154 -1.03793,-2.66454 -2.69763,-2.66454 l -336.0577,0 c -1.65973,0 -2.69765,1.023 -2.69765,2.66454 l 0,555.59715 c 0,1.64168 1.0379,2.66454 2.69765,2.66454 z" />
<glyph
glyph-name="b37"
id="glyph4916"
unicode="r"
d="m 116.28515,747.63775 c -8.8492,0 -16.285153,-7.43672 -16.285153,-16.28516 l 0,-567.42968 c 0,-8.8484 7.435973,-16.2852 16.285153,-16.2852 l 231.17968,0 c 8.84916,0 16.28517,7.4368 16.28517,16.2852 l 0,567.42968 c 0,8.84844 -7.43597,16.28516 -16.28517,16.28516 l -231.17967,0 z m 341.24999,0 c -8.84919,0 -16.28516,-7.43672 -16.28516,-16.28516 l 0,-567.42968 c 0,-8.8484 7.43599,-16.2852 16.28516,-16.2852 l 426.17966,0 c 8.84921,0 16.2852,7.4368 16.2852,16.2852 l 0,567.42968 c 0,8.84844 -7.43599,16.28516 -16.2852,16.28516 l -426.17966,0 z m -337.53516,-20 223.75,0 0,-560.00004 -223.75,0 0,560.00004 z m 341.25,0 418.75002,0 0,-560.00004 -418.75,0 0,560.00004 z" />
<glyph
glyph-name="hero"
id="glyph4986"
unicode="t"
d="m 122.06248,747.63773 c -12.0536,0 -22.062495,-9.9284 -22.062495,-21.8848 l 0,-556.2324 c 0,-11.9564 10.008895,-21.8828 22.062495,-21.8828 l 755.87503,0 c 12.0536,0 22.0625,9.9266 22.0625,21.8828 l 0,556.2324 c 0,11.9564 -10.0088,21.8848 -22.0625,21.8848 z m 0,-19.3555 755.87503,0 c 1.5814,0 2.55078,-0.9606 2.55078,-2.5293 l 0,-556.2324 c 0,-1.5685 -0.96938,-2.5274 -2.55078,-2.5274 l -755.87503,0 c -1.5813,0 -2.5507,0.9589 -2.5507,2.5274 l 0,556.2324 c 0,1.5687 0.9694,2.5293 2.5507,2.5293 z m 86.2227,-66.6445 c -3.4816,0 -6.2852,-2.8032 -6.2852,-6.2852 l 0,-37.4297 c 0,-3.482 2.8036,-6.2851 6.2852,-6.2851 l 87.42967,0 c 3.4816,0 6.28516,2.8031 6.28516,6.2851 l 0,37.4297 c 0,3.482 -2.80356,6.2852 -6.28516,6.2852 z m 247.99999,0 c -3.4816,0 -6.28516,-2.8032 -6.28516,-6.2852 l 0,-37.4297 c 0,-3.482 2.80356,-6.2851 6.28516,-6.2851 l 337.42968,0 c 3.4816,0 6.28516,2.8031 6.28516,6.2851 l 0,37.4297 c 0,3.482 -2.80356,6.2852 -6.28516,6.2852 z m -202,-126 c -3.4816,0 -6.28516,-2.8032 -6.28516,-6.2852 l 0,-135.4297 c 0,-3.482 2.80356,-6.2851 6.28516,-6.2851 l 491.42968,0 c 3.48161,0 6.28516,2.8031 6.28516,6.2851 l 0,135.4297 c 0,3.482 -2.80355,6.2852 -6.28516,6.2852 z m 152,-222 c -3.4816,0 -6.28516,-2.8032 -6.28516,-6.2852 l 0,-37.4297 c 0,-3.482 2.80356,-6.2851 6.28516,-6.2851 l 187.42968,0 c 3.48161,0 6.28516,2.8031 6.28516,6.2851 l 0,37.4297 c 0,3.482 -2.80355,6.2852 -6.28516,6.2852 z" />
<glyph
glyph-name="h1p"
id="glyph5007"
unicode="y"
d="m 108.77344,747.13773 c -3.4816,0 -6.28321,-2.80319 -6.28321,-6.28516 l 0,-93.25976 c 0,-3.48196 2.80161,-6.28516 6.28321,-6.28516 l 506.45117,0 c 3.48161,0 6.28516,2.8032 6.28516,6.28516 l 0,93.25976 c 0,3.48197 -2.80355,6.28516 -6.28516,6.28516 l -506.45117,0 z m 0,-245.55469 c -3.4816,0 -6.28321,-2.80319 -6.28321,-6.28515 l 0,-23.41211 c 0,-3.48197 2.80161,-6.28516 6.28321,-6.28516 l 782.45117,0 c 3.4816,0 6.28516,2.80319 6.28516,6.28516 l 0,23.41211 c 0,3.48196 -2.80356,6.28515 -6.28516,6.28515 l -782.45117,0 z m 0,-105.46289 c -3.4816,0 -6.28321,-2.80319 -6.28321,-6.28515 l 0,-23.41211 c 0,-3.48197 2.80161,-6.28516 6.28321,-6.28516 l 782.45117,0 c 3.4816,0 6.28516,2.80319 6.28516,6.28516 l 0,23.41211 c 0,3.48196 -2.80356,6.28515 -6.28516,6.28515 l -782.45117,0 z m 0,-106.53711 c -3.4816,0 -6.28321,-2.80319 -6.28321,-6.28515 l 0,-23.41211 c 0,-3.48197 2.80161,-6.28516 6.28321,-6.28516 l 782.45117,0 c 3.4816,0 6.28516,2.80319 6.28516,6.28516 l 0,23.41211 c 0,3.48196 -2.80356,6.28515 -6.28516,6.28515 l -782.45117,0 z m 0,-105.46289 c -3.4816,0 -6.28321,-2.80319 -6.28321,-6.28515 l 0,-23.41211 c 0,-3.48197 2.80161,-6.28516 6.28321,-6.28516 l 782.45117,0 c 3.4816,0 6.28516,2.80319 6.28516,6.28516 l 0,23.41211 c 0,3.48196 -2.80356,6.28515 -6.28516,6.28515 l -782.45117,0 z" />
<glyph
glyph-name="3badges"
id="glyph5077"
unicode="u"
d="m 685.72852,681.99609 c -8.6183,0 -15.82618,-7.2085 -15.82618,-15.82812 l 0,-330.03906 c 0,-8.61963 7.20788,-15.82813 15.82618,-15.82813 l 197.94726,0 c 8.61818,0 15.82422,7.2085 15.82422,15.82813 l 0,330.03906 c 0,8.61962 -7.20592,15.82812 -15.82422,15.82812 l -197.94726,0 z m -569.40235,-2.29687 c -8.61829,0 -15.82617,-7.2085 -15.82617,-15.82813 l 0,-330.03906 c 0,-8.61962 7.20788,-15.82812 15.82617,-15.82812 l 197.94727,0 c 8.61818,0 15.82422,7.2085 15.82422,15.82812 l 0,330.03906 c 0,8.61963 -7.20593,15.82813 -15.82422,15.82813 l -197.94727,0 z m 282.4043,0 c -8.6183,0 -15.82617,-7.2085 -15.82617,-15.82813 l 0,-330.03906 c 0,-8.61962 7.20787,-15.82812 15.82617,-15.82812 l 197.94726,0 c 8.61818,0 15.82422,7.2085 15.82422,15.82812 l 0,330.03906 c 0,8.61963 -7.20592,15.82813 -15.82422,15.82813 l -197.94726,0 z m 288.39258,-14.92578 195.15625,0 0,-327.25 -195.15625,0 0,327.25 z m -569.40235,-2.29688 195.15625,0 0,-327.25 -195.15625,0 0,327.25 z m 282.4043,0 195.1582,0 0,-327.25 -195.1582,0 0,327.25 z m 382.2793,-43.06054 c -26.9457,0 -48.78907,-21.84913 -48.78907,-48.80079 0,-26.95166 21.84337,-48.79882 48.78907,-48.79882 26.9457,0 48.79101,21.84716 48.79101,48.79882 0,26.95166 -21.84531,48.80079 -48.79101,48.80079 z m -569.40235,-2.29688 c -26.9457,0 -48.78906,-21.84912 -48.78906,-48.80078 0,-26.95166 21.84336,-48.79883 48.78906,-48.79883 26.9457,0 48.79102,21.84717 48.79102,48.79883 0,26.95166 -21.84532,48.80078 -48.79102,48.80078 z m 282.40625,0 c -26.9457,0 -48.78906,-21.84912 -48.78906,-48.80078 0,-26.95166 21.84336,-48.79883 48.78906,-48.79883 26.9457,0 48.78907,21.84717 48.78907,48.79883 0,26.95166 -21.84337,48.80078 -48.78907,48.80078 z M 733.94336,472.44141 c -3.99684,0 -7.21484,-3.21874 -7.21484,-7.2168 l 0,-7.38281 c 0,-3.99818 3.218,-7.2168 7.21484,-7.2168 l 100.36719,0 c 3.99683,0 7.21679,3.21862 7.21679,7.2168 l 0,7.38281 c 0,3.99806 -3.21996,7.2168 -7.21679,7.2168 l -100.36719,0 z m -569.40234,-2.29688 c -3.99684,0 -7.21485,-3.21873 -7.21485,-7.2168 l 0,-7.38281 c 0,-3.99818 3.21801,-7.2168 7.21485,-7.2168 l 100.36718,0 c 3.99684,0 7.2168,3.21862 7.2168,7.2168 l 0,7.38281 c 0,3.99807 -3.21996,7.2168 -7.2168,7.2168 l -100.36718,0 z m 282.40429,0 c -3.99683,0 -7.21484,-3.21873 -7.21484,-7.2168 l 0,-7.38281 c 0,-3.99818 3.21801,-7.2168 7.21484,-7.2168 l 100.36914,0 c 3.99684,0 7.21485,3.21862 7.21485,7.2168 l 0,7.38281 c 0,3.99807 -3.21801,7.2168 -7.21485,7.2168 l -100.36914,0 z m 286.9961,-36.74414 c -3.99684,0 -7.21289,-3.21862 -7.21289,-7.2168 l 0,-7.38281 c 0,-3.99818 3.21605,-7.2168 7.21289,-7.2168 l 100.37109,0 c 3.99684,0 7.21484,3.21862 7.21484,7.2168 l 0,7.38281 c 0,3.99818 -3.218,7.2168 -7.21484,7.2168 l -100.37109,0 z m -569.40235,-2.29687 c -3.99683,0 -7.21289,-3.21862 -7.21289,-7.2168 l 0,-7.38281 c 0,-3.99818 3.21606,-7.2168 7.21289,-7.2168 l 100.3711,0 c 3.99683,0 7.21484,3.21862 7.21484,7.2168 l 0,7.38281 c 0,3.99818 -3.21801,7.2168 -7.21484,7.2168 l -100.3711,0 z m 282.40625,0 c -3.99683,0 -7.21484,-3.21862 -7.21484,-7.2168 l 0,-7.38281 c 0,-3.99818 3.21801,-7.2168 7.21484,-7.2168 l 100.36914,0 c 3.99684,0 7.21485,3.21862 7.21485,7.2168 l 0,7.38281 c 0,3.99818 -3.21801,7.2168 -7.21485,7.2168 l -100.36914,0 z m 286.9961,-36.74219 c -3.99684,0 -7.21289,-3.21862 -7.21289,-7.2168 l 0,-7.38281 c 0,-3.99818 3.21605,-7.2168 7.21289,-7.2168 l 100.37109,0 c 3.99684,0 7.21484,3.21862 7.21484,7.2168 l 0,7.38281 c 0,3.99818 -3.218,7.2168 -7.21484,7.2168 l -100.37109,0 z m -569.40235,-2.29688 c -3.99683,0 -7.21289,-3.21861 -7.21289,-7.21679 l 0,-7.38282 c 0,-3.99818 3.21606,-7.21679 7.21289,-7.21679 l 100.3711,0 c 3.99683,0 7.21484,3.21861 7.21484,7.21679 l 0,7.38282 c 0,3.99818 -3.21801,7.21679 -7.21484,7.21679 l -100.3711,0 z m 282.40625,0 c -3.99683,0 -7.21484,-3.21861 -7.21484,-7.21679 l 0,-7.38282 c 0,-3.99818 3.21801,-7.21679 7.21484,-7.21679 l 100.36914,0 c 3.99684,0 7.21485,3.21861 7.21485,7.21679 l 0,7.38282 c 0,3.99818 -3.21801,7.21679 -7.21485,7.21679 l -100.36914,0 z" />
<glyph
glyph-name="image"
id="glyph5147"
unicode="i"
d="m 122.06252,747.63773 c -12.0536,0 -22.0625,-9.92827 -22.0625,-21.88477 l 0,-556.23243 c 0,-11.9564 10.0089,-21.8828 22.0625,-21.8828 l 755.87495,0 c 12.0536,0 22.0625,9.9266 22.0625,21.8828 l 0,556.23243 c 0,11.9565 -10.0088,21.88477 -22.0625,21.88477 l -755.87495,0 z m 0,-19.35547 755.87495,0 c 1.5814,0 2.5508,-0.9606 2.5508,-2.5293 l 0,-556.23243 c 0,-1.5685 -0.9694,-2.5273 -2.5508,-2.5273 l -755.87495,0 c -1.5813,0 -2.55078,0.9588 -2.55078,2.5273 l 0,556.23243 c 0,1.5687 0.96948,2.5293 2.55078,2.5293 z m 603.43745,-37.64453 a 67.5,67.5 0 0 1 -67.5,-67.5 67.5,67.5 0 0 1 67.5,-67.5 67.5,67.5 0 0 1 67.5,67.5 67.5,67.5 0 0 1 -67.5,67.5 z m -327.33589,-58.78516 -235.3789,-426.32224 259.25586,0 -0.54883,-0.9922 366.19137,0 -183.09571,331.11718 -76.7148,-138.73438 -129.70899,234.93164 z" />
<glyph
glyph-name="text"
id="glyph5149"
unicode="o"
d="m 241.54297,800 -7.47656,-140.70703 17.75976,0 c 2.1811,27.13864 9.03393,48.67237 20.5625,64.60156 11.52843,15.92921 25.39542,26.69607 41.59766,32.30078 12.46317,4.12981 33.49551,6.19336 63.0957,6.19336 l 76.18164,0 0,-458.40625 c 0,-33.62831 -3.42842,-55.16202 -10.2832,-64.60156 -11.2169,-15.33922 -30.22357,-23.00977 -57.01953,-23.00977 l -22.4336,0 0,-16.37109 268.74024,0 0,16.37109 -21.9668,0 c -24.61491,0 -42.84157,6.19463 -54.68164,18.58399 -8.4127,9.14454 -12.62109,32.15418 -12.62109,69.02734 l 0,458.40625 89.26953,0 c 26.17279,0 47.2031,-4.12909 63.09375,-12.38867 16.2022,-7.9646 29.13201,-20.50219 38.79101,-37.61133 5.92001,-10.61945 10.59409,-28.31694 14.02149,-53.0957 l 17.75976,0 L 758.92383,800 241.54297,800 Z" />
<glyph
glyph-name="quotes"
id="glyph5248"
unicode="p"
d="m 205.0332,800 0,-10 0,-252.15234 122.83594,0 c 0.19856,-1.5552 0.35938,-3.0785 0.35938,-4.44336 l 0,-0.99024 0.19336,-0.96875 c 0.56358,-2.8203 0.91406,-6.65611 0.91406,-11.36719 0,-49.69706 -10.37622,-93.07559 -30.95703,-130.7207 l -0.0352,-0.0644 -0.0352,-0.0645 C 278.74416,352.1644 251.28807,331.76304 213.41602,325.56055 l -8.38282,-1.37305 0,-124.1875 11.19532,1.34961 c 82.40701,9.92779 145.45236,49.82688 186.08398,118.11523 l 0.0117,0.0215 0.0137,0.0215 c 40.26558,68.43351 60.20313,151.05581 60.20313,247.22266 l 0,233.26953 -257.50782,0 z m 332.42578,0 0,-10 0,-252.15234 122.83399,0 c 0.19946,-1.55621 0.36133,-3.07993 0.36133,-4.44336 l 0,-0.99024 0.19336,-0.96875 c 0.56358,-2.82026 0.91406,-6.6561 0.91406,-11.36719 0,-49.69706 -10.37622,-93.07559 -30.95703,-130.7207 l -0.0352,-0.0644 -0.0352,-0.0645 C 611.16993,352.1644 583.71386,331.76304 545.8418,325.56055 l -8.38282,-1.37305 0,-124.1875 11.19532,1.34961 c 82.40702,9.92779 145.45236,49.82688 186.08398,118.11523 l 0.0117,0.0215 0.0137,0.0215 c 40.26567,68.43338 60.20313,151.05581 60.20313,247.22266 l 0,233.26953 -257.50782,0 z m -312.42578,-20 217.50782,0 0,-213.26953 c 0,-93.39687 -19.27335,-172.19948 -57.42774,-237.05664 C 349.1695,269.27492 296.65772,234.14551 225.0332,222.82031 l 0,84.86719 c 39.43166,8.90932 70.49983,33.48573 90.92578,72.14453 22.30915,40.83549 33.37696,87.77857 33.37696,140.24609 0,5.3977 -0.38074,10.20735 -1.20899,14.62305 -0.1288,5.15097 -0.94385,10.4327 -2.50195,15.89063 l -2.07031,7.25586 -118.52149,0 0,222.15234 z m 332.42578,0 217.50782,0 0,-213.26953 c 0,-93.39687 -19.27334,-172.19948 -57.42774,-237.05664 -35.94378,-60.39891 -88.45555,-95.52832 -160.08008,-106.85352 l 0,84.86719 c 39.43166,8.90932 70.49982,33.48573 90.92579,72.14453 22.30914,40.83549 33.37695,87.77857 33.37695,140.24609 0,5.40154 -0.3814,10.21455 -1.21094,14.63282 -0.13032,5.15253 -0.94794,10.43031 -2.5039,15.88086 l -2.07032,7.25586 -118.51758,0 0,222.15234 z" />
<glyph
glyph-name="button"
id="glyph4390"
unicode="m"
d="M 122.0625,762.63867 C 101.77302,762.63867 85,746.0808 85,725.75391 l 0,-556.23243 c 0,-20.32692 16.77277,-36.88281 37.0625,-36.88281 l 755.875,0 c 20.28976,0 37.0625,16.55589 37.0625,36.88281 l 0,556.23243 c 0,20.32692 -16.77285,36.88476 -37.0625,36.88476 l -755.875,0 z m 12.44922,-49.35547 730.97656,0 0,-531.29101 -730.97656,0 0,531.29101 z" />
<glyph
glyph-name="trp-sect"
id="glyph5546"
unicode="E"
d="M 114.31055,767.6387 C 100.08103,767.6387 88,755.5578 88,741.3281 l 0,-587.3808 c 0,-14.2297 12.08103,-26.3086 26.31055,-26.3086 l 187.3789,0 c 14.22952,0 26.31055,12.0789 26.31055,26.3086 l 0,587.3808 c 0,14.2297 -12.08103,26.3106 -26.31055,26.3106 l -187.3789,0 z m 292,0 C 392.08103,767.6387 380,755.5578 380,741.3281 l 0,-587.3808 c 0,-14.2297 12.08103,-26.3086 26.31055,-26.3086 l 187.3789,0 c 14.22952,0 26.31055,12.0789 26.31055,26.3086 l 0,587.3808 c 0,14.2297 -12.08103,26.3106 -26.31055,26.3106 l -187.3789,0 z m 292,0 C 684.08103,767.6387 672,755.5578 672,741.3281 l 0,-587.3808 c 0,-14.2297 12.08103,-26.3086 26.31055,-26.3086 l 187.3789,0 c 14.22952,0 26.31055,12.0789 26.31055,26.3086 l 0,587.3808 c 0,14.2297 -12.08103,26.3106 -26.31055,26.3106 l -187.3789,0 z m -570.31055,-40 160,0 0,-560 -160,0 0,560 z m 292,0 160,0 0,-560 -160,0 0,560 z m 292,0 160,0 0,-560 -160,0 0,560 z" />
<glyph
glyph-name="o-sect"
id="glyph5726"
unicode="Q"
d="M 122.0625,762.63773 C 101.77302,762.63773 85,746.07983 85,725.75293 l 0,-556.2324 c 0,-20.3269 16.77277,-36.8828 37.0625,-36.8828 l 755.875,0 c 20.28976,0 37.0625,16.5559 37.0625,36.8828 l 0,556.2324 c 0,20.327 -16.77285,36.8848 -37.0625,36.8848 l -755.875,0 z m 12.44922,-49.3555 730.97656,0 0,-531.291 -730.97656,0 0,531.291 z" />
<glyph
glyph-name="dbl-sect"
id="glyph6326"
unicode="W"
d="m 111.69531,767.63867 c -14.229645,0 -26.310544,-12.08092 -26.310544,-26.31055 l 0,-587.38085 c 0,-14.22961 12.080937,-26.3086 26.310544,-26.3086 l 325.50586,0 c 14.22963,0 26.31055,12.07895 26.31055,26.3086 l 0,587.38085 c 0,14.22967 -12.08088,26.31055 -26.31055,26.31055 l -325.50586,0 z m 451.10352,0 c -14.22965,0 -26.31055,-12.08092 -26.31055,-26.31055 l 0,-587.38085 c 0,-14.22961 12.08094,-26.3086 26.31055,-26.3086 l 325.50586,0 c 14.22961,0 26.31054,12.07899 26.31054,26.3086 l 0,587.38085 c 0,14.22963 -12.0809,26.31055 -26.31054,26.31055 l -325.50586,0 z m -437.41406,-40 298.12695,0 0,-560 -298.12695,0 0,560 z m 451.10351,0 298.12695,0 0,-560 -298.12695,0 0,560 z" />
<glyph
glyph-name="37-rect"
id="glyph6441"
unicode="R"
d="m 117.06641,762.66507 c -14.22964,0 -26.310551,-12.0809 -26.310551,-26.31054 l 0,-577.43555 c 0,-14.22964 12.080911,-26.30859 26.310551,-26.30859 l 246.16992,0 c 14.22964,0 26.31053,12.07895 26.31055,26.30859 l 0,577.43555 c 0,14.22964 -12.08091,26.31054 -26.31055,26.31054 l -246.16992,0 z m 378.48828,0 c -14.22964,0 -26.31055,-12.0809 -26.31055,-26.31054 l 0,-577.43555 c 0,-14.22964 12.08091,-26.30859 26.31055,-26.30859 l 387.3789,0 c 14.22964,0 26.31055,12.07895 26.31055,26.30859 l 0,577.43555 c 0,14.22964 -12.08091,26.31054 -26.31055,26.31054 l -387.3789,0 z m -364.79883,-40 218.79102,0 0,-550.05468 -218.79102,0 0,550.05468 z m 378.48828,0 360,0 0,-550.05468 -360,0 0,550.05468 z" />
<glyph
glyph-name="hero-sect"
id="glyph6480"
unicode="T"
d="m 409.31437,299.23917 c -3.4816,0 -6.2851,-2.8032 -6.2851,-6.2852 l 0,-37.4297 c 0,-3.482 2.8035,-6.2851 6.2851,-6.2851 l 187.4297,0 c 3.4816,0 6.2852,2.8031 6.2852,6.2851 l 0,37.4297 c 0,3.482 -2.8036,6.2852 -6.2852,6.2852 z m -159.07796,200 c -3.4816,0 -6.2851,-2.8032 -6.2851,-6.2852 l 0,-135.4297 c 0,-3.482 2.8035,-6.2851 6.2851,-6.2851 l 491.4297,0 c 3.4816,0 6.2852,2.8031 6.2852,6.2851 l 0,135.4297 c 0,3.482 -2.8036,6.2852 -6.2852,6.2852 z m 200,150 c -3.4816,0 -6.2851,-2.8032 -6.2851,-6.2852 l 0,-37.4297 c 0,-3.482 2.8035,-6.2851 6.2851,-6.2851 l 337.4297,0 c 3.4816,0 6.2852,2.8031 6.2852,6.2851 l 0,37.4297 c 0,3.482 -2.8036,6.2852 -6.2852,6.2852 z m -247.9999,0 c -3.4816,0 -6.2852,-2.8032 -6.2852,-6.2852 l 0,-37.4297 c 0,-3.482 2.8036,-6.2851 6.2852,-6.2851 l 87.4296,0 c 3.4816,0 6.2852,2.8031 6.2852,6.2851 l 0,37.4297 c 0,3.482 -2.8036,6.2852 -6.2852,6.2852 z M 122.0625,762.63773 c -20.28948,0 -37.062501,-16.5579 -37.062501,-36.8848 l 0,-556.2324 c 0,-20.3269 16.772771,-36.8828 37.062501,-36.8828 l 755.875,0 c 20.28976,0 37.0625,16.5559 37.0625,36.8828 l 0,556.2324 c 0,20.327 -16.77285,36.8848 -37.0625,36.8848 l -755.875,0 z m 12.44922,-49.3555 730.97656,0 0,-531.291 -730.97656,0 0,531.291 z" />
<glyph
glyph-name="image-s"
id="glyph6495"
unicode="I"
d="m 411.48046,643.83499 -235.3789,-426.32224 259.2559,0 -0.5489,-0.9922 366.1914,0 -183.0957,331.11718 -76.7148,-138.73438 -129.709,234.93164 z m 318.56846,27.37625 a 67.5,67.5 0 0 1 -67.5,-67.5 67.5,67.5 0 0 1 67.5,-67.5 67.5,67.5 0 0 1 67.5,67.5 67.5,67.5 0 0 1 -67.5,67.5 z M 122.0625,762.63773 C 101.77302,762.63773 85,746.07983 85,725.75293 l 0,-556.2324 c 0,-20.3269 16.77277,-36.8828 37.0625,-36.8828 l 755.875,0 c 20.28976,0 37.0625,16.5559 37.0625,36.8828 l 0,556.2324 c 0,20.327 -16.77285,36.8848 -37.0625,36.8848 l -755.875,0 z m 12.44922,-49.3555 730.97656,0 0,-531.291 -730.97656,0 0,531.291 z" />
<glyph
glyph-name="button"
id="glyph6529"
d="m 246.7734,467.09478 c -3.4816,0 -6.2832,-1.0322 -6.2832,-2.3125 l 0,-34.2891 c 0,-1.2803 2.8016,-2.3125 6.2832,-2.3125 l 506.4512,0 c 3.4816,0 6.2852,1.0322 6.2852,2.3125 l 0,34.2891 c 0,1.2803 -2.8036,2.3125 -6.2852,2.3125 l -506.4512,0 z M 111.49023,619.35843 c -14.229587,0 -26.310541,-12.07899 -26.310541,-26.30859 l 0,-290.82227 c 0,-14.2296 12.080954,-26.31054 26.310541,-26.31054 l 777.01954,0 c 14.2296,0 26.31054,12.08094 26.31054,26.31054 l 0,290.82227 c 0,14.2296 -12.08094,26.30859 -26.31054,26.30859 z m 13.68946,-40 749.64062,0 0,-263.4414 -749.64062,0 z"
unicode="B" />
<glyph
glyph-name="divider"
id="glyph6571"
unicode="D"
d="m 233.7889,467.0941 c -3.4816,0 -6.2832,-1.0309 -6.2832,-2.3112 l 0,-34.2904 c 0,-1.2803 2.8016,-2.3112 6.2832,-2.3112 l 506.4512,0 c 3.4816,0 6.2852,1.0309 6.2852,2.3112 l 0,34.2904 c 0,1.2803 -2.8036,2.3112 -6.2852,2.3112 z M 111.6094,376.1484 c -14.2295,0 -26.3086,-12.079 -26.3086,-26.3086 l 0,-187.5371 c 0,-14.2296 12.0787,-26.3105 26.3086,-26.3105 l 776.7812,0 c 14.2299,0 26.3086,12.0809 26.3086,26.3105 l 0,187.5371 c 0,14.2296 -12.0791,26.3086 -26.3086,26.3086 l -776.7812,0 z m 13.6914,-40 749.3984,0 0,-160.1562 -749.3984,0 0,160.1562 z m -13.6914,423.1348 c -14.2295,0 -26.3086,-12.0809 -26.3086,-26.3105 l 0,-187.5372 c 0,-14.2298 12.0787,-26.3085 26.3086,-26.3085 l 776.7812,0 c 14.2299,0 26.3086,12.0787 26.3086,26.3085 l 0,187.5372 c 0,14.2296 -12.0791,26.3105 -26.3086,26.3105 l -776.7812,0 z m 13.6914,-40 749.3984,0 0,-160.1562 -749.3984,0 0,160.1562 z" />
</font>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.22415285"
inkscape:cx="631.04328"
inkscape:cy="-1694.6037"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:window-width="1440"
inkscape:window-height="800"
inkscape:window-x="0"
inkscape:window-y="1"
inkscape:window-maximized="1"
guidetolerance="10"
objecttolerance="10"
gridtolerance="2"
inkscape:snap-bbox="false"
inkscape:bbox-nodes="false"
inkscape:bbox-paths="false"
inkscape:snap-bbox-edge-midpoints="false"
inkscape:snap-bbox-midpoints="false"
inkscape:snap-grids="true"
inkscape:snap-global="true"
inkscape:object-nodes="true"
inkscape:snap-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4211"
color="#ff00ff"
opacity="0.1254902"
empcolor="#0000ff"
empopacity="0.25098039"
spacingx="9.9999999"
spacingy="9.9999999"
units="px" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Livello 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-52.36227)">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m -603.49035,1669.397 c -12.0536,0 -22.0617,-9.9275 -22.0617,-21.884 l 0,-556.2324 c 0,-11.9564 10.0081,-21.8836 22.0617,-21.8836 l 755.8765,0 c 12.0536,0 22.0618,9.9274 22.0618,21.8836 l 0,556.2324 c 0,11.9565 -10.0081,21.884 -22.0618,21.884 l -755.8765,0 z m 0,-19.3549 755.8765,0 c 1.5814,0 2.5496,-0.9604 2.5496,-2.5291 l 0,-556.2324 c 0,-1.5685 -0.9682,-2.5289 -2.5496,-2.5289 l -755.8765,0 c -1.5813,0 -2.5495,0.9604 -2.5495,2.5289 l 0,556.2324 c 0,1.5687 0.9682,2.5291 2.5495,2.5291 z"
id="rect4221"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
d="m 1520.0244,382.34038 c -11.9982,0 -21.9589,9.85244 -21.9589,21.72025 l 0,555.59715 c 0,11.86783 9.9607,21.71632 21.9589,21.71632 l 336.0577,0 c 11.9983,0 21.959,-9.84849 21.959,-21.71632 l 0,-555.59714 c 0,-11.86781 -9.9608,-21.72025 -21.959,-21.72025 l -336.0577,0 z m 0,19.05571 336.0577,0 c 1.6598,0 2.6977,1.02288 2.6977,2.66454 l 0,555.59715 c 0,1.64155 -1.038,2.66453 -2.6977,2.66453 l -336.0577,0 c -1.6597,0 -2.6976,-1.02299 -2.6976,-2.66453 l 0,-555.59714 c 0,-1.64166 1.0379,-2.66454 2.6976,-2.66454 z M 1100,383.30656 c -11.9982,0 -21.9589,9.85245 -21.9589,21.72025 l 0,555.59716 c 0,11.86782 9.9607,21.71633 21.9589,21.71633 l 336.0577,0 c 11.9982,0 21.959,-9.84851 21.959,-21.71633 l 0,-555.59715 c 0,-11.8678 -9.9608,-21.72025 -21.959,-21.72025 l -336.0577,0 z m 0,19.05571 336.0577,0 c 1.6597,0 2.6976,1.02288 2.6976,2.66454 l 0,555.59716 c 0,1.64154 -1.0379,2.66454 -2.6976,2.66454 l -336.0577,0 c -1.6597,0 -2.6976,-1.023 -2.6976,-2.66454 l 0,-555.59715 c 0,-1.64168 1.0379,-2.66454 2.6976,-2.66454 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:9.86022854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4238" />
<path
inkscape:connector-curvature="0"
id="rect4298"
d="m 1102.8566,1186.3623 c -12.0863,0 -22.1233,8.549 -22.1233,18.8476 l 0,562.3015 c 0,10.2985 10.0371,18.8508 22.1233,18.8508 l 186.6098,0 c 12.0863,0 22.1234,-8.5523 22.1234,-18.8508 l 0,-562.3015 c 0,-10.2986 -10.0371,-18.8476 -22.1234,-18.8476 l -186.6098,0 z m 284.5698,0 c -12.0862,0 -22.1195,8.549 -22.1195,18.8476 l 0,562.3015 c 0,10.2985 10.0333,18.8508 22.1195,18.8508 l 186.6137,0 c 12.0863,0 22.1195,-8.5523 22.1195,-18.8508 l 0,-562.3015 c 0,-10.2986 -10.0332,-18.8476 -22.1195,-18.8476 l -186.6137,0 z m 284.5736,0 c -12.0862,0 -22.1233,8.549 -22.1233,18.8476 l 0,562.3015 c 0,10.2985 10.0371,18.8508 22.1233,18.8508 l 186.6138,0 c 12.0862,0 22.1195,-8.5523 22.1195,-18.8508 l 0,-562.3015 c 0,-10.2986 -10.0333,-18.8476 -22.1195,-18.8476 l -186.6138,0 z m -569.1434,16.6666 186.6098,0 c 1.5884,0 2.5635,0.8276 2.5635,2.181 l 0,562.3015 c 0,1.3533 -0.975,2.1843 -2.5635,2.1843 l -186.6098,0 c -1.5884,0 -2.5634,-0.831 -2.5634,-2.1843 l 0,-562.3015 c 0,-1.3534 0.975,-2.181 2.5634,-2.181 z m 284.5698,0 186.6137,0 c 1.5884,0 2.5596,0.8276 2.5596,2.181 l 0,562.3015 c 0,1.3533 -0.9712,2.1843 -2.5596,2.1843 l -186.6137,0 c -1.5884,0 -2.5596,-0.831 -2.5596,-2.1843 l 0,-562.3015 c 0,-1.3534 0.9713,-2.181 2.5596,-2.181 z m 284.5736,0 186.6138,0 c 1.5884,0 2.5595,0.8276 2.5595,2.181 l 0,562.3015 c 0,1.3533 -0.9711,2.1843 -2.5595,2.1843 l -186.6138,0 c -1.5883,0 -2.5634,-0.831 -2.5634,-2.1843 l 0,-562.3015 c 0,-1.3534 0.9751,-2.181 2.5634,-2.181 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 130.28515,1206.3622 c -8.8492,0 -16.28515,7.4367 -16.28515,16.2852 l 0,567.4297 c 0,8.8484 7.43597,16.2852 16.28515,16.2852 l 231.17968,0 c 8.84916,0 16.28517,-7.4368 16.28517,-16.2852 l 0,-567.4297 c 0,-8.8485 -7.43597,-16.2852 -16.28517,-16.2852 l -231.17967,0 z m 341.24999,0 c -8.84919,0 -16.28516,7.4367 -16.28516,16.2852 l 0,567.4297 c 0,8.8484 7.43599,16.2852 16.28516,16.2852 l 426.17966,0 c 8.84921,0 16.2852,-7.4368 16.2852,-16.2852 l 0,-567.4297 c 0,-8.8485 -7.43599,-16.2852 -16.2852,-16.2852 l -426.17966,0 z m -337.53516,20 223.75,0 0,560.0001 -223.75,0 0,-560.0001 z m 341.25,0 418.75002,0 0,560.0001 -418.75,0 0,-560.0001 z"
id="rect4897"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m -1606.1064,1092.4051 c -12.0536,0 -22.0625,9.9284 -22.0625,21.8848 l 0,556.2324 c 0,11.9564 10.0089,21.8828 22.0625,21.8828 l 755.87498,0 c 12.0536,0 22.0625,-9.9266 22.0625,-21.8828 l 0,-556.2324 c 0,-11.9564 -10.0088,-21.8848 -22.0625,-21.8848 z m 0,19.3555 755.87498,0 c 1.5814,0 2.55078,0.9606 2.55078,2.5293 l 0,556.2324 c 0,1.5685 -0.96938,2.5274 -2.55078,2.5274 l -755.87498,0 c -1.5813,0 -2.5507,-0.9589 -2.5507,-2.5274 l 0,-556.2324 c 0,-1.5687 0.9694,-2.5293 2.5507,-2.5293 z m 86.2227,66.6445 c -3.4816,0 -6.2852,2.8032 -6.2852,6.2852 l 0,37.4297 c 0,3.482 2.8036,6.2851 6.2852,6.2851 l 87.4296,0 c 3.4816,0 6.2852,-2.8031 6.2852,-6.2851 l 0,-37.4297 c 0,-3.482 -2.8036,-6.2852 -6.2852,-6.2852 z m 247.9999,0 c -3.4816,0 -6.2851,2.8032 -6.2851,6.2852 l 0,37.4297 c 0,3.482 2.8035,6.2851 6.2851,6.2851 l 337.42972,0 c 3.4816,0 6.28516,-2.8031 6.28516,-6.2851 l 0,-37.4297 c 0,-3.482 -2.80356,-6.2852 -6.28516,-6.2852 z m -202,126 c -3.4816,0 -6.2851,2.8032 -6.2851,6.2852 l 0,135.4297 c 0,3.482 2.8035,6.2851 6.2851,6.2851 l 491.42972,0 c 3.48161,0 6.28516,-2.8031 6.28516,-6.2851 l 0,-135.4297 c 0,-3.482 -2.80355,-6.2852 -6.28516,-6.2852 z m 152,222 c -3.4816,0 -6.2851,2.8032 -6.2851,6.2852 l 0,37.4297 c 0,3.482 2.8035,6.2851 6.2851,6.2851 l 187.4297,0 c 3.4816,0 6.2852,-2.8031 6.2852,-6.2851 l 0,-37.4297 c 0,-3.482 -2.8036,-6.2852 -6.2852,-6.2852 z"
id="path4918"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssssssssssssssssssssssssssssssssssssssssssssssssssss" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -954.71513,261.34755 c -3.4816,0 -6.28321,2.80319 -6.28321,6.28516 l 0,93.25976 c 0,3.48196 2.80161,6.28516 6.28321,6.28516 l 506.45117,0 c 3.48161,0 6.28516,-2.8032 6.28516,-6.28516 l 0,-93.25976 c 0,-3.48197 -2.80355,-6.28516 -6.28516,-6.28516 l -506.45117,0 z m 0,245.55469 c -3.4816,0 -6.28321,2.80319 -6.28321,6.28515 l 0,23.41211 c 0,3.48197 2.80161,6.28516 6.28321,6.28516 l 782.45117,0 c 3.4816,0 6.28516,-2.80319 6.28516,-6.28516 l 0,-23.41211 c 0,-3.48196 -2.80356,-6.28515 -6.28516,-6.28515 l -782.45117,0 z m 0,105.46289 c -3.4816,0 -6.28321,2.80319 -6.28321,6.28515 l 0,23.41211 c 0,3.48197 2.80161,6.28516 6.28321,6.28516 l 782.45117,0 c 3.4816,0 6.28516,-2.80319 6.28516,-6.28516 l 0,-23.41211 c 0,-3.48196 -2.80356,-6.28515 -6.28516,-6.28515 l -782.45117,0 z m 0,106.53711 c -3.4816,0 -6.28321,2.80319 -6.28321,6.28515 l 0,23.41211 c 0,3.48197 2.80161,6.28516 6.28321,6.28516 l 782.45117,0 c 3.4816,0 6.28516,-2.80319 6.28516,-6.28516 l 0,-23.41211 c 0,-3.48196 -2.80356,-6.28515 -6.28516,-6.28515 l -782.45117,0 z m 0,105.46289 c -3.4816,0 -6.28321,2.80319 -6.28321,6.28515 l 0,23.41211 c 0,3.48197 2.80161,6.28516 6.28321,6.28516 l 782.45117,0 c 3.4816,0 6.28516,-2.80319 6.28516,-6.28516 l 0,-23.41211 c 0,-3.48196 -2.80356,-6.28515 -6.28516,-6.28515 l -782.45117,0 z"
id="rect4990"
inkscape:connector-curvature="0" />
<g
id="g5100"
transform="matrix(1.1479885,0,0,1.1482424,-1626.635,-2493.2328)">
<path
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.87099254px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 2231.0895,1774.6238 c -7.5073,0 -13.786,6.2778 -13.786,13.7846 l 0,287.4298 c 0,7.5068 6.2787,13.7847 13.786,13.7847 l 172.4296,0 c 7.5072,0 13.7843,-6.2779 13.7843,-13.7847 l 0,-287.4298 c 0,-7.5068 -6.277,-13.7846 -13.7843,-13.7846 l -172.4296,0 z m -496.0001,2.0003 c -7.5073,0 -13.786,6.2779 -13.786,13.7847 l 0,287.4298 c 0,7.5068 6.2787,13.7846 13.786,13.7846 l 172.4297,0 c 7.5072,0 13.7843,-6.2778 13.7843,-13.7846 l 0,-287.4298 c 0,-7.5068 -6.277,-13.7847 -13.7843,-13.7847 l -172.4297,0 z m 245.9993,0 c -7.5073,0 -13.786,6.2779 -13.786,13.7847 l 0,287.4298 c 0,7.5068 6.2787,13.7846 13.786,13.7846 l 172.4296,0 c 7.5072,0 13.7843,-6.2778 13.7843,-13.7846 l 0,-287.4298 c 0,-7.5068 -6.277,-13.7847 -13.7843,-13.7847 l -172.4296,0 z m 251.2155,12.9988 169.9985,0 0,285.0008 -169.9985,0 0,-285.0008 z m -496,2.0004 169.9984,0 0,285.0008 -169.9984,0 0,-285.0008 z m 245.9992,0 170.0002,0 0,285.0008 -170.0002,0 0,-285.0008 z m 332.9993,37.5012 c -23.4721,0 -42.4996,19.0284 -42.4996,42.5005 0,23.4721 19.0275,42.4987 42.4996,42.4987 23.4721,0 42.5013,-19.0266 42.5013,-42.4987 0,-23.4721 -19.0292,-42.5005 -42.5013,-42.5005 z m -496.0001,2.0004 c -23.4721,0 -42.4996,19.0283 -42.4996,42.5004 0,23.4721 19.0275,42.4987 42.4996,42.4987 23.4721,0 42.5013,-19.0266 42.5013,-42.4987 0,-23.4721 -19.0292,-42.5004 -42.5013,-42.5004 z m 246.001,0 c -23.4721,0 -42.4996,19.0283 -42.4996,42.5004 0,23.4721 19.0275,42.4987 42.4996,42.4987 23.4721,0 42.4996,-19.0266 42.4996,-42.4987 0,-23.4721 -19.0275,-42.5004 -42.4996,-42.5004 z m 207.7853,125.9993 c -3.4816,0 -6.2848,2.8032 -6.2848,6.2851 l 0,6.4296 c 0,3.482 2.8032,6.2851 6.2848,6.2851 l 87.4287,0 c 3.4816,0 6.2865,-2.8031 6.2865,-6.2851 l 0,-6.4296 c 0,-3.4819 -2.8049,-6.2851 -6.2865,-6.2851 l -87.4287,0 z m -496.0001,2.0003 c -3.4816,0 -6.2847,2.8032 -6.2847,6.2851 l 0,6.4297 c 0,3.482 2.8031,6.2851 6.2847,6.2851 l 87.4288,0 c 3.4816,0 6.2865,-2.8031 6.2865,-6.2851 l 0,-6.4297 c 0,-3.4819 -2.8049,-6.2851 -6.2865,-6.2851 l -87.4288,0 z m 245.9993,0 c -3.4816,0 -6.2848,2.8032 -6.2848,6.2851 l 0,6.4297 c 0,3.482 2.8032,6.2851 6.2848,6.2851 l 87.4304,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4297 c 0,-3.4819 -2.8032,-6.2851 -6.2848,-6.2851 l -87.4304,0 z m 249.9991,32.0004 c -3.4816,0 -6.2831,2.803 -6.2831,6.285 l 0,6.4297 c 0,3.482 2.8015,6.2851 6.2831,6.2851 l 87.4321,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4297 c 0,-3.482 -2.8032,-6.285 -6.2848,-6.285 l -87.4321,0 z m -496.0001,2.0003 c -3.4816,0 -6.283,2.8031 -6.283,6.2851 l 0,6.4296 c 0,3.482 2.8014,6.2851 6.283,6.2851 l 87.4322,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4296 c 0,-3.482 -2.8032,-6.2851 -6.2848,-6.2851 l -87.4322,0 z m 246.001,0 c -3.4816,0 -6.2848,2.8031 -6.2848,6.2851 l 0,6.4296 c 0,3.482 2.8032,6.2851 6.2848,6.2851 l 87.4304,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4296 c 0,-3.482 -2.8032,-6.2851 -6.2848,-6.2851 l -87.4304,0 z m 249.9991,31.9986 c -3.4816,0 -6.2831,2.8031 -6.2831,6.2851 l 0,6.4297 c 0,3.482 2.8015,6.2851 6.2831,6.2851 l 87.4321,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4297 c 0,-3.482 -2.8032,-6.2851 -6.2848,-6.2851 l -87.4321,0 z m -496.0001,2.0004 c -3.4816,0 -6.283,2.803 -6.283,6.285 l 0,6.4297 c 0,3.482 2.8014,6.2851 6.283,6.2851 l 87.4322,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4297 c 0,-3.482 -2.8032,-6.285 -6.2848,-6.285 l -87.4322,0 z m 246.001,0 c -3.4816,0 -6.2848,2.803 -6.2848,6.285 l 0,6.4297 c 0,3.482 2.8032,6.2851 6.2848,6.2851 l 87.4304,0 c 3.4816,0 6.2848,-2.8031 6.2848,-6.2851 l 0,-6.4297 c 0,-3.482 -2.8032,-6.285 -6.2848,-6.285 l -87.4304,0 z"
id="path5110"
inkscape:connector-curvature="0" />
</g>
<flowRoot
xml:space="preserve"
id="flowRoot5131"
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
id="flowRegion5133"><rect
id="rect5135"
width="400"
height="150"
x="100"
y="400" /></flowRegion><flowPara
id="flowPara5137" /></flowRoot> <path
inkscape:connector-curvature="0"
id="path5152"
d="m -1647.8463,-177.55864 -7.4766,140.707027 17.7598,0 c 2.1811,-27.13864 9.0339,-48.67237 20.5625,-64.601557 11.5284,-15.92921 25.3954,-26.69607 41.5977,-32.30078 12.4631,-4.12981 33.4955,-6.19336 63.0957,-6.19336 l 76.1815,0 0,458.40625 c 0,33.6283 -3.4284,55.16201 -10.2831,64.60155 -11.2168,15.33923 -30.2236,23.00977 -57.0195,23.00977 l -22.4336,0 0,16.37109 268.7402,0 0,-16.37109 -21.9668,0 c -24.6149,0 -42.8416,-6.19462 -54.6816,-18.58398 -8.4127,-9.14455 -12.6211,-32.15418 -12.6211,-69.02734 l 0,-458.40625 89.2695,0 c 26.1728,0 47.2031,4.12909 63.0938,12.38867 16.2022,7.9646 29.132,20.50219 38.791,37.611327 5.92,10.61945 10.5941,28.31694 14.0215,53.0957 l 17.7597,0 -7.0097,-140.707027 -517.3809,0 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:500px;line-height:125%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<flowRoot
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="flowRoot5199"
xml:space="preserve"
transform="matrix(1.3825379,0,0,1.3923258,-0.27349449,-162.31425)"><flowRegion
id="flowRegion5201"><rect
y="150"
x="250"
height="650"
width="600"
id="rect5203" /></flowRegion><flowPara
id="flowPara5205" /></flowRoot> <path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:'Yuppy TC';-inkscape-font-specification:'Yuppy TC';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m -1590.8717,-913.42067 0,10 0,252.15235 122.836,0 c 0.1985,1.5552 0.3594,3.0785 0.3594,4.44336 l 0,0.99024 0.1933,0.96875 c 0.5636,2.8203 0.9141,6.65611 0.9141,11.36719 0,49.69706 -10.3762,93.07559 -30.9571,130.7207 l -0.035,0.0645 -0.035,0.0645 c -19.5644,37.06412 -47.0205,57.46548 -84.8925,63.66797 l -8.3829,1.37305 0,124.18749 11.1954,-1.34961 c 82.407,-9.92779 145.4523,-49.82688 186.084,-118.11522 l 0.012,-0.0215 0.014,-0.0215 c 40.2656,-68.43358 60.2032,-151.05588 60.2032,-247.22273 l 0,-233.26954 -257.5079,0 z m 332.4258,0 0,10 0,252.15235 122.834,0 c 0.1995,1.55621 0.3613,3.07993 0.3613,4.44336 l 0,0.99024 0.1934,0.96875 c 0.5636,2.82026 0.9141,6.6561 0.9141,11.36719 0,49.69706 -10.3763,93.07559 -30.9571,130.7207 l -0.035,0.0645 -0.035,0.0645 c -19.5644,37.06412 -47.0205,57.46548 -84.8925,63.66797 l -8.3829,1.37305 0,124.18749 11.1954,-1.34961 c 82.407,-9.92779 145.4523,-49.82688 186.0839,-118.11522 l 0.012,-0.0215 0.014,-0.0215 c 40.2658,-68.43345 60.2032,-151.05588 60.2032,-247.22273 l 0,-233.26954 -257.5078,0 z m -312.4258,20 217.5079,0 0,213.26954 c 0,93.39687 -19.2734,172.19948 -57.4278,237.05664 -35.9438,60.39891 -88.4556,95.52831 -160.0801,106.85351 l 0,-84.86718 c 39.4317,-8.90932 70.4999,-33.48573 90.9258,-72.14453 22.3092,-40.83549 33.377,-87.77857 33.377,-140.24609 0,-5.3977 -0.3808,-10.20735 -1.209,-14.62305 -0.1288,-5.15097 -0.9439,-10.4327 -2.502,-15.89063 l -2.0703,-7.25586 -118.5215,0 0,-222.15235 z m 332.4258,0 217.5078,0 0,213.26954 c 0,93.39687 -19.2733,172.19948 -57.4277,237.05664 -35.9438,60.39891 -88.4555,95.52831 -160.0801,106.85351 l 0,-84.86718 c 39.4317,-8.90932 70.4998,-33.48573 90.9258,-72.14453 22.3092,-40.83549 33.377,-87.77857 33.377,-140.24609 0,-5.40154 -0.3814,-10.21455 -1.211,-14.63282 -0.1303,-5.15253 -0.9479,-10.43031 -2.5039,-15.88086 l -2.0703,-7.25586 -118.5176,0 0,-222.15235 z"
id="flowRoot5215"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m -839.60268,-468.88663 c -12.0536,0 -22.0625,9.92827 -22.0625,21.88477 l 0,556.23243 c 0,11.9564 10.0089,21.8828 22.0625,21.8828 l 755.874954,0 c 12.0536,0 22.0625,-9.9266 22.0625,-21.8828 l 0,-556.23243 c 0,-11.9565 -10.0088,-21.88477 -22.0625,-21.88477 l -755.874954,0 z m 0,19.35547 755.874954,0 c 1.5814,0 2.5508,0.9606 2.5508,2.5293 l 0,556.23243 c 0,1.5685 -0.9694,2.5273 -2.5508,2.5273 l -755.874954,0 c -1.5813,0 -2.55078,-0.9588 -2.55078,-2.5273 l 0,-556.23243 c 0,-1.5687 0.96948,-2.5293 2.55078,-2.5293 z m 603.43745,37.64453 a 67.5,67.5 0 0 0 -67.5,67.5 67.5,67.5 0 0 0 67.5,67.5 67.5,67.5 0 0 0 67.5,-67.5 67.5,67.5 0 0 0 -67.5,-67.5 z m -327.33589,58.78516 -235.3789,426.322243 259.25586,0 -0.54883,0.9922 366.19137,0 -183.09571,-331.117183 -76.7148,138.73438 -129.70899,-234.93164 z"
id="path5156"
inkscape:connector-curvature="0" />
<flowRoot
xml:space="preserve"
id="flowRoot4167"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="translate(0,86.303395)"><flowRegion
id="flowRegion4169"><rect
id="rect4171"
width="2000"
height="650"
x="-450"
y="-1300" /></flowRegion><flowPara
style="font-size:125px"
id="flowPara4175">Borders: 30px</flowPara><flowPara
style="font-size:125px"
id="flowPara4179">Canvas: 1000x1000px</flowPara></flowRoot> <g
id="Page-1"
transform="matrix(13.647338,0,0,13.647338,1240.5799,-447.63773)"
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1">
<g
transform="translate(-1,-1)"
id="Group"
style="fill:#4ff3ad">
<g
transform="translate(1,1)"
id="blogfeed_standard_module">
<g
id="g4357">
<path
id="Shape"
d="M 30,2 30,12 2,12 2,2 30,2 30,2 Z M 30,0 2,0 C 0.8,0 0,0.8 0,2 l 0,10 c 0,1.2 0.8,2 2,2 l 28,0 c 1.2,0 2,-0.8 2,-2 L 32,2 C 32,0.8 31.2,0 30,0 l 0,0 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4360"
d="M 11,10 5,10 C 4.4,10 4,9.6 4,9 L 4,5 C 4,4.4 4.4,4 5,4 l 6,0 c 0.6,0 1,0.4 1,1 l 0,4 c 0,0.6 -0.4,1 -1,1 l 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4362"
d="M 27,6 15,6 C 14.4,6 14,5.6 14,5 l 0,0 c 0,-0.6 0.4,-1 1,-1 l 12,0 c 0.6,0 1,0.4 1,1 l 0,0 c 0,0.6 -0.4,1 -1,1 l 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4364"
d="M 27,10 15,10 C 14.4,10 14,9.6 14,9 l 0,0 c 0,-0.6 0.4,-1 1,-1 l 12,0 c 0.6,0 1,0.4 1,1 l 0,0 c 0,0.6 -0.4,1 -1,1 l 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4366"
d="m 30,20 0,10 -28,0 0,-10 28,0 0,0 z m 0,-2 -28,0 c -1.2,0 -2,0.8 -2,2 l 0,10 c 0,1.2 0.8,2 2,2 l 28,0 c 1.2,0 2,-0.8 2,-2 l 0,-10 c 0,-1.2 -0.8,-2 -2,-2 l 0,0 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4368"
d="M 11,28 5,28 C 4.4,28 4,27.6 4,27 l 0,-4 c 0,-0.6 0.4,-1 1,-1 l 6,0 c 0.6,0 1,0.4 1,1 l 0,4 c 0,0.6 -0.4,1 -1,1 l 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4370"
d="m 27,24 -12,0 c -0.6,0 -1,-0.4 -1,-1 l 0,0 c 0,-0.6 0.4,-1 1,-1 l 12,0 c 0.6,0 1,0.4 1,1 l 0,0 c 0,0.6 -0.4,1 -1,1 l 0,0 z"
inkscape:connector-curvature="0" />
<path
id="path4372"
d="m 27,28 -12,0 c -0.6,0 -1,-0.4 -1,-1 l 0,0 c 0,-0.6 0.4,-1 1,-1 l 12,0 c 0.6,0 1,0.4 1,1 l 0,0 c 0,0.6 -0.4,1 -1,1 l 0,0 z"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
<path
inkscape:connector-curvature="0"
id="path5548"
d="m -893.42578,3403.0068 c -20.28948,0 -37.0625,16.5579 -37.0625,36.8848 l 0,556.2324 c 0,20.3269 16.77277,36.8828 37.0625,36.8828 l 755.875,0 c 20.28976,0 37.0625,-16.5559 37.0625,-36.8828 l 0,-556.2324 c 0,-20.327 -16.77285,-36.8848 -37.0625,-36.8848 l -755.875,0 z m 12.44922,49.3555 730.97656,0 0,531.291 -730.97656,0 0,-531.291 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
d="m 1050,1952.3623 c -14.2296,0 -26.3106,12.0809 -26.3106,26.3106 l 0,587.3808 c 0,14.2297 12.081,26.3086 26.3106,26.3086 l 187.3789,0 c 14.2295,0 26.3105,-12.0789 26.3105,-26.3086 l 0,-587.3808 c 0,-14.2297 -12.081,-26.3106 -26.3105,-26.3106 l -187.3789,0 z m 292,0 c -14.2296,0 -26.3106,12.0809 -26.3106,26.3106 l 0,587.3808 c 0,14.2297 12.081,26.3086 26.3106,26.3086 l 187.3789,0 c 14.2295,0 26.3105,-12.0789 26.3105,-26.3086 l 0,-587.3808 c 0,-14.2297 -12.081,-26.3106 -26.3105,-26.3106 l -187.3789,0 z m 292,0 c -14.2296,0 -26.3106,12.0809 -26.3106,26.3106 l 0,587.3808 c 0,14.2297 12.081,26.3086 26.3106,26.3086 l 187.3789,0 c 14.2295,0 26.3105,-12.0789 26.3105,-26.3086 l 0,-587.3808 c 0,-14.2297 -12.081,-26.3106 -26.3105,-26.3106 l -187.3789,0 z m -570.3106,40 160,0 0,560 -160,0 0,-560 z m 292,0 160,0 0,560 -160,0 0,-560 z m 292,0 160,0 0,560 -160,0 0,-560 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:40;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect5705" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:39.99999619;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m -979.55318,1952.3623 c -14.22964,0 -26.31052,12.0809 -26.31052,26.3105 l 0,587.3809 c 0,14.2296 12.08091,26.3086 26.31052,26.3086 l 325.50586,0 c 14.22963,0 26.31055,-12.079 26.31055,-26.3086 l 0,-587.3809 c 0,-14.2296 -12.08088,-26.3105 -26.31055,-26.3105 l -325.50586,0 z m 451.10352,0 c -14.22965,0 -26.31055,12.0809 -26.31055,26.3105 l 0,587.3809 c 0,14.2296 12.08094,26.3086 26.31055,26.3086 l 325.50586,0 c 14.22961,0 26.31054,-12.079 26.31054,-26.3086 l 0,-587.3809 c 0,-14.2296 -12.0809,-26.3105 -26.31054,-26.3105 l -325.50586,0 z m -437.41406,40 298.12695,0 0,560 -298.12695,0 0,-560 z m 451.10351,0 298.12695,0 0,560 -298.12695,0 0,-560 z"
id="rect6320"
inkscape:connector-curvature="0" />
<path
id="rect6433"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:40;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 17.51953,2691.0178 c -14.22964,0 -26.310551,12.0809 -26.310551,26.3105 l 0,577.4356 c 0,14.2296 12.080911,26.3085 26.310551,26.3085 l 246.16992,0 c 14.22964,0 26.31053,-12.0789 26.31055,-26.3085 l 0,-577.4356 c 0,-14.2296 -12.08091,-26.3105 -26.31055,-26.3105 l -246.16992,0 z m 378.48828,0 c -14.22964,0 -26.31055,12.0809 -26.31055,26.3105 l 0,577.4356 c 0,14.2296 12.08091,26.3085 26.31055,26.3085 l 387.3789,0 c 14.22964,0 26.31055,-12.0789 26.31055,-26.3085 l 0,-577.4356 c 0,-14.2296 -12.08091,-26.3105 -26.31055,-26.3105 l -387.3789,0 z m -364.79883,40 218.79102,0 0,550.0546 -218.79102,0 0,-550.0546 z m 378.48828,0 360,0 0,550.0546 -360,0 0,-550.0546 z"
inkscape:connector-curvature="0" />
<path
id="path6453"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m -695.53876,3135.1144 c -3.4816,0 -6.2851,2.8032 -6.2851,6.2852 l 0,37.4297 c 0,3.482 2.8035,6.2851 6.2851,6.2851 l 187.4297,0 c 3.4816,0 6.2852,-2.8031 6.2852,-6.2851 l 0,-37.4297 c 0,-3.482 -2.8036,-6.2852 -6.2852,-6.2852 z m -159.07796,-200 c -3.4816,0 -6.2851,2.8032 -6.2851,6.2852 l 0,135.4297 c 0,3.482 2.8035,6.2851 6.2851,6.2851 l 491.4297,0 c 3.4816,0 6.2852,-2.8031 6.2852,-6.2851 l 0,-135.4297 c 0,-3.482 -2.8036,-6.2852 -6.2852,-6.2852 z m 200,-150 c -3.4816,0 -6.2851,2.8032 -6.2851,6.2852 l 0,37.4297 c 0,3.482 2.8035,6.2851 6.2851,6.2851 l 337.4297,0 c 3.4816,0 6.2852,-2.8031 6.2852,-6.2851 l 0,-37.4297 c 0,-3.482 -2.8036,-6.2852 -6.2852,-6.2852 z m -247.9999,0 c -3.4816,0 -6.2852,2.8032 -6.2852,6.2852 l 0,37.4297 c 0,3.482 2.8036,6.2851 6.2852,6.2851 l 87.4296,0 c 3.4816,0 6.2852,-2.8031 6.2852,-6.2851 l 0,-37.4297 c 0,-3.482 -2.8036,-6.2852 -6.2852,-6.2852 z m -80.17401,-113.3986 c -20.28957,0 -37.06257,16.5579 -37.06257,36.8848 l 0,556.2324 c 0,20.3269 16.7728,36.8828 37.06257,36.8828 l 755.875,0 c 20.28976,0 37.0625,-16.5559 37.0625,-36.8828 l 0,-556.2324 c 0,-20.327 -16.77285,-36.8848 -37.0625,-36.8848 l -755.875,0 z m 12.44922,49.3555 730.97656,0 0,531.291 -730.97656,0 0,-531.291 z"
inkscape:connector-curvature="0" />
<path
id="path6484"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 1295.9922,2821.8095 -235.3789,426.3223 259.2559,0 -0.5489,0.9922 366.1914,0 -183.0957,-331.1172 -76.7148,138.7344 -129.709,-234.9317 z m 318.5684,-27.3762 a 67.5,67.5 0 0 0 -67.5,67.5 67.5,67.5 0 0 0 67.5,67.5 67.5,67.5 0 0 0 67.5,-67.5 67.5,67.5 0 0 0 -67.5,-67.5 z m -607.9864,-91.4265 c -20.28946,0 -37.06248,16.5579 -37.06248,36.8848 l 0,556.2324 c 0,20.3269 16.77277,36.8828 37.06248,36.8828 l 755.875,0 c 20.2898,0 37.0625,-16.5559 37.0625,-36.8828 l 0,-556.2324 c 0,-20.327 -16.7728,-36.8848 -37.0625,-36.8848 l -755.875,0 z m 12.4492,49.3555 730.9766,0 0,531.291 -730.9766,0 0,-531.291 z"
inkscape:connector-curvature="0" />
<path
id="path6634"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 135.2832,3704.6259 c -3.4816,0 -6.2832,1.0322 -6.2832,2.3125 l 0,34.2891 c 0,1.2803 2.8016,2.3125 6.2832,2.3125 l 506.4512,0 c 3.4816,0 6.2852,-1.0322 6.2852,-2.3125 l 0,-34.2891 c 0,-1.2803 -2.8036,-2.3125 -6.2852,-2.3125 l -506.4512,0 z M 0,3552.3623 c -14.2296,0 -26.3105,12.079 -26.3105,26.3086 l 0,290.8222 c 0,14.2296 12.0809,26.3106 26.3105,26.3106 l 777.0196,0 c 14.2296,0 26.3105,-12.081 26.3105,-26.3106 l 0,-290.8222 c 0,-14.2296 -12.0809,-26.3086 -26.3105,-26.3086 z m 13.6895,40 749.6406,0 0,263.4414 -749.6406,0 z"
inkscape:connector-curvature="0" />
<path
id="path6563"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 158.4881,2244.3952 c -3.4816,0 -6.2832,1.0309 -6.2832,2.3112 l 0,34.2904 c 0,1.2803 2.8016,2.3112 6.2832,2.3112 l 506.4512,0 c 3.4816,0 6.2852,-1.0309 6.2852,-2.3112 l 0,-34.2904 c 0,-1.2803 -2.8036,-2.3112 -6.2852,-2.3112 z m -122.1795,90.9457 c -14.2295,0 -26.3086,12.079 -26.3086,26.3086 l 0,187.5371 c 0,14.2296 12.0787,26.3105 26.3086,26.3105 l 776.7812,0 c 14.2299,0 26.3086,-12.0809 26.3086,-26.3105 l 0,-187.5371 c 0,-14.2296 -12.0791,-26.3086 -26.3086,-26.3086 l -776.7812,0 z m 13.6914,40 749.3984,0 0,160.1562 -749.3984,0 0,-160.1562 z M 36.3086,1952.2061 C 22.0791,1952.2061 10,1964.287 10,1978.5166 l 0,187.5372 c 0,14.2298 12.0787,26.3085 26.3086,26.3085 l 776.7812,0 c 14.2299,0 26.3086,-12.0787 26.3086,-26.3085 l 0,-187.5372 c 0,-14.2296 -12.0791,-26.3105 -26.3086,-26.3105 l -776.7812,0 z m 13.6914,40 749.3984,0 0,160.1562 -749.3984,0 0,-160.1562 z"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 63 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,177 @@
body {
margin: 0;
padding: 0;
}
html {
overflow: scroll;
overflow-x: hidden;
-ms-overflow-style: none;
scrollbar-width: none;
}
::-webkit-scrollbar {
display: none;
}
.sidenav {
position: fixed;
top: 0;
left: 0;
width: 15%;
height: 100vh;
overflow: scroll;
overflow-x: hidden;
-ms-overflow-style: none;
scrollbar-width: none;
background-color: rgba(255, 255, 255, 0.95);
-webkit-transition: 0.5s;
transition: 0.5s;
-webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.3);
}
.sidenav .logo {
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
text-transform: uppercase;
font-size: 20px;
font-weight: 700;
}
.sidenav .pages {
height: 100px;
overflow: scroll;
overflow-x: hidden;
}
.main-content {
position: relative;
width: 85%;
left: 15%;
}
.main-content .navbar {
padding: 0;
}
.main-content .navbar .container-fluid {
padding: 0;
}
.main-content #editor {
border: 2px solid rgba(0, 0, 0, 0.3);
}
.nav {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.gjs-pn-panel {
position: relative;
}
.gjs-cv-canvas {
width: 100%;
height: 100%;
top: 0;
}
.tab-content {
display: contents;
}
#block {
height: 100%;
}
#block #blocks {
height: 100%;
}
#block #blocks .gjs-blocks-c {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#block #blocks .gjs-block {
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#block #blocks .gjs-block-label {
display: none;
}
/* Theming */
.gjs-one-bg {
background-color: #fcf6f5ff;
}
.gjs-two-color {
color: #990011ff;
}
.gjs-three-bg {
background-color: #990011ff;
color: #fcf6f5ff;
}
.gjs-four-color,
.gjs-four-color-h:hover {
color: #990011ff;
}
.gjs-pn-btn {
border: 1px solid #990011ff;
}
.btn,
.nav-link,
.modal-content,
.form-control {
border-radius: 0 !important;
}
.btn .fa {
color: #990011ff;
}
.btn:hover .fa {
color: #fcf6f5ff;
}
/** Error **/
.error .bg-body {
min-height: 150px;
max-height: 150px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.error .bg-body .title {
font-weight: 600;
}
.error .btn {
border-radius: 40px !important;
padding: 15px 20px;
font-size: 14px;
font-weight: 700;
min-width: 150px;
}
/*# sourceMappingURL=main.css.map */

View File

@@ -0,0 +1,9 @@
{
"version": 3,
"mappings": "AAAA,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;CACX;;AACD,AAAA,IAAI,CAAC;EACH,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,MAAM;EAClB,kBAAkB,EAAE,IAAI;EACxB,eAAe,EAAE,IAAI;CACtB;;AAED,AAAA,mBAAmB,CAAC;EAClB,OAAO,EAAE,IAAI;CACd;;AAED,AAAA,QAAQ,CAAC;EACP,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,KAAK;EACb,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,MAAM;EAClB,kBAAkB,EAAE,IAAI;EACxB,eAAe,EAAE,IAAI;EACrB,gBAAgB,EAAE,yBAAyB;EAC3C,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB;EAC7C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,kBAAkB;CAYrC;;AAzBD,AAcE,QAdM,CAcN,KAAK,CAAC;EACJ,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,kBAAkB;EAC3C,cAAc,EAAE,SAAS;EACzB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;CACjB;;AAnBH,AAoBE,QApBM,CAoBN,MAAM,CAAC;EACL,MAAM,EAAE,KAAK;EACb,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,MAAM;CACnB;;AAGH,AAAA,aAAa,CAAC;EACZ,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG;EACV,IAAI,EAAE,GAAG;CAYV;;AAfD,AAKE,aALW,CAKX,OAAO,CAAC;EACN,OAAO,EAAE,CAAC;CAIX;;AAVH,AAOI,aAPS,CAKX,OAAO,CAEL,gBAAgB,CAAC;EACf,OAAO,EAAE,CAAC;CACX;;AATL,AAYE,aAZW,CAYX,OAAO,CAAC;EACN,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,kBAAkB;CACrC;;AAGH,AAAA,IAAI,CAAC;EACH,eAAe,EAAE,aAAa;CAC/B;;AACD,AAAA,aAAa,CAAC;EACZ,QAAQ,EAAE,QAAQ;CACnB;;AAED,AAAA,cAAc,CAAC;EACb,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,GAAG,EAAE,CAAC;CACP;;AAED,AAAA,YAAY,CAAC;EACX,OAAO,EAAE,QAAQ;CAClB;;AAED,AAAA,MAAM,CAAC;EACL,MAAM,EAAE,IAAI;CAeb;;AAhBD,AAEE,MAFI,CAEJ,OAAO,CAAC;EACN,MAAM,EAAE,IAAI;CAYb;;AAfH,AAKI,MALE,CAEJ,OAAO,CAGL,aAAa,CAAC;EACZ,WAAW,EAAE,MAAM;EACnB,eAAe,EAAE,MAAM;CACxB;;AARL,AASI,MATE,CAEJ,OAAO,CAOL,UAAU,CAAC;EACT,eAAe,EAAE,MAAM;CACxB;;AAXL,AAYI,MAZE,CAEJ,OAAO,CAUL,gBAAgB,CAAC;EACf,OAAO,EAAE,IAAI;CACd;;AAIL,aAAa;AACb,AAAA,WAAW,CAAC;EACV,gBAAgB,EAAE,SAAS;CAC5B;;AAED,AAAA,cAAc,CAAC;EACb,KAAK,EAAE,SAAS;CACjB;;AAED,AAAA,aAAa,CAAC;EACZ,gBAAgB,EAAE,SAAS;EAC3B,KAAK,EAAE,SAAS;CACjB;;AAED,AAAA,eAAe;AACf,iBAAiB,AAAA,MAAM,CAAC;EACtB,KAAK,EAAE,SAAS;CACjB;;AAED,AAAA,WAAW,CAAC;EACV,MAAM,EAAE,mBAAmB;CAC5B;;AAID,AAAA,IAAI;AACJ,SAAS;AACT,cAAc;AACd,aAAa,CAAC;EACZ,aAAa,EAAE,YAAY;CAC5B;;AAED,AACE,IADE,CACF,GAAG,CAAC;EACF,KAAK,EAAE,SAAS;CACjB;;AAHH,AAKI,IALA,AAID,MAAM,CACL,GAAG,CAAC;EACF,KAAK,EAAE,SAAS;CACjB;;AAIL,aAAa;AACb,AACE,MADI,CACJ,QAAQ,CAAC;EACP,UAAU,EAAE,KAAK;EACjB,UAAU,EAAE,KAAK;EACjB,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,MAAM;EACnB,eAAe,EAAE,MAAM;CAIxB;;AAVH,AAOI,MAPE,CACJ,QAAQ,CAMN,MAAM,CAAC;EACL,WAAW,EAAE,GAAG;CACjB;;AATL,AAWE,MAXI,CAWJ,IAAI,CAAC;EACH,aAAa,EAAE,eAAe;EAC9B,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,KAAK;CACjB",
"sources": [
"main.scss"
],
"names": [],
"file": "main.css"
}

View File

@@ -0,0 +1,157 @@
body {
margin: 0;
padding: 0;
}
html {
overflow: scroll;
overflow-x: hidden;
-ms-overflow-style: none;
scrollbar-width: none;
}
::-webkit-scrollbar {
display: none;
}
.sidenav {
position: fixed;
top: 0;
left: 0;
width: 15%;
height: 100vh;
overflow: scroll;
overflow-x: hidden;
-ms-overflow-style: none;
scrollbar-width: none;
background-color: rgba(255, 255, 255, 0.95);
transition: 0.5s;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.3);
.logo {
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
text-transform: uppercase;
font-size: 20px;
font-weight: 700;
}
.pages {
height: 100px;
overflow: scroll;
overflow-x: hidden;
}
}
.main-content {
position: relative;
width: 85%;
left: 15%;
.navbar {
padding: 0;
.container-fluid {
padding: 0;
}
}
#editor {
border: 2px solid rgba(0, 0, 0, 0.3);
}
}
.nav {
justify-content: space-between;
}
.gjs-pn-panel {
position: relative;
}
.gjs-cv-canvas {
width: 100%;
height: 100%;
top: 0;
}
.tab-content {
display: contents;
}
#block {
height: 100%;
#blocks {
height: 100%;
.gjs-blocks-c {
align-items: center;
justify-content: center;
}
.gjs-block {
justify-content: center;
}
.gjs-block-label {
display: none;
}
}
}
/* Theming */
.gjs-one-bg {
background-color: #fcf6f5ff;
}
.gjs-two-color {
color: #990011ff;
}
.gjs-three-bg {
background-color: #990011ff;
color: #fcf6f5ff;
}
.gjs-four-color,
.gjs-four-color-h:hover {
color: #990011ff;
}
.gjs-pn-btn {
border: 1px solid #990011ff;
}
// Customize Bootstrap CSS
.btn,
.nav-link,
.modal-content,
.form-control {
border-radius: 0 !important;
}
.btn {
.fa {
color: #990011ff;
}
&:hover {
.fa {
color: #fcf6f5ff;
}
}
}
/** Error **/
.error {
.bg-body {
min-height: 150px;
max-height: 150px;
display: flex;
align-items: center;
justify-content: center;
.title {
font-weight: 600;
}
}
.btn {
border-radius: 40px !important;
padding: 15px 20px;
font-size: 14px;
font-weight: 700;
min-width: 150px;
}
}

View File

@@ -0,0 +1,42 @@
function validatForm(event) {
'use strict';
e.preventDefault();
const forms = document.getElementById('create-page');
if (!forms.checkValidity()) {
event.preventDefault();
event.stopPropagation();
forms.classList.add('was-validated');
return false;
}
return submitForm();
}
function submitForm() {
const nameField = document.getElementById('name');
const nameFieldValue = nameField.value;
axios
.post('/api/pages/', { name: nameFieldValue })
.then((response) => {
alert(`Page ${nameFieldValue} created successfully`);
window.location.href = '/api';
})
.catch((err) => {
alert('Failed: Page not created');
});
clearForm();
return true;
}
function clearForm() {
/**
* Get name field and reset it's value
*/
const nameField = document.getElementById('name');
nameField.value = '';
/**
* Remove was-validated class from Form
*/
const forms = document.getElementById('create-page');
forms.classList.remove('was-validated');
}

View File

@@ -0,0 +1,828 @@
/* axios v0.21.1 | (c) 2020 by Matt Zabriskie */
!(function (e, t) {
'object' == typeof exports && 'object' == typeof module
? (module.exports = t())
: 'function' == typeof define && define.amd
? define([], t)
: 'object' == typeof exports
? (exports.axios = t())
: (e.axios = t());
})(this, function () {
return (function (e) {
function t(r) {
if (n[r]) return n[r].exports;
var o = (n[r] = { exports: {}, id: r, loaded: !1 });
return e[r].call(o.exports, o, o.exports, t), (o.loaded = !0), o.exports;
}
var n = {};
return (t.m = e), (t.c = n), (t.p = ''), t(0);
})([
function (e, t, n) {
e.exports = n(1);
},
function (e, t, n) {
'use strict';
function r(e) {
var t = new i(e),
n = s(i.prototype.request, t);
return o.extend(n, i.prototype, t), o.extend(n, t), n;
}
var o = n(2),
s = n(3),
i = n(4),
a = n(22),
u = n(10),
c = r(u);
(c.Axios = i),
(c.create = function (e) {
return r(a(c.defaults, e));
}),
(c.Cancel = n(23)),
(c.CancelToken = n(24)),
(c.isCancel = n(9)),
(c.all = function (e) {
return Promise.all(e);
}),
(c.spread = n(25)),
(c.isAxiosError = n(26)),
(e.exports = c),
(e.exports.default = c);
},
function (e, t, n) {
'use strict';
function r(e) {
return '[object Array]' === R.call(e);
}
function o(e) {
return 'undefined' == typeof e;
}
function s(e) {
return (
null !== e &&
!o(e) &&
null !== e.constructor &&
!o(e.constructor) &&
'function' == typeof e.constructor.isBuffer &&
e.constructor.isBuffer(e)
);
}
function i(e) {
return '[object ArrayBuffer]' === R.call(e);
}
function a(e) {
return 'undefined' != typeof FormData && e instanceof FormData;
}
function u(e) {
var t;
return (t =
'undefined' != typeof ArrayBuffer && ArrayBuffer.isView
? ArrayBuffer.isView(e)
: e && e.buffer && e.buffer instanceof ArrayBuffer);
}
function c(e) {
return 'string' == typeof e;
}
function f(e) {
return 'number' == typeof e;
}
function p(e) {
return null !== e && 'object' == typeof e;
}
function d(e) {
if ('[object Object]' !== R.call(e)) return !1;
var t = Object.getPrototypeOf(e);
return null === t || t === Object.prototype;
}
function l(e) {
return '[object Date]' === R.call(e);
}
function h(e) {
return '[object File]' === R.call(e);
}
function m(e) {
return '[object Blob]' === R.call(e);
}
function y(e) {
return '[object Function]' === R.call(e);
}
function g(e) {
return p(e) && y(e.pipe);
}
function v(e) {
return 'undefined' != typeof URLSearchParams && e instanceof URLSearchParams;
}
function x(e) {
return e.replace(/^\s*/, '').replace(/\s*$/, '');
}
function w() {
return (
('undefined' == typeof navigator ||
('ReactNative' !== navigator.product &&
'NativeScript' !== navigator.product &&
'NS' !== navigator.product)) &&
'undefined' != typeof window &&
'undefined' != typeof document
);
}
function b(e, t) {
if (null !== e && 'undefined' != typeof e)
if (('object' != typeof e && (e = [e]), r(e)))
for (var n = 0, o = e.length; n < o; n++) t.call(null, e[n], n, e);
else
for (var s in e) Object.prototype.hasOwnProperty.call(e, s) && t.call(null, e[s], s, e);
}
function E() {
function e(e, n) {
d(t[n]) && d(e)
? (t[n] = E(t[n], e))
: d(e)
? (t[n] = E({}, e))
: r(e)
? (t[n] = e.slice())
: (t[n] = e);
}
for (var t = {}, n = 0, o = arguments.length; n < o; n++) b(arguments[n], e);
return t;
}
function j(e, t, n) {
return (
b(t, function (t, r) {
n && 'function' == typeof t ? (e[r] = S(t, n)) : (e[r] = t);
}),
e
);
}
function C(e) {
return 65279 === e.charCodeAt(0) && (e = e.slice(1)), e;
}
var S = n(3),
R = Object.prototype.toString;
e.exports = {
isArray: r,
isArrayBuffer: i,
isBuffer: s,
isFormData: a,
isArrayBufferView: u,
isString: c,
isNumber: f,
isObject: p,
isPlainObject: d,
isUndefined: o,
isDate: l,
isFile: h,
isBlob: m,
isFunction: y,
isStream: g,
isURLSearchParams: v,
isStandardBrowserEnv: w,
forEach: b,
merge: E,
extend: j,
trim: x,
stripBOM: C,
};
},
function (e, t) {
'use strict';
e.exports = function (e, t) {
return function () {
for (var n = new Array(arguments.length), r = 0; r < n.length; r++) n[r] = arguments[r];
return e.apply(t, n);
};
};
},
function (e, t, n) {
'use strict';
function r(e) {
(this.defaults = e), (this.interceptors = { request: new i(), response: new i() });
}
var o = n(2),
s = n(5),
i = n(6),
a = n(7),
u = n(22);
(r.prototype.request = function (e) {
'string' == typeof e ? ((e = arguments[1] || {}), (e.url = arguments[0])) : (e = e || {}),
(e = u(this.defaults, e)),
e.method
? (e.method = e.method.toLowerCase())
: this.defaults.method
? (e.method = this.defaults.method.toLowerCase())
: (e.method = 'get');
var t = [a, void 0],
n = Promise.resolve(e);
for (
this.interceptors.request.forEach(function (e) {
t.unshift(e.fulfilled, e.rejected);
}),
this.interceptors.response.forEach(function (e) {
t.push(e.fulfilled, e.rejected);
});
t.length;
)
n = n.then(t.shift(), t.shift());
return n;
}),
(r.prototype.getUri = function (e) {
return (
(e = u(this.defaults, e)), s(e.url, e.params, e.paramsSerializer).replace(/^\?/, '')
);
}),
o.forEach(['delete', 'get', 'head', 'options'], function (e) {
r.prototype[e] = function (t, n) {
return this.request(u(n || {}, { method: e, url: t, data: (n || {}).data }));
};
}),
o.forEach(['post', 'put', 'patch'], function (e) {
r.prototype[e] = function (t, n, r) {
return this.request(u(r || {}, { method: e, url: t, data: n }));
};
}),
(e.exports = r);
},
function (e, t, n) {
'use strict';
function r(e) {
return encodeURIComponent(e)
.replace(/%3A/gi, ':')
.replace(/%24/g, '$')
.replace(/%2C/gi, ',')
.replace(/%20/g, '+')
.replace(/%5B/gi, '[')
.replace(/%5D/gi, ']');
}
var o = n(2);
e.exports = function (e, t, n) {
if (!t) return e;
var s;
if (n) s = n(t);
else if (o.isURLSearchParams(t)) s = t.toString();
else {
var i = [];
o.forEach(t, function (e, t) {
null !== e &&
'undefined' != typeof e &&
(o.isArray(e) ? (t += '[]') : (e = [e]),
o.forEach(e, function (e) {
o.isDate(e) ? (e = e.toISOString()) : o.isObject(e) && (e = JSON.stringify(e)),
i.push(r(t) + '=' + r(e));
}));
}),
(s = i.join('&'));
}
if (s) {
var a = e.indexOf('#');
a !== -1 && (e = e.slice(0, a)), (e += (e.indexOf('?') === -1 ? '?' : '&') + s);
}
return e;
};
},
function (e, t, n) {
'use strict';
function r() {
this.handlers = [];
}
var o = n(2);
(r.prototype.use = function (e, t) {
return this.handlers.push({ fulfilled: e, rejected: t }), this.handlers.length - 1;
}),
(r.prototype.eject = function (e) {
this.handlers[e] && (this.handlers[e] = null);
}),
(r.prototype.forEach = function (e) {
o.forEach(this.handlers, function (t) {
null !== t && e(t);
});
}),
(e.exports = r);
},
function (e, t, n) {
'use strict';
function r(e) {
e.cancelToken && e.cancelToken.throwIfRequested();
}
var o = n(2),
s = n(8),
i = n(9),
a = n(10);
e.exports = function (e) {
r(e),
(e.headers = e.headers || {}),
(e.data = s(e.data, e.headers, e.transformRequest)),
(e.headers = o.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers)),
o.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function (t) {
delete e.headers[t];
});
var t = e.adapter || a.adapter;
return t(e).then(
function (t) {
return r(e), (t.data = s(t.data, t.headers, e.transformResponse)), t;
},
function (t) {
return (
i(t) ||
(r(e),
t &&
t.response &&
(t.response.data = s(t.response.data, t.response.headers, e.transformResponse))),
Promise.reject(t)
);
},
);
};
},
function (e, t, n) {
'use strict';
var r = n(2);
e.exports = function (e, t, n) {
return (
r.forEach(n, function (n) {
e = n(e, t);
}),
e
);
};
},
function (e, t) {
'use strict';
e.exports = function (e) {
return !(!e || !e.__CANCEL__);
};
},
function (e, t, n) {
'use strict';
function r(e, t) {
!s.isUndefined(e) && s.isUndefined(e['Content-Type']) && (e['Content-Type'] = t);
}
function o() {
var e;
return (
'undefined' != typeof XMLHttpRequest
? (e = n(12))
: 'undefined' != typeof process &&
'[object process]' === Object.prototype.toString.call(process) &&
(e = n(12)),
e
);
}
var s = n(2),
i = n(11),
a = { 'Content-Type': 'application/x-www-form-urlencoded' },
u = {
adapter: o(),
transformRequest: [
function (e, t) {
return (
i(t, 'Accept'),
i(t, 'Content-Type'),
s.isFormData(e) ||
s.isArrayBuffer(e) ||
s.isBuffer(e) ||
s.isStream(e) ||
s.isFile(e) ||
s.isBlob(e)
? e
: s.isArrayBufferView(e)
? e.buffer
: s.isURLSearchParams(e)
? (r(t, 'application/x-www-form-urlencoded;charset=utf-8'), e.toString())
: s.isObject(e)
? (r(t, 'application/json;charset=utf-8'), JSON.stringify(e))
: e
);
},
],
transformResponse: [
function (e) {
if ('string' == typeof e)
try {
e = JSON.parse(e);
} catch (e) {}
return e;
},
],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: function (e) {
return e >= 200 && e < 300;
},
};
(u.headers = { common: { Accept: 'application/json, text/plain, */*' } }),
s.forEach(['delete', 'get', 'head'], function (e) {
u.headers[e] = {};
}),
s.forEach(['post', 'put', 'patch'], function (e) {
u.headers[e] = s.merge(a);
}),
(e.exports = u);
},
function (e, t, n) {
'use strict';
var r = n(2);
e.exports = function (e, t) {
r.forEach(e, function (n, r) {
r !== t && r.toUpperCase() === t.toUpperCase() && ((e[t] = n), delete e[r]);
});
};
},
function (e, t, n) {
'use strict';
var r = n(2),
o = n(13),
s = n(16),
i = n(5),
a = n(17),
u = n(20),
c = n(21),
f = n(14);
e.exports = function (e) {
return new Promise(function (t, n) {
var p = e.data,
d = e.headers;
r.isFormData(p) && delete d['Content-Type'];
var l = new XMLHttpRequest();
if (e.auth) {
var h = e.auth.username || '',
m = e.auth.password ? unescape(encodeURIComponent(e.auth.password)) : '';
d.Authorization = 'Basic ' + btoa(h + ':' + m);
}
var y = a(e.baseURL, e.url);
if (
(l.open(e.method.toUpperCase(), i(y, e.params, e.paramsSerializer), !0),
(l.timeout = e.timeout),
(l.onreadystatechange = function () {
if (
l &&
4 === l.readyState &&
(0 !== l.status || (l.responseURL && 0 === l.responseURL.indexOf('file:')))
) {
var r = 'getAllResponseHeaders' in l ? u(l.getAllResponseHeaders()) : null,
s = e.responseType && 'text' !== e.responseType ? l.response : l.responseText,
i = {
data: s,
status: l.status,
statusText: l.statusText,
headers: r,
config: e,
request: l,
};
o(t, n, i), (l = null);
}
}),
(l.onabort = function () {
l && (n(f('Request aborted', e, 'ECONNABORTED', l)), (l = null));
}),
(l.onerror = function () {
n(f('Network Error', e, null, l)), (l = null);
}),
(l.ontimeout = function () {
var t = 'timeout of ' + e.timeout + 'ms exceeded';
e.timeoutErrorMessage && (t = e.timeoutErrorMessage),
n(f(t, e, 'ECONNABORTED', l)),
(l = null);
}),
r.isStandardBrowserEnv())
) {
var g =
(e.withCredentials || c(y)) && e.xsrfCookieName ? s.read(e.xsrfCookieName) : void 0;
g && (d[e.xsrfHeaderName] = g);
}
if (
('setRequestHeader' in l &&
r.forEach(d, function (e, t) {
'undefined' == typeof p && 'content-type' === t.toLowerCase()
? delete d[t]
: l.setRequestHeader(t, e);
}),
r.isUndefined(e.withCredentials) || (l.withCredentials = !!e.withCredentials),
e.responseType)
)
try {
l.responseType = e.responseType;
} catch (t) {
if ('json' !== e.responseType) throw t;
}
'function' == typeof e.onDownloadProgress &&
l.addEventListener('progress', e.onDownloadProgress),
'function' == typeof e.onUploadProgress &&
l.upload &&
l.upload.addEventListener('progress', e.onUploadProgress),
e.cancelToken &&
e.cancelToken.promise.then(function (e) {
l && (l.abort(), n(e), (l = null));
}),
p || (p = null),
l.send(p);
});
};
},
function (e, t, n) {
'use strict';
var r = n(14);
e.exports = function (e, t, n) {
var o = n.config.validateStatus;
n.status && o && !o(n.status)
? t(r('Request failed with status code ' + n.status, n.config, null, n.request, n))
: e(n);
};
},
function (e, t, n) {
'use strict';
var r = n(15);
e.exports = function (e, t, n, o, s) {
var i = new Error(e);
return r(i, t, n, o, s);
};
},
function (e, t) {
'use strict';
e.exports = function (e, t, n, r, o) {
return (
(e.config = t),
n && (e.code = n),
(e.request = r),
(e.response = o),
(e.isAxiosError = !0),
(e.toJSON = function () {
return {
message: this.message,
name: this.name,
description: this.description,
number: this.number,
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
config: this.config,
code: this.code,
};
}),
e
);
};
},
function (e, t, n) {
'use strict';
var r = n(2);
e.exports = r.isStandardBrowserEnv()
? (function () {
return {
write: function (e, t, n, o, s, i) {
var a = [];
a.push(e + '=' + encodeURIComponent(t)),
r.isNumber(n) && a.push('expires=' + new Date(n).toGMTString()),
r.isString(o) && a.push('path=' + o),
r.isString(s) && a.push('domain=' + s),
i === !0 && a.push('secure'),
(document.cookie = a.join('; '));
},
read: function (e) {
var t = document.cookie.match(new RegExp('(^|;\\s*)(' + e + ')=([^;]*)'));
return t ? decodeURIComponent(t[3]) : null;
},
remove: function (e) {
this.write(e, '', Date.now() - 864e5);
},
};
})()
: (function () {
return {
write: function () {},
read: function () {
return null;
},
remove: function () {},
};
})();
},
function (e, t, n) {
'use strict';
var r = n(18),
o = n(19);
e.exports = function (e, t) {
return e && !r(t) ? o(e, t) : t;
};
},
function (e, t) {
'use strict';
e.exports = function (e) {
return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e);
};
},
function (e, t) {
'use strict';
e.exports = function (e, t) {
return t ? e.replace(/\/+$/, '') + '/' + t.replace(/^\/+/, '') : e;
};
},
function (e, t, n) {
'use strict';
var r = n(2),
o = [
'age',
'authorization',
'content-length',
'content-type',
'etag',
'expires',
'from',
'host',
'if-modified-since',
'if-unmodified-since',
'last-modified',
'location',
'max-forwards',
'proxy-authorization',
'referer',
'retry-after',
'user-agent',
];
e.exports = function (e) {
var t,
n,
s,
i = {};
return e
? (r.forEach(e.split('\n'), function (e) {
if (
((s = e.indexOf(':')),
(t = r.trim(e.substr(0, s)).toLowerCase()),
(n = r.trim(e.substr(s + 1))),
t)
) {
if (i[t] && o.indexOf(t) >= 0) return;
'set-cookie' === t
? (i[t] = (i[t] ? i[t] : []).concat([n]))
: (i[t] = i[t] ? i[t] + ', ' + n : n);
}
}),
i)
: i;
};
},
function (e, t, n) {
'use strict';
var r = n(2);
e.exports = r.isStandardBrowserEnv()
? (function () {
function e(e) {
var t = e;
return (
n && (o.setAttribute('href', t), (t = o.href)),
o.setAttribute('href', t),
{
href: o.href,
protocol: o.protocol ? o.protocol.replace(/:$/, '') : '',
host: o.host,
search: o.search ? o.search.replace(/^\?/, '') : '',
hash: o.hash ? o.hash.replace(/^#/, '') : '',
hostname: o.hostname,
port: o.port,
pathname: '/' === o.pathname.charAt(0) ? o.pathname : '/' + o.pathname,
}
);
}
var t,
n = /(msie|trident)/i.test(navigator.userAgent),
o = document.createElement('a');
return (
(t = e(window.location.href)),
function (n) {
var o = r.isString(n) ? e(n) : n;
return o.protocol === t.protocol && o.host === t.host;
}
);
})()
: (function () {
return function () {
return !0;
};
})();
},
function (e, t, n) {
'use strict';
var r = n(2);
e.exports = function (e, t) {
function n(e, t) {
return r.isPlainObject(e) && r.isPlainObject(t)
? r.merge(e, t)
: r.isPlainObject(t)
? r.merge({}, t)
: r.isArray(t)
? t.slice()
: t;
}
function o(o) {
r.isUndefined(t[o])
? r.isUndefined(e[o]) || (s[o] = n(void 0, e[o]))
: (s[o] = n(e[o], t[o]));
}
t = t || {};
var s = {},
i = ['url', 'method', 'data'],
a = ['headers', 'auth', 'proxy', 'params'],
u = [
'baseURL',
'transformRequest',
'transformResponse',
'paramsSerializer',
'timeout',
'timeoutMessage',
'withCredentials',
'adapter',
'responseType',
'xsrfCookieName',
'xsrfHeaderName',
'onUploadProgress',
'onDownloadProgress',
'decompress',
'maxContentLength',
'maxBodyLength',
'maxRedirects',
'transport',
'httpAgent',
'httpsAgent',
'cancelToken',
'socketPath',
'responseEncoding',
],
c = ['validateStatus'];
r.forEach(i, function (e) {
r.isUndefined(t[e]) || (s[e] = n(void 0, t[e]));
}),
r.forEach(a, o),
r.forEach(u, function (o) {
r.isUndefined(t[o])
? r.isUndefined(e[o]) || (s[o] = n(void 0, e[o]))
: (s[o] = n(void 0, t[o]));
}),
r.forEach(c, function (r) {
r in t ? (s[r] = n(e[r], t[r])) : r in e && (s[r] = n(void 0, e[r]));
});
var f = i.concat(a).concat(u).concat(c),
p = Object.keys(e)
.concat(Object.keys(t))
.filter(function (e) {
return f.indexOf(e) === -1;
});
return r.forEach(p, o), s;
};
},
function (e, t) {
'use strict';
function n(e) {
this.message = e;
}
(n.prototype.toString = function () {
return 'Cancel' + (this.message ? ': ' + this.message : '');
}),
(n.prototype.__CANCEL__ = !0),
(e.exports = n);
},
function (e, t, n) {
'use strict';
function r(e) {
if ('function' != typeof e) throw new TypeError('executor must be a function.');
var t;
this.promise = new Promise(function (e) {
t = e;
});
var n = this;
e(function (e) {
n.reason || ((n.reason = new o(e)), t(n.reason));
});
}
var o = n(23);
(r.prototype.throwIfRequested = function () {
if (this.reason) throw this.reason;
}),
(r.source = function () {
var e,
t = new r(function (t) {
e = t;
});
return { token: t, cancel: e };
}),
(e.exports = r);
},
function (e, t) {
'use strict';
e.exports = function (e) {
return function (t) {
return e.apply(null, t);
};
};
},
function (e, t) {
'use strict';
e.exports = function (e) {
return 'object' == typeof e && e.isAxiosError === !0;
};
},
]);
});
//# sourceMappingURL=axios.min.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,340 @@
/*! grapesjs-blocks-basic - 0.1.11 */
!(function (e, t) {
"object" == typeof exports && "object" == typeof module
? (module.exports = t(require("grapesjs")))
: "function" == typeof define && define.amd
? define(["grapesjs"], t)
: "object" == typeof exports
? (exports["grapesjs-blocks-basic"] = t(require("grapesjs")))
: (e["grapesjs-blocks-basic"] = t(e.grapesjs));
})(this, function (e) {
return (function (e) {
function t(a) {
if (n[a]) return n[a].exports;
var l = (n[a] = { i: a, l: !1, exports: {} });
return e[a].call(l.exports, l, l.exports, t), (l.l = !0), l.exports;
}
var n = {};
return (
(t.m = e),
(t.c = n),
(t.d = function (e, n, a) {
t.o(e, n) ||
Object.defineProperty(e, n, {
configurable: !1,
enumerable: !0,
get: a,
});
}),
(t.n = function (e) {
var n =
e && e.__esModule
? function () {
return e.default;
}
: function () {
return e;
};
return t.d(n, "a", n), n;
}),
(t.o = function (e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}),
(t.p = ""),
t((t.s = 0))
);
})([
function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 });
var a =
Object.assign ||
function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var a in n)
Object.prototype.hasOwnProperty.call(n, a) && (e[a] = n[a]);
}
return e;
},
l = n(1),
i = (function (e) {
return e && e.__esModule ? e : { default: e };
})(l);
t.default = i.default.plugins.add("gjs-blocks-basic", function (e) {
var t =
arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
l = a(
{
blocks: [
"column1",
"column2",
"column3",
"column3-7",
"text",
"link",
"image",
"video",
"map",
],
flexGrid: 0,
stylePrefix: "gjs-",
addBasicStyle: !0,
category: "Basic",
labelColumn1: "1 Column",
labelColumn2: "2 Columns",
labelColumn3: "3 Columns",
labelColumn37: "2 Columns 3/7",
labelText: "Text",
labelLink: "Link",
labelImage: "Image",
labelVideo: "Video",
labelMap: "Map",
rowHeight: 75,
},
t
);
n(2).default(e, l);
});
},
function (t, n) {
t.exports = e;
},
function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 });
var a =
Object.assign ||
function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var a in n)
Object.prototype.hasOwnProperty.call(n, a) && (e[a] = n[a]);
}
return e;
};
t.default = function (e) {
var t =
arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = t,
l = e.BlockManager,
i = n.blocks,
o = n.stylePrefix,
s = n.flexGrid,
r = n.addBasicStyle,
c = n.rowHeight,
d = o + "row",
u = o + "cell",
b = s
? "\n ." +
d +
" {\n display: flex;\n justify-content: flex-start;\n align-items: stretch;\n flex-wrap: nowrap;\n padding: 10px;\n }\n @media (max-width: 768px) {\n ." +
d +
" {\n flex-wrap: wrap;\n }\n }"
: "\n ." +
d +
" {\n display: table;\n padding: 10px;\n width: 100%;\n }\n @media (max-width: 768pxpx) {\n ." +
o +
"cell, ." +
o +
"cell30, ." +
o +
"cell70 {\n width: 100%;\n display: block;\n }\n }",
f = s
? "\n ." +
u +
" {\n min-height: " +
c +
"px;\n flex-grow: 1;\n flex-basis: 100%;\n }"
: "\n ." +
u +
" {\n width: 8%;\n display: table-cell;\n height: " +
c +
"px;\n }",
g = "\n ." + o + "cell30 {\n width: 30%;\n }",
p = "\n ." + o + "cell70 {\n width: 70%;\n }",
y = { tl: 0, tc: 0, tr: 0, cl: 0, cr: 0, bl: 0, br: 0, minDim: 1 },
m = a({}, y, { cr: 1, bc: 0, currentUnit: 1, minDim: 1, step: 0.2 });
s && (m.keyWidth = "flex-basis");
var v = {
class: d,
"data-gjs-droppable": "." + u,
"data-gjs-resizable": y,
"data-gjs-name": "Row",
},
x = {
class: u,
"data-gjs-draggable": "." + d,
"data-gjs-resizable": m,
"data-gjs-name": "Cell",
};
s &&
((x["data-gjs-unstylable"] = ["width"]),
(x["data-gjs-stylable-require"] = ["flex-basis"]));
var j = ["." + d, "." + u];
e.on("selector:add", function (e) {
return j.indexOf(e.getFullName()) >= 0 && e.set("private", 1);
});
var h = function (e) {
var t = [];
for (var n in e) {
var a = e[n],
l = a instanceof Array || a instanceof Object;
(a = l ? JSON.stringify(a) : a),
t.push(n + "=" + (l ? "'" + a + "'" : '"' + a + '"'));
}
return t.length ? " " + t.join(" ") : "";
},
w = function (e) {
return i.indexOf(e) >= 0;
},
k = h(v),
O = h(x);
w("column1") &&
l.add("column1", {
label: n.labelColumn1,
category: n.category,
attributes: { class: "gjs-fonts gjs-f-b1" },
content:
"<div " +
k +
">\n <div " +
O +
"></div>\n </div>\n " +
(r
? "<style>\n " +
b +
"\n " +
f +
"\n </style>"
: ""),
}),
w("column2") &&
l.add("column2", {
label: n.labelColumn2,
attributes: { class: "gjs-fonts gjs-f-b2" },
category: n.category,
content:
"<div " +
k +
">\n <div " +
O +
"></div>\n <div " +
O +
"></div>\n </div>\n " +
(r
? "<style>\n " +
b +
"\n " +
f +
"\n </style>"
: ""),
}),
w("column3") &&
l.add("column3", {
label: n.labelColumn3,
category: n.category,
attributes: { class: "gjs-fonts gjs-f-b3" },
content:
"<div " +
k +
">\n <div " +
O +
"></div>\n <div " +
O +
"></div>\n <div " +
O +
"></div>\n </div>\n " +
(r
? "<style>\n " +
b +
"\n " +
f +
"\n </style>"
: ""),
}),
w("column3-7") &&
l.add("column3-7", {
label: n.labelColumn37,
category: n.category,
attributes: { class: "gjs-fonts gjs-f-b37" },
content:
"<div " +
k +
">\n <div " +
O +
' style="' +
(s ? "flex-basis" : "width") +
': 30%;"></div>\n <div ' +
O +
' style="' +
(s ? "flex-basis" : "width") +
': 70%;"></div>\n </div>\n ' +
(r
? "<style>\n " +
b +
"\n " +
f +
"\n " +
g +
"\n " +
p +
"\n </style>"
: ""),
}),
w("text") &&
l.add("text", {
label: n.labelText,
category: n.category,
attributes: { class: "gjs-fonts gjs-f-text" },
content: {
type: "text",
content: "Insert your text here",
style: { padding: "10px" },
activeOnRender: 1,
},
}),
w("link") &&
l.add("link", {
label: n.labelLink,
category: n.category,
attributes: { class: "fa fa-link" },
content: {
type: "link",
content: "Link",
style: { color: "#d983a6" },
},
}),
w("image") &&
l.add("image", {
label: n.labelImage,
category: n.category,
attributes: { class: "gjs-fonts gjs-f-image" },
content: {
style: { color: "black" },
type: "image",
activeOnRender: 1,
},
}),
w("video") &&
l.add("video", {
label: n.labelVideo,
category: n.category,
attributes: { class: "fa fa-youtube-play" },
content: {
type: "video",
src: "img/video2.webm",
style: { height: "350px", width: "615px" },
},
}),
w("map") &&
l.add("map", {
label: n.labelMap,
category: n.category,
attributes: { class: "fa fa-map-o" },
content: { type: "map", style: { height: "350px" } },
});
};
},
]);
});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,111 @@
const editor = grapesjs.init({
container: '#editor',
storageManager: false,
blockManager: {
appendTo: '#blocks',
},
storageManager: {
type: 'remote',
stepsBeforeSave: 3,
contentTypeJson: true,
storeComponents: true,
storeStyles: true,
storeHtml: true,
storeCss: true,
headers: {
'Content-Type': 'application/json',
},
id: 'mycustom-',
urlStore: `/pages/${location.pathname.split('/')[2]}/content`,
urlLoad: `/pages/${location.pathname.split('/')[2]}/content`,
},
styleManager: {
appendTo: '#styles-container',
sectors: [
{
name: 'Dimension',
open: false,
buildProps: ['width', 'min-height', 'padding'],
properties: [
{
type: 'integer',
name: 'The width',
property: 'width',
units: ['px', '%'],
defaults: 'auto',
min: 0,
},
],
},
],
},
layerManager: {
appendTo: '#layers-container',
},
traitManager: {
appendTo: '#trait-container',
},
selectorManager: {
appendTo: '#styles-container',
},
panels: {
defaults: [
{
id: 'basic-actions',
el: '.panel__basic-actions',
buttons: [
{
id: 'visibility',
active: true, // active by default
className: 'btn-toggle-borders',
label: '<i class="fa fa-clone"></i>',
command: 'sw-visibility', // Built-in command
},
],
},
{
id: 'panel-devices',
el: '.panel__devices',
buttons: [
{
id: 'device-desktop',
label: '<i class="fa fa-television"></i>',
command: 'set-device-desktop',
active: true,
togglable: false,
},
{
id: 'device-mobile',
label: '<i class="fa fa-mobile"></i>',
command: 'set-device-mobile',
togglable: false,
},
],
},
],
},
deviceManager: {
devices: [
{
name: 'Desktop',
width: '',
},
{
name: 'Mobile',
width: '320px',
widthMedia: '480px',
},
],
},
plugins: ['gjs-blocks-basic'],
pluginsOpts: {
'gjs-blocks-basic': {},
},
});
// Commands
editor.Commands.add('set-device-desktop', {
run: (editor) => editor.setDevice('Desktop'),
});
editor.Commands.add('set-device-mobile', {
run: (editor) => editor.setDevice('Mobile'),
});

View File

@@ -0,0 +1,22 @@
import { findPageById } from '../page/page.services';
const renderHtml = async (req, res, next) => {
try {
const { params } = req;
const { pageId } = params;
const page = await findPageById(pageId);
if (!page) {
res.render('404');
}
const { content, name } = page;
let html = content['mycustom-html'];
const css = content['mycustom-css'];
res.render('render', { html, css, name });
} catch (error) {
res.render('404');
}
};
export default renderHtml;

View File

@@ -0,0 +1,54 @@
import express from 'express';
import mongoose from 'mongoose';
import cors from 'cors';
import path from 'path';
import uiRoute from './ui/ui.route';
import pageRoute from './page/page.route';
import assetRoute from './assets/assets.route';
import projectRoute from './project/project.route';
import renderHtml from './render/render.controller';
//Initialize App
const app = express();
app.use(express.json());
const corsOptions = {
origin: function (origin, callback) {
callback(null, true);
},
};
corsOptions.credentials = true;
app.use(cors(corsOptions));
//HTML and Static file
app.use('/resources', express.static(path.join(__dirname, 'public')));
app.set('views', `views`);
app.set('view engine', 'hbs');
const mongoUri = 'mongodb://localhost:27017/webpage_builder';
// const mongoUri = 'mongodb+srv://equippedcoding:c0Xjk9jHwuWIlQQW@cluster0.ynboveg.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0';
mongoose.connect(
mongoUri,
{
useCreateIndex: true,
useFindAndModify: false,
useNewUrlParser: true,
useUnifiedTopology: true,
},
(err) => {
if (err){
console.log('NOT Connected to MongoDB');
throw err;
}
console.log('Connected to MongoDB');
},
);
app.use('/api/projects', projectRoute);
app.use('/api/pages', pageRoute);
app.use('/api/assets', assetRoute);
app.use('/api/', uiRoute);
app.get('/:pageId?', renderHtml);
const PORT = process.env.APP_PORT || 8080;
app.listen(PORT, () => {
console.log(`server is running on port ${PORT}`);
});

View File

@@ -0,0 +1,12 @@
import { listPages } from '../page/page.services';
export const home = async (req, res) => {
const pages = await listPages();
res.render('home', { title: 'Webpage Builder', pages });
};
export const editor = async (req, res) => {
const pages = await listPages();
const selectedPage = pages.find((page) => page.id === req.params.pageId);
res.render('editor', { title: 'Webpage Builder', pages, selectedPage });
};

View File

@@ -0,0 +1,13 @@
import express from 'express';
import { editor, home } from './ui.controller';
const uiRoute = express.Router();
uiRoute.get('/', home);
uiRoute.get('/editor/:pageId', editor);
uiRoute.all('*', (req, res) => {
res.render('404');
});
export default uiRoute;

View File

@@ -0,0 +1,35 @@
<html lang='en'>
{{!-- <head>
<meta charset='UTF-8' />
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
<meta name='viewport' content='width=device-width, initial-scale=1.0' />
<title>Page Not Found</title>
<link href='/resources/css/lib/bootstrap.min.css' rel='stylesheet' />
<link rel='stylesheet' href='/resources/css/main.css' />
</head> --}}
<body>
<div class='container-fluid'>
<div class='row'>
<div class='col-3'>
</div>
<div class='col-6 top-50 position-absolute start-50 translate-middle'>
<div class='error'>
<div class='shadow-lg p-3 mb-5 bg-body rounded text-uppercase'>
<h2 class='title'>404: Page not found</h2>
</div>
<div class='text-center'>
<a href='/api/' type='button' class='btn btn-outline-secondary btn-lg text-uppercase'>
Home
</a>
</div>
</div>
<div class='col-3'></div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,220 @@
<html lang='en'>
<head>
<meta charset='UTF-8' />
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
<meta name='viewport' content='width=device-width, initial-scale=1.0' />
<title>{{title}}</title>
<!-- Library -->
<link href='/resources/css/lib/bootstrap.min.css' rel='stylesheet' />
<script src='/resources/js/lib/popper.min.js'></script>
<script src='/resources/js/lib/bootstrap.min.js'></script>
<script src='/resources/js/lib/grapes.min.js'></script>
<link rel='stylesheet' href='/resources/css/lib/grapes.min.css' />
<script src='/resources/js/lib/grapesjs-blocks-basic.js' type='text/javascript'></script>
<!-- Custom -->
<link rel='stylesheet' href='/resources/css/main.css' />
</head>
<body>
<div id='navbar' class='sidenav d-flex flex-column overflow-scroll'>
<nav class='navbar navbar-light'>
<div class='container-fluid'>
<span class='navbar-brand mb-0 h3 logo'>Code Dexterous</span>
</div>
</nav>
<div class='my-2 d-flex flex-column'>
<button
type='button'
class='btn btn-outline-secondary btn-sm mb-2 mx-2'
data-bs-toggle='modal'
data-bs-target='#addPageModal'
>
<i class='fa fa-plus'></i>
Add Page
</button>
<ul class='list-group pages'>
<li class='list-group-item d-flex justify-content-between align-items-center'>
Home
<div class='m-2'>
<button class='btn btn-sm btn-outline-primary'>
<i class='fa fa-pencil'></i>
</button>
<button class='btn btn-sm btn-outline-danger'>
<i class='fa fa-trash'></i>
</button>
</div>
</li>
<li class='list-group-item d-flex justify-content-between align-items-center'>
About
<div class='m-2'>
<button class='btn btn-sm btn-outline-primary'>
<i class='fa fa-pencil'></i>
</button>
<button class='btn btn-sm btn-outline-danger'>
<i class='fa fa-trash'></i>
</button>
</div>
</li>
<li class='list-group-item d-flex justify-content-between align-items-center'>
Contact Us
<div class='m-2'>
<button class='btn btn-sm btn-outline-primary'>
<i class='fa fa-pencil'></i>
</button>
<button class='btn btn-sm btn-outline-danger'>
<i class='fa fa-trash'></i>
</button>
</div>
</li>
</ul>
</div>
<div class=''>
<ul class='nav nav-tabs' id='myTab' role='tablist'>
<li class='nav-item' role='presentation'>
<button
class='nav-link active'
id='block-tab'
data-bs-toggle='tab'
data-bs-target='#block'
type='button'
role='tab'
aria-controls='block'
aria-selected='true'
>
<i class='fa fa-cubes'></i>
</button>
</li>
<li class='nav-item' role='presentation'>
<button
class='nav-link'
id='layer-tab'
data-bs-toggle='tab'
data-bs-target='#layer'
type='button'
role='tab'
aria-controls='layer'
aria-selected='false'
>
<i class='fa fa-tasks'></i>
</button>
</li>
<li class='nav-item' role='presentation'>
<button
class='nav-link'
id='style-tab'
data-bs-toggle='tab'
data-bs-target='#style'
type='button'
role='tab'
aria-controls='style'
aria-selected='false'
>
<i class='fa fa-paint-brush'></i>
</button>
</li>
<li class='nav-item' role='presentation'>
<button
class='nav-link'
id='trait-tab'
data-bs-toggle='tab'
data-bs-target='#trait'
type='button'
role='tab'
aria-controls='trait'
aria-selected='false'
>
<i class='fa fa-cog'></i>
</button>
</li>
</ul>
<div class='tab-content'>
<div
class='tab-pane fade show active'
id='block'
role='tabpanel'
aria-labelledby='block-tab'
>
<div id='blocks'></div>
</div>
<div class='tab-pane fade' id='layer' role='tabpanel' aria-labelledby='layer-tab'>
<div id='layers-container'></div>
</div>
<div class='tab-pane fade' id='style' role='tabpanel' aria-labelledby='style-tab'>
<div id='styles-container'></div>
</div>
<div class='tab-pane fade' id='trait' role='tabpanel' aria-labelledby='trait-tab'>
<div id='trait-container'></div>
</div>
</div>
</div>
</div>
<div class='main-content'>
<nav class='navbar navbar-light'>
<div class='container-fluid'>
<div class='panel__devices'></div>
<div class='panel__basic-actions'></div>
</div>
</nav>
<div id='editor'></div>
<div
class='modal fade'
id='addPageModal'
tabindex='-1'
aria-labelledby='addPageModalLabel'
aria-hidden='true'
data-bs-backdrop='static'
data-bs-keyboard='false'
>
<div class='modal-dialog'>
<div class='modal-content'>
<form id='create-page' onsubmit='return validatForm(event)' novalidate>
<div class='modal-header'>
<h5 class='modal-title' id='addPageModalLabel'>Create Page</h5>
<button
type='button'
class='btn-close'
data-bs-dismiss='modal'
aria-label='Close'
></button>
</div>
<div class='modal-body'>
<div class='col-auto'>
<label for='name' class='form-label'>Name</label>
<input
type='text'
class='form-control form-control-sm'
id='name'
name='name'
placeholder='Name of Page'
required
/>
<div class='invalid-feedback'>
Please provide a valid name.
</div>
</div>
</div>
<div class='modal-footer'>
<button
type='button'
class='btn btn-secondary btn-sm'
data-bs-dismiss='modal'
onclick='clearForm()'
>
Close
</button>
<button type='submit' class='btn btn-primary btn-sm'>
Save
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script type='text/javascript' src='/resources/js/custom.js'></script>
<script type='text/javascript' src='/resources/js/main.js'></script>
</body>
</html>

View File

@@ -0,0 +1,81 @@
<html lang='en'>
<head>
<meta charset='UTF-8' />
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
<meta name='viewport' content='width=device-width, initial-scale=1.0' />
<link href='/resources/css/lib/bootstrap.min.css' rel='stylesheet' />
<script src='/resources/js/lib/popper.min.js'></script>
<script src='/resources/js/lib/bootstrap.min.js'></script>
<script src='/resources/js/lib/axios.min.js'></script>
<title>{{title}}</title>
</head>
<body>
<div class='container'>
<div class='row'>
<div class='col-12 mt-5'>
<form id='create-page' onsubmit='return validatForm(event)' novalidate>
<div class='modal-header'>
<h5 class='modal-title' id='addPageModalLabel'>Create Page</h5>
</div>
<div class='modal-body'>
<div class='col-auto'>
<label for='name' class='form-label'>Name</label>
<input
type='text'
class='form-control form-control-sm'
id='name'
name='name'
placeholder='Name of Page'
required
/>
<div class='invalid-feedback'>
Please provide a valid name.
</div>
</div>
</div>
<div class='modal-footer'>
<button
type='button'
class='btn btn-secondary btn-sm'
data-bs-dismiss='modal'
onclick='clearForm()'
>
Clear
</button>
<button type='submit' class='btn btn-primary btn-sm'>
Save
</button>
</div>
</form>
</div>
<div class='col-12 my-2'>
<table class='table table-bordered table-hover'>
<thead>
<tr>
<td>ID</td>
<td>Name</td>
<td>Slug</td>
<td>Action</td>
</tr>
</thead>
<tbody>
{{#each pages}}
<tr>
<td>{{this._id}}</td>
<td>{{this.name}}</td>
<td>{{this.slug}}</td>
<td>
<a href='/api/editor/{{this._id}}'>Edit</a>
</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
</div>
<script type='text/javascript' src='/resources/js/custom.js'></script>
</body>
</html>

View File

@@ -0,0 +1,22 @@
<html lang='en'>
<head>
<meta charset='UTF-8' />
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
<meta name='viewport' content='width=device-width, initial-scale=1.0' />
<title>{{name}}</title>
<style>{{css}}</style>
<link rel='stylesheet' href='https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css' />
<link rel='stylesheet' href='https://unpkg.com/swiper@7/swiper-bundle.min.css' />
<link
rel='stylesheet'
href='https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css'
/>
</head>
<body>
{{{html}}}
<script src='https://code.jquery.com/jquery-3.5.1.slim.min.js'></script>
<script src='https://unpkg.com/swiper@7/swiper-bundle.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js'></script>
</body>
</html>