1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-18 20:59:43 +02:00

Per space label, icon, description

Labels introduce visual grouping and filtering of spaces.
This commit is contained in:
McMatts 2019-01-04 16:33:30 +00:00
parent fe8068965c
commit a211ba051a
106 changed files with 3280 additions and 1008 deletions

View file

@ -58,9 +58,9 @@ Space view.
## Latest Release
[Community Edition: v1.76.2](https://github.com/documize/community/releases)
[Community Edition: v2.0.0](https://github.com/documize/community/releases)
[Enterprise Edition: v1.76.2](https://documize.com/downloads)
[Enterprise Edition: v2.0.0](https://documize.com/downloads)
## OS support

View file

@ -0,0 +1,37 @@
/* Community Edition */
-- Space labels provide name/color grouping
DROP TABLE IF EXISTS `dmz_space_label`;
CREATE TABLE IF NOT EXISTS `dmz_space_label` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`c_refid` VARCHAR(20) NOT NULL COLLATE utf8_bin,
`c_orgid` VARCHAR(20) NOT NULL COLLATE utf8_bin,
`c_name` VARCHAR(50) NOT NULL DEFAULT '',
`c_color` VARCHAR(10) NOT NULL DEFAULT '',
`c_created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`c_revised` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE INDEX `idx_space_label_1` (`id` ASC),
INDEX `idx_space_label_2` (`c_refid` ASC),
INDEX `idx_space_label_3` (`c_orgid` ASC))
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
ENGINE = InnoDB;
-- Space table upgrade to support labelling, icon and summary stats
ALTER TABLE dmz_space ADD COLUMN `c_desc` VARCHAR(200) NOT NULL DEFAULT '' AFTER `c_name`;
ALTER TABLE dmz_space ADD COLUMN `c_labelid` VARCHAR(20) NOT NULL DEFAULT '' COLLATE utf8_bin AFTER `c_likes`;
ALTER TABLE dmz_space ADD COLUMN `c_icon` VARCHAR(20) NOT NULL DEFAULT '' AFTER `c_labelid`;
ALTER TABLE dmz_space ADD COLUMN `c_count_category` INT NOT NULL DEFAULT 0 AFTER `c_icon`;
ALTER TABLE dmz_space ADD COLUMN `c_count_content` INT NOT NULL DEFAULT 0 AFTER `c_count_category`;
-- Org/tenant upgrade to support theming and custom logo
ALTER TABLE dmz_org ADD COLUMN `c_theme` VARCHAR(20) NOT NULL DEFAULT '' AFTER `c_maxtags`;
ALTER TABLE dmz_org ADD COLUMN `c_logo` LONGBLOB AFTER `c_theme`;
-- Populate default values for new fields
UPDATE dmz_space s SET c_count_category=(SELECT COUNT(*) FROM dmz_category WHERE c_spaceid=s.c_refid);
UPDATE dmz_space s SET c_count_content=(SELECT COUNT(*) FROM dmz_doc WHERE c_spaceid=s.c_refid);
-- BUGFIX: Remove zombie group membership records
DELETE FROM dmz_group_member WHERE c_userid NOT IN (SELECT c_userid FROM dmz_user_account);
-- Deprecations

View file

@ -145,7 +145,7 @@ func (h *Handler) Download(w http.ResponseWriter, r *http.Request) {
// can download as required.
// Such secure document viewing links can have expiry dates.
if len(authToken) == 0 && len(secureToken) > 0 {
// TODO
}
// Send back error if caller unable view attachment

View file

@ -105,6 +105,14 @@ func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
return
}
err = h.Store.Space.IncrementCategoryCount(ctx, cat.SpaceID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
cat, err = h.Store.Category.Get(ctx, cat.RefID)
@ -295,6 +303,14 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
return
}
err = h.Store.Space.DecrementCategoryCount(ctx, cat.SpaceID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeCategoryDelete)

View file

@ -262,6 +262,12 @@ func processDocument(ctx domain.RequestContext, r *env.Runtime, store *store.Sto
go indexer.IndexDocument(ctx, newDocument, da)
err = store.Space.IncrementContentCount(ctx, newDocument.SpaceID)
if err != nil {
err = errors.Wrap(err, "cannot increment space content count")
return
}
store.Audit.Record(ctx, audit.EventTypeDocumentUpload)
return

View file

@ -396,6 +396,14 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
ActivityType: activity.TypeDeleted})
}
err = h.Store.Space.DecrementContentCount(ctx, doc.SpaceID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeDocumentDelete)

View file

@ -179,3 +179,19 @@ func (s Store) GetMembers(ctx domain.RequestContext) (r []group.Record, err erro
return
}
// RemoveUserGroups remove user from all group.
func (s Store) RemoveUserGroups(ctx domain.RequestContext, userID string) (err error) {
_, err = s.DeleteWhere(ctx.Transaction,
fmt.Sprintf("DELETE FROM dmz_group_member WHERE c_orgid='%s' AND c_userid='%s'",
ctx.OrgID, userID))
if err == sql.ErrNoRows {
err = nil
}
if err != nil {
err = errors.Wrap(err, "RemoveUserGroups")
}
return
}

201
domain/label/endpoint.go Normal file
View file

@ -0,0 +1,201 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
package label
import (
"encoding/json"
"io/ioutil"
"net/http"
"github.com/documize/community/core/env"
"github.com/documize/community/core/request"
"github.com/documize/community/core/response"
"github.com/documize/community/core/streamutil"
"github.com/documize/community/core/uniqueid"
"github.com/documize/community/domain"
"github.com/documize/community/domain/store"
"github.com/documize/community/model/audit"
"github.com/documize/community/model/label"
)
// Handler contains the runtime information such as logging and database.
type Handler struct {
Runtime *env.Runtime
Store *store.Store
}
// Add space label to the store.
func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
method := "label.Add"
ctx := domain.GetRequestContext(r)
if !h.Runtime.Product.IsValid(ctx) {
response.WriteBadLicense(w)
return
}
if !ctx.Administrator {
response.WriteForbiddenError(w)
return
}
defer streamutil.Close(r.Body)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
response.WriteBadRequestError(w, method, err.Error())
return
}
l := label.Label{}
err = json.Unmarshal(body, &l)
if err != nil {
response.WriteBadRequestError(w, method, err.Error())
h.Runtime.Log.Error(method, err)
return
}
l.RefID = uniqueid.Generate()
ctx.Transaction, err = h.Runtime.Db.Beginx()
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
err = h.Store.Label.Add(ctx, l)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeLabelAdd)
response.WriteJSON(w, l)
}
// Get returns all space labels.
func (h *Handler) Get(w http.ResponseWriter, r *http.Request) {
method := "label.Get"
ctx := domain.GetRequestContext(r)
l, err := h.Store.Label.Get(ctx)
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
if len(l) == 0 {
l = []label.Label{}
}
response.WriteJSON(w, l)
}
// Update persists label name/color changes.
func (h *Handler) Update(w http.ResponseWriter, r *http.Request) {
method := "label.Update"
ctx := domain.GetRequestContext(r)
if !ctx.Administrator {
response.WriteForbiddenError(w)
return
}
labelID := request.Param(r, "labelID")
if len(labelID) == 0 {
response.WriteMissingDataError(w, method, "labelID")
return
}
defer streamutil.Close(r.Body)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
response.WriteBadRequestError(w, method, "Bad payload")
return
}
l := label.Label{}
err = json.Unmarshal(body, &l)
if err != nil {
response.WriteBadRequestError(w, method, "Bad payload")
return
}
l.RefID = labelID
ctx.Transaction, err = h.Runtime.Db.Beginx()
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
err = h.Store.Label.Update(ctx, l)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeLabelUpdate)
response.WriteEmpty(w)
}
// Delete removes space label from store and
// removes label association from spaces.
func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
method := "label.Delete"
ctx := domain.GetRequestContext(r)
labelID := request.Param(r, "labelID")
if len(labelID) == 0 {
response.WriteMissingDataError(w, method, "labelID")
return
}
var err error
ctx.Transaction, err = h.Runtime.Db.Beginx()
if err != nil {
response.WriteServerError(w, method, err)
return
}
_, err = h.Store.Label.Delete(ctx, labelID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
err = h.Store.Label.RemoveReference(ctx, labelID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeLabelDelete)
response.WriteEmpty(w)
}

106
domain/label/store.go Normal file
View file

@ -0,0 +1,106 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
package label
import (
"database/sql"
"time"
"github.com/documize/community/domain"
"github.com/documize/community/domain/store"
"github.com/documize/community/model/label"
"github.com/pkg/errors"
)
// Store provides data access to section template information.
type Store struct {
store.Context
store.LabelStorer
}
// Add saves space label to store.
func (s Store) Add(ctx domain.RequestContext, l label.Label) (err error) {
l.OrgID = ctx.OrgID
l.Created = time.Now().UTC()
l.Revised = time.Now().UTC()
_, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_space_label (c_refid, c_orgid, c_name, c_color, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?)"),
l.RefID, l.OrgID, l.Name, l.Color, l.Created, l.Revised)
if err != nil {
err = errors.Wrap(err, "execute insert label")
}
return
}
// Get returns all space labels from store.
func (s Store) Get(ctx domain.RequestContext) (l []label.Label, err error) {
err = s.Runtime.Db.Select(&l, s.Bind(`
SELECT id, c_refid as refid,
c_orgid as orgid,
c_name AS name, c_color AS color,
c_created AS created, c_revised AS revised
FROM dmz_space_label
WHERE c_orgid=?`),
ctx.OrgID)
if err == sql.ErrNoRows {
err = nil
}
if err != nil {
err = errors.Wrap(err, "execute select label")
}
return
}
// Update persists space label changes to the store.
func (s Store) Update(ctx domain.RequestContext, l label.Label) (err error) {
l.Revised = time.Now().UTC()
_, err = ctx.Transaction.NamedExec(s.Bind(`UPDATE dmz_space_label SET
c_name=:name, c_color=:color, c_revised=:revised
WHERE c_orgid=:orgid AND c_refid=:refid`),
l)
if err == sql.ErrNoRows {
err = nil
}
if err != nil {
err = errors.Wrap(err, "execute update label")
}
return
}
// Delete removes space label from the store.
func (s Store) Delete(ctx domain.RequestContext, id string) (rows int64, err error) {
return s.DeleteConstrained(ctx.Transaction, "dmz_space_label", ctx.OrgID, id)
}
// RemoveReference clears space.labelID for given label.
func (s Store) RemoveReference(ctx domain.RequestContext, spaceID string) (err error) {
_, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_space SET
c_labelid='', c_revised=?
WHERE c_orgid=? AND c_refid=?`),
time.Now().UTC(), ctx.OrgID, spaceID)
if err == sql.ErrNoRows {
err = nil
}
if err != nil {
err = errors.Wrap(err, "execute remove space label reference")
}
return
}

View file

@ -57,13 +57,13 @@ func (h *Handler) Meta(w http.ResponseWriter, r *http.Request) {
data.AuthProvider = strings.TrimSpace(org.AuthProvider)
data.AuthConfig = org.AuthConfig
data.MaxTags = org.MaxTags
data.Theme = org.Theme
data.Version = h.Runtime.Product.Version
data.Revision = h.Runtime.Product.Revision
data.Edition = h.Runtime.Product.Edition
data.ConversionEndpoint = org.ConversionEndpoint
data.Storage = h.Runtime.StoreProvider.Type()
data.Location = h.Runtime.Flags.Location // reserved
data.Theme = org.Theme
// Strip secrets
data.AuthConfig = auth.StripAuthSecrets(h.Runtime, org.AuthProvider, org.AuthConfig)
@ -195,7 +195,7 @@ func (h *Handler) Reindex(w http.ResponseWriter, r *http.Request) {
if !ctx.GlobalAdmin {
response.WriteForbiddenError(w)
h.Runtime.Log.Info(fmt.Sprintf("%s attempted search reindex"))
h.Runtime.Log.Info(fmt.Sprintf("%s attempted search reindex", ctx.UserID))
return
}
@ -258,7 +258,7 @@ func (h *Handler) SearchStatus(w http.ResponseWriter, r *http.Request) {
if !ctx.GlobalAdmin {
response.WriteForbiddenError(w)
h.Runtime.Log.Info(fmt.Sprintf("%s attempted get of search status"))
h.Runtime.Log.Info(fmt.Sprintf("%s attempted get of search status", ctx.UserID))
return
}
@ -292,9 +292,12 @@ func (h *Handler) Themes(w http.ResponseWriter, r *http.Request) {
th := []theme{}
th = append(th, theme{Name: "", Primary: "#280A42"})
th = append(th, theme{Name: "Blue", Primary: "#176091"})
th = append(th, theme{Name: "Deep Orange", Primary: "#BF360C"})
th = append(th, theme{Name: "Teal", Primary: "#00695C"})
th = append(th, theme{Name: "Brave", Primary: "#BF360C"})
th = append(th, theme{Name: "Conference", Primary: "#176091"})
th = append(th, theme{Name: "Forest", Primary: "#00695C"})
th = append(th, theme{Name: "Harvest", Primary: "#A65F20"})
th = append(th, theme{Name: "Silver", Primary: "#AEBECC"})
th = append(th, theme{Name: "Sunflower", Primary: "#D7B92F"})
response.WriteJSON(w, th)
}

View file

@ -52,7 +52,7 @@ func (s Store) GetOrganization(ctx domain.RequestContext, id string) (org org.Or
c_anonaccess AS allowanonymousaccess, c_authprovider AS authprovider,
coalesce(c_authconfig,`+s.EmptyJSON()+`) AS authconfig,
coalesce(c_sub,`+s.EmptyJSON()+`) AS subscription,
c_maxtags AS maxtags, c_created AS created, c_revised AS revised
c_maxtags AS maxtags, c_created AS created, c_revised AS revised, c_theme AS theme
FROM dmz_org
WHERE c_refid=?`),
id)
@ -84,7 +84,7 @@ func (s Store) GetOrganizationByDomain(subdomain string) (o org.Organization, er
c_anonaccess AS allowanonymousaccess, c_authprovider AS authprovider,
coalesce(c_authconfig,`+s.EmptyJSON()+`) AS authconfig,
coalesce(c_sub,`+s.EmptyJSON()+`) AS subscription,
c_maxtags AS maxtags, c_created AS created, c_revised AS revised
c_maxtags AS maxtags, c_created AS created, c_revised AS revised, c_theme AS theme
FROM dmz_org
WHERE c_domain=? AND c_active=true`),
subdomain)
@ -99,7 +99,7 @@ func (s Store) GetOrganizationByDomain(subdomain string) (o org.Organization, er
c_anonaccess AS allowanonymousaccess, c_authprovider AS authprovider,
coalesce(c_authconfig,`+s.EmptyJSON()+`) AS authconfig,
coalesce(c_sub,`+s.EmptyJSON()+`) AS subscription,
c_maxtags AS maxtags, c_created AS created, c_revised AS revised
c_maxtags AS maxtags, c_created AS created, c_revised AS revised, c_theme AS theme
FROM dmz_org
WHERE c_domain='' AND c_active=true`))
@ -116,7 +116,7 @@ func (s Store) UpdateOrganization(ctx domain.RequestContext, org org.Organizatio
_, err = ctx.Transaction.NamedExec(`UPDATE dmz_org SET
c_title=:title, c_message=:message, c_service=:conversionendpoint, c_email=:email,
c_anonaccess=:allowanonymousaccess, c_maxtags=:maxtags, c_revised=:revised
c_anonaccess=:allowanonymousaccess, c_maxtags=:maxtags, c_theme=:theme, c_revised=:revised
WHERE c_refid=:refid`,
&org)

View file

@ -30,8 +30,10 @@ type Store struct {
// Add adds new folder into the store.
func (s Store) Add(ctx domain.RequestContext, sp space.Space) (err error) {
_, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_space (c_refid, c_name, c_orgid, c_userid, c_type, c_lifecycle, c_likes, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"),
sp.RefID, sp.Name, sp.OrgID, sp.UserID, sp.Type, sp.Lifecycle, sp.Likes, sp.Created, sp.Revised)
_, err = ctx.Transaction.Exec(s.Bind("INSERT INTO dmz_space (c_refid, c_name, c_orgid, c_userid, c_type, c_lifecycle, c_likes, c_icon, c_desc, c_count_category, c_count_content, c_labelid, c_created, c_revised) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"),
sp.RefID, sp.Name, sp.OrgID, sp.UserID, sp.Type, sp.Lifecycle, sp.Likes,
sp.Icon, sp.Description, sp.CountCategory, sp.CountContent, sp.LabelID,
sp.Created, sp.Revised)
if err != nil {
err = errors.Wrap(err, "unable to execute insert for space")
@ -45,6 +47,8 @@ func (s Store) Get(ctx domain.RequestContext, id string) (sp space.Space, err er
err = s.Runtime.Db.Get(&sp, s.Bind(`SELECT id, c_refid AS refid,
c_name AS name, c_orgid AS orgid, c_userid AS userid,
c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes,
c_icon AS icon, c_labelid AS labelid, c_desc AS description,
c_count_category As countcategory, c_count_content AS countcontent,
c_created AS created, c_revised AS revised
FROM dmz_space
WHERE c_orgid=? and c_refid=?`),
@ -62,6 +66,8 @@ func (s Store) PublicSpaces(ctx domain.RequestContext, orgID string) (sp []space
qry := s.Bind(`SELECT id, c_refid AS refid,
c_name AS name, c_orgid AS orgid, c_userid AS userid,
c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes,
c_icon AS icon, c_labelid AS labelid, c_desc AS desc,
c_count_category as countcategory, c_count_content AS countcontent,
c_created AS created, c_revised AS revised
FROM dmz_space
WHERE c_orgid=? AND c_type=1`)
@ -85,6 +91,8 @@ func (s Store) GetViewable(ctx domain.RequestContext) (sp []space.Space, err err
q := s.Bind(`SELECT id, c_refid AS refid,
c_name AS name, c_orgid AS orgid, c_userid AS userid,
c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes,
c_icon AS icon, c_labelid AS labelid, c_desc AS description,
c_count_category AS countcategory, c_count_content AS countcontent,
c_created AS created, c_revised AS revised
FROM dmz_space
WHERE c_orgid=? AND c_refid IN
@ -122,14 +130,18 @@ func (s Store) AdminList(ctx domain.RequestContext) (sp []space.Space, err error
SELECT id, c_refid AS refid,
c_name AS name, c_orgid AS orgid, c_userid AS userid,
c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes,
c_created AS created, c_revised AS revised
c_created AS created, c_revised AS revised,
c_icon AS icon, c_labelid AS labelid, c_desc AS description,
c_count_category AS countcategory, c_count_content AS countcontent
FROM dmz_space
WHERE c_orgid=? AND (c_type=? OR c_type=?)
UNION ALL
SELECT id, c_refid AS refid,
c_name AS name, c_orgid AS orgid, c_userid AS userid,
c_type AS type, c_lifecycle AS lifecycle, c_likes AS likes,
c_created AS created, c_revised AS revised
c_created AS created, c_revised AS revised,
c_icon AS icon, c_labelid AS labelid, c_desc AS description,
c_count_category AS countcategory, c_count_content AS countcontent
FROM dmz_space
WHERE c_orgid=? AND (c_type=? OR c_type=?) AND c_refid NOT IN
(SELECT c_refid FROM dmz_permission WHERE c_orgid=? AND c_action='own')
@ -154,7 +166,13 @@ func (s Store) AdminList(ctx domain.RequestContext) (sp []space.Space, err error
func (s Store) Update(ctx domain.RequestContext, sp space.Space) (err error) {
sp.Revised = time.Now().UTC()
_, err = ctx.Transaction.NamedExec("UPDATE dmz_space SET c_name=:name, c_type=:type, c_lifecycle=:lifecycle, c_userid=:userid, c_likes=:likes, c_revised=:revised WHERE c_orgid=:orgid AND c_refid=:refid", &sp)
_, err = ctx.Transaction.NamedExec(`
UPDATE dmz_space
SET c_name=:name, c_type=:type, c_lifecycle=:lifecycle, c_userid=:userid,
c_likes=:likes, c_desc=:description, c_labelid=:labelid, c_icon=:icon,
c_count_category=:countcategory, c_count_content=:countcontent,
c_revised=:revised
WHERE c_orgid=:orgid AND c_refid=:refid`, &sp)
if err != nil {
err = errors.Wrap(err, fmt.Sprintf("unable to execute update for space %s", sp.RefID))
}
@ -166,3 +184,55 @@ func (s Store) Update(ctx domain.RequestContext, sp space.Space) (err error) {
func (s Store) Delete(ctx domain.RequestContext, id string) (rows int64, err error) {
return s.DeleteConstrained(ctx.Transaction, "dmz_space", ctx.OrgID, id)
}
// IncrementCategoryCount increments usage counter for space category.
func (s Store) IncrementCategoryCount(ctx domain.RequestContext, spaceID string) (err error) {
_, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_space SET
c_count_category=c_count_category+1, c_revised=? WHERE c_orgid=? AND c_refid=?`),
time.Now().UTC(), ctx.OrgID, spaceID)
if err != nil {
err = errors.Wrap(err, "execute increment category count")
}
return
}
// DecrementCategoryCount decrements usage counter for space category.
func (s Store) DecrementCategoryCount(ctx domain.RequestContext, spaceID string) (err error) {
_, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_space SET
c_count_category=c_count_category-1, c_revised=? WHERE c_orgid=? AND c_refid=?`),
time.Now().UTC(), ctx.OrgID, spaceID)
if err != nil {
err = errors.Wrap(err, "execute decrement category count")
}
return
}
// IncrementContentCount increments usage counter for space category.
func (s Store) IncrementContentCount(ctx domain.RequestContext, spaceID string) (err error) {
_, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_space SET
c_count_content=c_count_content+1, c_revised=? WHERE c_orgid=? AND c_refid=?`),
time.Now().UTC(), ctx.OrgID, spaceID)
if err != nil {
err = errors.Wrap(err, "execute increment content count")
}
return
}
// DecrementContentCount decrements usage counter for space category.
func (s Store) DecrementContentCount(ctx domain.RequestContext, spaceID string) (err error) {
_, err = ctx.Transaction.Exec(s.Bind(`UPDATE dmz_space SET
c_count_content=c_count_content-1, c_revised=? WHERE c_orgid=? AND c_refid=?`),
time.Now().UTC(), ctx.OrgID, spaceID)
if err != nil {
err = errors.Wrap(err, "execute decrement category count")
}
return
}

View file

@ -21,6 +21,7 @@ import (
"github.com/documize/community/model/category"
"github.com/documize/community/model/doc"
"github.com/documize/community/model/group"
"github.com/documize/community/model/label"
"github.com/documize/community/model/link"
"github.com/documize/community/model/org"
"github.com/documize/community/model/page"
@ -42,6 +43,7 @@ type Store struct {
Document DocumentStorer
Group GroupStorer
Link LinkStorer
Label LabelStorer
Meta MetaStorer
Organization OrganizationStorer
Page PageStorer
@ -62,6 +64,10 @@ type SpaceStorer interface {
Update(ctx domain.RequestContext, sp space.Space) (err error)
Delete(ctx domain.RequestContext, id string) (rows int64, err error)
AdminList(ctx domain.RequestContext) (sp []space.Space, err error)
IncrementCategoryCount(ctx domain.RequestContext, spaceID string) (err error)
DecrementCategoryCount(ctx domain.RequestContext, spaceID string) (err error)
IncrementContentCount(ctx domain.RequestContext, spaceID string) (err error)
DecrementContentCount(ctx domain.RequestContext, spaceID string) (err error)
}
// CategoryStorer defines required methods for category and category membership management
@ -285,6 +291,7 @@ type GroupStorer interface {
GetMembers(ctx domain.RequestContext) (r []group.Record, err error)
JoinGroup(ctx domain.RequestContext, groupID, userID string) (err error)
LeaveGroup(ctx domain.RequestContext, groupID, userID string) (err error)
RemoveUserGroups(ctx domain.RequestContext, userID string) (err error)
}
// MetaStorer provide specialist methods for global administrators.
@ -295,3 +302,12 @@ type MetaStorer interface {
Attachments(ctx domain.RequestContext, docID string) (a []attachment.Attachment, err error)
SearchIndexCount(ctx domain.RequestContext) (c int, err error)
}
// LabelStorer defines required methods for space label management
type LabelStorer interface {
Add(ctx domain.RequestContext, l label.Label) (err error)
Get(ctx domain.RequestContext) (l []label.Label, err error)
Update(ctx domain.RequestContext, l label.Label) (err error)
Delete(ctx domain.RequestContext, id string) (rows int64, err error)
RemoveReference(ctx domain.RequestContext, spaceID string) (err error)
}

View file

@ -245,6 +245,14 @@ func (h *Handler) SaveAs(w http.ResponseWriter, r *http.Request) {
}
}
err = h.Store.Space.IncrementContentCount(ctx, doc.SpaceID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
// Commit and return new document template
ctx.Transaction.Commit()
@ -430,6 +438,14 @@ func (h *Handler) Use(w http.ResponseWriter, r *http.Request) {
}
}
err = h.Store.Space.IncrementContentCount(ctx, d.SpaceID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeTemplateUse)

View file

@ -405,7 +405,7 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
return
}
// remove all associated roles for this user
// Remove user's permissions
_, err = h.Store.Permission.DeleteUserPermissions(ctx, userID)
if err != nil {
ctx.Transaction.Rollback()
@ -414,6 +414,15 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
return
}
// Remove all user groups memberships
err = h.Store.Group.RemoveUserGroups(ctx, userID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeUserDelete)

View file

@ -27,6 +27,7 @@ import (
category "github.com/documize/community/domain/category"
document "github.com/documize/community/domain/document"
group "github.com/documize/community/domain/group"
label "github.com/documize/community/domain/label"
link "github.com/documize/community/domain/link"
meta "github.com/documize/community/domain/meta"
org "github.com/documize/community/domain/organization"
@ -149,6 +150,11 @@ func SetMySQLProvider(r *env.Runtime, s *store.Store) {
userStore := user.Store{}
userStore.Runtime = r
s.User = userStore
// Space Label
labelStore := label.Store{}
labelStore.Runtime = r
s.Label = labelStore
}
// MySQLProvider supports MySQL 5.7.x and 8.0.x versions.

View file

@ -25,6 +25,7 @@ import (
category "github.com/documize/community/domain/category"
document "github.com/documize/community/domain/document"
group "github.com/documize/community/domain/group"
label "github.com/documize/community/domain/label"
link "github.com/documize/community/domain/link"
meta "github.com/documize/community/domain/meta"
org "github.com/documize/community/domain/organization"
@ -147,6 +148,11 @@ func SetPostgreSQLProvider(r *env.Runtime, s *store.Store) {
userStore := user.Store{}
userStore.Runtime = r
s.User = userStore
// Space Label
labelStore := label.Store{}
labelStore.Runtime = r
s.Label = labelStore
}
// Type returns name of provider

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,94 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import $ from 'jquery';
import Modals from '../../mixins/modal';
import Component from '@ember/component';
export default Component.extend(Modals, {
labelName: '',
labelColor: '',
editLabel: null,
deleetLabel: null,
showDeleteDialog: false,
actions: {
onShowAddModal() {
this.set('labelName', '');
this.set('labelColor', '');
this.modalOpen("#add-label-modal", {"show": true}, '#add-label-name');
},
onShowDeleteModal(label) {
this.set('deleteLabel', label);
this.set('showDeleteDialog', !this.get('showDeleteDialog'));
},
onShowUpdateModal(label) {
this.set('editLabel', label);
this.set('labelName', label.get('name'));
this.set('labelColor', label.get('color'));
this.modalOpen("#edit-label-modal", {"show": true}, '#edit-label-name');
},
onSetColor(color) {
this.set('labelColor', color);
},
onAdd() {
let label = {
name: this.get('labelName').trim(),
color: this.get('labelColor').trim(),
}
if (is.empty(label.name)) {
$('#add-label-name').addClass('is-invalid').focus();
return;
}
$('#add-label-name').removeClass('is-invalid');
this.modalClose('#add-label-modal');
this.get('onAdd')(label);
},
onUpdate() {
let name = this.get('labelName').trim();
let color = this.get('labelColor').trim();
let label = this.get('editLabel');
if (is.empty(name)) {
$('#edit-label-name').addClass('is-invalid').focus();
return;
}
$('#edit-label-name').removeClass('is-invalid');
this.modalClose('#edit-label-modal');
label.set('name', name);
label.set('color', color);
this.get('onUpdate')(label);
this.set('editLabel', null);
},
onDelete() {
let label = this.get('deleteLabel');
this.set('showDeleteDialog', false);
this.get('onDelete')(label.get('id'));
this.set('deleteLabel', null);
return true;
}
}
});

View file

@ -71,11 +71,6 @@ export default Component.extend(ModalMixin, AuthMixin, Notifier, {
this.set('saveTemplate.description', this.get('document.excerpt'));
},
didInsertElement() {
this._super(...arguments);
this.modalInputFocus('#document-template-modal', '#new-template-name');
},
willDestroyElement() {
this._super(...arguments);
},

View file

@ -17,6 +17,7 @@ import Notifier from '../../mixins/notifier';
import Component from '@ember/component';
export default Component.extend(Modals, Notifier, {
classNames: ["section"],
documentService: service('document'),
browserSvc: service('browser'),
appMeta: service(),
@ -50,7 +51,7 @@ export default Component.extend(Modals, Notifier, {
let url = this.get('appMeta.endpoint');
let uploadUrl = `${url}/documents/${documentId}/attachments`;
let dzone = new Dropzone("#upload-document-files", {
let dzone = new Dropzone("#upload-document-files > div", {
headers: {
'Authorization': 'Bearer ' + self.get('session.authToken')
},

View file

@ -9,7 +9,6 @@
//
// https://documize.com
import { A } from '@ember/array';
import { computed } from '@ember/object';
import { notEmpty } from '@ember/object/computed';
import { inject as service } from '@ember/service';

View file

@ -21,17 +21,27 @@ export default Component.extend(AuthMixin, Notifier, {
router: service(),
spaceSvc: service('folder'),
localStorage: service('localStorage'),
isSpaceAdmin: computed('permissions', function() {
return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage');
}),
spaceName: '',
hasNameError: empty('spaceName'),
spaceTypeOptions: A([]),
spaceType: 0,
likes: '',
allowLikes: false,
spaceLifecycleOptions: A([]),
spaceLifecycle: null,
iconList: A([]),
spaceIcon: '',
spaceDesc: '',
spaceLabel: '',
init() {
this._super(...arguments);
this.populateIconList();
},
didReceiveAttrs() {
this._super(...arguments);
@ -55,6 +65,71 @@ export default Component.extend(AuthMixin, Notifier, {
}
this.set('spaceName', this.get('space.name'));
this.set('spaceDesc', this.get('space.desc'));
this.set('spaceLabel', this.get('space.labelId'));
let icon = this.get('space.icon');
if (is.empty(icon)) {
icon = constants.IconMeta.Apps;
}
this.set('spaceIcon', icon);
},
populateIconList() {
let list = this.get('iconList');
let constants = this.get('constants');
list = A([]);
list.pushObject(constants.IconMeta.Star);
list.pushObject(constants.IconMeta.Support);
list.pushObject(constants.IconMeta.Message);
list.pushObject(constants.IconMeta.Apps);
list.pushObject(constants.IconMeta.Box);
list.pushObject(constants.IconMeta.Gift);
list.pushObject(constants.IconMeta.Design);
list.pushObject(constants.IconMeta.Bulb);
list.pushObject(constants.IconMeta.Metrics);
list.pushObject(constants.IconMeta.PieChart);
list.pushObject(constants.IconMeta.BarChart);
list.pushObject(constants.IconMeta.Finance);
list.pushObject(constants.IconMeta.Lab);
list.pushObject(constants.IconMeta.Code);
list.pushObject(constants.IconMeta.Help);
list.pushObject(constants.IconMeta.Manuals);
list.pushObject(constants.IconMeta.Flow);
list.pushObject(constants.IconMeta.Out);
list.pushObject(constants.IconMeta.In);
list.pushObject(constants.IconMeta.Partner);
list.pushObject(constants.IconMeta.Org);
list.pushObject(constants.IconMeta.Home);
list.pushObject(constants.IconMeta.Infinite);
list.pushObject(constants.IconMeta.Todo);
list.pushObject(constants.IconMeta.Procedure);
list.pushObject(constants.IconMeta.Outgoing);
list.pushObject(constants.IconMeta.Incoming);
list.pushObject(constants.IconMeta.Travel);
list.pushObject(constants.IconMeta.Winner);
list.pushObject(constants.IconMeta.Roadmap);
list.pushObject(constants.IconMeta.Money);
list.pushObject(constants.IconMeta.Security);
list.pushObject(constants.IconMeta.Tune);
list.pushObject(constants.IconMeta.Guide);
list.pushObject(constants.IconMeta.Smile);
list.pushObject(constants.IconMeta.Rocket);
list.pushObject(constants.IconMeta.Time);
list.pushObject(constants.IconMeta.Cup);
list.pushObject(constants.IconMeta.Marketing);
list.pushObject(constants.IconMeta.Announce);
list.pushObject(constants.IconMeta.Devops);
list.pushObject(constants.IconMeta.World);
list.pushObject(constants.IconMeta.Plan);
list.pushObject(constants.IconMeta.Components);
list.pushObject(constants.IconMeta.People);
list.pushObject(constants.IconMeta.Checklist);
this.set('iconList', list);
},
actions: {
@ -62,6 +137,18 @@ export default Component.extend(AuthMixin, Notifier, {
this.set('spaceType', t);
},
onSetSpaceLifecycle(l) {
this.set('spaceLifecycle', l);
},
onSetIcon(icon) {
this.set('spaceIcon', icon);
},
onSetLabel(id) {
this.set('spaceLabel', id);
},
onSave() {
if (!this.get('isSpaceAdmin')) return;
@ -75,6 +162,10 @@ export default Component.extend(AuthMixin, Notifier, {
if (spaceName.length === 0) return;
space.set('name', spaceName);
space.set('icon', this.get('spaceIcon'));
space.set('desc', this.get('spaceDesc'));
space.set('labelId', this.get('spaceLabel'));
this.get('spaceSvc').save(space).then(() => {
this.notifySuccess('Saved');
});

View file

@ -28,6 +28,7 @@ export default Component.extend(AuthMixin, {
return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage');
}),
selectedFilter: '',
spaceLabel: null,
init() {
this._super(...arguments);
@ -55,6 +56,7 @@ export default Component.extend(AuthMixin, {
this.set('categories', categories);
this.set('categoryLinkName', categories.length > 0 ? 'Manage' : 'Add');
this.set('spaceLabel', _.findWhere(this.get('labels'), {id: this.get('space.labelId')}));
schedule('afterRender', () => {
if (this.get('categoryFilter') !== '') {

View file

@ -12,4 +12,6 @@
import Component from '@ember/component';
export default Component.extend({
icon: null,
meta: null
});

View file

@ -30,6 +30,7 @@ export default Component.extend(Modals, {
hasDocumentPins: notEmpty('documentPins'),
hasWhatsNew: false,
newsContent: '',
hideNavigation: false,
init() {
this._super(...arguments);

View file

@ -0,0 +1,29 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { computed } from '@ember/object';
import Component from '@ember/component';
export default Component.extend({
tagName: 'div',
classNames: ['space-label'],
attributeBindings: ['customStyle:style'],
customStyle: computed('label', function() {
return this.get('label.bgColor');
}),
label: null,
didReceiveAttrs() {
this._super(...arguments);
this.set('label', _.findWhere(this.get('labels'), {id: this.get('labelId')}));
}
});

View file

@ -0,0 +1,85 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { A } from '@ember/array';
import { inject as service } from '@ember/service';
import { set } from '@ember/object';
import Component from '@ember/component';
export default Component.extend({
appMeta: service(),
onChange: null,
colors: null,
didReceiveAttrs() {
this._super(...arguments);
let colors = A([]);
colors.pushObject({selected: false, code: '#263238'});
colors.pushObject({selected: false, code: '#37474f'});
colors.pushObject({selected: false, code: '#455a64'});
colors.pushObject({selected: false, code: '#546e7a'});
colors.pushObject({selected: false, code: '#4c4c4c'});
colors.pushObject({selected: false, code: '#757575'});
colors.pushObject({selected: false, code: '#616161'});
colors.pushObject({selected: false, code: '#d50000'});
colors.pushObject({selected: false, code: '#b71c1c'});
colors.pushObject({selected: false, code: '#880e4f'});
colors.pushObject({selected: false, code: '#c2185b'});
colors.pushObject({selected: false, code: '#4a148c'});
colors.pushObject({selected: false, code: '#6a1b9a'});
colors.pushObject({selected: false, code: '#7b1fa2'});
colors.pushObject({selected: false, code: '#311b92'});
colors.pushObject({selected: false, code: '#0d47a1'});
colors.pushObject({selected: false, code: '#1565c0'});
colors.pushObject({selected: false, code: '#2962ff'});
colors.pushObject({selected: false, code: '#039be5'});
colors.pushObject({selected: false, code: '#00838f'});
colors.pushObject({selected: false, code: '#006064'});
colors.pushObject({selected: false, code: '#00897b'});
colors.pushObject({selected: false, code: '#2e7d32'});
colors.pushObject({selected: false, code: '#388e3c'});
colors.pushObject({selected: false, code: '#4caf50'});
colors.pushObject({selected: false, code: '#33691e'});
colors.pushObject({selected: false, code: '#827717'});
colors.pushObject({selected: false, code: '#f9a825'});
colors.pushObject({selected: false, code: '#ffca28'});
colors.pushObject({selected: false, code: '#ef6c00'});
colors.pushObject({selected: false, code: '#bf360c'});
colors.pushObject({selected: false, code: '#ff3d00'});
colors.pushObject({selected: false, code: '#4e342e'});
colors.pushObject({selected: false, code: '#6d4c41'});
colors.pushObject({selected: false, code: '#8d6e63'});
this.set('colors', colors);
// Send back default color code in case user does not select
// their own preference.
this.setColor(colors[0].code);
},
setColor(colorCode) {
let colors = this.get('colors');
_.each(colors, (color) => {
set(color, 'selected', color.code === colorCode ? true: false);
});
if (this.get('onChange') !== null) {
this.get('onChange')(colorCode);
}
},
actions: {
onSelect(colorCode) {
this.setColor(colorCode);
}
}
});

View file

@ -0,0 +1,35 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { computed } from '@ember/object';
import Component from '@ember/component';
export default Component.extend({
tagName: 'i',
classNames: [''],
classNameBindings: ['calcClass'],
icon: null,
calcClass: computed(function() {
let icon = this.icon;
let constants = this.get('constants');
if (is.null(icon)) {
return '';
}
if (is.empty(icon)) {
icon = constants.IconMeta.Apps;
}
return 'dmeta ' + icon;
})
});

View file

@ -210,12 +210,12 @@ let constants = EmberObject.extend({
Attachment: 'dicon-attachment',
BarChart: 'dicon-chart-bar-33',
Blocks: 'dicon-menu-6',
Bookmark: 'dicon-bookmark',
BookmarkSolid: 'dicon-bookmark-2',
BookmarkAdd: 'dicon-bookmark-add',
BookmarkDelete: 'dicon-bookmark-delete',
ButtonAction: 'dicon-button-2',
Category: 'dicon-flag',
Chat: 'dicon-b-chat',
Checkbox: 'dicon-shape-rectangle',
CheckboxChecked: 'dicon-i-check',
Copy: 'dicon-copy',
@ -228,28 +228,29 @@ let constants = EmberObject.extend({
Export: 'dicon-data-upload',
Export2: 'dicon-upload',
Filter: 'dicon-sort-tool',
Grid1: 'dicon-grid-interface',
Grid: 'dicon-grid-interface',
Handshake: 'dicon-handshake',
Index: 'dicon-align-justify',
Index: 'dicon-menu-8',
Integrations: 'dicon-geometry',
Link: 'dicon-link',
ListBullet: 'dicon-list-bullet-2',
Locked: 'dicon-lock',
NotAllowed: 'dicon-ban',
PDF: 'dicon-pdf',
Print: 'dicon-print',
Pulse: 'dicon-pulse',
Plus: 'dicon-e-add',
Person: 'dicon-single-01',
People: 'dicon-multiple-19',
Preview: 'dicon-preview',
Remove: 'dicon-i-remove',
Read: 'dicon-menu-7',
RemoveUser: 'dicon-delete-28',
Search: 'dicon-magnifier',
Send: 'dicon-send',
Settings: 'dicon-settings-gear',
Share: 'dicon-network-connection',
Split: 'dicon-split-37',
Tag: 'dicon-delete-key',
TickSmall: 'dicon-d-check',
Tick: 'dicon-check',
TickSingle: 'dicon-check-single',
TickDouble: 'dicon-check-double',
@ -260,9 +261,59 @@ let constants = EmberObject.extend({
TriangleSmallRight: 'dicon-small-triangle-right',
Unarchive: 'dicon-download',
Unlocked: 'dicon-unlocked',
UserAssign: 'dicon-b-check',
World: 'dicon-globe',
},
IconMeta: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects
Star: 'dmeta-meta-star',
Support: 'dmeta-meta-support',
Message: 'dmeta-meta-message',
Apps: 'dmeta-meta-apps',
Box: 'dmeta-meta-box',
Gift: 'dmeta-meta-gift',
Design: 'dmeta-meta-design',
Bulb: 'dmeta-meta-bulb',
Metrics: 'dmeta-meta-metrics',
PieChart: 'dmeta-meta-piechart',
BarChart: 'dmeta-meta-barchart',
Finance: 'dmeta-meta-finance',
Lab: 'dmeta-meta-lab',
Code: 'dmeta-meta-code',
Help: 'dmeta-meta-help',
Manuals: 'dmeta-meta-manuals',
Flow: 'dmeta-meta-flow',
Out: 'dmeta-meta-out',
In: 'dmeta-meta-in',
Partner: 'dmeta-meta-partner',
Org: 'dmeta-meta-org',
Home: 'dmeta-meta-home',
Infinite: 'dmeta-meta-infinite',
Todo: 'dmeta-meta-todo',
Procedure: 'dmeta-meta-procedure',
Outgoing: 'dmeta-meta-outgoing',
Incoming: 'dmeta-meta-incoming',
Travel: 'dmeta-meta-travel',
Winner: 'dmeta-meta-winner',
Roadmap: 'dmeta-meta-roadmap',
Money: 'dmeta-meta-money',
Security: 'dmeta-meta-security',
Tune: 'dmeta-meta-tune',
Guide: 'dmeta-meta-guide',
Smile: 'dmeta-meta-smile',
Rocket: 'dmeta-meta-rocket',
Time: 'dmeta-meta-time',
Cup: 'dmeta-meta-sales',
Marketing: 'dmeta-meta-marketing',
Announce: 'dmeta-meta-announce',
Devops: 'dmeta-meta-devops',
World: 'dmeta-meta-world',
Plan: 'dmeta-meta-plan',
Components: 'dmeta-meta-components',
People: 'dmeta-meta-people',
Checklist: 'dmeta-meta-checklist'
},
Color: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects
Red: 'red',
Green: 'green',
@ -279,6 +330,7 @@ let constants = EmberObject.extend({
Close: 'Close',
Copy: 'Copy',
Delete: 'Delete',
Edit: 'Edit',
Export: 'Export',
File: 'File',
Insert: 'Insert',
@ -292,8 +344,11 @@ let constants = EmberObject.extend({
Remove: 'Remove',
Reset: 'Reset',
Restore: 'Restore',
Request: 'Request',
Save: 'Save',
Search: 'Search',
Send: 'Send',
Share: 'Share',
SignIn: 'Sign In',
Unassigned: 'Unassigned',
Update: 'Update',

View file

@ -10,7 +10,6 @@
// https://documize.com
import { helper } from '@ember/component/helper';
import { htmlSafe } from '@ember/string';
export function documentFileIcon(params) {

View file

@ -21,6 +21,11 @@ export default Model.extend({
spaceType: attr('number', { defaultValue: 2 }),
lifecycle: attr('number', { defaultValue: 1 }),
likes: attr('string'),
icon: attr('string', { defaultValue: '' }),
desc: attr('string', { defaultValue: '' }),
labelId: attr('string', { defaultValue: '' }),
countCategory: attr('number', { defaultValue: 0 }),
countContent: attr('number', { defaultValue: 0 }),
allowLikes: computed('likes', function () {
return is.not.empty(this.get('likes')) && is.not.undefined(this.get('likes'));

32
gui/app/models/label.js Normal file
View file

@ -0,0 +1,32 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { computed } from '@ember/object';
import { htmlSafe } from '@ember/string';
import attr from 'ember-data/attr';
import Model from 'ember-data/model';
export default Model.extend({
orgId: attr('string'),
name: attr('string'),
color: attr('string'),
created: attr(),
revised: attr(),
// UI only
count: 0,
bgColor: computed('color', function() {
return htmlSafe("background-color: " + this.get('color') + ";");
}),
bgfgColor: computed('color', function() {
return htmlSafe("background-color: " + this.get('color') + "; color: " + this.get('color') + ";");
})
});

View file

@ -1,6 +1,6 @@
{{layout/logo-heading
title="Spaces"
desc="Delete spaces, take ownership of shared and orphaned spaces"
icon=constants.Icon.Grid1}}
icon=constants.Icon.Grid}}
{{customize/space-admin}}

View file

@ -0,0 +1,47 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { inject as service } from '@ember/service';
import Notifier from '../../../mixins/notifier';
import Controller from '@ember/controller';
export default Controller.extend(Notifier, {
labelSvc: service('label'),
load() {
this.get('labelSvc').getAll().then((labels) => {
this.set('model', labels);
});
},
actions: {
onAdd(label) {
this.get('labelSvc').add(label).then(() => {
this.load();
this.notifySuccess('Label added');
});
},
onDelete(id) {
this.get('labelSvc').delete(id).then(() => {
this.load();
this.notifySuccess('Label deleted');
});
},
onUpdate(label) {
this.get('labelSvc').update(label).then(() => {
this.load();
this.notifySuccess('Label saved');
});
}
}
});

View file

@ -0,0 +1,34 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { inject as service } from '@ember/service';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import Route from '@ember/routing/route';
export default Route.extend(AuthenticatedRouteMixin, {
labelSvc: service('label'),
appMeta: service(),
session: service(),
beforeModel() {
if (!this.get("session.isAdmin")) {
this.transitionTo('auth.login');
}
},
model() {
return this.get('labelSvc').getAll();
},
activate() {
this.get('browser').setTitle('Space Labels');
}
});

View file

@ -0,0 +1,10 @@
{{layout/logo-heading
title="Labels"
desc="Group and navigate spaces with visual labels"
icon=constants.Icon.Checkbox}}
{{customize/space-labels
labels=model
onAdd=(action "onAdd")
onDelete=(action "onDelete")
onUpdate=(action "onUpdate")}}

View file

@ -8,6 +8,22 @@
<i class={{concat "dicon " constants.Icon.Settings}} />
<div class="name">General</div>
{{/link-to}}
{{#link-to "customize.labels" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Checkbox}} />
<div class="name">Labels</div>
{{/link-to}}
{{#link-to "customize.folders" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Grid}} />
<div class="name">Spaces</div>
{{/link-to}}
{{#link-to "customize.users" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Person}} />
<div class="name">User Management</div>
{{/link-to}}
{{#link-to "customize.groups" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.People}} />
<div class="name">User Groups</div>
{{/link-to}}
{{#link-to "customize.integrations" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Integrations}} />
<div class="name">Integrations</div>
@ -17,26 +33,10 @@
<i class={{concat "dicon " constants.Icon.Send}} />
<div class="name">Mail Server</div>
{{/link-to}}
{{/if}}
{{#link-to "customize.users" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Person}} />
<div class="name">User Management</div>
{{/link-to}}
{{#link-to "customize.groups" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.People}} />
<div class="name">User Groups</div>
{{/link-to}}
{{#if session.isGlobalAdmin}}
{{#link-to "customize.auth" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Locked}} />
<div class="name">Authentication</div>
{{/link-to}}
{{/if}}
{{#link-to "customize.folders" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Grid1}} />
<div class="name">Spaces</div>
{{/link-to}}
{{#if session.isGlobalAdmin}}
{{#link-to "customize.search" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Search}} />
<div class="name">Search</div>
@ -60,7 +60,7 @@
{{/if}}
{{#link-to "customize.product" activeClass="selected" class="item" tagName="div"}}
<i class={{concat "dicon " constants.Icon.Announce}} />
<div class="name">Documize Changelog</div>
<div class="name">Changelog</div>
{{/link-to}}
</div>
</div>

View file

@ -3,7 +3,6 @@
<div class="section">
{{document/sidebar-meta
tab=tab
roles=roles
pages=pages
space=folder
@ -17,11 +16,15 @@
{{ui/ui-spacer size=300}}
<div class="text-center">
{{#ui/ui-toolbar dark=true light=true raised=true large=false bordered=true}}
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
{{ui/ui-toolbar-icon icon=constants.Icon.Index color=constants.Color.Gray tooltip="Table of contents"
selected=(eq sidebarTab "toc") onClick=(action "onSidebarChange" "toc")}}
{{ui/ui-toolbar-icon icon=constants.Icon.Attachment color=constants.Color.Gray tooltip="Attachments"
selected=(eq sidebarTab "files") onClick=(action "onSidebarChange" "files")}}
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
{{ui/ui-toolbar-icon icon=constants.Icon.Chat color=constants.Color.Gray tooltip="Comments & Feedback"
selected=(eq sidebarTab "feedback") onClick=(action "onSidebarChange" "feedback")}}
{{/if}}
{{/ui/ui-toolbar}}
</div>
</div>
@ -30,7 +33,6 @@
{{#if (eq sidebarTab "toc")}}
{{document/sidebar-toc
tab=tab
page=page
roles=roles
pages=pages
@ -42,11 +44,18 @@
onPageLevelChange=(action "onPageLevelChange")
onPageSequenceChange=(action "onPageSequenceChange")}}
{{/if}}
{{#if (eq sidebarTab "files")}}
{{document/sidebar-attachment
document=document
permissions=permissions}}
{{/if}}
{{#if (eq sidebarTab "feedback")}}
{{enterprise/sidebar-feedback
document=document
permissions=permissions}}
{{/if}}
{{/layout/master-sidebar}}
{{#layout/master-content}}

View file

@ -21,6 +21,20 @@
<i class={{concat "dicon " constants.Icon.Tag}} />
<div class="name">Tags</div>
</div>
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
{{#if model.permissions.documentApprove}}
<div class="item {{if (eq tab "protection") "selected"}}" {{action "onTab" "protection"}}>
<i class={{concat "dicon " constants.Icon.Locked}} />
<div class="name">Change Control</div>
</div>
{{/if}}
{{#if model.permissions.documentVersion}}
<div class="item {{if (eq tab "versions") "selected"}}" {{action "onTab" "versions"}}>
<i class={{concat "dicon " constants.Icon.Copy}} />
<div class="name">Versions</div>
</div>
{{/if}}
{{/if}}
</div>
</div>
{{/layout/master-sidebar}}
@ -49,4 +63,25 @@
permissions=model.permissions
onSaveDocument=(action "onSaveDocument")}}
{{/if}}
{{#if (eq tab "protection")}}
{{document/settings-protection
space=model.folder
spaces=model.folders
document=model.document
permissions=model.permissions
onRefresh=(action "onRefresh")
onSaveDocument=(action "onSaveDocument")}}
{{/if}}
{{#if (eq tab "versions")}}
{{enterprise/settings-version
space=model.folder
spaces=model.folders
document=model.document
permissions=model.permissions
versions=model.versions
onRefresh=(action "onRefresh")
onSaveDocument=(action "onSaveDocument")}}
{{/if}}
{{/layout/master-content}}

View file

@ -47,6 +47,7 @@ export default Route.extend(AuthenticatedRouteMixin, {
return hash({
folder: this.modelFor('folder').folder,
permissions: this.modelFor('folder').permissions,
labels: this.modelFor('folder').labels,
folders: folders,
documents: documents,
documentsDraft: _.filter(documents, function(d) { return d.get('lifecycle') === constants.Lifecycle.Draft; }),

View file

@ -2,6 +2,7 @@
{{folder/space-sidebar
spaces=model.folders
space=model.folder
labels=model.labels
templates=model.templates
permissions=model.permissions
documents=model.documents
@ -19,8 +20,10 @@
{{#layout/master-content}}
<div class="grid-container-6-4">
<div class="grid-cell-1">
{{layout/page-heading title=model.folder.name}}
{{layout/page-desc desc="some space desc"}}
{{layout/logo-heading
title=model.folder.name
desc=model.folder.desc
meta=model.folder.icon}}
</div>
<div class="grid-cell-2 grid-cell-right">
{{folder/space-toolbar
@ -35,8 +38,6 @@
</div>
</div>
{{ui/ui-spacer size=400}}
{{folder/documents-list
documents=filteredDocs
spaces=model.folders

View file

@ -11,14 +11,15 @@
import { Promise as EmberPromise, hash } from 'rsvp';
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import Route from '@ember/routing/route';
export default Route.extend(AuthenticatedRouteMixin, {
documentService: service('document'),
folderService: service('folder'),
templateService: service('template'),
session: service(''),
labelSvc: service('label'),
beforeModel() {
this.set('folderId', this.paramsFor('folder').folder_id)
@ -41,7 +42,8 @@ export default Route.extend(AuthenticatedRouteMixin, {
permissions: this.get('permissions'),
folders: this.get('folderService').getAll(),
documents: this.get('documentService').getAllBySpace(params.folder_id),
templates: this.get('templateService').getSavedTemplates(params.folder_id)
templates: this.get('templateService').getSavedTemplates(params.folder_id),
labels: this.get('labelSvc').getAll()
});
},

View file

@ -14,7 +14,6 @@ import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-rout
import Route from '@ember/routing/route';
export default Route.extend(AuthenticatedRouteMixin, {
model() {
this.get('browser').setTitle(this.modelFor('folder').folder.get('name'));
@ -23,6 +22,7 @@ export default Route.extend(AuthenticatedRouteMixin, {
folders: this.modelFor('folder').folders,
permissions: this.modelFor('folder').permissions,
templates: this.modelFor('folder').templates,
labels: this.modelFor('folder').labels,
});
}
});

View file

@ -12,7 +12,7 @@
<div class="list">
<div class="item {{if (eq tab "general") "selected"}}" {{action "onTab" "general"}}>
<i class={{concat "dicon " constants.Icon.Settings}} />
<div class="name">Options</div>
<div class="name">Meta</div>
</div>
<div class="item {{if (eq tab "categories") "selected"}}" {{action "onTab" "categories"}}>
<i class={{concat "dicon " constants.Icon.Category}} />
@ -44,7 +44,7 @@
{{#layout/master-content}}
{{#if (eq tab "general")}}
{{folder/settings-general permissions=model.permissions space=model.folder}}
{{folder/settings-general permissions=model.permissions space=model.folder labels=model.labels}}
{{/if}}
{{#if (eq tab "permissions")}}

View file

@ -78,7 +78,7 @@ export default Controller.extend(AuthMixin, Modals, {
switch(view) {
case 'all':
this.set('selectedSpaces', this.get('model'));
this.set('selectedSpaces', this.get('model.spaces'));
break;
case 'public':
this.set('selectedSpaces', this.get('publicSpaces'));
@ -89,6 +89,9 @@ export default Controller.extend(AuthMixin, Modals, {
case 'personal':
this.set('selectedSpaces', this.get('personalSpaces'));
break;
default:
this.set('selectedSpaces', this.get(view));
break;
}
}
}

View file

@ -9,6 +9,7 @@
//
// https://documize.com
import { hash } from 'rsvp';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
@ -17,6 +18,7 @@ export default Route.extend(AuthenticatedRouteMixin, {
appMeta: service(),
folderService: service('folder'),
localStorage: service(),
labelSvc: service('label'),
beforeModel() {
if (this.get('appMeta.setupMode')) {
@ -26,19 +28,22 @@ export default Route.extend(AuthenticatedRouteMixin, {
},
model() {
return this.get('folderService').getAll();
return hash({
spaces: this.get('folderService').getAll(),
labels: this.get('labelSvc').getAll()
});
},
setupController(controller, model) {
this._super(controller, model);
controller.set('selectedSpaces', model);
controller.set('selectedSpaces', model.spaces);
let constants = this.get('constants');
let publicSpaces = [];
let protectedSpaces = [];
let personalSpaces = [];
_.each(model, space => {
_.each(model.spaces, space => {
if (space.get('spaceType') === constants.SpaceType.Public) {
publicSpaces.pushObject(space);
}
@ -50,6 +55,14 @@ export default Route.extend(AuthenticatedRouteMixin, {
}
});
_.each(model.labels, label => {
let spaces = _.where(model.spaces, {labelId: label.get('id')});
label.set('count', spaces.length);
controller.set(label.get('id'), spaces);
});
controller.set('labels', model.labels);
controller.set('spaces', publicSpaces);
controller.set('publicSpaces', publicSpaces);
controller.set('protectedSpaces', protectedSpaces);
controller.set('personalSpaces', personalSpaces);

View file

@ -6,7 +6,7 @@
<div class="list">
<div class="item {{if (eq selectedView "all") "selected"}}" {{action "onSelect" "all"}}>
<i class={{concat "dicon " constants.Icon.All}} />
<div class="name">All ({{model.length}})</div>
<div class="name">All ({{model.spaces.length}})</div>
</div>
<div class="item {{if (eq selectedView "public") "selected"}}" {{action "onSelect" "public"}}>
<i class={{concat "dicon " constants.Icon.World}} />
@ -24,6 +24,25 @@
{{/if}}
</div>
</div>
{{ui/ui-spacer size=300}}
<div class="section">
<div class="title">label</div>
{{#if labels}}
<div class="list">
{{#each labels as |label|}}
<div class="item {{if (eq selectedView label.id) "selected"}}" {{action "onSelect" label.id}}>
<i class={{concat "dicon " constants.Icon.Checkbox}}
style={{label.bgfgColor}}/>
<div class="name">{{label.name}} ({{label.count}})</div>
</div>
{{/each}}
</div>
{{else}}
<div class="empty">No labels</div>
{{/if}}
</div>
{{/layout/master-sidebar}}
{{#layout/master-content}}
@ -46,7 +65,7 @@
{{ui/ui-spacer size=400}}
{{spaces/space-list spaces=selectedSpaces}}
{{spaces/space-list spaces=selectedSpaces labels=labels}}
<div class="modal" tabindex="-1" role="dialog" id="add-space-modal">
<div class="modal-dialog" role="document">

View file

@ -21,8 +21,8 @@ export default Router.map(function () {
path: '/'
});
this.route('dashboard', {
path: 'dashboard'
this.route('action', {
path: 'action'
});
this.route('analytics', {
@ -78,6 +78,9 @@ export default Router.map(function () {
this.route('general', {
path: 'general'
});
this.route('labels', {
path: 'labels'
});
this.route('groups', {
path: 'groups'
});

67
gui/app/services/label.js Normal file
View file

@ -0,0 +1,67 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { inject as service } from '@ember/service';
import BaseService from '../services/base';
export default BaseService.extend({
sessionService: service('session'),
ajax: service(),
store: service(),
// Add space label.
add(payload) {
return this.get('ajax').post(`label`, {
contentType: 'json',
data: JSON.stringify(payload)
}).then((label) => {
let data = this.get('store').normalize('label', label);
return this.get('store').push(data);
});
},
// Fetch all available space labels.
getAll() {
return this.get('ajax').request(`label`, {
method: 'GET'
}).then((response) => {
let data = [];
if (is.null(response)) response = [];
data = response.map((obj) => {
let data = this.get('store').normalize('label', obj);
return this.get('store').push(data);
});
return data;
});
},
// Updates an existing space label.
update(label) {
let id = label.get('id');
return this.get('ajax').request(`label/${id}`, {
method: 'PUT',
contentType: 'json',
data: JSON.stringify(label)
}).then((label) => {
let data = this.get('store').normalize('label', label);
return this.get('store').push(data);
});
},
delete(labelId) {
return this.get('ajax').request(`label/${labelId}`, {
method: 'DELETE'
});
}
});

View file

@ -30,7 +30,8 @@
.background-color-theme-100 { background-color: $theme-100; }
@import "reset.scss";
@import "icon.scss";
@import "icon-ui.scss";
@import "icon-meta.scss";
@import "mixins.scss";
@import "layout/all.scss";
@import "util.scss";

View file

@ -0,0 +1,334 @@
@font-face {
font-family: 'dmzmeta';
src: url('font/dmzmeta.eot');
src: url('font/dmzmeta.eot') format('embedded-opentype'), url('font/dmzmeta.woff2') format('woff2'), url('font/dmzmeta.woff') format('woff'), url('font/dmzmeta.ttf') format('truetype'), url('font/dmzmeta.svg') format('svg');
font-weight: normal;
font-style: normal;
}
/*------------------------
base class definition
-------------------------*/
.dmeta {
display: inline-block;
font: normal normal normal 1em/1 'dmzmeta';
/* speak: none; */
text-transform: none;
/* Better Font Rendering */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/*------------------------
change icon size
-------------------------*/
/* relative units */
.dmeta-sm {
font-size: 0.8em;
}
.dmeta-lg {
font-size: 1.2em;
}
/* absolute units */
.dmeta-16 {
font-size: 16px;
}
.dmeta-32 {
font-size: 32px;
}
/*----------------------------------
add a square/circle background
-----------------------------------*/
.dmeta-bg-square,
.dmeta-bg-circle {
padding: 0.35em;
background-color: #eee;
}
.dmeta-bg-circle {
border-radius: 50%;
}
/*------------------------------------
use icons as list item markers
-------------------------------------*/
.dmeta-ul {
padding-left: 0;
list-style-type: none;
}
.dmeta-ul > li {
display: flex;
align-items: flex-start;
line-height: 1.4;
}
.dmeta-ul > li > .dmeta {
margin-right: 0.4em;
line-height: inherit;
}
/*------------------------
spinning icons
-------------------------*/
.dmeta-is-spinning {
-webkit-animation: dmeta-spin 2s infinite linear;
-moz-animation: dmeta-spin 2s infinite linear;
animation: dmeta-spin 2s infinite linear;
}
@-webkit-keyframes dmeta-spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@-moz-keyframes dmeta-spin {
0% {
-moz-transform: rotate(0deg);
}
100% {
-moz-transform: rotate(360deg);
}
}
@keyframes dmeta-spin {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/*------------------------
rotated/flipped icons
-------------------------*/
.dmeta-rotate-90 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
.dmeta-rotate-180 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
.dmeta-rotate-270 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-o-transform: rotate(270deg);
transform: rotate(270deg);
}
.dmeta-flip-y {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
-webkit-transform: scale(-1, 1);
-moz-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
-o-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.dmeta-flip-x {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-webkit-transform: scale(1, -1);
-moz-transform: scale(1, -1);
-ms-transform: scale(1, -1);
-o-transform: scale(1, -1);
transform: scale(1, -1);
}
/*------------------------
icons
-------------------------*/
.dmeta-meta-checklist::before {
content: "\ea02";
}
.dmeta-meta-people::before {
content: "\ea03";
}
.dmeta-meta-components::before {
content: "\ea06";
}
.dmeta-meta-plan::before {
content: "\ea07";
}
.dmeta-meta-world::before {
content: "\ea09";
}
.dmeta-meta-devops::before {
content: "\ea0a";
}
.dmeta-meta-announce::before {
content: "\ea0c";
}
.dmeta-meta-marketing::before {
content: "\ea0d";
}
.dmeta-meta-sales::before {
content: "\ea0e";
}
.dmeta-meta-time::before {
content: "\ea0f";
}
.dmeta-meta-rocket::before {
content: "\ea10";
}
.dmeta-meta-smile::before {
content: "\ea11";
}
.dmeta-meta-guide::before {
content: "\ea12";
}
.dmeta-meta-tune::before {
content: "\ea13";
}
.dmeta-meta-security::before {
content: "\ea15";
}
.dmeta-meta-money::before {
content: "\ea16";
}
.dmeta-meta-roadmap::before {
content: "\ea17";
}
.dmeta-meta-winner::before {
content: "\ea19";
}
.dmeta-meta-travel::before {
content: "\ea1a";
}
.dmeta-meta-incoming::before {
content: "\ea1e";
}
.dmeta-meta-outgoing::before {
content: "\ea1f";
}
.dmeta-meta-procedure::before {
content: "\ea20";
}
.dmeta-meta-todo::before {
content: "\ea21";
}
.dmeta-meta-infinite::before {
content: "\ea22";
}
.dmeta-meta-home::before {
content: "\ea23";
}
.dmeta-meta-org::before {
content: "\ea24";
}
.dmeta-meta-partner::before {
content: "\ea25";
}
.dmeta-meta-in::before {
content: "\ea28";
}
.dmeta-meta-out::before {
content: "\ea29";
}
.dmeta-meta-flow::before {
content: "\ea2b";
}
.dmeta-meta-manuals::before {
content: "\ea32";
}
.dmeta-meta-help::before {
content: "\ea35";
}
.dmeta-meta-code::before {
content: "\ea36";
}
.dmeta-meta-lab::before {
content: "\ea37";
}
.dmeta-meta-finance::before {
content: "\ea38";
}
.dmeta-meta-barchart::before {
content: "\ea39";
}
.dmeta-meta-piechart::before {
content: "\ea3a";
}
.dmeta-meta-metrics::before {
content: "\ea3b";
}
.dmeta-meta-bulb::before {
content: "\ea3c";
}
.dmeta-meta-design::before {
content: "\ea3d";
}
.dmeta-meta-gift::before {
content: "\ea3e";
}
.dmeta-meta-box::before {
content: "\ea3f";
}
.dmeta-meta-apps::before {
content: "\ea40";
}
.dmeta-meta-message::before {
content: "\ea41";
}
.dmeta-meta-support::before {
content: "\ea42";
}
.dmeta-meta-star::before {
content: "\ea43";
}

View file

@ -11,7 +11,7 @@
.dicon {
display: inline-block;
font: normal normal normal 1em/1 'dmzui';
speak: none;
// speak: none;
text-transform: none;
/* Better Font Rendering */
-webkit-font-smoothing: antialiased;
@ -171,18 +171,10 @@ icons
content: "\ea04";
}
.dicon-code::before {
content: "\ea05";
}
.dicon-attachment::before {
content: "\ea06";
}
.dicon-align-justify::before {
content: "\ea07";
}
.dicon-pen-2::before {
content: "\ea08";
}
@ -335,10 +327,6 @@ icons
content: "\ea35";
}
.dicon-gallery-view::before {
content: "\ea36";
}
.dicon-time::before {
content: "\ea37";
}
@ -355,18 +343,6 @@ icons
content: "\ea3a";
}
.dicon-ctrl-down::before {
content: "\ea3d";
}
.dicon-ctrl-left::before {
content: "\ea3e";
}
.dicon-ctrl-up::before {
content: "\ea3f";
}
.dicon-menu-6::before {
content: "\ea40";
}
@ -375,22 +351,10 @@ icons
content: "\ea41";
}
.dicon-reload::before {
content: "\ea42";
}
.dicon-copy::before {
content: "\ea43";
}
.dicon-list-numbers::before {
content: "\ea45";
}
.dicon-bookmark-2::before {
content: "\ea46";
}
.dicon-menu-8::before {
content: "\ea48";
}
@ -451,10 +415,6 @@ icons
content: "\ea56";
}
.dicon-d-check::before {
content: "\ea57";
}
.dicon-preview::before {
content: "\ea58";
}
@ -462,3 +422,7 @@ icons
.dicon-link::before {
content: "\ea59";
}
.dicon-b-check::before {
content: "\ea5a";
}

View file

@ -31,24 +31,24 @@ $display-break-5: 1800px;
// X-axis alignment
.grid-cell-left {
justify-self: self-end;
justify-self: self-start !important;
}
.grid-cell-right {
justify-self: self-end;
justify-self: self-end !important;
}
.grid-cell-center {
justify-self: center;
justify-self: center !important;
}
// Y-axis alignment
.grid-cell-top {
align-self: self-start;
align-self: self-start !important;
}
.grid-cell-middle {
align-self: center;
align-self: center !important;
}
.grid-cell-bottom {
align-self: self-end;
align-self: self-end !important;
}
}

View file

@ -2,7 +2,7 @@
.master-page-heading {
font-size: 2rem;
font-weight: 700;
color: map-get($gray-shades, 900);
color: map-get($gray-shades, 800);
}
.master-page-desc {
@ -15,7 +15,7 @@
display: flex;
flex-direction: row;
> .image {
> .icon, > .meta-icon {
align-self: center;
margin-right: 25px;

View file

@ -17,7 +17,7 @@
display: block;
height: auto;
width: 100%;
z-index: 1041; // reequired if we want to show modals from inside sidebar
z-index: 1041; // required if we want to show modals from inside sidebar
.master-navbar {
display: block;
@ -40,7 +40,7 @@
> .nav-options {
> .selected {
> .dicon, > .name {
color: $theme-400 !important;
color: $color-white !important;
}
}
@ -50,13 +50,20 @@
> .dicon {
display: inline-block;
color: $color-white;
color: $theme-300;
font-size: 20px;
padding: 10px;
}
> .name {
display: none;
color: $theme-300;
}
&:hover {
> .dicon, > .name {
color: $theme-400 !important;
}
}
}
}
@ -159,7 +166,6 @@
> .option {
>.dicon {
display: block;
color: $color-white;
font-size: 20px;
padding: 20px 0;
}
@ -248,7 +254,6 @@
> .option {
> .dicon {
display: block;
color: $color-white;
font-size: 24px;
padding: 15px 0 10px 0;
}
@ -258,7 +263,6 @@
padding: 0 0 15px 0;
font-size: 0.8rem;
font-weight: 700;
color: $color-white;
text-transform: uppercase;
}
}

View file

@ -31,6 +31,10 @@
color: $color-black-light-3;
}
> .form-field {
margin: 10px 0 5px 0;
}
> .label {
@include border-radius(3px);
@extend .no-select;
@ -90,6 +94,82 @@
}
}
}
> .tabs {
margin: 0;
padding: 0;
> .tab {
margin: 20px 0;
padding: 10px 10px;
@include border-radius(3px);
background-color: $color-white;
border: 1px solid map-get($gray-shades, 200);
cursor: pointer;
> .icon {
display: inline-block;
font-size: 24px;
color: map-get($gray-shades, 700);
margin: 0 10px 0 0;
vertical-align: top;
}
> .text {
display: inline-block;
> .title {
display: block;
font-size: 1.1rem;
font-weight: 500;
color: map-get($gray-shades, 800);
}
> .desc {
display: block;
margin: 5px 0 5px 0;
font-size: 1rem;
font-weight: 400;
color: map-get($gray-shades, 700);
}
}
&:hover {
> .icon {
color: map-get($gray-shades, 800);
}
> .text {
> .title {
color: map-get($gray-shades, 900);
}
> .desc {
color: map-get($gray-shades, 800);
}
}
}
}
> .selected, > .selected:hover {
background-color: map-get($yellow-shades, 200);
border: 1px solid map-get($yellow-shades, 300);
> .icon {
color: map-get($yellow-shades, 700);
}
> .text {
> .title {
color: map-get($yellow-shades, 800);
}
> .desc {
color: map-get($yellow-shades, 700);
}
}
}
}
}
.empty-label {

View file

@ -2,3 +2,4 @@
@import "ui-popup";
@import "ui-button";
@import "ui-toolbar";
@import "ui-icon-picker";

View file

@ -0,0 +1,28 @@
.ui-icon-picker {
> .list {
> .item {
display: inline-block;
margin: 10px;
> i {
font-size: 2.5rem;
color: map-get($gray-shades, 500);
cursor: pointer;
&:hover {
color: map-get($gray-shades, 600);
}
}
}
> .selected {
> i {
color: map-get($yellow-shades, 600);
&:hover {
color: map-get($yellow-shades, 600);
}
}
}
}
}

View file

@ -27,6 +27,7 @@
text-align: left;
padding: 0.5rem 1.5rem;
font-size: 1rem;
cursor: pointer;
&:hover {
color: $color-black;
@ -81,4 +82,15 @@
font-weight: 600;
}
}
> .form {
padding: 20px;
width: 300px;
> .caption {
font-size: 1rem;
font-weight: 600;
color: map-get($gray-shades, 800);
}
}
}

View file

@ -38,29 +38,58 @@
margin-bottom: 10px;
> .theme {
height: 100px;
width: 250px;
height: 60px;
width: 200px;
text-align: center;
color: $color-white;
font-weight: 600;
font-size: 1.2rem;
font-weight: 500;
font-size: 1rem;
display: inline-block;
position: relative;
margin: 0 20px 20px 0;
padding: 10px 0 0 0;
padding: 5px;
cursor: default;
border: 7px solid map-get($gray-shades, 300);
border: 3px solid map-get($gray-shades, 300);
@include border-radius(3px);
&:hover {
border: 7px solid map-get($gray-shades, 600);
border: 3px solid map-get($gray-shades, 600);
}
}
.tick {
> .selected {
border: 3px solid map-get($yellow-shades, 600);
&:hover {
border: 3px solid map-get($yellow-shades, 600);
}
}
}
.label-color-picker {
display : block;
> .color {
height: 60px;
width: 60px;
text-align: center;
color: $color-white;
font-weight: 400;
font-size: 2rem;
display: inline-block;
position: relative;
margin: 0 20px 20px 0;
cursor: default;
border: 3px solid map-get($gray-shades, 300);
@include border-radius(3px);
&:hover {
border: 3px solid map-get($gray-shades, 600);
}
}
> .selected {
border: 3px solid map-get($yellow-shades, 600);
&:hover {
border: 3px solid map-get($yellow-shades, 600);
}
}
}

View file

@ -324,4 +324,19 @@
color: map-get($yellow-shades, 800);
}
}
> .space-labels {
display : block;
> .label {
@include border-radius(3px);
@extend .no-select;
display: block;
margin: 20px 0;
padding: 1rem 1rem;
font-size: 1.2rem;
font-weight: 500;
color: $color-white;
}
}
}

View file

@ -140,7 +140,7 @@
margin: 0;
font-size: 1.1rem;
font-weight: 400;
color: map-get($gray-shades, 700);
color: map-get($yellow-shades, 700);
}
> .document-heading {

View file

@ -1,15 +1,6 @@
.view-activity {
margin: 50px;
.title {
font-size: 1.8rem;
font-weight: bold;
margin: 0 0 30px 0;
color: map-get($gray-shades, 600);
}
> .list {
margin: 0 0 50px 0;
margin: 0;
padding: 0;
width: 100%;
@ -24,7 +15,7 @@
position: absolute;
top: 19px;
left: -20px;
background-color: map-get($gray-shades, 300);
background-color: map-get($gray-shades, 200);
height: 3px;
width: 10px;
}
@ -39,24 +30,24 @@
display: inline-block;
> .doc {
font-size: 1.2rem;
font-weight: normal;
color: $color-black-light-1;
color: map-get($gray-shades, 700);
font-size: 1.4rem;
font-weight: 300;
letter-spacing: 0.5px;
}
> .note {
color: map-get($gray-shades, 600);
font-size: 1rem;
margin-top: 2px;
color: map-get($yellow-shades, 800);
font-size: 1.2rem;
font-weight: 400;
margin-top: 5px;
}
}
}
}
> .list-timeline {
border-left: 5px solid map-get($gray-shades, 300);
border-left: 5px solid map-get($gray-shades, 200);
padding-left: 20px;
margin-left: 30px;
}
}

View file

@ -1,6 +1,6 @@
.wysiwyg {
font-size: 17px;
line-height: 25px;
font-size: 15px;
line-height: 20px;
color: $color-black-light-1;
table {

View file

@ -245,3 +245,39 @@
}
}
}
.space-label-picker {
display : block;
> .label {
@extend .no-select;
@extend .text-truncate;
display: inline-block;
width: 200px;
margin: 0 20px 20px 0;
padding: 0.5rem 0.75rem;
font-size: 1rem;
font-weight: 500;
color: $color-white;
border: 3px solid map-get($gray-shades, 300);
@include border-radius(3px);
cursor: pointer;
&:hover {
border: 3px solid map-get($gray-shades, 600);
}
}
.none {
background-color: $color-white;
color: map-get($gray-shades, 500);
}
> .selected {
border: 3px solid map-get($yellow-shades, 800);
&:hover {
border: 3px solid map-get($yellow-shades, 800);
}
}
}

View file

@ -25,6 +25,14 @@
font-size: 1.3rem;
font-weight: 700;
color: map-get($gray-shades, 800);
> .icon {
color: map-get($gray-shades, 700);
font-size: 20px;
vertical-align: middle;
display: inline-block;
margin-right: 10px;
}
}
> .desc {
@ -35,11 +43,24 @@
}
> .meta {
padding: 25px 0 0 0;
padding: 15px 0 0 0;
> .dicon {
color: map-get($gray-shades, 600);
font-size: 20px;
margin-right: 20px;
vertical-align: middle;
}
> .space-label {
@include border-radius(3px);
@extend .no-select;
display: inline-block;
margin: 10px 0 13px 0;
padding: 0.3rem 0.7rem;
font-size: 1.1rem;
font-weight: 400;
color: map-get($gray-shades, 100);
}
}
}

View file

@ -7,11 +7,14 @@
line-height: 0;
margin: 0;
text-align: center;
background-color: map-get($gray-shades, 300);
vertical-align: center;
background-color: map-get($gray-shades, 200);
> .dicons {
font-size: 22px;
margin-top: 20px;
color: map-get($gray-shades, 600);
> .dicon {
font-size: 18px;
line-height: 27px;
margin: 7px 0 0 0;
color: map-get($gray-shades, 700);
font-weight: 400;
}
}

View file

@ -0,0 +1,35 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
@import "../colors.scss";
/**************************************************************
* Theme colors.
*
* We go from 100 (lightest) to 900 (darkest).
*
* Base shade is 500 and is used prominmently as the
* left-side navigation sidebar color.
**************************************************************/
$theme-900: #180E05;
$theme-800: #4F1605;
$theme-700: #5F3612;
$theme-600: #8A4F1B;
$theme-500: #A65F20;
$theme-400: #C26F25;
$theme-300: #DA8941;
$theme-200: #EEC7A4;
$theme-100: #F6E1CF;
// Set hyperlink color for theme
$color-link: map-get($green-shades, 700);
@import "../core/all.scss";

View file

@ -0,0 +1,35 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
@import "../colors.scss";
/**************************************************************
* Theme colors.
*
* We go from 100 (lightest) to 900 (darkest).
*
* Base shade is 500 and is used prominmently as the
* left-side navigation sidebar color.
**************************************************************/
$theme-900: #1F2833;
$theme-800: #1F2833;
$theme-700: #404B5A;
$theme-600: #6E7A89;
$theme-500: #929FB1;
$theme-400: #AEBECC;
$theme-300: #CBD4DB;
$theme-200: #D5DDE5;
$theme-100: #E1E7EB;
// Set hyperlink color for theme
$color-link: map-get($green-shades, 700);
@import "../core/all.scss";

View file

@ -0,0 +1,35 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
@import "../colors.scss";
/**************************************************************
* Theme colors.
*
* We go from 100 (lightest) to 900 (darkest).
*
* Base shade is 500 and is used prominmently as the
* left-side navigation sidebar color.
**************************************************************/
$theme-900: #312A09;
$theme-800: #5C4E12;
$theme-700: #86731A;
$theme-600: #B19722;
$theme-500: #D7B92F;
$theme-400: #E5D176;
$theme-300: #EADB93;
$theme-200: #F2E9BD;
$theme-100: #FBF7E8;
// Set hyperlink color for theme
$color-link: map-get($green-shades, 700);
@import "../core/all.scss";

View file

@ -0,0 +1,78 @@
<div class="view-customize">
{{ui/ui-button
light=true
color=constants.Color.Green
icon=constants.Icon.Checkbox
label=constants.Label.Add
onClick=(action "onShowAddModal")}}
{{ui/ui-spacer size=300}}
<ul class="space-labels">
{{#each labels as |label|}}
<li class="label" style={{concat "background-color:" label.color ";"}}>
<div class="grid-container-6-4">
<div class="grid-cell-1 grid-cell-middle">
{{label.name}}
</div>
<div class="grid-cell-2 grid-cell-right">
{{#ui/ui-toolbar dark=false light=true raised=false large=false bordered=false}}
{{ui/ui-toolbar-icon icon=constants.Icon.Edit color=constants.Color.Green tooltip="Update label" onClick=(action "onShowUpdateModal" label)}}
{{ui/ui-toolbar-icon icon=constants.Icon.Delete color=constants.Color.Red tooltip="Delete label" onClick=(action "onShowDeleteModal" label)}}
{{/ui/ui-toolbar}}
</div>
</div>
</li>
{{/each}}
</ul>
</div>
<div id="add-label-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">Add Label</div>
<div class="modal-body">
<div class="form-group">
<label for="add-label-name">Name</label>
{{input type="text" id="add-label-name" class="form-control mousetrap" placeholder="Label name" value=labelName}}
</div>
<div class="form-group">
<label>Color</label>
{{ui/label-color-picker onChange=(action "onSetColor")}}
</div>
</div>
<div class="modal-footer">
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Cancel dismiss=true}}
{{ui/ui-button-gap}}
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Add onClick=(action "onAdd")}}
</div>
</div>
</div>
</div>
<div id="edit-label-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">Update Label</div>
<div class="modal-body">
<div class="form-group">
<label for="edit-label-name">Name</label>
{{input type="text" id="edit-label-name" class="form-control mousetrap" placeholder="Label name" value=labelName}}
</div>
<div class="form-group">
<label>Color</label>
{{ui/label-color-picker onChange=(action "onSetColor")}}
</div>
</div>
<div class="modal-footer">
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Cancel dismiss=true}}
{{ui/ui-button-gap}}
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Save onClick=(action "onUpdate")}}
</div>
</div>
</div>
</div>
{{#ui/ui-dialog title="Delete Label" confirmCaption="Delete" buttonColor=constants.Color.Red show=showDeleteDialog onAction=(action "onDelete")}}
<p>Are you sure you want to delete the label <b>{{deleteLabel.name}}?</b></p>
{{/ui/ui-dialog}}

View file

@ -203,6 +203,7 @@
</div>
<div class="modal-footer">
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Close dismiss=true}}
{{ui/ui-button-gap}}
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Update onClick=(action "onUpdate")}}
</div>
</div>

View file

@ -1,5 +1,16 @@
<div class="no-print">
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false}}
{{#ui/ui-toolbar-icon icon=constants.Icon.Export color=constants.Color.Gray tooltip="Print, PDF, Export"}}
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
<ul class="menu">
<li class="item" {{action "onExport"}}>Export as HTML file</li>
<li class="item" {{action "onPDF"}}>Download as PDF</li>
<li class="item" {{action "onPrintDocument"}}>Print...</li>
</ul>
{{/attach-popover}}
{{/ui/ui-toolbar-icon}}
{{#if pinState.isPinned}}
{{ui/ui-toolbar-icon icon=constants.Icon.BookmarkDelete color=constants.Color.Yellow
tooltip="Remove from bookmarks" onClick=(action "onUnpin")}}
@ -8,9 +19,31 @@
tooltip="Bookmark" onClick=(action "onPin")}}
{{/if}}
{{#if permissions.documentAdd}}
{{ui/ui-toolbar-icon icon=constants.Icon.Copy color=constants.Color.Gray
tooltip="Save as template" onClick=(action "onShowTemplateModal")}}
{{#if permissions.documentEdit}}
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Gray
tooltip="Rename, Categories, Tag, Status, Workflow" linkTo="document.settings"}}
{{/if}}
{{/ui/ui-toolbar}}
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
{{#if permissions.documentEdit}}
{{#ui/ui-toolbar-icon icon=constants.Icon.UserAssign color=constants.Color.Gray tooltip="Actions & Sharing"}}
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
<ul class="menu">
<li class="item" {{action "onShowRequestContributionModal"}}>Request contribution</li>
<li class="item" {{action "onShowRequestFeedbackModal"}}>Request feedback</li>
<li class="item" {{action "onShowRequestReadModal"}}>Request read</li>
{{#if (eq document.lifecycle constants.Lifecycle.Draft)}}
<li class="divider"/>
<li class="item" {{action "onShowPublishModal"}}>Request publication</li>
{{/if}}
<li class="divider"/>
<li class="item" {{action "onShareModal"}}>Share via secure external link</li>
</ul>
{{/attach-popover}}
{{/ui/ui-toolbar-icon}}
{{/if}}
{{/if}}
{{#if showActivity}}
@ -23,21 +56,15 @@
tooltip="Revisions and rollback" linkTo="document.revisions"}}
{{/if}}
{{ui/ui-toolbar-icon icon=constants.Icon.Download color=constants.Color.Gray
tooltip="Download as HTML file" onClick=(action "onExport")}}
{{ui/ui-toolbar-icon icon=constants.Icon.Print color=constants.Color.Gray
tooltip="Print" onClick=(action "onPrintDocument")}}
{{#if permissions.documentAdd}}
{{ui/ui-toolbar-icon icon=constants.Icon.Copy color=constants.Color.Gray
tooltip="Save as template" onClick=(action "onShowTemplateModal")}}
{{/if}}
{{#if permissions.documentDelete}}
{{ui/ui-toolbar-icon icon=constants.Icon.Delete color=constants.Color.Gray
tooltip="Delete" onClick=(action "onShowDeleteModal")}}
{{/if}}
{{#if permissions.documentEdit}}
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Green
tooltip="Rename, metadata, workflow" linkTo="document.settings"}}
{{/if}}
{{/ui/ui-toolbar}}
</div>

View file

@ -1,8 +1,8 @@
<div class="title center">attachments</div>
{{#if canEdit}}
<div class="text-center">
{{#ui/ui-toolbar dark=true raised=true large=false bordered=true}}
{{ui/ui-toolbar-label color=constants.Color.Gray label="Upload Files" id="upload-document-files"}}
{{/ui/ui-toolbar}}
{{ui/ui-spacer size=100}}
{{ui/ui-button color=constants.Color.Gray label="Upload" id="upload-document-files"}}
{{ui/ui-spacer size=100}}
</div>
{{/if}}

View file

@ -5,7 +5,7 @@
{{ui/ui-toolbar-label label=document.versionId color=constants.Color.Gray}}
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
<div class="menu">
<li class="item header">Select document version</li>
<li class="item header">Select version to view</li>
{{#each versions as |version|}}
<a class="item" href="#" {{action "onSelectVersion" version}}>{{version.versionId}}</a>
{{/each}}

View file

@ -1,21 +1,53 @@
{{layout/logo-heading
title="General Options"
desc="Set options to control how people interact with this space"
title="Space Meta"
desc="Set space visibility, icon and label"
icon=constants.Icon.Settings}}
<form>
<div class="form-group">
<label>Space Name</label>
<label>Name</label>
{{focus-input id="space-name" type="text" value=spaceName class=(if hasNameError "form-control is-invalid" "form-control") placeholder="Space name" autocomplete="off"}}
</div>
<div class="form-group">
<label>Space Type</label>
<label>Description</label>
{{focus-input id="space-desc" type="text" value=spaceDesc class="form-control" placeholder="Space description" autocomplete="off"}}
</div>
<div class="form-group">
<label>Visibility</label>
{{ui/ui-select id="spacetypes-dropdown" content=spaceTypeOptions optionValuePath="id" optionLabelPath="label" selection=spaceType action=(action "onSetSpaceType")}}
</div>
<div class="form-group">
<label>Enable Like/Dislike Feedback</label>
<label>Icon</label>
<div class="ui-icon-picker">
<ul class="list">
{{#each iconList as |icon|}}
<li class="item {{if (eq spaceIcon icon) "selected"}}" {{action "onSetIcon" icon}}>
{{ui/ui-icon-meta icon=icon}}
</li>
{{/each}}
</ul>
</div>
</div>
<div class="form-group">
<label>Label</label>
<ul class="space-label-picker">
<li class="label none {{if (eq spaceLabel "") "selected"}}" {{action "onSetLabel" ""}}>None</li>
{{#each labels as |label|}}
<li class="label {{if (eq spaceLabel label.id) "selected"}}"
style={{concat "background-color:" label.color ";"}}
{{action "onSetLabel" label.id}} title={{label.name}}>
{{label.name}}
</li>
{{/each}}
</ul>
</div>
<div class="form-group">
<label>Enable Feedback</label>
{{x-toggle value=allowLikes size="medium" theme="light" onToggle=(action (mut allowLikes))}}
</div>

View file

@ -1,7 +1,11 @@
{{ui/ui-spacer size=300}}
<div class="title">label</div>
{{#if (eq space.labelId "")}}
<div class="label">Unclassified</div>
{{else}}
<div class="label" style={{{spaceLabel.bgColor}}}>{{spaceLabel.name}}</div>
{{/if}}
{{ui/ui-spacer size=200}}

View file

@ -1,7 +1,13 @@
<div class="logo-heading">
<div class="image">
{{#if icon}}
<div class="icon">
<i class="dicon {{icon}}" />
</div>
{{else if meta}}
<div class="meta-icon">
{{ui/ui-icon-meta icon=meta}}
</div>
{{/if}}
<div class="text">
{{layout/page-heading title=title}}
{{layout/page-desc desc=desc}}

View file

@ -1,13 +1,14 @@
<div class="master-navbar">
<div class="nav-content">
<div class="nav-options">
{{#unless hideNavigation}}
{{#link-to "folders" class=(if (eq selectedItem "spaces") "option selected" "option")}}
<i class={{concat "dicon " constants.Icon.Grid1}}></i>
<i class={{concat "dicon " constants.Icon.Grid}}></i>
<div class="name">spaces</div>
{{/link-to}}
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
{{#if session.viewDashboard}}
{{#link-to "dashboard" class=(if (eq selectedItem "actions") "option selected" "option")}}
{{#link-to "action" class=(if (eq selectedItem "actions") "option selected" "option")}}
<i class={{concat "dicon " constants.Icon.ListBullet}}></i>
<div class="name">actions</div>
{{/link-to}}
@ -33,6 +34,7 @@
<i class={{concat "dicon " constants.Icon.Search}}></i>
<div class="name">search</div>
{{/link-to}}
{{/unless}}
</div>
<div class="meta">

View file

@ -0,0 +1 @@
{{label.name}}

View file

@ -4,10 +4,17 @@
{{#link-to "folder.index" space.id space.slug}}
<li class="item">
<div class="info">
<div class="name">{{space.name}}</div>
<div class="desc">Some description that is to be wired up to the backend</div>
<div class="name">
{{#if space.icon}}
<div class="icon">
{{ui/ui-icon-meta icon=space.icon}}
</div>
{{/if}}
{{space.name}}
</div>
<div class="desc">{{space.desc}}&nbsp;</div>
<div class="meta">
{{#if (eq space.spaceType constants.SpaceType.Public)}}
{{!-- {{#if (eq space.spaceType constants.SpaceType.Public)}}
<i class={{concat "dicon " constants.Icon.World}}>
{{#attach-tooltip showDelay=1000}}Public space{{/attach-tooltip}}
</i>
@ -21,16 +28,19 @@
<i class={{concat "dicon " constants.Icon.Person}}>
{{#attach-tooltip showDelay=1000}}Personal space{{/attach-tooltip}}
</i>
{{/if}} --}}
{{#if space.labelId}}
{{spaces/space-label labels=labels labelId=space.labelId}}
{{/if}}
</div>
</div>
<div class="stats">
<div class="stat">
<div class="number">18</div>
<div class="number">{{space.countContent}}</div>
<div class="label">items</div>
</div>
<div class="stat">
<div class="number">5</div>
<div class="number">{{space.countCategory}}</div>
<div class="label">categories</div>
</div>
</div>

View file

@ -0,0 +1,8 @@
<div class="label-color-picker">
{{#each colors as |color|}}
<div class="color {{if color.selected "selected"}}"
style={{concat "background-color: " color.code ";"}}
{{action "onSelect" color.code}}>
</div>
{{/each}}
</div>

View file

@ -1,14 +1,7 @@
<div class="theme-picker">
{{#each themes as |theme|}}
<div class="theme" style={{concat "background-color: " theme.primary}} {{action "onSelect" theme.name}}>
<div class="theme {{if theme.selected "selected"}}" style={{concat "background-color: " theme.primary}} {{action "onSelect" theme.name}}>
{{theme.name}}
<div class="tick">
{{#if theme.selected}}
&#10003;
{{else}}
&nbsp;
{{/if}}
</div>
</div>
{{/each}}
</div>

View file

@ -1,3 +1,4 @@
{{#if tooltip}}
{{#attach-tooltip showDelay=1000}}{{tooltip}}{{/attach-tooltip}}
{{/if}}
{{yield}}

View file

@ -47,9 +47,12 @@ module.exports = function (defaults) {
app: {
css: {
'app': '/assets/documize.css',
'themes/blue': '/assets/theme-blue.css',
'themes/teal': '/assets/theme-teal.css',
'themes/deep-orange': '/assets/theme-deep-orange.css'
'themes/conference': '/assets/theme-conference.css',
'themes/forest': '/assets/theme-forest.css',
'themes/brave': '/assets/theme-brave.css',
'themes/harvest': '/assets/theme-harvest.css',
'themes/sunflower': '/assets/theme-sunflower.css',
'themes/silver': '/assets/theme-silver.css',
}
}
}

View file

@ -1,6 +1,6 @@
{
"name": "documize",
"version": "1.76.2",
"version": "2.0.0",
"description": "The Document IDE",
"repository": "",
"license": "AGPL",

Binary file not shown.

View file

@ -0,0 +1,150 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<font id="dmzmeta" horiz-adv-x="256">
<font-face font-family="dmzmeta"
units-per-em="256" ascent="256"
descent="0" />
<missing-glyph horiz-adv-x="0" />
<glyph glyph-name="meta-checklist"
unicode="&#xEA02;"
horiz-adv-x="256" d="M10.455 237.545L8 235.091L8 192.191L8 149.292L10.452 146.646L12.905 144L56 144L99.095 144L101.548 146.646L104 149.292L104 192.191L104 235.091L101.545 237.545L99.091 240L56 240L12.909 240L10.455 237.545M88 192L88 160L56 160L24 160L24 192L24 224L56 224L88 224L88 192M130.455 197.545C127.266 194.357 127.265 190.085 130.452 186.646L132.905 184L188 184L243.095 184L245.548 186.646C248.735 190.085 248.734 194.357 245.545 197.545L243.091 200L188 200L132.909 200L130.455 197.545M90.872 109.745C89.427 108.51 77.33 94.985 63.99 79.69L39.737 51.879L29.513 61.94C20.867 70.448 18.798 72 16.1 72C11.832 72 8 68.165 8 63.894C8 61.119 9.879 58.807 22.262 46.349C34.658 33.877 36.94 32 39.706 32C41.614 32 43.869 32.901 45.337 34.25C46.684 35.488 60.434 51.014 75.893 68.753C93.198 88.61 104 101.798 104 103.068C104 110.502 96.327 114.405 90.872 109.745M130.455 69.545C127.266 66.357 127.265 62.085 130.452 58.646L132.905 56L188 56L243.095 56L245.548 58.646C248.735 62.085 248.734 66.357 245.545 69.545L243.091 72L188 72L132.909 72L130.455 69.545" />
<glyph glyph-name="meta-people"
unicode="&#xEA03;"
horiz-adv-x="256" d="M146.347 246.015C130.37 241.826 124.535 235.675 129.976 228.758C132.912 225.026 135.046 224.936 143.149 228.207C152.009 231.782 158.493 232.584 166.5 231.096C179.414 228.695 190.251 220.025 196.299 207.259L199.5 200.5L199.5 179.5C199.5 158.71 199.473 158.442 196.766 152.664C192.844 144.292 188.521 139.297 180.972 134.414C170.818 127.844 171.228 129.127 173.735 111.796C176.079 95.596 177.778 91.717 183.926 88.538C185.479 87.735 197.718 84.331 211.125 80.972C228.581 76.599 236.139 74.268 237.75 72.759C239.933 70.714 240 70.076 240 51.326L240 32L218.455 32C196.912 32 196.909 32 194.455 29.545C191.266 26.357 191.265 22.085 194.452 18.646L196.905 16L224 16L251.095 16L253.606 18.709L256.116 21.418L255.808 47.959L255.5 74.5L252.733 79.207C247.84 87.531 244.431 89.116 216.341 96.132L191.181 102.415L190.091 109.748C188.539 120.178 188.531 120.147 194.105 123.929C203.4 130.236 211.89 143.688 214.631 156.453C216.438 164.869 216.376 194.56 214.533 203.257C212.407 213.29 206.733 223.299 198.516 231.512C184.324 245.697 165.304 250.984 146.347 246.015M75.411 230.583C57.288 226.441 41.007 211.756 34.849 194C32.874 188.305 32.546 185.031 32.204 167.562C31.951 154.629 32.232 145.5 33.003 141.578C35.526 128.756 44.325 114.546 54.084 107.535C58.992 104.009 59.204 103.668 58.663 100.169C58.351 98.151 57.798 94.186 57.433 91.357L56.771 86.215L36.635 80.484C13.577 73.921 10.515 72.588 5.768 67.042C0.75 61.18 0 57.439 0 38.27L0 21.273L2.636 18.636L5.273 16L88 16L170.727 16L173.364 18.636L176 21.273L176 38.27C176 57.439 175.25 61.18 170.232 67.042C165.486 72.587 162.422 73.922 139.387 80.478L119.275 86.202L118.096 94.629C117.447 99.264 117.177 103.478 117.496 103.993C117.814 104.508 120.068 106.361 122.504 108.11C131.768 114.763 140.54 129.092 142.998 141.586C143.766 145.489 144.054 154.545 143.808 167.07C143.458 184.947 143.219 187.077 140.826 193.716C134.953 210.004 121.186 223.547 104.937 229.021C96.839 231.749 83.581 232.451 75.411 230.583M95.1 214.981C111.019 211.962 124.149 198.296 127.031 181.744C127.731 177.725 128.06 168.432 127.845 158.749C127.494 142.965 127.395 142.314 124.366 136C120.476 127.89 115.217 121.775 109.166 118.327C98.923 112.49 98.938 112.539 101.879 93.457C103.872 80.52 105.61 75.957 109.519 73.396C110.881 72.503 122.009 68.891 134.248 65.369C150.286 60.753 156.989 58.38 158.25 56.871C159.692 55.147 160 52.772 160 43.389L160 32L88 32L16 32L16 43.389C16 52.772 16.308 55.147 17.75 56.871C19.011 58.38 25.714 60.753 41.752 65.369C53.991 68.891 65.119 72.503 66.481 73.396C70.39 75.957 72.128 80.52 74.121 93.457C77.062 112.539 77.077 112.49 66.834 118.327C60.788 121.772 55.529 127.884 51.626 136C48.548 142.399 48.495 142.772 48.157 160.021C47.65 185.885 49.674 193.612 59.584 203.649C69.487 213.679 81.594 217.542 95.1 214.981" />
<glyph glyph-name="meta-components"
unicode="&#xEA06;"
horiz-adv-x="256" d="M10.455 245.545L8 243.091L8 128.191L8 13.292L10.452 10.646L12.905 8L40 8L67.095 8L69.548 10.646L72 13.292L72 128.191L72 243.091L69.545 245.545L67.091 248L40 248L12.909 248L10.455 245.545M90.455 245.545L88 243.091L88 216.191L88 189.292L90.452 186.646L92.905 184L168 184L243.095 184L245.548 186.646L248 189.292L248 216.191L248 243.091L245.545 245.545L243.091 248L168 248L92.909 248L90.455 245.545M56 128L56 24L40 24L24 24L24 128L24 232L40 232L56 232L56 128M232 216L232 200L168 200L104 200L104 216L104 232L168 232L232 232L232 216M92.5 166.792C88.122 164.281 88.065 163.837 88.032 131.886L88 101.273L90.636 98.636L93.273 96L124 96L154.727 96L157.364 98.636L160 101.273L159.968 131.886C159.935 164.056 159.889 164.401 155.316 166.837C152.282 168.452 95.324 168.412 92.5 166.792M178.455 165.545L176 163.091L176 88.191L176 13.292L178.452 10.646L180.905 8L212 8L243.095 8L245.548 10.646L248 13.292L248 88.191L248 163.091L245.545 165.545L243.091 168L212 168L180.909 168L178.455 165.545M144 132L144 112L124 112L104 112L104 132L104 152L124 152L144 152L144 132M232 88L232 24L212 24L192 24L192 88L192 152L212 152L232 152L232 88M92.5 78.792C88.122 76.281 88.065 75.837 88.032 43.886L88 13.273L90.636 10.636L93.273 8L124 8L154.727 8L157.364 10.636L160 13.273L159.968 43.886C159.935 76.056 159.889 76.401 155.316 78.837C152.282 80.452 95.324 80.412 92.5 78.792M144 44L144 24L124 24L104 24L104 44L104 64L124 64L144 64L144 44" />
<glyph glyph-name="meta-plan"
unicode="&#xEA07;"
horiz-adv-x="256" d="M122.455 253.545L120 251.091L120 193.545L120 136L111.434 136C106.723 136 101.886 135.476 100.684 134.837C95.394 132.019 94.511 126.762 98.636 122.636C101.109 120.163 101.853 120 110.636 120L120 120L120 62.646L120 5.292L122.452 2.646C125.744 -0.906 130.256 -0.906 133.548 2.646C135.992 5.283 136 5.365 136 26.646L136 48L145.364 48C154.147 48 154.891 48.163 157.364 50.636C161.489 54.762 160.606 60.019 155.316 62.837C154.114 63.476 149.277 64 144.566 64L136 64L136 128L136 192L145.364 192C154.147 192 154.891 192.163 157.364 194.636C161.489 198.762 160.606 204.019 155.316 206.837C154.114 207.476 149.277 208 144.566 208L136 208L136 229.545C136 251.088 136 251.091 133.545 253.545C131.998 255.093 129.948 256 128 256C126.052 256 124.002 255.093 122.455 253.545M178.455 237.545L176 235.091L176 200.191L176 165.292L178.452 162.646L180.905 160L216 160L251.095 160L253.548 162.646L256 165.292L256 200.191L256 235.091L253.545 237.545L251.091 240L216 240L180.909 240L178.455 237.545M240 200L240 176L216 176L192 176L192 200L192 224L216 224L240 224L240 200M2.455 165.545L0 163.091L0 128.191L0 93.292L2.452 90.646L4.905 88L40 88L75.095 88L77.548 90.646L80 93.292L80 128.191L80 163.091L77.545 165.545L75.091 168L40 168L4.909 168L2.455 165.545M64 128L64 104L40 104L16 104L16 128L16 152L40 152L64 152L64 128M178.455 93.545L176 91.091L176 56.191L176 21.292L178.452 18.646L180.905 16L216 16L251.095 16L253.548 18.646L256 21.292L256 56.191L256 91.091L253.545 93.545L251.091 96L216 96L180.909 96L178.455 93.545M240 56L240 32L216 32L192 32L192 56L192 80L216 80L240 80L240 56" />
<glyph glyph-name="meta-world"
unicode="&#xEA09;"
horiz-adv-x="256" d="M109 254.529C80.169 249.66 56.431 237.415 36.884 217.327C26.192 206.339 19.823 197.406 13.535 184.578C1.836 160.712 -2.336 134.957 1.455 110C5.819 81.264 18.699 56.204 39.355 36.262C89.301 -11.958 166.699 -11.958 216.645 36.262C246.295 64.887 260.582 106.253 254.545 146C248.025 188.937 221.597 224.761 182.654 243.451C160.307 254.177 132.07 258.424 109 254.529M142.566 238.928C158.169 236.757 175.848 230.379 188.052 222.517C195.341 217.822 209 206.405 209 205.008C209 203.745 188.789 193.041 181.205 190.287C173.338 187.429 167.139 187.316 163.767 189.969C162.384 191.057 159.582 195.854 157.502 200.694C151.214 215.332 149.161 217.826 134.202 229C128.49 233.267 125.39 236.273 125.18 237.75C124.886 239.826 125.248 240 129.858 240C132.607 240 138.325 239.517 142.566 238.928M109.359 234.156C110.175 229.05 115.568 223.047 127.389 214.084L136.806 206.944L143.395 193.529C150.456 179.152 152.91 176.354 160.944 173.52C166.977 171.391 175.921 171.617 183.282 174.084C186.702 175.231 196.387 179.683 204.804 183.979L220.108 191.788L222.707 187.673C236.195 166.305 242.358 138.099 238.928 113.434C233.756 76.256 210.947 44.506 177.283 27.627C162.585 20.257 144.572 16.012 128 16.012C118.526 16.012 103.575 18.256 94.5 21.04C87.246 23.266 68.26 32.649 64.159 36.035L61.817 37.969L65.231 41.957C75.279 53.695 79.293 70.776 75.462 85.485C73.412 93.355 69.655 99.679 60.603 110.5C56.462 115.45 52.061 121.383 50.823 123.685C48.598 127.822 48.595 127.894 50.496 129.995C51.554 131.164 58.302 135.03 65.491 138.587C82.947 147.222 88.863 151.945 93.16 160.676C96.294 167.045 96.496 168.084 96.438 177.482C96.328 195.081 90.947 209.217 80.298 219.88C76.793 223.388 74.055 226.371 74.213 226.507C76.755 228.702 102.956 237.81 107.122 237.947C108.245 237.984 108.934 236.817 109.359 234.156M65.07 212.25C71.014 207.219 72.629 205.303 75.4 200C78.066 194.896 81.003 182.983 80.994 177.303C80.979 166.554 76.921 162.208 57.802 152.464C42.833 144.835 38.546 141.788 35.523 136.63C30.18 127.513 33.36 117.823 46.889 102C57.529 89.556 61 82.761 61 74.378C61 66.256 58.085 58.443 52.962 52.832L49.006 48.5L44.48 53.5C30.934 68.462 21.296 88.893 17.491 110.71C12.858 137.28 19.597 167.042 35.747 191.328C40.85 199.002 57.072 216 59.293 216C60.034 216 62.634 214.312 65.07 212.25M158.387 158.035C150.516 156.829 143.688 154.249 137.313 150.072C129.538 144.977 125.647 140.678 122.421 133.62C119.975 128.266 119.788 127.013 120.336 119.62C120.668 115.154 121.388 108.35 121.937 104.5C122.485 100.65 122.959 89.175 122.989 79C123.051 58.159 123.744 55.323 130.4 48.666C136.09 42.977 139.545 41.548 147.5 41.591C160.112 41.661 169.894 46.94 184.473 61.545C196.459 73.552 203.818 84.875 208.679 98.789C211.795 107.711 212.047 109.313 211.785 118.5C211.535 127.274 211.138 129.215 208.545 134.332C205.342 140.653 196.308 149.782 190.142 152.928C181.576 157.298 167.917 159.495 158.387 158.035M177.015 140.976C182.532 139.522 189.64 134.501 192.676 129.914C198.727 120.77 196.56 105.84 186.882 90C179.978 78.7 165.847 64.564 157.09 60.196C149.016 56.17 145.735 56.111 141.923 59.923L139 62.846L139.003 80.173C139.005 90.214 138.327 102.856 137.392 110.238C136.504 117.244 136.064 124.117 136.414 125.513C137.307 129.07 143.597 135.745 148.432 138.266C156.83 142.644 167.021 143.61 177.015 140.976" />
<glyph glyph-name="meta-devops"
unicode="&#xEA0A;"
horiz-adv-x="256" d="M2.455 237.545L0 235.091L0 128.191L0 21.292L2.452 18.646L4.905 16L128 16L251.095 16L253.548 18.646L256 21.292L256 128.191L256 235.091L253.545 237.545L251.091 240L128 240L4.909 240L2.455 237.545M48 212L48 200L32 200L16 200L16 212L16 224L32 224L48 224L48 212M240 212L240 200L152 200L64 200L64 212L64 224L152 224L240 224L240 212M240 108L240 32L128 32L16 32L16 108L16 184L128 184L240 184L240 108M42.455 149.545C40.885 147.976 40 145.952 40 143.935C40 141.218 41.976 138.773 54.191 126.375L68.383 111.972L54.191 97.658C42.215 85.579 40 82.873 40 80.319C40 76.046 43.986 72 48.194 72C51.13 72 53.448 73.971 69.742 90.329C86.227 106.878 88 108.987 88 112.049C88 115.113 86.239 117.201 69.72 133.72C53.477 149.963 51.076 152 48.175 152C46.041 152 44.058 151.149 42.455 149.545M90.455 85.545C87.266 82.357 87.265 78.085 90.452 74.646L92.905 72L120 72L147.095 72L149.548 74.646C152.735 78.085 152.734 82.357 149.545 85.545L147.091 88L120 88L92.909 88L90.455 85.545" />
<glyph glyph-name="meta-announce"
unicode="&#xEA0C;"
horiz-adv-x="256" d="M157.035 239.266C156.229 238.949 136.204 224.593 112.535 207.363L69.5 176.037L37.205 176.019L4.909 176L2.455 173.545L0 171.091L0 128.191L0 85.292L2.452 82.646L4.905 80L37.202 79.98L69.5 79.961L113.444 47.98C160.772 13.537 160.799 13.522 165.561 18.66L168.026 21.321L167.763 128.749L167.5 236.177L165.139 238.088C162.813 239.972 159.905 240.395 157.035 239.266M151.76 84.047L151.5 40.094L113.5 67.797L75.5 95.5L45.75 95.792L16 96.084L16 128.042L16 160L45.305 160L74.611 160L113.055 187.95L151.5 215.899L151.76 171.95C151.904 147.777 151.904 108.221 151.76 84.047M213.434 195.903C197.083 186.402 194.91 184.549 194.781 179.998C194.672 176.168 198.608 172 202.335 172C204.833 172 231.233 186.99 234.812 190.44C238.164 193.672 238.07 198.683 234.601 201.667C233.109 202.95 230.871 204 229.628 204C228.385 204 221.098 200.356 213.434 195.903M210.455 133.545C207.266 130.357 207.265 126.085 210.452 122.646L212.905 120L232 120L251.095 120L253.548 122.646C256.735 126.085 256.734 130.357 253.545 133.545C251.111 135.98 250.936 136 232 136C213.064 136 212.889 135.98 210.455 133.545M197.399 81.667C193.931 78.683 193.837 73.676 197.188 70.432C200.723 67.01 227.076 52 229.549 52C230.749 52 232.916 52.933 234.365 54.073C237.854 56.817 238.049 62.694 234.75 65.706C230.939 69.188 204.692 84 202.335 84C201.112 84 198.891 82.95 197.399 81.667" />
<glyph glyph-name="meta-marketing"
unicode="&#xEA0D;"
horiz-adv-x="256" d="M169.618 252.672C167.903 250.842 157.976 239.367 147.558 227.172C137.141 214.977 128.366 205.021 128.058 205.047C127.751 205.073 121.657 212.474 114.516 221.493C102.07 237.213 99.14 240 95.064 240C92.074 240 88.98 236.758 88.378 232.993C87.853 229.708 88.552 228.566 99.403 214.993L110.988 200.5L57.405 200L3.822 199.5L1.911 197.139C0.06 194.852 0 191.82 0 100.035L0 5.292L2.452 2.646L4.905 0L128 0L251.095 0L253.548 2.646L256 5.292L256 100.035C256 191.82 255.94 194.852 254.089 197.139L252.178 199.5L199.031 200L145.884 200.5L164.942 222.776C176.175 235.906 184 245.89 184 247.092C184 248.214 183.476 250.114 182.837 251.316C179.793 257.031 174.236 257.601 169.618 252.672M240 100L240 16L128 16L16 16L16 100L16 184L128 184L240 184L240 100M34.455 165.545L32 163.091L32 100.191L32 37.292L34.452 34.646L36.905 32L112 32L187.095 32L189.548 34.646L192 37.292L192 100.191L192 163.091L189.545 165.545L187.091 168L112 168L36.909 168L34.455 165.545M212.5 166.792C208.595 164.553 208.064 162.783 208.032 151.886C208.001 141.732 208.114 141.159 210.636 138.636C212.196 137.077 214.387 136 216 136C217.613 136 219.804 137.077 221.364 138.636C223.886 141.159 223.999 141.732 223.968 151.886C223.935 162.914 223.39 164.667 219.316 166.837C216.614 168.276 215.069 168.266 212.5 166.792M176 100L176 48L112 48L48 48L48 100L48 152L112 152L176 152L176 100M210.455 117.545L208 115.091L208 76.191L208 37.292L210.452 34.646C212.086 32.883 213.937 32 216 32C218.063 32 219.914 32.883 221.548 34.646L224 37.292L224 76.191L224 115.091L221.545 117.545C219.998 119.093 217.948 120 216 120C214.052 120 212.002 119.093 210.455 117.545" />
<glyph glyph-name="meta-sales"
unicode="&#xEA0E;"
horiz-adv-x="256" d="M10.381 253.472L7.853 250.944L8.177 224.722L8.5 198.5L11.693 191.759C17.543 179.41 28.156 171.25 41.361 168.951C47.976 167.799 48 167.783 48 164.485C48 153.859 54.15 134.804 60.909 124.486C71.971 107.599 92.62 93.364 111 89.953C114.575 89.29 118.063 88.593 118.75 88.405C119.684 88.149 120 84.007 120 72.031L120 56L114.184 56C98.962 56 88.705 51.864 78.42 41.58C70.844 34.003 67.028 27.299 65.115 18.201C63.324 9.687 63.671 5.647 66.452 2.646L68.905 0L128 0L187.095 0L189.548 2.646C192.329 5.647 192.676 9.687 190.885 18.201C188.968 27.319 185.16 34.001 177.58 41.552C167.272 51.819 156.923 56 141.816 56L136 56L136 72.031C136 84.007 136.316 88.149 137.25 88.405C137.938 88.593 141.425 89.29 145 89.953C169.375 94.476 193.346 115.12 202.546 139.512C205.362 146.977 208 159.057 208 164.485C208 167.783 208.024 167.799 214.639 168.951C227.844 171.25 238.457 179.41 244.307 191.759L247.5 198.5L247.835 224.71L248.171 250.92L245.631 253.46L243.091 256L128 256L12.909 256L10.381 253.472M48 212C48 180.69 48.598 182.858 40.616 185.216C35.123 186.839 26.839 195.123 25.216 200.616C24.463 203.165 24 211.444 24 222.366L24 240L36 240L48 240L48 212M191.983 200.75C191.963 156.055 191.569 152.637 184.862 139.034C173.852 116.7 149.821 102.886 124.451 104.308C101.352 105.603 81.036 118.956 70.908 139.5C64.454 152.591 64.037 156.297 64.017 200.75L64 240L128 240L192 240L191.983 200.75M231.99 221.75C231.981 204.694 231.826 203.169 229.626 198.444C226.873 192.531 220.628 186.804 215.142 185.161C207.445 182.855 208 180.771 208 212L208 240L220 240L232 240L231.99 221.75M153.255 38.624C161.893 36.024 172.187 26.144 174.481 18.25L175.135 16L128 16L80.865 16L81.54 18.25C83.932 26.232 93.819 35.903 102.296 38.552C108.337 40.441 147.038 40.495 153.255 38.624" />
<glyph glyph-name="meta-time"
unicode="&#xEA0F;"
horiz-adv-x="256" d="M108.5 254.445C52.322 244.952 9.966 202.042 1.455 146C-4.588 106.211 9.673 64.918 39.355 36.262C89.301 -11.958 166.699 -11.958 216.645 36.262C269.023 86.829 268.891 168.914 216.351 220.158C188.519 247.304 146.082 260.795 108.5 254.445M142.566 238.928C180.027 233.717 211.616 211.023 228.07 177.5C238.201 156.86 241.918 134.932 238.928 113.434C233.756 76.256 210.947 44.506 177.283 27.627C146.956 12.421 109.451 12.268 79.5 27.228C45.679 44.121 24.018 73.283 17.491 110.71C12.858 137.28 19.597 167.042 35.747 191.328C42.214 201.052 55.72 214.37 66 221.16C88.458 235.991 116.646 242.533 142.566 238.928M122.455 205.545L120 203.091L120 164.191L120 125.292L122.452 122.646L124.905 120L164 120L203.095 120L205.548 122.646C208.735 126.085 208.734 130.357 205.545 133.545L203.091 136L169.545 136L136 136L136 169.545L136 203.091L133.545 205.545C131.998 207.093 129.948 208 128 208C126.052 208 124.002 207.093 122.455 205.545" />
<glyph glyph-name="meta-rocket"
unicode="&#xEA10;"
horiz-adv-x="256" d="M228.5 251.891C199.352 248.324 171.476 239.819 148.137 227.37L137.774 221.842L129.637 224.106C122.888 225.984 119.027 226.368 107 226.358C94.147 226.348 91.502 226.042 83.712 223.666C63.206 217.413 46.518 205.961 31.319 187.712C20.844 175.135 20.544 176.253 39.565 156.998L55.129 141.241L51.698 135.87C46.152 127.191 40 114.263 40 111.288C40 109.001 45.822 102.71 74.266 74.266C101.1 47.432 109.077 40 111.044 40C114.028 40 124.789 45.035 134.387 50.922L141.274 55.146L156.958 39.573C176.284 20.382 175.067 20.684 188.229 31.824C200.302 42.043 210.685 54.911 217.016 67.5C227.377 88.104 229.352 107.935 223.409 131.697L221.859 137.895L229.413 153.197C241.419 177.522 247.967 199.635 251.55 227.962C253.528 243.597 253.428 247.186 250.927 250.365C249.035 252.771 248.274 252.989 242.177 252.874C238.505 252.804 232.35 252.362 228.5 251.891M235.58 229.111C234.16 214.705 225.338 179 223.199 179C222.805 179 212.433 189.058 200.149 201.351L177.815 223.702L188.114 226.988C193.779 228.795 203.608 231.308 209.957 232.572C225.425 235.653 225.776 235.707 231.379 235.864L236.258 236L235.58 229.111M215.602 160.647C215.344 159.628 212.331 153.897 208.905 147.912C189.256 113.584 154.067 79.29 119.192 60.482L113.885 57.62L85.692 85.813L57.5 114.006L60.377 119.253C66.538 130.489 80.211 150.012 89.387 160.677C107.677 181.932 127.21 197.76 152.999 212.222L161.498 216.988L188.785 189.744C209.109 169.452 215.952 162.027 215.602 160.647M116.719 210.15C118.696 209.571 118.099 208.849 111.219 203.504C100.191 194.936 81.112 176.117 72.035 164.853L64.261 155.206L53.463 166.037L42.666 176.868L49.978 184.41C66.89 201.851 86.171 210.949 106 210.845C110.675 210.821 115.498 210.508 116.719 210.15M141.5 175.12C128.867 171.785 120 160.6 120 148C120 132.942 132.942 120 148 120C163.058 120 176 132.942 176 148C176 162.362 164.756 174.359 150.254 175.471C147.089 175.714 143.15 175.556 141.5 175.12M156.407 156.055C159.033 153.428 159.5 152.213 159.5 148C159.5 143.73 159.045 142.583 156.231 139.769C153.417 136.955 152.27 136.5 148 136.5C143.73 136.5 142.583 136.955 139.769 139.769C136.966 142.572 136.5 143.738 136.5 147.939C136.5 153.079 139.049 157.142 143.5 159.097C147.239 160.739 153.105 159.357 156.407 156.055M210.9 107.838C211.111 93.756 206.365 78.318 198.071 66.104C193.636 59.573 180.898 45.551 177.984 43.992C176.704 43.306 174.044 45.432 165.703 53.808L155.057 64.5L162.686 70.493C174.691 79.924 188.628 93.702 199.5 106.886C210.711 120.483 210.711 120.483 210.9 107.838M33.903 70.972C25.996 69.661 18.612 65.034 14.492 58.809C9.488 51.247 2.278 24.379 1.719 11.208C1.413 3.996 3.996 1.413 11.208 1.719C24.461 2.281 51.253 9.492 58.904 14.555C68.293 20.769 73.392 33.935 70.966 45.705C69.54 52.626 68.026 55.762 63.774 60.605C56.47 68.924 45.181 72.841 33.903 70.972M47 53.954C50.231 52.27 54.203 47.037 55.041 43.362C56.928 35.091 52.932 28.241 44.346 25.028C38.033 22.666 20.139 18.528 19.406 19.261C18.76 19.906 21.648 33.651 24.092 41.563C25.181 45.088 27.068 49.122 28.286 50.527C32.324 55.187 41.436 56.856 47 53.954" />
<glyph glyph-name="meta-smile"
unicode="&#xEA11;"
horiz-adv-x="256" d="M108.5 254.445C52.322 244.952 9.966 202.042 1.455 146C-4.588 106.211 9.673 64.918 39.355 36.262C89.301 -11.958 166.699 -11.958 216.645 36.262C269.023 86.829 268.891 168.914 216.351 220.158C188.519 247.304 146.082 260.795 108.5 254.445M142.566 238.928C180.027 233.717 211.616 211.023 228.07 177.5C238.201 156.86 241.918 134.932 238.928 113.434C233.756 76.256 210.947 44.506 177.283 27.627C146.956 12.421 109.451 12.268 79.5 27.228C45.679 44.121 24.018 73.283 17.491 110.71C12.858 137.28 19.597 167.042 35.747 191.328C42.214 201.052 55.72 214.37 66 221.16C88.458 235.991 116.646 242.533 142.566 238.928M73.45 158.593C63.361 154.199 60.978 140.787 68.882 132.882C80.117 121.647 98.528 131.71 95.572 147.471C93.82 156.807 82.462 162.519 73.45 158.593M169.45 158.593C159.361 154.199 156.978 140.787 164.882 132.882C176.117 121.647 194.528 131.71 191.572 147.471C189.82 156.807 178.462 162.519 169.45 158.593M81.496 85.75C76.27 81.254 78.832 73.853 89.016 64.028C106.523 47.139 131.901 43.355 153.743 54.378C162.014 58.552 168.456 64.112 173.492 71.424C178.128 78.155 178.426 82.376 174.504 85.75C170.461 89.228 167.233 88.677 163.078 83.801C152.429 71.305 146.436 67.145 135.795 64.863C122.779 62.071 107.203 67.237 98.809 77.13C88.562 89.207 86.632 90.168 81.496 85.75" />
<glyph glyph-name="meta-guide"
unicode="&#xEA12;"
horiz-adv-x="256" d="M18.455 253.545L16 251.091L16 128.191L16 5.292L18.452 2.646L20.905 0L128 0L235.095 0L237.548 2.646L240 5.292L240 128.191L240 251.091L237.545 253.545L235.091 256L128 256L20.909 256L18.455 253.545M224 128L224 16L128 16L32 16L32 128L32 240L128 240L224 240L224 128M66.455 181.545C63.266 178.357 63.265 174.085 66.452 170.646L68.905 168L128 168L187.095 168L189.548 170.646C192.735 174.085 192.734 178.357 189.545 181.545L187.091 184L128 184L68.909 184L66.455 181.545M66.455 133.545C63.266 130.357 63.265 126.085 66.452 122.646L68.905 120L128 120L187.095 120L189.548 122.646C192.735 126.085 192.734 130.357 189.545 133.545L187.091 136L128 136L68.909 136L66.455 133.545M66.455 85.545C63.266 82.357 63.265 78.085 66.452 74.646L68.905 72L96 72L123.095 72L125.548 74.646C128.735 78.085 128.734 82.357 125.545 85.545L123.091 88L96 88L68.909 88L66.455 85.545" />
<glyph glyph-name="meta-tune"
unicode="&#xEA13;"
horiz-adv-x="256" d="M181.362 254.082C164.263 249.447 150.284 238.484 143.025 224.015C138.073 214.146 136.584 207.51 136.495 194.921L136.412 183.342L126.956 174.708L117.5 166.074L80.469 203.037C46.167 237.276 43.185 240 40.007 240C36.926 240 35.12 238.543 22.288 225.712C9.501 212.924 8 211.066 8 208.02C8 204.879 10.797 201.812 44.193 168.334C64.099 148.379 80.186 131.881 79.943 131.671C68.337 121.689 6.673 64.743 4.747 62.229C-0.344 55.584 -1.375 46.627 2.076 39.021C4.542 33.584 31.613 5.81 37.318 2.862C45.955 -1.599 56.811 -0.224 64.17 6.264C66.189 8.044 93.846 38.075 125.631 73L183.422 136.5L193.034 136.141C223.029 135.02 248.464 154.787 254.618 184C257.433 197.364 254.702 216.183 249.449 219.626C244.684 222.747 241.518 220.972 228.246 207.739L215.991 195.521L205.789 205.723L195.586 215.926L208.293 228.867C221.788 242.611 222.949 244.772 219.491 249.709C215.771 255.02 194.024 257.514 181.362 254.082M186.19 229.645C171.912 215.136 171.43 217.245 194.258 194.329C217.137 171.361 215.035 171.839 229.773 186.25L240.257 196.5L239.578 191.127C238.176 180.041 231.395 167.516 223.738 161.871C221.407 160.153 216.575 157.357 213 155.658C207.237 152.92 205.479 152.569 197.5 152.562C192.55 152.558 186.25 152.921 183.5 153.369C179.137 154.079 178.218 153.915 176.282 152.082C175.062 150.927 146.83 120.111 113.545 83.603C80.26 47.094 52.308 16.949 51.431 16.612C46.354 14.664 44.775 15.719 30.26 30.75C13.525 48.08 13.372 48.485 20.75 55.965C23.362 58.613 53.625 86.412 88 117.74C122.375 149.067 151.339 175.647 152.365 176.805C153.785 178.409 154.085 179.815 153.624 182.705C152.019 192.769 151.819 200.083 153.011 205.139C155.679 216.462 162.738 226.938 171.461 232.518C177.25 236.222 187.773 239.859 192.94 239.944L196.38 240L186.19 229.645M72.993 187.507L105.474 155.015L98.987 149.078L92.5 143.141L60.017 175.556L27.533 207.97L33.485 213.985C36.759 217.293 39.679 220 39.974 220C40.27 220 55.128 205.378 72.993 187.507M182.073 113.365C177.418 107.447 177.861 106.785 204.372 80.065C226.539 57.723 228.903 55.013 230.498 50.113C234.551 37.664 229.045 24.721 217 18.382C212.157 15.833 199.855 15.829 195 18.375C193.075 19.385 181.353 30.289 168.95 42.606C147.709 63.7 146.186 65 142.7 65C137.791 65 135.003 62.197 134.991 57.25C134.983 53.682 136.111 52.38 158.241 30.423C183.664 5.199 186.898 2.87 199.356 0.805C212.602 -1.39 225.871 2.914 235.478 12.522C248.309 25.352 251.409 44.542 243.299 60.933C241.174 65.226 234.935 72.164 216.022 91.259C192.811 114.693 191.303 116.017 187.823 116.009C185.047 116.002 183.637 115.354 182.073 113.365" />
<glyph glyph-name="meta-security"
unicode="&#xEA15;"
horiz-adv-x="256" d="M115.5 241.382C92.556 226.271 64.027 214.91 36.641 209.979C30.596 208.891 22.783 208 19.28 208C13.75 208 12.565 207.656 10.305 205.396L7.701 202.792L8.306 189.646C10.421 143.727 25.053 101.864 51.347 66.5C61.167 53.294 80.82 34.53 94 25.779C106.344 17.583 124.67 8 128 8C129.121 8 134.643 10.282 140.27 13.072C176.221 30.894 205.322 60.489 224.272 98.5C238.767 127.576 246.035 156.024 247.687 190.146L248.299 202.792L245.695 205.396C243.435 207.656 242.25 208 236.72 208C211.28 208 166.583 223.634 139.309 242.073C134.285 245.47 129.466 247.993 128.021 247.984C126.614 247.975 121.081 245.058 115.5 241.382M120 180.5L120 136L76.653 136L33.307 136L30.673 146.75C27.355 160.299 25.185 174.219 24.8 184.44L24.5 192.38L34 193.6C49.88 195.64 64.215 199.542 85 207.482C93.89 210.878 116.337 222.012 118.45 224.073C118.973 224.583 119.535 225 119.7 225C119.865 225 120 204.975 120 180.5M153.013 215.493C174.54 204.682 200.93 196.307 222 193.6L231.5 192.38L231.2 184.44C230.815 174.219 228.645 160.299 225.327 146.75L222.693 136L179.347 136L136 136L136 180.513L136 225.025L139.825 222.61C141.929 221.282 147.863 218.08 153.013 215.493M120 74.5C120 49.475 119.799 29 119.554 29C119.308 29 116.271 30.66 112.804 32.688C82.651 50.33 58.261 78.077 42.425 112.75L39.114 120L79.557 120L120 120L120 74.5M213.575 112.75C206.07 96.318 194.04 77.763 182.075 64.165C176.245 57.54 163.038 45.918 154.5 39.901C149.489 36.369 137.285 29 136.446 29C136.201 29 136 49.475 136 74.5L136 120L176.443 120L216.886 120L213.575 112.75" />
<glyph glyph-name="meta-money"
unicode="&#xEA16;"
horiz-adv-x="256" d="M108.5 254.445C52.322 244.952 9.966 202.042 1.455 146C-4.588 106.211 9.673 64.918 39.355 36.262C89.301 -11.958 166.699 -11.958 216.645 36.262C269.023 86.829 268.891 168.914 216.351 220.158C188.519 247.304 146.082 260.795 108.5 254.445M142.566 238.928C180.027 233.717 211.616 211.023 228.07 177.5C238.201 156.86 241.918 134.932 238.928 113.434C233.756 76.256 210.947 44.506 177.283 27.627C146.956 12.421 109.451 12.268 79.5 27.228C45.679 44.121 24.018 73.283 17.491 110.71C12.858 137.28 19.597 167.042 35.747 191.328C42.214 201.052 55.72 214.37 66 221.16C88.458 235.991 116.646 242.533 142.566 238.928M122.455 213.545C120.174 211.265 120 210.378 120 201.045L120 191L117.105 191C112.974 191 101.326 187.231 96.983 184.489C87.912 178.763 83.427 169.883 83.718 158.227C84.087 143.433 93.357 132.964 112.75 125.44L120 122.627L120 101.67L120 80.713L113.25 81.351C109.537 81.701 102.225 83.169 97 84.612C83.338 88.386 83.253 88.396 80.456 86.563C74.634 82.748 75.124 75.593 81.412 72.609C86.756 70.073 103.99 66.008 112.25 65.335L120 64.704L120 54.998C120 46.081 120.199 45.077 122.452 42.646C125.744 39.094 130.256 39.094 133.548 42.646C135.802 45.078 136 46.08 136 55.024L136 64.757L142.622 66.42C161.803 71.238 171.953 82.703 171.989 99.591C172.021 114.629 163.543 124.343 144.142 131.5L136.009 134.5L136.004 155.069L136 175.638L143.25 174.729C147.238 174.23 153.65 172.702 157.5 171.334C168.203 167.532 170.079 167.417 173.265 170.37C175.016 171.993 176 173.933 176 175.764C176 180.788 171.281 184.267 160 187.56C156.026 188.72 152.975 189.308 139.25 191.558L136 192.091L136 201.591C136 210.344 135.807 211.284 133.545 213.545C131.998 215.093 129.948 216 128 216C126.052 216 124.002 215.093 122.455 213.545M120 157.5C120 147.875 119.662 140.003 119.25 140.006C118.838 140.01 115.575 141.508 112 143.336C103.427 147.719 99.769 152.696 99.769 159.978C99.769 164.489 100.198 165.609 103.055 168.557C106.468 172.078 112.505 174.785 117.25 174.921L120 175L120 157.5M144.966 113.742C153.679 109.373 156.384 105.436 155.661 98.18C154.819 89.739 148.854 83.887 138.75 81.588L136 80.962L136 98.981C136 112.734 136.296 116.998 137.25 116.992C137.938 116.988 141.41 115.526 144.966 113.742" />
<glyph glyph-name="meta-roadmap"
unicode="&#xEA17;"
horiz-adv-x="256" d="M76.365 246.831C75.19 246.262 73.726 244.83 73.112 243.648C72.237 241.966 43.931 154.321 1.819 22.904C-0.822 14.662 -0.202 11.541 4.526 9.286C7.751 7.749 8.247 7.747 11.443 9.271C14.519 10.738 15.164 11.795 17.504 19.207C18.944 23.768 35.395 75.013 54.061 133.084C72.728 191.155 87.986 239.53 87.968 240.584C87.929 242.96 86.179 245.312 83.316 246.837C80.719 248.22 79.231 248.218 76.365 246.831M172.5 246.792C169.76 245.221 168.07 242.872 168.032 240.584C168.014 239.53 183.272 191.155 201.939 133.084C220.605 75.013 237.049 23.789 238.481 19.254C240.68 12.288 241.56 10.762 244.15 9.422C245.918 8.508 248.239 8.094 249.633 8.444C252.906 9.266 256 12.527 256 15.156C256 16.342 239.754 67.98 219.897 129.906C188.006 229.365 183.454 242.821 180.881 245.25C177.743 248.212 175.649 248.598 172.5 246.792M124.5 222.792C120.412 220.448 120.065 218.978 120.032 203.886C120 189.411 120.025 189.248 122.636 186.636C124.196 185.077 126.387 184 128 184C129.613 184 131.804 185.077 133.364 186.636C135.975 189.248 136 189.411 135.968 203.886C135.935 219.125 135.582 220.565 131.316 222.837C128.614 224.276 127.069 224.266 124.5 222.792M122.455 157.545C120.022 155.113 120 154.924 120 136.191C120 117.516 120.029 117.261 122.452 114.646C124.086 112.883 125.937 112 128 112C130.063 112 131.914 112.883 133.548 114.646C135.971 117.261 136 117.516 136 136.191C136 154.924 135.978 155.113 133.545 157.545C131.998 159.093 129.948 160 128 160C126.052 160 124.002 159.093 122.455 157.545M122.455 85.545L120 83.091L120 60.191L120 37.292L122.452 34.646C124.086 32.883 125.937 32 128 32C130.063 32 131.914 32.883 133.548 34.646L136 37.292L136 60.191L136 83.091L133.545 85.545C131.998 87.093 129.948 88 128 88C126.052 88 124.002 87.093 122.455 85.545" />
<glyph glyph-name="meta-winner"
unicode="&#xEA19;"
horiz-adv-x="256" d="M60.365 254.831C56.288 252.857 55.807 250.289 56.163 232.404C56.55 213.006 57.604 209.554 65.579 201.579C71.324 195.834 77.63 192.88 85.497 192.248C91.436 191.771 91.95 191.534 93.112 188.73C96.007 181.74 108.719 171.678 117.25 169.624L120 168.962L120 156.481L120 144L110.455 144C101.653 144 100.718 143.809 98.455 141.545C95.266 138.357 95.265 134.085 98.452 130.646L100.905 128L128 128L155.095 128L157.548 130.646C160.735 134.085 160.734 138.357 157.545 141.545C155.282 143.809 154.347 144 145.545 144L136 144L136 156.481L136 168.962L138.75 169.624C147.354 171.696 159.996 181.748 162.943 188.862C164.102 191.66 164.691 192.001 168.371 192.011C177.915 192.036 188.101 197.436 193.939 205.564C198.954 212.548 199.981 217.571 199.957 235C199.935 251.178 199.615 252.547 195.316 254.837C192.417 256.381 63.554 256.375 60.365 254.831M88 224C88 206.323 88.147 206.658 81.6 209.394C79.765 210.161 76.967 212.486 75.382 214.562C72.683 218.097 72.478 219.026 72.162 229.168L71.823 240L79.912 240L88 240L88 224M151.826 220.75C151.456 198.904 150.732 196.35 143.042 189.768C133.298 181.428 120.862 182.097 111.431 191.47C104.784 198.075 104 201.398 104 222.943L104 240L128.076 240L152.153 240L151.826 220.75M183.838 229.168C183.522 219.026 183.317 218.097 180.618 214.562C179.033 212.486 176.235 210.161 174.4 209.394C167.853 206.658 168 206.323 168 224L168 240L176.088 240L184.177 240L183.838 229.168M74.455 109.545C72.09 107.181 72 106.594 72 93.545L72 80L38.455 80L4.909 80L2.455 77.545L0 75.091L0 40.191L0 5.292L2.452 2.646L4.905 0L128 0L251.095 0L253.548 2.646L256 5.292L256 28.191L256 51.091L253.545 53.545L251.091 56L217.545 56L184 56L184 81.545L184 107.091L181.545 109.545L179.091 112L128 112L76.909 112L74.455 109.545M168 56L168 16L128 16L88 16L88 56L88 96L128 96L168 96L168 56M72 40L72 16L44 16L16 16L16 40L16 64L44 64L72 64L72 40M240 28L240 16L212 16L184 16L184 28L184 40L212 40L240 40L240 28" />
<glyph glyph-name="meta-travel"
unicode="&#xEA1A;"
horiz-adv-x="256" d="M82.455 229.545C81.105 228.195 80 225.942 80 224.538C80 223.134 86.077 209.839 93.504 194.993L107.007 168L91.749 168L76.491 168L65.614 186.131C59.632 196.104 53.896 205.104 52.869 206.131C51.175 207.825 49.221 208 31.955 208C13.067 208 12.889 207.98 10.455 205.545C9.105 204.195 8.013 202.058 8.028 200.795C8.044 199.533 13.642 176.229 20.468 149.008C30.656 108.381 33.268 99.202 35.05 97.758C37.034 96.152 40.402 96 74.111 96C94.4 96 111 95.705 111 95.345C111 94.984 104.025 81.068 95.5 64.421C86.975 47.773 80 33.255 80 32.158C80 28.819 81.109 26.995 84.072 25.463C88.145 23.356 137.588 23.309 140.527 25.409C141.612 26.184 150.375 42.373 160 61.385L177.5 95.952L200.5 95.988C229.664 96.033 234.106 97.046 244.213 105.952C247.177 108.564 250.147 112.584 252.213 116.782C255.159 122.764 255.498 124.343 255.478 131.979C255.46 139.034 255.011 141.446 252.868 146C249.041 154.132 242.973 160.395 235.222 164.213L228.55 167.5L200.743 167.821L172.935 168.142L157.487 199.025C148.386 217.22 141.237 230.338 140.086 230.954C138.866 231.607 128.125 232 111.52 232L84.909 232L82.455 229.545M143 192L155.008 168L140.008 168L125.008 168L113 192L100.992 216L115.992 216L130.992 216L143 192M54.386 173.869C60.368 163.896 66.104 154.896 67.131 153.869C68.924 152.076 72.15 152 146.54 152C221.322 152 224.215 151.931 227.885 150.059C240.02 143.868 243.514 129.634 235.264 119.996C228.728 112.359 227.225 112.047 196.861 112.022C172.983 112.002 170.002 111.819 168.104 110.25C166.939 109.287 158.171 93.2 148.619 74.5L131.252 40.5L116.025 40.223L100.799 39.947L105.769 49.223C108.502 54.326 115.792 68.53 121.968 80.789C133.906 104.483 134.263 105.814 129.799 109.972C127.687 111.94 126.426 112 86.936 112L46.25 112L36.248 152L26.245 192L34.877 192L43.509 192L54.386 173.869" />
<glyph glyph-name="meta-incoming"
unicode="&#xEA1E;"
horiz-adv-x="256" d="M114.455 253.545C111.266 250.357 111.265 246.085 114.452 242.646L116.905 240L174.452 240L232 240L232 128L232 16L174.455 16L116.909 16L114.455 13.545C111.266 10.357 111.265 6.085 114.452 2.646L116.905 0L180 0L243.095 0L245.548 2.646L248 5.292L248 128.191L248 251.091L245.545 253.545L243.091 256L180 256L116.909 256L114.455 253.545M114.455 189.545C112.87 187.961 112 185.955 112 183.888C112 181.051 114.537 178.131 134.201 158.342L156.402 136L80.656 136L4.909 136L2.455 133.545C-0.734 130.357 -0.735 126.085 2.452 122.646L4.905 120L80.673 120L156.441 120L134.221 97.699C114.981 78.39 112 74.989 112 72.345C112 68.051 115.972 64 120.184 64C123.151 64 126.347 66.883 153.732 94.268C181.77 122.307 184 124.792 184 128C184 131.208 181.77 133.693 153.732 161.732C126.355 189.108 123.15 192 120.186 192C118.04 192 116.062 191.153 114.455 189.545" />
<glyph glyph-name="meta-outgoing"
unicode="&#xEA1F;"
horiz-adv-x="256" d="M114.455 253.545C111.266 250.357 111.265 246.085 114.452 242.646L116.905 240L174.452 240L232 240L232 128L232 16L174.455 16L116.909 16L114.455 13.545C111.266 10.357 111.265 6.085 114.452 2.646L116.905 0L180 0L243.095 0L245.548 2.646L248 5.292L248 128.191L248 251.091L245.545 253.545L243.091 256L180 256L116.909 256L114.455 253.545M38.268 161.732C10.23 133.693 8 131.208 8 128C8 124.792 10.23 122.307 38.268 94.268C65.653 66.883 68.849 64 71.816 64C76.028 64 80 68.051 80 72.345C80 74.989 77.019 78.39 57.779 97.699L35.559 120L111.327 120L187.095 120L189.548 122.646C192.735 126.085 192.734 130.357 189.545 133.545L187.091 136L111.344 136L35.598 136L57.799 158.342C77.463 178.131 80 181.051 80 183.888C80 188.209 76.174 192 71.814 192C68.85 192 65.645 189.108 38.268 161.732" />
<glyph glyph-name="meta-procedure"
unicode="&#xEA20;"
horiz-adv-x="256" d="M15.394 234.584C15.095 233.806 14.997 231.893 15.175 230.334C15.455 227.889 16.084 227.377 19.75 226.608L24 225.716L24 207.465C24 187.304 24.237 188 17.358 188C13.95 188 13.886 187.924 14.19 184.25L14.5 180.5L31.25 180.226L48 179.952L48 183.976C48 187.755 47.823 188 45.082 188C38.748 188 39 186.979 39 212.607L39 236L27.469 236C18.447 236 15.819 235.692 15.394 234.584M90.455 213.545C87.266 210.357 87.265 206.085 90.452 202.646L92.905 200L172 200L251.095 200L253.548 202.646C256.735 206.085 256.734 210.357 253.545 213.545L251.091 216L172 216L92.909 216L90.455 213.545M17.97 153.75C12.678 151.077 9 145.993 9 141.352L9 138L14.5 138C17.525 138 20.305 137.888 20.678 137.75C21.051 137.612 21.717 138.849 22.158 140.499C23.582 145.822 29.123 147.703 33.777 144.443C39.217 140.633 35.066 133.046 19.474 118.3C9.413 108.784 9 108.228 9 104.197L9 100L31.5 100L54 100L54 109.052L54 118.105L48.777 117.802L43.555 117.5L42.718 113.25L41.882 109L34.257 109L26.631 109L36.624 118.75C50.233 132.028 53.074 138.523 49.151 147.391C46.345 153.735 41.53 155.948 30.462 155.978C24.082 155.995 21.505 155.536 17.97 153.75M90.455 133.545C87.266 130.357 87.265 126.085 90.452 122.646L92.905 120L172 120L251.095 120L253.548 122.646C256.735 126.085 256.734 130.357 253.545 133.545L251.091 136L172 136L92.909 136L90.455 133.545M20.059 77.818C14.563 74.95 12.02 71.567 11.295 66.163L10.737 62L15.787 62C18.564 62 21.493 61.748 22.296 61.44C23.345 61.037 23.942 61.876 24.42 64.428C25.152 68.328 27.35 70 31.743 70C36.396 70 38.487 67.802 38.362 63.041C38.227 57.893 35.11 54.271 30.09 53.428C23.072 52.25 23 52.189 23 47.433L23 43L29.461 43C34.82 43 36.27 42.627 37.961 40.811C40.829 37.733 40.639 32.548 37.545 29.455C33.409 25.318 22.883 26.414 16.944 31.6C15.595 32.778 14.9 32.374 11.701 28.547L8.013 24.135L10.59 22.108C17.801 16.436 34.457 14.075 42.768 17.548C51.608 21.241 55.865 29.205 53.833 38.248C52.682 43.372 49.905 46.546 45.221 48.092L41.737 49.242L45.376 51.322C50.461 54.228 53.461 60.622 52.619 66.76C51.326 76.198 46.925 79.19 33.5 79.757C25.592 80.091 23.961 79.856 20.059 77.818M90.455 53.545C87.266 50.357 87.265 46.085 90.452 42.646L92.905 40L172 40L251.095 40L253.548 42.646C256.735 46.085 256.734 50.357 253.545 53.545L251.091 56L172 56L92.909 56L90.455 53.545" />
<glyph glyph-name="meta-todo"
unicode="&#xEA21;"
horiz-adv-x="256" d="M24.734 238.97C15.404 236.627 7.095 229.89 2.812 221.193C0.946 217.404 0.5 214.862 0.5 208C0.5 197.879 2.692 192.466 9.579 185.579C20.752 174.406 37.733 172.939 50.421 182.051C71.042 196.86 67.331 227.659 43.744 237.47C38.969 239.456 29.609 240.195 24.734 238.97M38.655 222.359C48.696 217.595 50.921 205.206 43.194 197.084C36.718 190.276 27.282 190.276 20.806 197.084C8.598 209.916 22.724 229.919 38.655 222.359M90.455 213.545C87.266 210.357 87.265 206.085 90.452 202.646L92.905 200L172 200L251.095 200L253.548 202.646C256.735 206.085 256.734 210.357 253.545 213.545L251.091 216L172 216L92.909 216L90.455 213.545M24.734 158.97C15.404 156.627 7.095 149.89 2.812 141.193C0.946 137.404 0.5 134.862 0.5 128C0.5 117.879 2.692 112.466 9.579 105.579C20.752 94.406 37.733 92.939 50.421 102.051C71.042 116.86 67.331 147.659 43.744 157.47C38.969 159.456 29.609 160.195 24.734 158.97M38.655 142.359C48.696 137.595 50.921 125.206 43.194 117.084C39.075 112.753 34.43 111.321 28.259 112.479C23.492 113.373 17.351 119.614 16.435 124.493C13.956 137.707 26.761 148.003 38.655 142.359M90.455 133.545C87.266 130.357 87.265 126.085 90.452 122.646L92.905 120L172 120L251.095 120L253.548 122.646C256.735 126.085 256.734 130.357 253.545 133.545L251.091 136L172 136L92.909 136L90.455 133.545M24.734 78.97C15.404 76.627 7.095 69.89 2.812 61.193C0.946 57.404 0.5 54.862 0.5 48C0.5 37.879 2.692 32.466 9.579 25.579C20.752 14.406 37.733 12.939 50.421 22.051C71.042 36.86 67.331 67.659 43.744 77.47C38.969 79.456 29.609 80.195 24.734 78.97M38.655 62.359C48.696 57.595 50.921 45.206 43.194 37.084C39.075 32.753 34.43 31.321 28.259 32.479C23.492 33.373 17.351 39.614 16.435 44.493C13.956 57.707 26.761 68.003 38.655 62.359M90.455 53.545C87.266 50.357 87.265 46.085 90.452 42.646L92.905 40L172 40L251.095 40L253.548 42.646C256.735 46.085 256.734 50.357 253.545 53.545L251.091 56L172 56L92.909 56L90.455 53.545" />
<glyph glyph-name="meta-infinite"
unicode="&#xEA22;"
horiz-adv-x="256" d="M41.173 182.038C17.317 175.568 0.043 152.669 0.032 127.5C0.017 92.766 34.122 65.574 67.756 73.505C87.765 78.222 103.624 89.757 131.146 119.612C157.211 147.887 168.069 157.423 180.6 163.045C193.755 168.947 206.7 169.218 217.748 163.821C224.785 160.384 232.543 152.196 236.268 144.274C239.149 138.146 239.453 136.594 239.453 128C239.453 119.416 239.148 117.85 236.283 111.759C227.022 92.064 205.168 83.353 184.458 91.102C178.174 93.453 166.738 100.812 159.168 107.376C156.236 109.919 152.995 112 151.965 112C146.671 112 142.034 106.619 143.459 102.128C144.274 99.561 153.549 91.06 161.214 85.855C187.168 68.23 213.543 67.64 234.5 84.216C269.221 111.678 259.933 166.226 218 181.124C209.539 184.13 191.375 184.369 183.5 181.577C166.226 175.454 155.505 167.623 133.872 145.329C93.098 103.31 84.698 95.993 71.707 91.184C50.772 83.434 29.038 92.031 19.693 111.759C16.789 117.891 16.503 119.359 16.529 128C16.555 136.555 16.874 138.174 19.738 144.274C23.468 152.221 31.213 160.383 38.32 163.855C45.231 167.232 55.501 168.632 63.056 167.227C71.323 165.689 82.19 160.039 92.597 151.868C97.378 148.114 102.157 144.767 103.218 144.431C107.461 143.084 113 147.705 113 152.59C113 155.328 103.663 164.116 93.722 170.734C75.875 182.616 57.709 186.523 41.173 182.038" />
<glyph glyph-name="meta-home"
unicode="&#xEA23;"
horiz-adv-x="256" d="M63.376 198.502C21.874 165.302 1.222 148.166 0.653 146.459C0.186 145.059 0.08 142.817 0.417 141.475C1.129 138.638 6.288 135.631 9.416 136.229C10.603 136.456 37.54 157.422 69.276 182.821C101.012 208.219 127.438 229 128 229C128.562 229 154.988 208.219 186.724 182.821C218.46 157.422 245.397 136.456 246.584 136.229C249.8 135.614 254.872 138.64 255.619 141.619C255.992 143.105 255.68 145.402 254.884 147.029C254.04 148.752 229.54 169.013 192.125 198.928C144.615 236.915 130.13 248 128.001 248C125.872 248 111.291 236.832 63.376 198.502M108.5 158.792C104.298 156.383 104.065 155.185 104.032 135.886L104 117.273L106.636 114.636L109.273 112L128 112L146.727 112L149.364 114.636L152 117.273L151.968 135.886C151.935 155.349 151.702 156.501 147.316 158.837C144.354 160.414 111.262 160.376 108.5 158.792M136 136L136 128L128 128L120 128L120 136L120 144L128 144L136 144L136 136M34.455 133.545L32 131.091L32 72.191L32 13.292L34.452 10.646L36.905 8L128 8L219.095 8L221.548 10.646L224 13.292L224 72.191L224 131.091L221.545 133.545C218.298 136.793 213.702 136.793 210.455 133.545L208 131.091L208 77.545L208 24L184 24L160 24L160 53.545L160 83.091L157.545 85.545L155.091 88L128 88L100.909 88L98.455 85.545L96 83.091L96 53.545L96 24L72 24L48 24L48 77.545L48 131.091L45.545 133.545C43.998 135.093 41.948 136 40 136C38.052 136 36.002 135.093 34.455 133.545M144 48L144 24L128 24L112 24L112 48L112 72L128 72L144 72L144 48" />
<glyph glyph-name="meta-org"
unicode="&#xEA24;"
horiz-adv-x="256" d="M100.5 246.792C96.165 244.306 96.065 243.617 96.032 215.886L96 189.273L98.636 186.636L101.273 184L128 184L154.727 184L157.364 186.636L160 189.273L159.968 215.886C159.935 243.817 159.843 244.425 155.316 246.837C152.299 248.444 103.31 248.404 100.5 246.792M144 216L144 200L128 200L112 200L112 216L112 232L128 232L144 232L144 216M122.455 165.545C120.09 163.181 120 162.594 120 149.545L120 136L74.455 136L28.909 136L26.455 133.545C24.022 131.113 24 130.924 24 112.191C24 93.516 24.029 93.261 26.452 90.646C28.086 88.883 29.937 88 32 88C34.063 88 35.914 88.883 37.548 90.646C39.896 93.18 40 93.857 40 106.646L40 120L80 120L120 120L120 106.646C120 93.857 120.104 93.18 122.452 90.646C125.744 87.094 130.256 87.094 133.548 90.646C135.896 93.18 136 93.857 136 106.646L136 120L176 120L216 120L216 106.646C216 93.857 216.104 93.18 218.452 90.646C221.744 87.094 226.256 87.094 229.548 90.646C231.971 93.261 232 93.516 232 112.191C232 130.924 231.978 131.113 229.545 133.545L227.091 136L181.545 136L136 136L136 149.545C136 162.594 135.91 163.181 133.545 165.545C131.998 167.093 129.948 168 128 168C126.052 168 124.002 167.093 122.455 165.545M24.734 70.97C11.318 67.601 1.479 56.37 0.27 43.045C-1.773 20.505 19.704 2.925 41.284 9.473C61.999 15.759 70.522 40.914 57.894 58.497C50.703 68.512 36.387 73.897 24.734 70.97M120.734 70.97C107.318 67.601 97.479 56.37 96.27 43.045C94.227 20.505 115.704 2.925 137.284 9.473C157.999 15.759 166.522 40.914 153.894 58.497C146.703 68.512 132.387 73.897 120.734 70.97M216.734 70.97C203.318 67.601 193.479 56.37 192.27 43.045C190.227 20.505 211.704 2.925 233.284 9.473C253.999 15.759 262.522 40.914 249.894 58.497C242.703 68.512 228.387 73.897 216.734 70.97M38.655 54.359C48.696 49.595 50.921 37.206 43.194 29.084C39.075 24.753 34.43 23.321 28.259 24.479C23.492 25.373 17.351 31.614 16.435 36.493C13.956 49.707 26.761 60.003 38.655 54.359M134.655 54.359C144.696 49.595 146.921 37.206 139.194 29.084C135.075 24.753 130.43 23.321 124.259 24.479C119.492 25.373 113.351 31.614 112.435 36.493C109.956 49.707 122.761 60.003 134.655 54.359M230.655 54.359C240.696 49.595 242.921 37.206 235.194 29.084C231.075 24.753 226.43 23.321 220.259 24.479C215.492 25.373 209.351 31.614 208.435 36.493C205.956 49.707 218.761 60.003 230.655 54.359" />
<glyph glyph-name="meta-partner"
unicode="&#xEA25;"
horiz-adv-x="256" d="M2.483 245.574L0 243.091L0 192.191L0 141.292L2.452 138.646C5.744 135.094 10.256 135.094 13.548 138.646L16 141.292L16 186.665L16 232.037L57.75 231.972L99.5 231.907L101.75 234.509C104.655 237.869 104.602 241.188 101.587 244.694L99.174 247.5L52.07 247.779L4.966 248.057L2.483 245.574M153 246.453C149.425 245.689 142.675 243.151 138 240.812C130.007 236.813 127.838 234.916 101.65 209.03C70.32 178.059 68.637 175.813 68.653 165C68.665 157.16 71.48 150.542 76.782 145.887C82.05 141.261 86.582 139.658 94.541 139.604C103.416 139.543 102.857 139.218 134.324 162.765L159.148 181.342L194.139 146.421C213.385 127.214 229.816 110.208 230.654 108.629C233.637 103.004 230.039 95.158 223.484 92.995C217.685 91.081 214.537 92.923 201.983 105.57C189.665 117.981 186.14 120.503 182.42 119.569C178.985 118.707 176 115.061 176 111.727C176 109.347 178.561 106.215 190.36 94.165C198.258 86.099 205.05 78.448 205.455 77.163C207.21 71.583 202.924 63.772 197.337 62.37C191.319 60.859 188.686 62.557 173.828 77.527C161.159 90.291 159.076 92 156.186 92C151.867 92 148 88.206 148 83.968C148 81.348 149.749 79.046 158.865 69.673C164.841 63.528 170.282 57.44 170.957 56.145C172.572 53.042 171.585 48.182 168.488 43.984C165.339 39.716 165.327 36.018 168.452 32.646C173.727 26.954 181.941 31.436 185.716 42.064L187.34 46.636L192.565 46.203C207.172 44.992 222 58.269 222 72.559C222 75.492 222.359 75.853 226.25 76.839C244.443 81.446 253.12 102.354 243.531 118.477C242.215 120.69 223.657 139.937 202.29 161.25C168.118 195.335 163.072 200 160.382 200C157.955 200 151.451 195.593 128.865 178.644C113.213 166.898 99.444 156.773 98.269 156.144C94.775 154.274 91.225 154.827 87.956 157.75C85.438 160.001 84.869 161.293 84.82 164.874L84.761 169.247L111.63 196.169C135.417 220.001 139.303 223.487 145.5 226.546C149.35 228.447 154.924 230.452 157.886 231.001C160.875 231.555 180.354 232 201.636 232L240 232L240 186.646L240 141.292L242.452 138.646C245.744 135.094 250.256 135.094 253.548 138.646L256 141.292L256 192.191L256 243.091L253.545 245.545L251.091 248L205.295 247.921C170.267 247.86 157.972 247.515 153 246.453M36.698 139.556C24.054 135.046 11.02 119.028 11.02 108C11.02 98.45 19.822 86.319 30.287 81.447C33.154 80.112 35.956 79.015 36.513 79.01C37.071 79.004 38.071 76.708 38.736 73.907C41.054 64.151 51.557 53.323 61.069 50.886C65.45 49.763 65.763 49.45 66.886 45.069C69.335 35.511 79.938 25.255 90.042 22.669C94.534 21.519 95.554 20.828 96.346 18.399C98.449 11.952 106.51 3.277 112.522 0.992C113.957 0.446 118.174 0 121.894 0C127.775 0 129.264 0.402 133.309 3.081C139.188 6.975 146.745 15.298 149.126 20.5C154.424 32.078 146.479 48.214 132.934 53.387C128.777 54.975 128.375 55.463 126.787 60.85C125.853 64.02 123.692 68.371 121.985 70.519C117.776 75.815 109.621 81.793 105.567 82.553C102.529 83.123 102.199 83.543 101.767 87.379C100.496 98.653 89.674 110.512 78.163 113.247C73.644 114.32 73.222 114.697 71.683 119.029C67.467 130.901 54.802 140.912 44 140.912C42.075 140.912 38.789 140.302 36.698 139.556M47.8 123.595C53.32 120.723 57.545 114.309 56.544 110.32C55.773 107.248 47.595 98.359 43.674 96.331C40.158 94.513 37.152 95.16 33.041 98.619C28.964 102.049 26.676 106.573 27.453 109.667C28.621 114.323 39.991 124.985 43.8 124.996C44.514 124.998 46.314 124.368 47.8 123.595M81.143 93.143C88.328 85.957 87.648 82.767 76.687 72.25C68.212 64.119 65.785 63.929 58.857 70.857C51.872 77.843 52.446 81.268 62.173 90.624C71.686 99.773 74.181 100.105 81.143 93.143M102.931 66.536C106.399 64.742 110.797 59.656 111.582 56.531C112.406 53.245 110.037 49.271 103.656 43.236C96.245 36.227 93.548 36.166 86.857 42.857C80.066 49.648 80.528 53.396 89.17 61.622C96.162 68.276 98.175 68.995 102.931 66.536M131.467 35.467C136.604 30.33 136.221 27.901 129.16 20.84C125.459 17.139 122.486 15 121.042 15C118.053 15 111 22.053 111 25.042C111 26.486 113.139 29.459 116.84 33.16C123.901 40.221 126.33 40.604 131.467 35.467" />
<glyph glyph-name="meta-in"
unicode="&#xEA28;"
horiz-adv-x="256" d="M122.455 245.545L120 243.091L120 199.356L120 155.62L109.645 165.81C100.878 174.437 98.801 176 96.1 176C91.822 176 88 172.166 88 167.874C88 165.039 90.163 162.486 106.258 146.329C122.964 129.558 124.812 128 128 128C131.188 128 133.036 129.558 149.742 146.329C165.837 162.486 168 165.039 168 167.874C168 172.166 164.178 176 159.9 176C157.199 176 155.122 174.437 146.355 165.81L136 155.62L136 199.356L136 243.091L133.545 245.545C131.998 247.093 129.948 248 128 248C126.052 248 124.002 247.093 122.455 245.545M51.219 174.25C50.117 173.287 38.142 152.145 24.608 127.266L0 82.032L0 47.662L0 13.292L2.452 10.646L4.905 8L128 8L251.095 8L253.548 10.646L256 13.292L256 47.662L256 82.032L231.392 127.266C217.858 152.145 205.883 173.287 204.781 174.25C203.287 175.556 201.019 176 195.844 176C189.814 176 188.589 175.68 186.455 173.545C181.519 168.61 185.147 160.038 192.202 159.967L195.5 159.934L214.5 124.926C224.95 105.671 233.65 89.486 233.833 88.959C234.045 88.351 195.3 88 128 88C60.7 88 21.955 88.351 22.167 88.959C22.35 89.486 31.05 105.671 41.5 124.926L60.5 159.934L63.798 159.967C70.853 160.038 74.481 168.61 69.545 173.545C67.411 175.68 66.186 176 60.156 176C54.981 176 52.713 175.556 51.219 174.25M240 48L240 24L128 24L16 24L16 48L16 72L128 72L240 72L240 48M170.455 53.545C167.266 50.357 167.265 46.085 170.452 42.646L172.905 40L192 40L211.095 40L213.548 42.646C216.735 46.085 216.734 50.357 213.545 53.545C211.111 55.98 210.936 56 192 56C173.064 56 172.889 55.98 170.455 53.545" />
<glyph glyph-name="meta-out"
unicode="&#xEA29;"
horiz-adv-x="256" d="M106.28 229.72C90.502 213.942 88 211.019 88 208.366C88 204.096 91.964 200 96.097 200C98.801 200 100.875 201.56 109.645 210.19L120 220.38L120 176.836L120 133.292L122.452 130.646C125.744 127.094 130.256 127.094 133.548 130.646L136 133.292L136 176.836L136 220.38L146.355 210.19C155.125 201.56 157.199 200 159.903 200C164.036 200 168 204.096 168 208.366C168 211.019 165.498 213.942 149.72 229.72C133.099 246.341 131.128 248 128 248C124.872 248 122.901 246.341 106.28 229.72M51.219 174.25C50.117 173.287 38.142 152.145 24.608 127.266L0 82.032L0 47.662L0 13.292L2.452 10.646L4.905 8L128 8L251.095 8L253.548 10.646L256 13.292L256 47.662L256 82.032L231.392 127.266C217.858 152.145 205.883 173.287 204.781 174.25C203.066 175.749 200.638 176 187.844 176C173.321 176 172.841 175.932 170.455 173.545C167.266 170.357 167.265 166.085 170.452 162.646C172.821 160.09 173.289 159.999 184.202 159.967L195.5 159.934L214.5 124.926C224.95 105.671 233.65 89.486 233.833 88.959C234.045 88.351 195.3 88 128 88C60.7 88 21.955 88.351 22.167 88.959C22.35 89.486 31.05 105.671 41.5 124.926L60.5 159.934L71.798 159.967C82.711 159.999 83.179 160.09 85.548 162.646C88.735 166.085 88.734 170.357 85.545 173.545C83.159 175.932 82.679 176 68.156 176C55.362 176 52.934 175.749 51.219 174.25M240 48L240 24L128 24L16 24L16 48L16 72L128 72L240 72L240 48M170.455 53.545C167.266 50.357 167.265 46.085 170.452 42.646L172.905 40L192 40L211.095 40L213.548 42.646C216.735 46.085 216.734 50.357 213.545 53.545C211.111 55.98 210.936 56 192 56C173.064 56 172.889 55.98 170.455 53.545" />
<glyph glyph-name="meta-flow"
unicode="&#xEA2B;"
horiz-adv-x="256" d="M98.455 245.545C95.266 242.357 95.265 238.085 98.452 234.646L100.905 232L128.693 232L156.481 232L86.24 161.733C23.594 99.063 16 91.133 16 88.379C16 84.049 19.955 80 24.186 80C27.196 80 33.271 85.802 97.733 150.24L168 220.481L168 192.886L168 165.292L170.452 162.646C173.744 159.094 178.256 159.094 181.548 162.646L184 165.292L184 204.191L184 243.091L181.545 245.545L179.091 248L140 248L100.909 248L98.455 245.545M158.267 105.76L88 35.519L88 63.305L88 91.091L85.545 93.545C82.298 96.793 77.702 96.793 74.455 93.545L72 91.091L72 52L72 12.909L74.455 10.455L76.909 8L116.002 8L155.095 8L157.548 10.646C160.735 14.085 160.734 18.357 157.545 21.545L155.091 24L127.312 24L99.533 24L169.766 94.28C234.053 158.61 240 164.837 240 167.826C240 172.212 236.206 176 231.812 176C228.805 176 222.709 170.178 158.267 105.76" />
<glyph glyph-name="meta-manuals"
unicode="&#xEA32;"
horiz-adv-x="256" d="M172.5 242.023C146.592 237.926 142.231 237.464 140.527 238.639C138.912 239.754 126.457 240 71.732 240L4.909 240L2.455 237.545L0 235.091L0 128.191L0 21.292L2.452 18.646L4.905 16L72 16L139.095 16L141.548 18.646L144 21.292L144.117 100.896C144.187 148.412 144.577 178.485 145.086 175.5C145.555 172.75 151.127 137.009 157.468 96.075C164.817 48.642 169.548 20.813 170.512 19.341C171.344 18.071 173.098 16.762 174.409 16.433C177.678 15.613 241.954 25.814 244.734 27.595C245.963 28.381 247.231 30.072 247.552 31.351C247.873 32.63 244.721 55.687 240.548 82.588C236.375 109.49 229.115 156.475 224.415 187C216.314 239.613 215.74 242.617 213.379 244.75C210.019 247.785 208.151 247.66 172.5 242.023M211.843 163.353C219.073 116.575 221.814 96.503 221.037 96.023C219.218 94.898 176.072 88.595 175.323 89.344C174.563 90.104 153.89 222.223 154.444 222.778C154.888 223.222 195.705 229.727 199.021 229.882L201.542 230L211.843 163.353M64 156L64 88L40 88L16 88L16 156L16 224L40 224L64 224L64 156M128 156L128 88L104 88L80 88L80 156L80 224L104 224L128 224L128 156M179.242 201.966C174.685 200.135 174.378 197.203 176.907 179.644C179.45 161.979 180.718 157.756 184.008 155.995C186.514 154.654 190.709 155.443 193.25 157.733C195.641 159.888 195.492 165.28 192.536 183.5C190.367 196.873 189.82 198.744 187.496 200.75C184.718 203.147 182.862 203.421 179.242 201.966M34.455 197.545C32.022 195.113 32 194.924 32 176.191C32 157.516 32.029 157.261 34.452 154.646C36.086 152.883 37.937 152 40 152C42.063 152 43.914 152.883 45.548 154.646C47.971 157.261 48 157.516 48 176.191C48 194.924 47.978 195.113 45.545 197.545C43.998 199.093 41.948 200 40 200C38.052 200 36.002 199.093 34.455 197.545M98.455 197.545C96.022 195.113 96 194.924 96 176.191C96 157.516 96.029 157.261 98.452 154.646C100.086 152.883 101.937 152 104 152C106.063 152 107.914 152.883 109.548 154.646C111.971 157.261 112 157.516 112 176.191C112 194.924 111.978 195.113 109.545 197.545C107.998 199.093 105.948 200 104 200C102.052 200 100.002 199.093 98.455 197.545M225 79.089C225 78.588 226.138 70.825 227.528 61.839C228.919 52.852 230.157 44.379 230.278 43.008L230.5 40.517L207.5 36.907C194.85 34.922 184.209 33.569 183.852 33.899C183.496 34.23 181.891 42.983 180.285 53.352C178.122 67.321 177.673 72.321 178.552 72.658C179.811 73.141 220.283 79.682 223.25 79.882C224.213 79.947 225 79.59 225 79.089M64 52L64 32L40 32L16 32L16 52L16 72L40 72L64 72L64 52M128 52L128 32L104 32L80 32L80 52L80 72L104 72L128 72L128 52" />
<glyph glyph-name="meta-help"
unicode="&#xEA35;"
horiz-adv-x="256" d="M108.5 254.445C52.322 244.952 9.966 202.042 1.455 146C-4.588 106.211 9.673 64.918 39.355 36.262C89.301 -11.958 166.699 -11.958 216.645 36.262C269.023 86.829 268.891 168.914 216.351 220.158C188.519 247.304 146.082 260.795 108.5 254.445M142.566 238.928C180.027 233.717 211.616 211.023 228.07 177.5C238.201 156.86 241.918 134.932 238.928 113.434C233.756 76.256 210.947 44.506 177.283 27.627C146.956 12.421 109.451 12.268 79.5 27.228C45.679 44.121 24.018 73.283 17.491 110.71C12.858 137.28 19.597 167.042 35.747 191.328C42.214 201.052 55.72 214.37 66 221.16C88.458 235.991 116.646 242.533 142.566 238.928M119.5 206.854C111.69 205.413 99.387 201.09 97.734 199.206C95.214 196.335 94.794 193.3 96.467 190.064C98.398 186.329 102.021 185.283 107.44 186.898C124.618 192.017 125.42 192.158 134.5 191.643C149.149 190.813 154.766 187.938 158.754 179.226C163.758 168.297 159.782 157.7 145.564 144.068C125.638 124.964 121.319 118.686 120.306 107.356C119.833 102.075 120.033 101.23 122.343 98.75C127.345 93.38 135.969 96.939 136.022 104.396C136.067 110.805 139.709 115.985 154.31 130.408C169.634 145.545 173.633 151.529 176.093 162.999C179.456 178.68 171.077 196.513 157.306 202.986C147.691 207.506 131.829 209.128 119.5 206.854M123.5 71.097C119.049 69.142 116.5 65.079 116.5 59.939C116.5 55.738 116.966 54.572 119.769 51.769C122.583 48.955 123.73 48.5 128 48.5C132.27 48.5 133.417 48.955 136.231 51.769C139.045 54.583 139.5 55.73 139.5 60C139.5 64.213 139.033 65.428 136.407 68.055C133.105 71.357 127.239 72.739 123.5 71.097" />
<glyph glyph-name="meta-code"
unicode="&#xEA36;"
horiz-adv-x="256" d="M155.286 222.228C151.906 219.59 87.705 42.75 88.504 38.279C89.592 32.188 96.812 29.945 101.073 34.372C102.599 35.957 114.096 66.243 135.714 125.622C161.657 196.882 167.957 215.139 167.496 217.721C166.475 223.436 159.93 225.852 155.286 222.228M34.271 157.729C10.143 133.601 8 131.179 8 128.035C8 124.893 10.152 122.456 34.255 98.306C57.976 74.539 60.827 72 63.802 72C68.028 72 72 76.043 72 80.345C72 82.989 69.02 86.389 49.789 105.689L27.578 127.98L49.789 150.332C69.462 170.131 72 173.051 72 175.888C72 180.208 68.174 184 63.816 184C60.867 184 57.935 181.393 34.271 157.729M186.455 181.545C184.87 179.961 184 177.955 184 175.888C184 173.051 186.538 170.131 206.211 150.332L228.422 127.98L206.211 105.689C186.98 86.389 184 82.989 184 80.345C184 76.043 187.972 72 192.198 72C195.173 72 198.024 74.539 221.745 98.306C245.848 122.456 248 124.893 248 128.035C248 131.179 245.857 133.601 221.729 157.729C198.065 181.393 195.133 184 192.184 184C190.04 184 188.061 183.152 186.455 181.545" />
<glyph glyph-name="meta-lab"
unicode="&#xEA37;"
horiz-adv-x="256" d="M66.455 253.545L64 251.091L64 228.191L64 205.292L66.452 202.646C68.872 200.036 69.086 200 82.452 200L96 200L95.969 165.25L95.939 130.5L65.838 89.5C49.282 66.95 34.847 46.475 33.761 44C31.284 38.359 31.156 28.058 33.475 21.076C35.577 14.747 42.187 7.32 49.152 3.462L54.5 0.5L128 0.5L201.5 0.5L206.54 3.161C211.841 5.958 218.804 12.787 221.322 17.656C225.152 25.062 225.3 36.622 221.675 45.195C220.907 47.013 206.729 66.95 190.17 89.5L160.061 130.5L160.031 165.25L160 200L173.548 200C186.914 200 187.128 200.036 189.548 202.646L192 205.292L192 228.191L192 251.091L189.545 253.545L187.091 256L128 256L68.909 256L66.455 253.545M176 228L176 216L162.455 216C149.361 216 148.826 215.917 146.424 213.515L143.939 211.03L144.219 167.765L144.5 124.5L175.199 82.779C192.084 59.832 206.425 40.075 207.067 38.874C207.71 37.673 208.267 34.588 208.306 32.018C208.395 26.121 205.499 21.211 200.163 18.212L196.228 16L129.364 16.006C84.023 16.009 61.231 16.363 58.558 17.106C50.454 19.355 45.573 28.473 48.237 36.384C49.037 38.759 62.712 58.268 80.562 82.5L111.5 124.5L111.781 167.765L112.061 211.03L109.576 213.515C107.174 215.917 106.639 216 93.545 216L80 216L80 228L80 240L128 240L176 240L176 228" />
<glyph glyph-name="meta-finance"
unicode="&#xEA38;"
horiz-adv-x="256" d="M38.734 246.416C21.177 243.242 7.792 235.686 2.8 226.132L0 220.772L0.022 152.136C0.043 87.343 0.148 83.27 1.907 79.398C6.34 69.636 19.728 61.35 36.786 57.81C44.632 56.181 48.952 55.887 59.25 56.28L72 56.767L72.022 46.134C72.048 33.57 73.476 29.511 80.135 23.079C100.794 3.125 155.206 3.125 175.865 23.079C182.524 29.511 183.952 33.57 183.978 46.134L184 56.767L196.75 56.28C207.048 55.887 211.368 56.181 219.214 57.81C236.272 61.35 249.66 69.636 254.093 79.398C255.834 83.231 255.958 86.951 255.978 136.136L256 188.772L253.2 194.132C244.746 210.315 212.941 219.606 183.548 214.48C165.237 211.287 151.906 203.906 146.8 194.132L144 188.772L144 162.136L144 135.5L128 135.5L112 135.5L112 178.136L112 220.772L109.2 226.132C105.684 232.862 99.048 238.029 88.833 241.989C74.068 247.713 55.151 249.384 38.734 246.416M76 229.57C83.612 227.473 91.911 223.031 94.347 219.752C98.566 214.071 92.878 208.179 78.5 203.334C71.271 200.899 69.102 200.639 56 200.639C42.966 200.639 40.682 200.909 33.41 203.312C19.595 207.878 13.691 213.827 17.382 219.461C20.362 224.009 31.091 228.927 42.575 231.009C49.43 232.251 69.386 231.392 76 229.57M220 197.57C227.612 195.473 235.911 191.031 238.347 187.752C242.566 182.071 236.878 176.179 222.5 171.334C215.271 168.899 213.102 168.639 200 168.639C186.966 168.639 184.682 168.909 177.41 171.312C163.595 175.878 157.691 181.827 161.382 187.461C164.362 192.009 175.091 196.927 186.575 199.009C193.43 200.251 213.386 199.392 220 197.57M36.5 185.898C53.802 182.299 76.394 184.162 90.25 190.33L96 192.89L96 187.667C96 181.477 94.567 179.108 88.767 175.709C79.927 170.529 70.751 168.514 56 168.514C41.303 168.514 32.075 170.513 23.296 175.596C17.529 178.936 16 181.465 16 187.667L16 192.89L21.75 190.33C24.913 188.922 31.55 186.928 36.5 185.898M36.5 153.898C53.802 150.299 76.394 152.162 90.25 158.33L96 160.89L96 155.667C96 149.477 94.567 147.108 88.767 143.709C79.927 138.529 70.751 136.514 56 136.514C41.303 136.514 32.075 138.513 23.296 143.596C17.529 146.936 16 149.465 16 155.667L16 160.89L21.75 158.33C24.913 156.922 31.55 154.928 36.5 153.898M180.5 153.898C197.802 150.299 220.394 152.162 234.25 158.33L240 160.89L240 155.667C240 149.477 238.567 147.108 232.767 143.709C223.927 138.529 214.751 136.514 200 136.514C185.303 136.514 176.075 138.513 167.296 143.596C161.529 146.936 160 149.465 160 155.667L160 160.89L165.75 158.33C168.912 156.922 175.55 154.928 180.5 153.898M36.5 121.898C49.605 119.172 68.669 119.514 79.386 122.666C80.866 123.102 80.59 122.373 78.103 119.277C76.36 117.108 74.095 113.121 73.07 110.417L71.206 105.5L64.853 104.7C50.909 102.945 33.194 105.888 23.296 111.603C17.531 114.932 16 117.463 16 123.667L16 128.89L21.75 126.33C24.913 124.922 31.55 122.928 36.5 121.898M238.619 116.541C233.284 108.399 209.297 102.416 191.147 104.7L184.794 105.5L182.93 110.417C181.905 113.121 179.64 117.108 177.897 119.277C175.41 122.373 175.134 123.102 176.614 122.666C192.314 118.048 219.339 119.719 234 126.215L239.5 128.652L239.805 123.735C240 120.6 239.57 117.993 238.619 116.541M150.59 116.592C173.901 109.163 173.24 98.464 149 90.855C142.543 88.828 139.552 88.511 127.5 88.578C115.153 88.647 112.545 88.971 105.41 91.321C87.126 97.344 83.229 105.412 95.243 112.374C104.809 117.918 115.366 120.033 131 119.536C139.861 119.254 144.356 118.579 150.59 116.592M38.5 89.452C45.21 88.189 50.627 87.889 59.79 88.275L72.08 88.792L71.79 81.146L71.5 73.5L65 72.7C50.835 70.958 33.219 73.873 23.296 79.603C17.542 82.925 16 85.466 16 91.625L16 96.806L22.75 93.976C26.462 92.42 33.55 90.384 38.5 89.452M238.619 84.541C233.269 76.377 209.388 70.438 191 72.7L184.5 73.5L184.21 81.158L183.919 88.815L195.831 88.266C209.862 87.62 222.8 89.562 233 93.845L239.5 96.574L239.805 91.696C240 88.595 239.568 85.989 238.619 84.541M108.5 73.898C125.802 70.299 148.394 72.162 162.25 78.33L168 80.89L168 75.667C168 69.477 166.567 67.108 160.767 63.709C151.927 58.529 142.751 56.514 128 56.514C113.303 56.514 104.075 58.513 95.296 63.596C89.529 66.936 88 69.465 88 75.667L88 80.89L93.75 78.33C96.912 76.922 103.55 74.928 108.5 73.898M108.5 41.898C125.802 38.299 148.394 40.162 162.25 46.33L168 48.89L168 43.667C168 37.477 166.567 35.108 160.767 31.709C151.927 26.529 142.751 24.514 128 24.514C113.303 24.514 104.075 26.513 95.296 31.596C89.529 34.936 88 37.465 88 43.667L88 48.89L93.75 46.33C96.912 44.922 103.55 42.928 108.5 41.898" />
<glyph glyph-name="meta-barchart"
unicode="&#xEA39;"
horiz-adv-x="256" d="M98.455 237.545L96 235.091L96 128.191L96 21.292L98.452 18.646L100.905 16L128 16L155.095 16L157.548 18.646L160 21.292L160 128.191L160 235.091L157.545 237.545L155.091 240L128 240L100.909 240L98.455 237.545M144 128L144 32L128 32L112 32L112 128L112 224L128 224L144 224L144 128M194.455 173.545L192 171.091L192 96.191L192 21.292L194.452 18.646L196.905 16L224 16L251.095 16L253.548 18.646L256 21.292L256 96.191L256 171.091L253.545 173.545L251.091 176L224 176L196.909 176L194.455 173.545M240 96L240 32L224 32L208 32L208 96L208 160L224 160L240 160L240 96M2.455 109.545L0 107.091L0 64.191L0 21.292L2.452 18.646L4.905 16L32 16L59.095 16L61.548 18.646L64 21.292L64 64.191L64 107.091L61.545 109.545L59.091 112L32 112L4.909 112L2.455 109.545M48 64L48 32L32 32L16 32L16 64L16 96L32 96L48 96L48 64" />
<glyph glyph-name="meta-piechart"
unicode="&#xEA3A;"
horiz-adv-x="256" d="M138.6 253.69L136 251.091L136 196.191L136 141.292L138.452 138.646L140.905 136L196 136L251.095 136L253.548 138.646C256.375 141.697 256.674 146.011 254.928 158.566C253.244 170.669 249.47 182.561 243.519 194.516C225.907 229.895 190.753 253.092 150.85 255.667C141.41 256.276 141.142 256.233 138.6 253.69M168.122 236.597C185.321 232.191 197.699 225.23 210.845 212.572C226.284 197.706 235.623 178.73 239.301 154.75L239.723 152L195.861 152L152 152L152 195.5L152 239L155.372 239C157.226 239 162.964 237.919 168.122 236.597M99 223.334C74.308 219.445 55.585 211.046 38.248 196.079C20.949 181.145 8.926 160.933 2.81 136.5C-0.393 123.703 -0.384 100.524 2.829 87.5C12.647 47.711 39.452 18.289 77.445 5.599C120.986 -8.944 170.479 5.83 199 41.882C213.809 60.601 222.085 81.852 223.643 105.152C224.274 114.605 224.234 114.857 221.689 117.402L219.091 120L169.545 120L120 120L120 169.545L120 219.091L117.545 221.545C115.385 223.706 114.276 223.984 108.295 223.864C104.558 223.789 100.375 223.55 99 223.334M104 158.146L104 109.292L106.452 106.646L108.905 104L158.389 104L207.874 104L207.329 100.25C205.069 84.712 197.327 65.951 188.243 54C144.754 -3.211 56.252 6.11 25.563 71.133C18.723 85.625 16.625 94.912 16.557 111C16.491 126.547 18.185 135.569 23.691 149C32.503 170.497 50.921 189.708 71.77 199.149C79.625 202.706 94.862 206.88 100.25 206.951L104 207L104 158.146" />
<glyph glyph-name="meta-metrics"
unicode="&#xEA3B;"
horiz-adv-x="256" d="M236.237 238.735C234.993 238.056 218.89 215.675 200.453 189C182.016 162.325 166.609 140.388 166.215 140.252C165.822 140.115 150.457 151.703 132.071 166.002C113.685 180.301 97.844 192 96.868 192C91.356 192 90.249 190.362 74.422 158.812L58.965 128L35.937 128L12.909 128L10.455 125.545C7.266 122.357 7.265 118.085 10.452 114.646L12.905 112L37.402 112L61.899 112L113.876 80C144.159 61.356 166.853 48 168.249 48C170.992 48 244.676 104.599 246.735 108.287C249.6 113.418 246.928 118.687 241 119.599C237.666 120.112 235.848 118.853 202.712 93.069C183.578 78.181 167.682 66 167.386 66C166.871 66 75.985 121.755 75.039 122.652C74.453 123.207 98.245 171 99.107 171C99.46 171 114.526 159.525 132.588 145.5C166.907 118.852 168.433 117.95 172.781 121.75C173.882 122.713 191.123 147.125 211.094 176C236.014 212.029 247.532 229.504 247.807 231.702C248.121 234.211 247.613 235.454 245.458 237.452C242.441 240.248 239.705 240.628 236.237 238.735M44.173 94.745C42.477 93.929 37.258 84.452 24.923 59.788C15.615 41.178 8 24.898 8 23.612C8 20.839 12.507 16 15.089 16C20.701 16 21.665 17.454 39.065 52.158C48.379 70.736 56 87.009 56 88.322C56 91.47 51.696 96.018 48.798 95.932C47.534 95.895 45.453 95.361 44.173 94.745" />
<glyph glyph-name="meta-bulb"
unicode="&#xEA3C;"
horiz-adv-x="256" d="M124.5 254.792C120.595 252.553 120.064 250.783 120.032 239.886C120.001 229.732 120.114 229.159 122.636 226.636C126.053 223.219 129.947 223.219 133.364 226.636C135.886 229.159 135.999 229.732 135.968 239.886C135.935 250.914 135.39 252.667 131.316 254.837C128.614 256.276 127.069 256.266 124.5 254.792M40.308 219.99C37.007 218.661 34.659 214.495 35.445 211.363C36.283 208.024 47.524 196.152 51.43 194.482C57.63 191.831 64.157 197.77 61.842 203.957C60.679 207.063 50.516 217.616 46.8 219.576C43.741 221.189 43.346 221.214 40.308 219.99M208.5 219.11C204.247 216.441 195.29 206.976 194.159 203.957C191.842 197.771 198.369 191.831 204.57 194.482C208.476 196.152 219.717 208.024 220.555 211.363C221.373 214.622 218.95 218.688 215.383 220.045C212.066 221.305 211.98 221.294 208.5 219.11M112.113 206.514C93.306 202.262 79.41 193.817 66.472 178.778C37.22 144.776 43.784 91.511 80.616 64L87.98 58.5L87.99 31.896L88 5.292L90.452 2.646L92.905 0L128 0L163.095 0L165.548 2.646L168 5.292L168.004 31.896L168.009 58.5L175.254 63.892C201.986 83.784 213.686 117.584 204.993 149.8C198.146 175.179 175.237 198.03 149.548 205.107C139.292 207.932 121.367 208.606 112.113 206.514M148.165 188.728C173.16 180.7 191.902 155.083 191.983 128.838C192.043 109.18 182.002 88.636 167.091 77.911C163.718 75.485 159.055 72.129 156.729 70.452L152.5 67.405L152.214 57.702L151.928 48L127.964 48L104 48L104 56.566C104 61.277 103.521 66.026 102.936 67.119C102.351 68.212 99.314 70.723 96.186 72.7C83.359 80.805 74.389 90.976 68.955 103.575C61.926 119.873 62.66 139.769 70.908 156.5C77.487 169.844 91.621 183.064 104.146 187.588C118.25 192.682 134.543 193.104 148.165 188.728M4.5 134.792C-0.634 131.848 -1.423 126.696 2.636 122.636C5.157 120.116 5.743 120 16 120C26.257 120 26.843 120.116 29.364 122.636C33.489 126.762 32.606 132.019 27.316 134.837C24.502 136.335 7.131 136.301 4.5 134.792M228.5 134.792C223.366 131.848 222.577 126.696 226.636 122.636C229.157 120.116 229.743 120 240 120C250.257 120 250.843 120.116 253.364 122.636C257.489 126.762 256.606 132.019 251.316 134.837C248.502 136.335 231.131 136.301 228.5 134.792M152 24L152 16L128 16L104 16L104 24L104 32L128 32L152 32L152 24" />
<glyph glyph-name="meta-design"
unicode="&#xEA3D;"
horiz-adv-x="256" d="M52.5 254.792C48.595 252.553 48.064 250.783 48.032 239.886C48.001 229.732 48.114 229.159 50.636 226.636C54.053 223.219 57.947 223.219 61.364 226.636C63.886 229.159 63.999 229.732 63.968 239.886C63.935 250.914 63.39 252.667 59.316 254.837C56.614 256.276 55.069 256.266 52.5 254.792M196.5 254.792C192.595 252.553 192.064 250.783 192.032 239.886C192.001 229.732 192.114 229.159 194.636 226.636C198.053 223.219 201.947 223.219 205.364 226.636C207.886 229.159 207.999 229.732 207.968 239.886C207.935 250.914 207.39 252.667 203.316 254.837C200.614 256.276 199.069 256.266 196.5 254.792M4.5 206.792C-0.634 203.848 -1.423 198.696 2.636 194.636C5.157 192.116 5.743 192 16 192C26.257 192 26.843 192.116 29.364 194.636C33.489 198.762 32.606 204.019 27.316 206.837C24.502 208.335 7.131 208.301 4.5 206.792M50.455 205.545L48 203.091L48 128.191L48 53.292L50.452 50.646L52.905 48L128 48L203.095 48L205.548 50.646L208 53.292L208 128.191L208 203.091L205.545 205.545L203.091 208L128 208L52.909 208L50.455 205.545M228.5 206.792C223.366 203.848 222.577 198.696 226.636 194.636C229.157 192.116 229.743 192 240 192C250.257 192 250.843 192.116 253.364 194.636C257.489 198.762 256.606 204.019 251.316 206.837C248.502 208.335 231.131 208.301 228.5 206.792M192 128L192 64L128 64L64 64L64 128L64 192L128 192L192 192L192 128M4.5 62.792C-0.634 59.848 -1.423 54.696 2.636 50.636C5.157 48.116 5.743 48 16 48C26.257 48 26.843 48.116 29.364 50.636C33.489 54.762 32.606 60.019 27.316 62.837C24.502 64.335 7.131 64.301 4.5 62.792M228.5 62.792C223.366 59.848 222.577 54.696 226.636 50.636C229.157 48.116 229.743 48 240 48C250.257 48 250.843 48.116 253.364 50.636C257.489 54.762 256.606 60.019 251.316 62.837C248.502 64.335 231.131 64.301 228.5 62.792M52.5 30.792C48.595 28.553 48.064 26.783 48.032 15.886C48.001 5.732 48.114 5.159 50.636 2.636C52.196 1.077 54.387 0 56 0C57.613 0 59.804 1.077 61.364 2.636C63.886 5.159 63.999 5.732 63.968 15.886C63.935 26.914 63.39 28.667 59.316 30.837C56.614 32.276 55.069 32.266 52.5 30.792M196.5 30.792C192.595 28.553 192.064 26.783 192.032 15.886C192.001 5.732 192.114 5.159 194.636 2.636C196.196 1.077 198.387 0 200 0C201.613 0 203.804 1.077 205.364 2.636C207.886 5.159 207.999 5.732 207.968 15.886C207.935 26.914 207.39 28.667 203.316 30.837C200.614 32.276 199.069 32.266 196.5 30.792" />
<glyph glyph-name="meta-gift"
unicode="&#xEA3E;"
horiz-adv-x="256" d="M2.455 245.545L0 243.091L0 216.191L0 189.292L2.452 186.646C4.774 184.141 5.412 184 14.452 184L24 184L24 98.646L24 13.292L26.452 10.646L28.905 8L128 8L227.095 8L229.548 10.646L232 13.292L232 98.646L232 184L241.548 184C250.588 184 251.226 184.141 253.548 186.646L256 189.292L256 216.191L256 243.091L253.545 245.545L251.091 248L128 248L4.909 248L2.455 245.545M80 216L80 200L48 200L16 200L16 216L16 232L48 232L80 232L80 216M160 216L160 200L128 200L96 200L96 216L96 232L128 232L160 232L160 216M240 216L240 200L208 200L176 200L176 216L176 232L208 232L240 232L240 216M88 138.689C88 94.553 88.053 93.321 90.028 91.201C94.167 86.758 96.197 87.129 112.679 95.35L128.021 103.002L142.998 95.501C151.235 91.375 159.127 88 160.535 88C162.019 88 164.126 89.112 165.548 90.646L168 93.292L168 138.646L168 184L192 184L216 184L216 104L216 24L128 24L40 24L40 104L40 184L64 184L88 184L88 138.689M152 146.492L152 108.983L141.017 114.492C134.976 117.521 129.118 120 128 120C126.882 120 121.024 117.521 114.983 114.492L104 108.983L104 146.492L104 184L128 184L152 184L152 146.492" />
<glyph glyph-name="meta-box"
unicode="&#xEA3F;"
horiz-adv-x="256" d="M59.797 218.967C24.608 201.329 1.685 189.28 1.047 188.087C-0.401 185.383 -0.401 78.617 1.047 75.912C2.238 73.687 132.769 8 136 8C139.226 8 253.763 65.688 254.953 67.913C256.401 70.617 256.401 177.383 254.953 180.088C253.679 182.469 123.063 248.026 119.753 247.945C118.514 247.915 91.534 234.875 59.797 218.967M174.498 203.754C204.474 188.769 229 176.272 229 175.982C229 175.693 220.952 171.452 211.116 166.558L193.233 157.66L145.366 182.506C119.04 196.171 94.845 208.811 91.599 210.594L85.698 213.837L102.599 222.366C111.895 227.056 119.611 230.918 119.748 230.947C119.884 230.976 144.521 218.739 174.498 203.754M115 180.267C134.525 170.105 156.095 158.843 162.934 155.242L175.367 148.694L155.69 138.845L136.012 128.996L81.506 156.244C51.528 171.23 27 183.724 27 184.007C27 184.291 36.112 189.076 47.25 194.641L67.5 204.76L73.5 201.752C76.8 200.097 95.475 190.429 115 180.267M128 71.996L128 28.996L72 57L16 85.004L16 128.004L16 171.004L72 143L128 114.996L128 71.996M240 120.002L240 77.004L192 53L144 28.996L144 71.996L144 114.996L191.75 138.943C218.012 152.114 239.613 162.915 239.75 162.945C239.887 162.975 240 143.651 240 120.002" />
<glyph glyph-name="meta-apps"
unicode="&#xEA40;"
horiz-adv-x="256" d="M46.259 245.992C30.161 241.774 17.35 229.982 10.957 213.5C7.584 204.805 7.584 187.195 10.957 178.5C15.794 166.027 24.304 156.315 35.728 150.226C63.495 135.426 97.409 148.505 109.043 178.5C110.997 183.537 111.37 186.347 111.37 196C111.37 205.653 110.997 208.463 109.043 213.5C98.976 239.456 72.871 252.966 46.259 245.992M182.259 245.992C166.161 241.774 153.35 229.982 146.957 213.5C145.003 208.463 144.63 205.653 144.63 196C144.63 186.347 145.003 183.537 146.957 178.5C151.794 166.027 160.304 156.315 171.728 150.226C199.495 135.426 233.409 148.505 245.043 178.5C246.997 183.537 247.37 186.347 247.37 196C247.37 205.653 246.997 208.463 245.043 213.5C234.976 239.456 208.871 252.966 182.259 245.992M74.79 228.505C82.288 225.085 89.167 218.203 92.676 210.61C95.09 205.387 95.495 203.266 95.462 196C95.43 188.88 94.972 186.508 92.638 181.39C89.154 173.747 82.351 166.963 74.5 163.3C69.408 160.924 67.214 160.5 60 160.5C52.786 160.5 50.592 160.924 45.5 163.3C37.649 166.963 30.846 173.747 27.362 181.39C25.028 186.508 24.57 188.88 24.538 196C24.506 203.263 24.908 205.373 27.301 210.5C32.023 220.616 41.22 228.32 51.746 230.977C57.94 232.54 68.405 231.418 74.79 228.505M210.79 228.505C218.288 225.085 225.167 218.203 228.676 210.61C231.09 205.387 231.495 203.266 231.462 196C231.43 188.88 230.972 186.508 228.638 181.39C225.154 173.747 218.351 166.963 210.5 163.3C205.408 160.924 203.214 160.5 196 160.5C188.786 160.5 186.592 160.924 181.5 163.3C173.649 166.963 166.846 173.747 163.362 181.39C161.028 186.508 160.57 188.88 160.538 196C160.506 203.263 160.908 205.373 163.301 210.5C168.023 220.616 177.22 228.32 187.746 230.977C193.94 232.54 204.405 231.418 210.79 228.505M46.259 109.992C30.161 105.774 17.35 93.982 10.957 77.5C9.003 72.463 8.63 69.653 8.63 60C8.63 50.347 9.003 47.537 10.957 42.5C15.794 30.027 24.304 20.315 35.728 14.226C63.495 -0.574 97.409 12.505 109.043 42.5C110.997 47.537 111.37 50.347 111.37 60C111.37 69.653 110.997 72.463 109.043 77.5C98.976 103.456 72.871 116.966 46.259 109.992M182.259 109.992C166.161 105.774 153.35 93.982 146.957 77.5C145.003 72.463 144.63 69.653 144.63 60C144.63 50.347 145.003 47.537 146.957 42.5C151.794 30.027 160.304 20.315 171.728 14.226C199.495 -0.574 233.409 12.505 245.043 42.5C246.997 47.537 247.37 50.347 247.37 60C247.37 69.653 246.997 72.463 245.043 77.5C234.976 103.456 208.871 116.966 182.259 109.992M74.79 92.505C82.288 89.085 89.167 82.203 92.676 74.61C95.09 69.387 95.495 67.266 95.462 60C95.43 52.88 94.972 50.508 92.638 45.39C89.154 37.747 82.351 30.963 74.5 27.3C69.408 24.924 67.214 24.5 60 24.5C52.786 24.5 50.592 24.924 45.5 27.3C37.649 30.963 30.846 37.747 27.362 45.39C25.028 50.508 24.57 52.88 24.538 60C24.506 67.263 24.908 69.373 27.301 74.5C32.023 84.616 41.22 92.32 51.746 94.977C57.94 96.54 68.405 95.418 74.79 92.505M210.79 92.505C218.288 89.085 225.167 82.203 228.676 74.61C231.09 69.387 231.495 67.266 231.462 60C231.43 52.88 230.972 50.508 228.638 45.39C225.154 37.747 218.351 30.963 210.5 27.3C205.408 24.924 203.214 24.5 196 24.5C188.786 24.5 186.592 24.924 181.5 27.3C173.649 30.963 166.846 37.747 163.362 45.39C161.028 50.508 160.57 52.88 160.538 60C160.506 67.263 160.908 69.373 163.301 74.5C168.023 84.616 177.22 92.32 187.746 94.977C193.94 96.54 204.405 95.418 210.79 92.505" />
<glyph glyph-name="meta-message"
unicode="&#xEA41;"
horiz-adv-x="256" d="M22.296 246.562C12.406 243.448 3.129 233.383 1.012 223.469C0.306 220.164 0.043 195.389 0.225 149.478L0.5 80.456L3.834 73.685C6.227 68.825 8.574 65.803 12.149 62.976C20.34 56.502 23.459 56.003 55.932 55.978L84.5 55.955L103.5 33.015C122.959 9.52 125.943 6.83 130.59 8.59C131.912 9.09 141.6 19.85 152.12 32.5L171.247 55.5L201.874 56C230.514 56.468 232.801 56.639 237.149 58.649C243.384 61.532 249.627 67.973 252.852 74.852L255.5 80.5L255.5 152.5L255.5 224.5L253.047 229.484C250.023 235.631 243.542 242.062 237.25 245.161L232.5 247.5L129.5 247.693C46.421 247.848 25.687 247.629 22.296 246.562M230.655 230.359C232.557 229.457 235.325 227.13 236.806 225.188L239.5 221.657L239.77 153.345C240.07 77.523 240.323 80.638 233.436 75.382L229.66 72.5L197.58 72C178.903 71.709 164.815 71.082 163.86 70.5C162.958 69.95 154.728 60.5 145.572 49.5C136.416 38.5 128.509 29.5 128 29.5C127.491 29.5 119.584 38.5 110.428 49.5C101.272 60.5 93.042 69.95 92.14 70.5C91.185 71.082 77.097 71.709 58.42 72L26.34 72.5L22.564 75.382C15.677 80.638 15.93 77.523 16.23 153.345L16.5 221.657L19.18 225.169C24.706 232.413 17.339 231.952 127.849 231.977C217.904 231.998 227.521 231.847 230.655 230.359M58.455 181.545C55.266 178.357 55.265 174.085 58.452 170.646L60.905 168L128 168L195.095 168L197.548 170.646C200.735 174.085 200.734 178.357 197.545 181.545L195.091 184L128 184L60.909 184L58.455 181.545M58.455 133.545C55.266 130.357 55.265 126.085 58.452 122.646L60.905 120L100 120L139.095 120L141.548 122.646C144.735 126.085 144.734 130.357 141.545 133.545L139.091 136L100 136L60.909 136L58.455 133.545" />
<glyph glyph-name="meta-support"
unicode="&#xEA42;"
horiz-adv-x="256" d="M130.455 245.545L128 243.091L128 188.191L128 133.292L130.452 130.646C135.085 125.647 136.841 126.476 158.753 144L178.76 160L214.928 160L251.095 160L253.548 162.646L256 165.292L256 204.191L256 243.091L253.545 245.545L251.091 248L192 248L132.909 248L130.455 245.545M240 204L240 176L206.608 176L173.217 176L159.858 165.343C152.511 159.482 145.938 154.252 145.25 153.721C144.255 152.952 144 160.831 144 192.378L144 232L192 232L240 232L240 204M63.932 183.043C53.359 181.133 41.135 171.712 36.15 161.633C32.674 154.604 31.354 145.4 32.697 137.56C34.198 128.797 37.46 122.599 44.03 116.03C50.599 109.46 56.797 106.198 65.56 104.697C78.401 102.497 90.384 106.444 99.97 116.03C106.54 122.599 109.802 128.797 111.303 137.56C115.173 160.155 98.276 181.779 75.5 183.377C71.65 183.648 66.444 183.497 63.932 183.043M82.622 165.177C90.993 160.873 95.434 153.53 95.429 144C95.419 122.942 70.711 112.144 55.812 126.685C42.256 139.917 47.589 161.098 65.994 167.124C69.845 168.385 78.311 167.394 82.622 165.177M55.5 87.372C35.806 84.417 19.602 79.667 13.071 74.936C10.836 73.317 7.651 70.121 5.994 67.833C0.843 60.722 0 55.89 0 33.465C0 13.438 0.018 13.273 2.452 10.646L4.905 8L72 8L139.095 8L141.548 10.646C143.982 13.273 144 13.438 144 33.465C144 55.89 143.157 60.722 138.006 67.833C133.599 73.917 128.026 77.499 117.683 80.895C103.259 85.631 93.218 87.19 75 87.522C65.925 87.687 57.15 87.62 55.5 87.372M91 70.606C103.338 68.846 116.233 65.323 120.183 62.634C126.944 58.03 127.467 56.44 127.82 39.431L128.141 24L72 24L15.859 24L16.18 39.431C16.466 53.23 16.721 55.159 18.592 57.681C21.879 62.111 26.293 64.589 35.226 67.019C52.926 71.834 73.232 73.14 91 70.606" />
<glyph glyph-name="meta-star"
unicode="&#xEA43;"
horiz-adv-x="256" d="M123.524 240.641C122.502 239.894 113.978 224.031 104.583 205.391L87.5 171.5L51 166.257C30.925 163.373 13.481 160.567 12.235 160.021C7.108 157.776 6.914 150.834 11.847 146.122C13.357 144.68 25.545 132.713 38.931 119.528L63.27 95.557L56.903 57.895C49.905 16.499 49.901 16.276 56.111 14.111C59.401 12.964 62.893 14.569 103.25 35.771L128 48.774L152.75 35.771C166.363 28.619 181.912 20.594 187.304 17.936C198.059 12.636 199.849 12.577 203.454 17.406L205.469 20.105L199.095 57.826L192.721 95.548L217.064 119.524C230.453 132.711 242.643 144.68 244.153 146.122C249.086 150.834 248.892 157.776 243.765 160.021C242.519 160.567 225.075 163.373 205 166.257L168.5 171.5L151.5 205.139C142.15 223.641 133.882 239.503 133.128 240.389C131.454 242.354 126.059 242.495 123.524 240.641M142.514 186.929C150.206 171.49 157.019 158.421 157.654 157.887C158.288 157.352 172.913 154.86 190.154 152.348C207.394 149.836 221.649 147.644 221.831 147.476C222.013 147.308 212.016 137.186 199.615 124.981C187.215 112.777 176.789 101.912 176.448 100.837C176.107 99.762 178.171 85.163 181.034 68.395C183.898 51.627 185.991 37.658 185.686 37.352C185.381 37.047 173.064 43.214 158.315 51.056C138.529 61.578 130.583 65.315 128 65.315C125.417 65.315 117.471 61.578 97.685 51.056C82.936 43.214 70.608 37.059 70.289 37.378C69.97 37.697 72.062 51.669 74.938 68.426C77.815 85.183 79.89 99.771 79.55 100.843C79.21 101.915 68.785 112.777 56.385 124.981C43.984 137.186 33.987 147.308 34.169 147.476C34.351 147.644 48.606 149.836 65.846 152.348C83.087 154.86 97.712 157.352 98.346 157.887C98.981 158.421 105.794 171.49 113.486 186.929C121.178 202.368 127.709 215 128 215C128.291 215 134.822 202.368 142.514 186.929" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -16,15 +16,9 @@
<glyph glyph-name="bin"
unicode="&#xEA04;"
horiz-adv-x="256" d="M82.455 253.545C80.035 251.126 80 250.841 80 233.545L80 216L46.455 216L12.909 216L10.455 213.545C7.266 210.357 7.265 206.085 10.452 202.646L12.905 200L128 200L243.095 200L245.548 202.646C248.735 206.085 248.734 210.357 245.545 213.545L243.091 216L209.545 216L176 216L176 233.545C176 250.841 175.965 251.126 173.545 253.545L171.091 256L128 256L84.909 256L82.455 253.545M160 228L160 216L128 216L96 216L96 228L96 240L128 240L160 240L160 228M34.436 181.527L31.964 179.055L32.232 101.756L32.5 24.456L35.834 17.685C38.231 12.816 40.573 9.803 44.17 6.96C53.29 -0.249 51.205 -0.086 130.096 0.224C199.729 0.497 200.551 0.524 205.149 2.649C211.384 5.532 217.627 11.973 220.852 18.852L223.5 24.5L223.774 101.772L224.048 179.043L221.569 181.522C218.298 184.793 213.712 184.803 210.455 181.545L208 179.091L208 104.013C208 20.889 208.289 24.61 201.434 19.382L197.656 16.5L128 16.5L58.344 16.5L54.566 19.382C47.711 24.61 48 20.889 48 104.013L48 179.091L45.545 181.545C42.29 184.8 37.702 184.793 34.436 181.527M82.455 141.545L80 139.091L80 96.191L80 53.292L82.452 50.646C85.744 47.094 90.256 47.094 93.548 50.646L96 53.292L96 96.191L96 139.091L93.545 141.545C91.998 143.093 89.948 144 88 144C86.052 144 84.002 143.093 82.455 141.545M122.455 141.545L120 139.091L120 96.191L120 53.292L122.452 50.646C125.744 47.094 130.256 47.094 133.548 50.646L136 53.292L136 96.191L136 139.091L133.545 141.545C131.998 143.093 129.948 144 128 144C126.052 144 124.002 143.093 122.455 141.545M162.455 141.545L160 139.091L160 96.191L160 53.292L162.452 50.646C165.744 47.094 170.256 47.094 173.548 50.646L176 53.292L176 96.191L176 139.091L173.545 141.545C171.998 143.093 169.948 144 168 144C166.052 144 164.002 143.093 162.455 141.545" />
<glyph glyph-name="code"
unicode="&#xEA05;"
horiz-adv-x="256" d="M155.286 222.228C151.906 219.59 87.705 42.75 88.504 38.279C89.592 32.188 96.812 29.945 101.073 34.372C102.599 35.957 114.096 66.243 135.714 125.622C161.657 196.882 167.957 215.139 167.496 217.721C166.475 223.436 159.93 225.852 155.286 222.228M34.271 157.729C10.143 133.601 8 131.179 8 128.035C8 124.893 10.152 122.456 34.255 98.306C57.976 74.539 60.827 72 63.802 72C68.028 72 72 76.043 72 80.345C72 82.989 69.02 86.389 49.789 105.689L27.578 127.98L49.789 150.332C69.462 170.131 72 173.051 72 175.888C72 180.208 68.174 184 63.816 184C60.867 184 57.935 181.393 34.271 157.729M186.455 181.545C184.87 179.961 184 177.955 184 175.888C184 173.051 186.538 170.131 206.211 150.332L228.422 127.98L206.211 105.689C186.98 86.389 184 82.989 184 80.345C184 76.043 187.972 72 192.198 72C195.173 72 198.024 74.539 221.745 98.306C245.848 122.456 248 124.893 248 128.035C248 131.179 245.857 133.601 221.729 157.729C198.065 181.393 195.133 184 192.184 184C190.04 184 188.061 183.152 186.455 181.545" />
<glyph glyph-name="attachment"
unicode="&#xEA06;"
horiz-adv-x="256" d="M97.173 253.971C77.472 248.81 60.413 230.258 57.061 210.348C56.243 205.494 55.998 182.824 56.219 132.5L56.53 61.5L58.879 54.5C68.381 26.182 89.899 6.75 117.628 1.444C156.095 -5.916 192.225 15.994 205.116 54.5C207.459 61.5 207.459 61.502 207.778 124.247L208.097 186.994L205.594 189.497C202.298 192.793 197.722 192.813 194.455 189.545L192 187.091L191.983 128.295C191.963 62.843 191.867 61.667 185.459 48.885C180.47 38.934 168.348 26.876 158.599 22.166C141.775 14.039 122.225 14.039 105.401 22.166C95.054 27.165 83.376 39.007 78.163 49.785C75.895 54.475 73.687 60.936 73.044 64.766C72.257 69.45 72.002 92.503 72.206 140.5L72.5 209.5L75.709 216.274C83.659 233.059 100.659 242.175 118.498 239.219C122.072 238.627 127.135 237.098 129.748 235.821C136.76 232.396 144.539 224.196 148.291 216.274L151.5 209.5L151.5 139.337L151.5 69.173L148.5 64.913C140.228 53.168 123.774 53.167 115.5 64.912L112.5 69.17L112 132.674L111.5 196.178L109.139 198.089C105.839 200.76 101.434 200.525 98.426 197.517L95.943 195.034L96.222 131.267L96.5 67.5L99.3 61.5C102.944 53.69 109.743 46.858 117.39 43.324C122.578 40.926 124.783 40.5 132 40.5C139.217 40.5 141.422 40.926 146.61 43.324C154.257 46.858 161.056 53.69 164.7 61.5L167.5 67.5L167.791 135.5C167.995 183.283 167.74 205.536 166.934 210.348C164.503 224.854 153.774 240.133 140.25 248.348C128.325 255.592 111.665 257.767 97.173 253.971" />
<glyph glyph-name="align-justify"
unicode="&#xEA07;"
horiz-adv-x="256" d="M2.455 229.545C-0.734 226.357 -0.735 222.085 2.452 218.646L4.905 216L128 216L251.095 216L253.548 218.646C256.735 222.085 256.734 226.357 253.545 229.545L251.091 232L128 232L4.909 232L2.455 229.545M2.455 181.545C-0.734 178.357 -0.735 174.085 2.452 170.646L4.905 168L128 168L251.095 168L253.548 170.646C256.735 174.085 256.734 178.357 253.545 181.545L251.091 184L128 184L4.909 184L2.455 181.545M2.455 133.545C-0.734 130.357 -0.735 126.085 2.452 122.646L4.905 120L128 120L251.095 120L253.548 122.646C256.735 126.085 256.734 130.357 253.545 133.545L251.091 136L128 136L4.909 136L2.455 133.545M2.455 85.545C-0.734 82.357 -0.735 78.085 2.452 74.646L4.905 72L128 72L251.095 72L253.548 74.646C256.735 78.085 256.734 82.357 253.545 85.545L251.091 88L128 88L4.909 88L2.455 85.545M2.455 37.545C-0.734 34.357 -0.735 30.085 2.452 26.646L4.905 24L128 24L251.095 24L253.548 26.646C256.735 30.085 256.734 34.357 253.545 37.545L251.091 40L128 40L4.909 40L2.455 37.545" />
<glyph glyph-name="pen-2"
unicode="&#xEA08;"
horiz-adv-x="256" d="M182.885 246.681C180.897 245.937 177.972 244.385 176.385 243.231C174.798 242.077 139.941 207.466 98.924 166.317L24.348 91.5L16.019 53.46C8.323 18.313 7.797 15.197 9.097 12.483C11.724 7.001 12.465 7.065 54.002 16.344L92.422 24.927L167.275 99.714C209.499 141.901 243.298 176.462 244.813 179C247.055 182.755 247.496 184.658 247.474 190.5C247.455 195.322 246.875 198.589 245.606 201C243.024 205.909 206.34 242.723 201.572 245.19C196.614 247.755 187.664 248.469 182.885 246.681M212.297 213.422C222.309 203.204 230.893 194.008 231.374 192.986C231.855 191.964 231.981 190.086 231.654 188.814C231.327 187.541 197.858 153.329 157.279 112.786L83.5 39.071L55.7 32.919C40.41 29.535 27.661 27.005 27.37 27.297C27.078 27.588 29.642 40.423 33.066 55.818L39.292 83.81L113.412 157.905C181.449 225.92 187.801 232 190.813 232C193.751 232 196.002 230.054 212.297 213.422" />
@ -139,9 +133,6 @@
<glyph glyph-name="box"
unicode="&#xEA35;"
horiz-adv-x="256" d="M2.455 237.545L0 235.091L0 208.191L0 181.292L2.452 178.646L4.905 176L128 176L251.095 176L253.548 178.646L256 181.292L256 208.191L256 235.091L253.545 237.545L251.091 240L128 240L4.909 240L2.455 237.545M240 208L240 192L128 192L16 192L16 208L16 224L128 224L240 224L240 208M26.455 157.545L24 155.091L24 84.191L24 13.292L26.452 10.646L28.905 8L128 8L227.095 8L229.548 10.646L232 13.292L232 84.191L232 155.091L229.545 157.545C226.298 160.793 221.702 160.793 218.455 157.545L216 155.091L216 89.545L216 24L128 24L40 24L40 89.545L40 155.091L37.545 157.545C35.998 159.093 33.948 160 32 160C30.052 160 28.002 159.093 26.455 157.545M90.455 141.545L88 139.091L88 116.191L88 93.292L90.452 90.646L92.905 88L128 88L163.095 88L165.548 90.646L168 93.292L168 116.191L168 139.091L165.545 141.545L163.091 144L128 144L92.909 144L90.455 141.545M152 116L152 104L128 104L104 104L104 116L104 128L128 128L152 128L152 116" />
<glyph glyph-name="gallery-view"
unicode="&#xEA36;"
horiz-adv-x="256" d="M10.455 245.545L8 243.091L8 128.191L8 13.292L10.452 10.646L12.905 8L128 8L243.095 8L245.548 10.646L248 13.292L248 128.191L248 243.091L245.545 245.545L243.091 248L128 248L12.909 248L10.455 245.545M120 184L120 136L72 136L24 136L24 184L24 232L72 232L120 232L120 184M232 184L232 136L184 136L136 136L136 184L136 232L184 232L232 232L232 184M120 72L120 24L72 24L24 24L24 72L24 120L72 120L120 120L120 72M232 72L232 24L184 24L136 24L136 72L136 120L184 120L232 120L232 72" />
<glyph glyph-name="time"
unicode="&#xEA37;"
horiz-adv-x="256" d="M114.605 246.901C57.072 240.835 11.821 192.988 8.302 134.5C7.782 125.856 7.863 125.391 10.333 122.75C13.685 119.166 18.22 119.056 21.396 122.482C23.327 124.565 23.795 126.453 24.311 134.232C25.477 151.807 31.962 171.018 41.717 185.79C43.791 188.931 49.004 195.176 53.303 199.668C75.38 222.741 106.699 234.235 138.638 230.986C163.084 228.499 185.628 217.481 202.718 199.668C242.227 158.486 241.203 94.209 200.391 53.645C177.003 30.4 140.083 19.33 108.048 25.958C90.844 29.517 73.606 37.754 61.555 48.173C61.005 48.648 64.818 53.278 70.674 59.245C76.209 64.885 81.033 70.453 81.394 71.618C82.281 74.478 80.594 78.575 77.795 80.355C75.059 82.096 13.695 96 8.748 96C5.178 96 2.72 94.095 1.623 90.478C0.732 87.538 15.605 22.077 17.864 19C19.139 17.263 20.838 16.404 23.432 16.185C26.978 15.885 27.715 16.41 38.042 26.586L48.917 37.303L54.307 33.233C96.352 1.489 151.175 -0.356 194.56 28.511C256.404 69.661 265.874 157.831 214.135 210.756C193.391 231.975 169.532 243.549 139.5 246.961C129.415 248.107 125.957 248.099 114.605 246.901M122.455 205.545L120 203.091L120 164.191L120 125.292L122.452 122.646L124.905 120L164 120L203.095 120L205.548 122.646C208.735 126.085 208.734 130.357 205.545 133.545L203.091 136L169.545 136L136 136L136 169.545L136 203.091L133.545 205.545C131.998 207.093 129.948 208 128 208C126.052 208 124.002 207.093 122.455 205.545M39.278 73.402C48.2 71.423 55.829 69.496 56.231 69.121C56.634 68.745 50.523 62.009 42.653 54.152L28.342 39.868L24.595 56.684C22.534 65.933 20.626 74.287 20.356 75.25C19.684 77.645 20.511 77.564 39.278 73.402" />
@ -154,33 +145,15 @@
<glyph glyph-name="button-2"
unicode="&#xEA3A;"
horiz-adv-x="256" d="M2.455 253.545L0 251.091L0 180.191L0 109.292L2.452 106.646L4.905 104L40.875 104L76.846 104L86.673 74.399C96.622 44.43 98.736 40 103.089 40C108.59 40 109.788 41.725 124.146 70.327L138.179 98.281L171.374 65.14C201.392 35.172 204.881 32 207.832 32C212.035 32 216 36.059 216 40.361C216 43.058 211.971 47.466 182.849 76.636L149.698 109.842L176.782 123.391C191.679 130.843 204.797 137.939 205.933 139.159C209.94 143.459 207.84 148.981 201.12 151.812C192.758 155.334 57.468 200 55.16 200C52.383 200 48 195.463 48 192.588C48 191.422 53.175 174.957 59.5 156C65.825 137.043 71 121.188 71 120.766C71 120.345 58.625 120 43.5 120L16 120L16 180L16 240L128 240L240 240L240 180L240 120L222.455 120C205.159 120 204.874 119.965 202.455 117.545C199.266 114.357 199.265 110.085 202.452 106.646L204.905 104L228 104L251.095 104L253.548 106.646L256 109.292L256 180.191L256 251.091L253.545 253.545L251.091 256L128 256L4.909 256L2.455 253.545M125.254 160.401L179.007 142.512L154.506 130.253L130.005 117.995L117.747 93.494L105.488 68.993L87.599 122.746C77.759 152.311 69.471 177.141 69.181 177.924C68.838 178.849 69.151 179.162 70.076 178.819C70.859 178.529 95.689 170.241 125.254 160.401" />
<glyph glyph-name="ctrl-down"
unicode="&#xEA3D;"
horiz-adv-x="256" d="M10.573 173.664C7.793 170.883 7.363 167.77 9.285 164.319C11.22 160.845 125.043 80 128 80C130.957 80 244.78 160.845 246.715 164.319C248.637 167.77 248.207 170.883 245.427 173.664C243.383 175.708 242.183 176.129 239.6 175.71C237.418 175.356 218.52 162.448 182.174 136.486L128 97.79L73.826 136.486C37.48 162.448 18.582 175.356 16.4 175.71C13.817 176.129 12.617 175.708 10.573 173.664" />
<glyph glyph-name="ctrl-left"
unicode="&#xEA3E;"
horiz-adv-x="256" d="M163.3 246.344C162.115 245.33 142.888 218.895 120.573 187.6C91.21 146.422 80 129.955 80 128.001C80 126.044 91.433 109.295 121.53 67.162C164.684 6.75 164.545 6.916 170.482 8.406C173.371 9.131 176.374 14.266 175.766 17.443C175.536 18.645 157.927 44.011 136.634 73.812L97.92 127.996L136.96 182.648C165.541 222.659 176 238.034 176 240.04C176 246.166 167.83 250.222 163.3 246.344" />
<glyph glyph-name="ctrl-up"
unicode="&#xEA3F;"
horiz-adv-x="256" d="M68 135.009C36.375 112.41 9.938 93.178 9.25 92.269C5.599 87.446 10.285 79.434 16.307 80.201C18.544 80.486 35.747 92.229 73.75 119.409L128 158.21L182.25 119.409C220.253 92.229 237.456 80.486 239.693 80.201C246.106 79.384 250.542 87.886 246.25 92.77C245.287 93.866 219.075 112.904 188 135.079C149.971 162.215 130.519 175.51 128.5 175.746C125.912 176.048 117.609 170.458 68 135.009" />
<glyph glyph-name="menu-6"
unicode="&#xEA40;"
horiz-adv-x="256" d="M10.455 229.545C8.022 227.113 8 226.924 8 208.191C8 189.516 8.029 189.261 10.452 186.646L12.905 184L128 184L243.095 184L245.548 186.646C247.971 189.261 248 189.516 248 208.191C248 226.924 247.978 227.113 245.545 229.545L243.091 232L128 232L12.909 232L10.455 229.545M232 208L232 200L128 200L24 200L24 208L24 216L128 216L232 216L232 208M10.455 149.545C8.022 147.113 8 146.924 8 128.191C8 109.516 8.029 109.261 10.452 106.646L12.905 104L128 104L243.095 104L245.548 106.646C247.971 109.261 248 109.516 248 128.191C248 146.924 247.978 147.113 245.545 149.545L243.091 152L128 152L12.909 152L10.455 149.545M232 128L232 120L128 120L24 120L24 128L24 136L128 136L232 136L232 128M10.455 69.545C8.022 67.113 8 66.924 8 48.191C8 29.516 8.029 29.261 10.452 26.646L12.905 24L128 24L243.095 24L245.548 26.646C247.971 29.261 248 29.516 248 48.191C248 66.924 247.978 67.113 245.545 69.545L243.091 72L128 72L12.909 72L10.455 69.545M232 48L232 40L128 40L24 40L24 48L24 56L128 56L232 56L232 48" />
<glyph glyph-name="pulse"
unicode="&#xEA41;"
horiz-adv-x="256" d="M92.186 214.751C90.497 213.938 84.619 203.153 70.422 174.819L50.972 136L27.94 136L4.909 136L2.455 133.545C-0.734 130.357 -0.735 126.085 2.452 122.646L4.905 120L31.518 120C48.127 120 58.866 120.393 60.086 121.046C61.243 121.665 68.804 135.614 78.633 155.266L95.226 188.441L123.875 116.97C139.631 77.662 153.086 44.507 153.774 43.293C155.272 40.648 160.894 39.338 163.882 40.937C165.23 41.658 172.926 55.93 185.502 81.028L205.028 120L228.062 120L251.095 120L253.548 122.646C256.735 126.085 256.734 130.357 253.545 133.545L251.091 136L224.48 136C207.873 136 197.134 135.607 195.914 134.954C194.757 134.335 187.196 120.386 177.367 100.734L160.774 67.559L131.835 140.03C113.844 185.085 102.117 213.162 100.837 214.25C98.516 216.223 95.597 216.392 92.186 214.751" />
<glyph glyph-name="reload"
unicode="&#xEA42;"
horiz-adv-x="256" d="M115 239.344C73.669 233.001 41.465 209.174 25.671 173.254C21.167 163.009 19.299 156.682 17.476 145.5C15.231 131.736 15.483 125.85 18.452 122.646C21.744 119.094 26.256 119.094 29.548 122.646C31.5 124.753 32 126.357 32 130.515C32 144.956 37.815 164.409 46.21 178.05C66.21 210.549 103.744 228.187 141.678 222.912C160.359 220.315 179.098 211.303 193.118 198.173C199.714 191.997 208 182.326 208 180.805C208 180.57 198.438 181.628 186.75 183.157C160.3 186.616 158.95 186.64 156.174 183.686C151.958 179.197 153.805 172.69 159.766 171.033C163.506 169.993 215.855 163.022 221.5 162.812C225.68 162.656 228.832 163.817 229.961 165.928C230.912 167.704 239 227.169 239 232.381C239 235.849 234.897 240 231.469 240C229.935 240 227.716 238.858 226.122 237.25C223.571 234.674 223.255 233.329 221.121 216C219.868 205.825 218.657 196.91 218.429 196.189C218.185 195.415 216.03 197.263 213.172 200.697C196.975 220.16 170.968 234.642 145.252 238.518C136.313 239.866 121.104 240.281 115 239.344M226.619 133.71C224.676 131.767 224.231 129.986 223.684 121.96C222.142 99.337 212.904 78.132 197.64 62.182C182.621 46.487 165.39 37.235 144.316 33.548C114.392 28.314 84.34 37.384 62.328 58.293C56.053 64.254 48 73.754 48 75.195C48 75.43 57.563 74.372 69.25 72.843C95.7 69.384 97.05 69.36 99.826 72.314C104.042 76.803 102.195 83.31 96.234 84.967C92.494 86.007 40.145 92.978 34.5 93.188C29.887 93.36 27.419 92.215 26.085 89.286C24.926 86.744 17.014 29.598 17.005 23.705C16.999 20.15 21.053 16 24.531 16C26.065 16 28.284 17.142 29.878 18.75C32.429 21.326 32.745 22.671 34.879 40C36.132 50.175 37.343 59.09 37.571 59.811C37.816 60.588 39.979 58.752 42.873 55.311C52.149 44.284 62.915 35.829 76.83 28.642C120.335 6.173 172.147 14.27 207.053 48.992C219.183 61.059 227.031 73.514 233.835 91.5C236.291 97.992 239.029 111.973 239.643 121.152C240.274 130.605 240.234 130.857 237.689 133.402C234.369 136.722 229.759 136.85 226.619 133.71" />
<glyph glyph-name="copy"
unicode="&#xEA43;"
horiz-adv-x="256" d="M42.455 253.545C39.266 250.357 39.265 246.085 42.452 242.646L44.905 240L134.452 240L224 240L224 134.646L224 29.292L226.452 26.646C229.744 23.094 234.256 23.094 237.548 26.646L240 29.292L240 140.191L240 251.091L237.545 253.545L235.091 256L140 256L44.909 256L42.455 253.545M18.455 221.545L16 219.091L16 112.191L16 5.292L18.452 2.646L20.905 0L112 0L203.095 0L205.548 2.646L208 5.292L208 112.191L208 219.091L205.545 221.545L203.091 224L112 224L20.909 224L18.455 221.545M192 112L192 16L112 16L32 16L32 112L32 208L112 208L192 208L192 112M58.455 165.545C55.266 162.357 55.265 158.085 58.452 154.646L60.905 152L112 152L163.095 152L165.548 154.646C168.735 158.085 168.734 162.357 165.545 165.545L163.091 168L112 168L60.909 168L58.455 165.545M58.455 117.545C55.266 114.357 55.265 110.085 58.452 106.646L60.905 104L112 104L163.095 104L165.548 106.646C168.735 110.085 168.734 114.357 165.545 117.545L163.091 120L112 120L60.909 120L58.455 117.545M58.455 69.545C55.266 66.357 55.265 62.085 58.452 58.646L60.905 56L80 56L99.095 56L101.548 58.646C104.735 62.085 104.734 66.357 101.545 69.545C99.111 71.98 98.936 72 80 72C61.064 72 60.889 71.98 58.455 69.545" />
<glyph glyph-name="list-numbers"
unicode="&#xEA45;"
horiz-adv-x="256" d="M15.394 234.584C15.095 233.806 14.997 231.893 15.175 230.334C15.455 227.889 16.084 227.377 19.75 226.608L24 225.716L24 207.465C24 187.304 24.237 188 17.358 188C13.95 188 13.886 187.924 14.19 184.25L14.5 180.5L31.25 180.226L48 179.952L48 183.976C48 187.755 47.823 188 45.082 188C38.748 188 39 186.979 39 212.607L39 236L27.469 236C18.447 236 15.819 235.692 15.394 234.584M90.455 213.545C87.266 210.357 87.265 206.085 90.452 202.646L92.905 200L172 200L251.095 200L253.548 202.646C256.735 206.085 256.734 210.357 253.545 213.545L251.091 216L172 216L92.909 216L90.455 213.545M17.97 153.75C12.678 151.077 9 145.993 9 141.352L9 138L14.5 138C17.525 138 20.305 137.888 20.678 137.75C21.051 137.612 21.717 138.849 22.158 140.499C23.582 145.822 29.123 147.703 33.777 144.443C39.217 140.633 35.066 133.046 19.474 118.3C9.413 108.784 9 108.228 9 104.197L9 100L31.5 100L54 100L54 109.052L54 118.105L48.777 117.802L43.555 117.5L42.718 113.25L41.882 109L34.257 109L26.631 109L36.624 118.75C50.233 132.028 53.074 138.523 49.151 147.391C46.345 153.735 41.53 155.948 30.462 155.978C24.082 155.995 21.505 155.536 17.97 153.75M90.455 133.545C87.266 130.357 87.265 126.085 90.452 122.646L92.905 120L172 120L251.095 120L253.548 122.646C256.735 126.085 256.734 130.357 253.545 133.545L251.091 136L172 136L92.909 136L90.455 133.545M20.059 77.818C14.563 74.95 12.02 71.567 11.295 66.163L10.737 62L15.787 62C18.564 62 21.493 61.748 22.296 61.44C23.345 61.037 23.942 61.876 24.42 64.428C25.152 68.328 27.35 70 31.743 70C36.396 70 38.487 67.802 38.362 63.041C38.227 57.893 35.11 54.271 30.09 53.428C23.072 52.25 23 52.189 23 47.433L23 43L29.461 43C34.82 43 36.27 42.627 37.961 40.811C40.829 37.733 40.639 32.548 37.545 29.455C33.409 25.318 22.883 26.414 16.944 31.6C15.595 32.778 14.9 32.374 11.701 28.547L8.013 24.135L10.59 22.108C17.801 16.436 34.457 14.075 42.768 17.548C51.608 21.241 55.865 29.205 53.833 38.248C52.682 43.372 49.905 46.546 45.221 48.092L41.737 49.242L45.376 51.322C50.461 54.228 53.461 60.622 52.619 66.76C51.326 76.198 46.925 79.19 33.5 79.757C25.592 80.091 23.961 79.856 20.059 77.818M90.455 53.545C87.266 50.357 87.265 46.085 90.452 42.646L92.905 40L172 40L251.095 40L253.548 42.646C256.735 46.085 256.734 50.357 253.545 53.545L251.091 56L172 56L92.909 56L90.455 53.545" />
<glyph glyph-name="bookmark-2"
unicode="&#xEA46;"
horiz-adv-x="256" d="M200 256H56A32 32 0 0 1 24 224V0L128 64L232 0V224A32 32 0 0 1 200 256z" />
<glyph glyph-name="menu-8"
unicode="&#xEA48;"
horiz-adv-x="256" d="M10.455 205.545C7.266 202.357 7.265 198.085 10.452 194.646L12.905 192L128 192L243.095 192L245.548 194.646C248.735 198.085 248.734 202.357 245.545 205.545L243.091 208L128 208L12.909 208L10.455 205.545M10.455 133.545C7.266 130.357 7.265 126.085 10.452 122.646L12.905 120L128 120L243.095 120L245.548 122.646C248.735 126.085 248.734 130.357 245.545 133.545L243.091 136L128 136L12.909 136L10.455 133.545M10.455 61.545C7.266 58.357 7.265 54.085 10.452 50.646L12.905 48L128 48L243.095 48L245.548 50.646C248.735 54.085 248.734 58.357 245.545 61.545L243.091 64L128 64L12.909 64L10.455 61.545" />
@ -226,9 +199,6 @@
<glyph glyph-name="check"
unicode="&#xEA56;"
horiz-adv-x="256" d="M162.271 141.764L88.01 67.529L53.722 101.764C22.698 132.74 19.122 136 16.171 136C11.799 136 8 132.203 8 127.835C8 124.884 11.587 120.988 46.253 86.289C82.009 50.499 84.734 48 88.002 48C91.3 48 95.919 52.423 169.749 126.27C241.564 198.102 248 204.809 248 207.815C248 212.213 244.211 216 239.811 216C236.801 216 230.423 209.894 162.271 141.764" />
<glyph glyph-name="d-check"
unicode="&#xEA57;"
horiz-adv-x="256" d="M142.294 137.781L104.027 99.562L89.686 113.781C77.205 126.156 74.928 128 72.127 128C67.821 128 64 124.18 64 119.874C64 117.039 66.163 114.486 82.258 98.329C98.975 81.547 100.81 80 104.006 80C107.271 80 110.215 82.722 149.748 122.286C188.128 160.697 192 164.87 192 167.831C192 172.205 188.203 176 183.826 176C180.863 176 177.013 172.457 142.294 137.781" />
<glyph glyph-name="preview"
unicode="&#xEA58;"
horiz-adv-x="256" d="M112.814 214.922C90.974 211.718 67.916 201.145 46.225 184.386C29.073 171.134 4 143.732 1.13 135.101C-1.905 125.971 0.606 118.783 11.264 106.101C52.301 57.268 101.155 33.795 145.615 41.548C179.67 47.487 214.403 69.965 244.433 105.5C254.98 117.98 257.336 124.263 255.047 133.805C253.591 139.875 244.971 151.024 230.506 165.546C192.838 203.364 151.694 220.625 112.814 214.922M150.5 197.149C178.589 189.719 207.504 169.501 232.118 140.078C236.453 134.896 240 129.804 240 128.762C240 125.791 238.26 123.153 229.932 113.5C211.996 92.709 193.131 77.521 172.5 67.261C162.39 62.233 153.884 59.462 142.619 57.526C131.533 55.621 124.952 55.609 113.5 57.473C92.001 60.972 72.236 70.927 50.5 89.204C33.796 103.249 16 123.353 16 128.178C16 133.588 42.372 161.752 59 174.101C77.197 187.614 95.722 195.946 114.5 199.063C122.18 200.338 142.536 199.255 150.5 197.149M113.173 182.033C89.329 175.583 72.043 152.671 72.032 127.5C72.021 102.669 90.374 79.688 115.064 73.615C144.552 66.361 175.47 85.446 182.494 115.24C188.995 142.81 172.895 171.837 146 181.039C136.679 184.228 122.837 184.647 113.173 182.033M136.006 166.999C148.022 164.72 158.686 156.146 164.268 144.274C167.149 138.146 167.453 136.594 167.453 128C167.453 119.416 167.148 117.85 164.283 111.759C156.427 95.051 139.126 85.857 121.361 88.951C108.156 91.25 97.543 99.41 91.693 111.759C88.789 117.891 88.503 119.359 88.529 128C88.555 136.555 88.874 138.174 91.738 144.274C99.908 161.68 117.212 170.563 136.006 166.999" />

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

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