├── PHP
├── controller
│ ├── isLogged.php
│ ├── shops.php
│ ├── signin.php
│ ├── signout.php
│ └── signup.php
├── includes
│ └── fonctions.php
├── info.txt
├── modele
│ ├── user.php
│ └── userManager.php
└── shops.sql
├── README.md
└── React
├── README.md
├── info.txt
├── package.json
├── public
├── favicon.ico
├── index.html
└── manifest.json
└── src
├── App.js
├── App.test.js
├── Form.js
├── FormErrors.js
├── FormSignIn.js
├── FormSignUp.js
├── Main.js
├── NotFound.js
├── Routes.js
├── Shops.js
├── SignOut.js
├── css
├── App.css
├── Form.css
├── bootstrap.css
├── flatUI.css
└── index.css
├── fonts
├── FontAwesome.otf
├── fontawesome-webfont.eot
├── fontawesome-webfont.svg
├── fontawesome-webfont.ttf
├── fontawesome-webfont.woff
├── fontawesome-webfont.woff2
├── glyphicons
│ ├── flat-ui-icons-regular.eot
│ ├── flat-ui-icons-regular.svg
│ ├── flat-ui-icons-regular.ttf
│ ├── flat-ui-icons-regular.woff
│ └── selection.json
└── lato
│ ├── lato-black.eot
│ ├── lato-black.svg
│ ├── lato-black.ttf
│ ├── lato-black.woff
│ ├── lato-bold.eot
│ ├── lato-bold.svg
│ ├── lato-bold.ttf
│ ├── lato-bold.woff
│ ├── lato-bolditalic.eot
│ ├── lato-bolditalic.svg
│ ├── lato-bolditalic.ttf
│ ├── lato-bolditalic.woff
│ ├── lato-italic.eot
│ ├── lato-italic.svg
│ ├── lato-italic.ttf
│ ├── lato-italic.woff
│ ├── lato-light.eot
│ ├── lato-light.svg
│ ├── lato-light.ttf
│ ├── lato-light.woff
│ ├── lato-regular.eot
│ ├── lato-regular.svg
│ ├── lato-regular.ttf
│ └── lato-regular.woff
├── index.js
├── logo.svg
└── registerServiceWorker.js
/PHP/controller/isLogged.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/PHP/controller/shops.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/PHP/controller/signin.php:
--------------------------------------------------------------------------------
1 | getUser($email,$password);
29 |
30 | if(isset($user) and ($user instanceof User))
31 | {
32 | // If user exist then show the message.
33 | $LoginMsg = 'Data Matched';
34 |
35 | //store a session for this user
36 | $_SESSION['id_user'] = $user->id();
37 | $_SESSION['email_user'] = $user->email();
38 | }
39 | else
40 | $LoginMsg = 'Invalid Username or Password Please Try Again';
41 |
42 |
43 |
44 | // Converting the message into JSON format.
45 | $LoginJson = json_encode($LoginMsg);
46 |
47 |
48 | // Echo the message.
49 | echo $LoginJson ;
50 |
51 | ?>
52 |
53 |
54 |
--------------------------------------------------------------------------------
/PHP/controller/signout.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/PHP/controller/signup.php:
--------------------------------------------------------------------------------
1 | getUser($email,'dont_take_it');
36 |
37 | if(isset($user) and ($user instanceof User))
38 |
39 | // If Mail exist then show the message.
40 | $signupMsg = $user->email().' is already exist';
41 |
42 | else{
43 |
44 | $password = sha1($password);
45 | // get Table Auto_Increment value
46 | $Auto_Increment = $manager->getAutoId();
47 | $user = new User(array("id" =>$Auto_Increment, "email" => $email, "password" =>$password));
48 | $manager->addUser($user);
49 |
50 | //store the first session for this user (after successful signup)
51 | $_SESSION['id_user'] = $user->id();
52 | $_SESSION['email_user'] = $user->email();
53 |
54 | $signupMsg = 'Account created succefully';
55 | }
56 |
57 | }else
58 | $signupMsg = "Invalid email format";
59 | }else
60 | $signupMsg = 'password an confirm password not match' ;
61 | }else
62 | $signupMsg = 'field(s) must not be empty' ;
63 |
64 |
65 |
66 | // Converting the message into JSON format.
67 | $signupJson = json_encode($signupMsg);
68 | // Echo the message.
69 | echo $signupJson;
70 |
71 | ?>
72 |
--------------------------------------------------------------------------------
/PHP/includes/fonctions.php:
--------------------------------------------------------------------------------
1 | getMessage() . "
";
21 | die();
22 | }
23 | }
24 |
25 |
26 |
27 | ?>
--------------------------------------------------------------------------------
/PHP/info.txt:
--------------------------------------------------------------------------------
1 | // info
2 |
3 | the view of MVC is empty because it will be associated to React (go react branche)
4 |
--------------------------------------------------------------------------------
/PHP/modele/user.php:
--------------------------------------------------------------------------------
1 | $val )
11 | $this->$name=$val;
12 | }
13 |
14 |
15 | // Liste des getters
16 | public function id()
17 | {
18 | return $this->id;
19 | }
20 |
21 | public function email()
22 | {
23 | return $this->email;
24 | }
25 |
26 |
27 | public function password()
28 | {
29 | return $this->password;
30 | }
31 |
32 |
33 | // Liste des setters
34 | public function setEmail($email)
35 | {
36 | $this->email = $email;
37 | }
38 |
39 | public function setPassword($password)
40 | {
41 | $this->password = $password;
42 | }
43 |
44 | }
45 | ?>
46 |
--------------------------------------------------------------------------------
/PHP/modele/userManager.php:
--------------------------------------------------------------------------------
1 | setDb($db);
13 | }
14 |
15 | public function addUser(user $usr)
16 | {
17 | $q = $this->_db->prepare('INSERT INTO users SET email = :email, password = :password');
18 | $q->bindValue(':email', $usr->email());
19 | $q->bindValue(':password', $usr->password());
20 | $q->execute();
21 | }
22 |
23 | public function getUser($email, $password)
24 | {
25 | // dont_take_it allow us to check if email is already exist or not we dont care about password
26 | if ($password == 'dont_take_it'){
27 | $q = $this->_db->query("SELECT id, email, password FROM users WHERE email ='{$email}'");
28 | }
29 | else{
30 | // the password should'nt stocked clair hash it with sha1 for more security
31 | $password = sha1($password);
32 | $q = $this->_db->query("SELECT id, email, password FROM users WHERE email ='{$email}' AND password = '{$password}'");
33 | }
34 |
35 | $donnees = $q->fetch(PDO::FETCH_ASSOC);
36 | if (is_null($donnees) || $donnees == false )
37 | {
38 | return false;
39 | }
40 | else
41 | return new User($donnees);
42 | }
43 |
44 |
45 | public function getAutoId()
46 | {
47 | $max = 0;
48 | // get AI from DB schema
49 | $q = $this->_db->query("SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'shops'
50 | AND TABLE_NAME = 'users' ");
51 |
52 | while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
53 | {
54 | if ($donnees['AUTO_INCREMENT'] > $max) {
55 | $max = $donnees['AUTO_INCREMENT'];
56 | }
57 | }
58 | return $max;
59 | }
60 |
61 |
62 |
63 |
64 | public function setDb(PDO $db)
65 | {
66 | $this->_db = $db;
67 | }
68 | }
69 | ?>
--------------------------------------------------------------------------------
/PHP/shops.sql:
--------------------------------------------------------------------------------
1 | -- phpMyAdmin SQL Dump
2 | -- version 4.5.5.1
3 | -- http://www.phpmyadmin.net
4 | --
5 | -- Client : 127.0.0.1
6 | -- Généré le : Mar 26 Décembre 2017 à 15:53
7 | -- Version du serveur : 5.7.11
8 | -- Version de PHP : 5.6.19
9 |
10 | SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
11 | SET time_zone = "+00:00";
12 |
13 |
14 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
15 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
16 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
17 | /*!40101 SET NAMES utf8mb4 */;
18 |
19 | --
20 | -- Base de données : `shops`
21 | --
22 |
23 | -- --------------------------------------------------------
24 |
25 | --
26 | -- Structure de la table `users`
27 | --
28 |
29 | CREATE TABLE `users` (
30 | `id` int(5) NOT NULL,
31 | `email` varchar(50) NOT NULL,
32 | `password` varchar(50) NOT NULL
33 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
34 |
35 | --
36 | -- Contenu de la table `users`
37 | --
38 |
39 | INSERT INTO `users` (`id`, `email`, `password`) VALUES
40 | (1, 'mahdo.test@gmail.com', '3d974eac8ded44abf16ffcd556633c33a7c287fe');
41 |
42 | --
43 | -- Index pour les tables exportées
44 | --
45 |
46 | --
47 | -- Index pour la table `users`
48 | --
49 | ALTER TABLE `users`
50 | ADD PRIMARY KEY (`id`),
51 | ADD UNIQUE KEY `mail` (`email`);
52 |
53 | --
54 | -- AUTO_INCREMENT pour les tables exportées
55 | --
56 |
57 | --
58 | -- AUTO_INCREMENT pour la table `users`
59 | --
60 | ALTER TABLE `users`
61 | MODIFY `id` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=48;
62 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
63 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
64 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
65 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React-php-Mysql-web-apps
2 | This project is created to implement a web application using React-php-Mysql
3 |
4 | ## Get Started
5 |
6 | ### Step 1)
7 | #### Php and Mysql environnement
8 |
9 | -Ensure that you have apache running on port 80, I recommend using MAMP/WAMP 🐘 or equivalent for a GUI interface
10 | -Add a folder to WWW Appache folder, name it 'challenge'and place into it 'modele, controller, includes' which are in 'PHP'
11 | -import the Shops database (using the file shops.sql) with phpmyadmin
12 |
13 | ### Step 2) 🖌️
14 | #### Install dependencies
15 |
16 | install create-react-app globally:
17 | ```
18 | npm install -g create-react-app
19 | ```
20 |
21 | Create new project for in your Documents:
22 | ```
23 | create-react-app reactPhp
24 | cd reactPhp/
25 | npm start
26 | ```
27 | Open localhost:3000 in your browser to see basic react app in action. (make sur react is running on this port !!)
28 | Now that we are done with setup process lets add to it our specific react files
29 | for that copy all files placed in React folder to reactPhp
30 |
31 | after that add "react-router-dom " module to reactPhp project for doing redirection between our component and Links
32 | ```
33 | npm i react-router-dom
34 | ```
35 |
36 | ### Step 3) 🖼️
37 |
38 | #### Now we need to implement and manage shops
39 | that's will be done soon
40 |
41 |
--------------------------------------------------------------------------------
/React/info.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/React/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "reactPhp",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "react": "^16.2.0",
7 | "react-dom": "^16.2.0",
8 | "react-scripts": "1.0.17",
9 | "superagent": "^3.8.2"
10 | },
11 | "scripts": {
12 | "start": "react-scripts start",
13 | "build": "react-scripts build",
14 | "test": "react-scripts test --env=jsdom",
15 | "eject": "react-scripts eject"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/React/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/public/favicon.ico
--------------------------------------------------------------------------------
/React/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
23 | React App
24 |
25 |
26 |
29 |
bezi
30 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/React/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/React/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import {BrowserRouter} from 'react-router-dom';
3 |
4 |
5 | import Routes from './Routes';
6 | //import logo from './logo.svg';
7 |
8 |
9 |
10 |
11 | //
12 |
13 |
14 | class App extends Component {
15 |
16 |
17 | render() {
18 |
19 | return (
20 |
21 |
22 |
23 |
Web Application Cooding Challenge
24 |
25 | < Routes />
26 |
27 |
28 | );
29 | }
30 | }
31 | export default App;
32 |
--------------------------------------------------------------------------------
/React/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 |
6 | it('renders without crashing', () => {
7 | const div = document.createElement('div');
8 | ReactDOM.render(, div);
9 |
10 | });
11 |
--------------------------------------------------------------------------------
/React/src/Form.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import Routes from './Routes';
3 | import {Route, Redirect} from 'react-router-dom';
4 | import './css/Form.css';
5 | import { FormErrors } from './FormErrors';
6 | import Shops from './Shops.js';
7 | import FormSignUp from './FormSignUp.js';
8 | //import fetch from 'isomorphic-fetch';
9 |
10 |
11 | // initialisation : email et password sont vides avec le constructeur
12 | // lorsqu'ils sont vides bien sur il sont pas valides
13 | // le champ formErrors sert a afficher un mesage d'erreur si : email non valide et password non valide
14 | // le champ formValid ne peut être true que si password et email sont valide
15 | //
16 | const initialState = {
17 | email: '',
18 | password: '',
19 | formErrors: {email: '', password: ''}, // ce champ sert a afficher un mesage d'erreur de validation
20 | emailValid: false,
21 | passwordValid: false,
22 | formValid: false,
23 | showFormSignIn: true,
24 | signin: false
25 | };
26 |
27 | class Form extends Component {
28 |
29 | constructor (props) {
30 | super(props);
31 | this.state = initialState;
32 |
33 | }
34 |
35 |
36 | /* récupérer les valeurs saisie par l'utilisateur (champs : email et password ) ,
37 | puis on cherche à les valider à chaque changement d'etat, via la fonction validateFiel (), mais selon ces deux conditions :
38 | 1/ l'adresse mail doit être une adresse valide
39 | 2/ la longeur de password doit être supérieure ou égale a 8*/
40 |
41 | handleUserInput = (e) => {
42 | const name = e.target.name;
43 | const value = e.target.value;
44 | this.setState({[name]: value},
45 | () => { this.validateField(name, value) });
46 | }
47 |
48 | validateField(fieldName, value) {
49 | let fieldValidationErrors = this.state.formErrors;
50 | let emailValid = this.state.emailValid;
51 | let passwordValid = this.state.passwordValid;
52 |
53 | switch(fieldName) {
54 | case 'email':
55 | emailValid = value.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i);
56 | fieldValidationErrors.email = emailValid ? '' : ' format is invalid';
57 | break;
58 | case 'password':
59 | passwordValid = value.length >= 8;
60 | fieldValidationErrors.password = passwordValid ? '': ' is too short';
61 | break;
62 | default:
63 | break;
64 | }
65 | this.setState({formErrors: fieldValidationErrors,
66 | emailValid: emailValid,
67 | passwordValid: passwordValid
68 | }, this.validateForm);
69 | }
70 |
71 |
72 |
73 | /* cette fonction sert a valider le formulaire, si et seulement si le champ de saisie email ainsi que password le sont
74 | */
75 | validateForm() {
76 | this.setState({formValid: this.state.emailValid && this.state.passwordValid});
77 | }
78 |
79 |
80 | //fonction
81 | LinkSignUP(e){
82 | // rendre les champs du form et d'erreurs vides
83 | this.setState(initialState);
84 | this.setState({formErrors: {email: '', password: ''}});
85 |
86 | //Masquer le form de connexion pour afficher celle d'inscription
87 | this.setState({showFormSignIn: !this.state.showFormSignIn});
88 | e.preventDefault();
89 | }
90 |
91 |
92 |
93 | // fontion pour envoyer le formulaire pour le traiter en php
94 |
95 | handleSubmit = (e) =>{
96 |
97 | e.preventDefault();
98 | //const { UserEmail } = this.state ;
99 | let UserEmail = this.state.email ;
100 | //const { UserPassword } = this.state ;
101 | let UserPassword = this.state.password ;
102 |
103 | console.log('processing',UserEmail);
104 |
105 |
106 |
107 | fetch('http://localhost/challenge/controller/signin.php',{
108 | method: 'POST',
109 | credentials: 'include',
110 | body: JSON.stringify({
111 | email: UserEmail,
112 | password: UserPassword
113 | })
114 | }).then((response) => response.json())
115 | .then((responseJson) => {
116 |
117 | // If server response message same as Data Matched
118 | if(responseJson === 'Data Matched'){
119 |
120 | //Then open Profile activity and send user email to profile activity.
121 | //this.props.navigation.navigate('Second', { Email: UserEmail });
122 | //alert(responseJson);
123 |
124 | this.setState({signin: true});
125 |
126 | }else {
127 |
128 | alert(responseJson);
129 | this.setState(initialState);
130 |
131 | //console.log(responseJson);
132 | }
133 |
134 | }).catch((error) => {
135 | console.log('not work');
136 | console.log(error);
137 | console.error(error);
138 | });
139 | }
140 |
141 |
142 |
143 |
144 | // le formulaire de connexion à ajouter de la page App
145 | // on peut pas envoyer le formulaire (le button est disabled ) que si le Form est valide
146 | //
147 | render () {
148 |
149 | const showHide = {
150 | 'display': this.state.showFormSignIn ? 'block' : 'none'
151 | };
152 |
153 | if (this.state.signin) {
154 | return (
155 |
156 |
157 |
158 |
159 | )
160 |
161 | }
162 | return (
163 |
164 |
165 |
Sign In to Get access to the shops.
166 |
not register yet Sign Up
167 | {!this.state.showFormSignIn &&
}
168 |
169 |
192 |
193 |
194 |
195 |
196 |
197 | )
198 | }
199 | }
200 | export default Form;
201 |
202 |
--------------------------------------------------------------------------------
/React/src/FormErrors.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | export const FormErrors = ({formErrors}) =>
4 |
5 | {Object.keys(formErrors).map((fieldName, i) => {
6 | if(formErrors[fieldName].length > 0){
7 | return (
8 |
{fieldName} {formErrors[fieldName]}
9 | )
10 | } else {
11 | return '';
12 | }
13 | })}
14 |
15 |
16 |
--------------------------------------------------------------------------------
/React/src/FormSignIn.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import {withRouter, Link} from 'react-router-dom';
3 | import { FormErrors } from './FormErrors';
4 |
5 |
6 | // initialisation :
7 | // formErrors is for display errors after validation
8 | // formValid became true if password and email are valide
9 | //
10 | const initialState = {
11 | email: '',
12 | password: '',
13 | formErrors: {email: '', password: ''}, // ce champ sert a afficher un mesage d'erreur de validation
14 | emailValid: false,
15 | passwordValid: false,
16 | formValid: false
17 | };
18 |
19 | class FormSignIn extends Component {
20 |
21 | constructor (props) {
22 |
23 | super(props);
24 | this.state = initialState;
25 |
26 | this.handleSubmit.bind(this);
27 | }
28 |
29 |
30 | /* get email and^password typed values in real time ,
31 | then we try to validate at any state's changement "validateFiel ()", according to this two conditions :
32 | 1/ email address must be an email adresse valide
33 | 2/ password lenght >= 8*/
34 |
35 | handleUserInput = (e) => {
36 | const name = e.target.name;
37 | const value = e.target.value;
38 | this.setState({[name]: value},
39 | () => { this.validateField(name, value) });
40 | }
41 |
42 | validateField(fieldName, value) {
43 | let fieldValidationErrors = this.state.formErrors;
44 | let emailValid = this.state.emailValid;
45 | let passwordValid = this.state.passwordValid;
46 |
47 | switch(fieldName) {
48 | case 'email':
49 | emailValid = value.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i);
50 | fieldValidationErrors.email = emailValid ? '' : ' format is invalid';
51 | break;
52 | case 'password':
53 | passwordValid = value.length >= 8;
54 | fieldValidationErrors.password = passwordValid ? '': ' is too short';
55 | break;
56 | default:
57 | break;
58 | }
59 | this.setState({formErrors: fieldValidationErrors,
60 | emailValid: emailValid,
61 | passwordValid: passwordValid
62 | }, this.validateForm);
63 | }
64 |
65 |
66 |
67 | // Validate Form through other Fields
68 | validateForm() {
69 | this.setState({formValid: this.state.emailValid && this.state.passwordValid});
70 | }
71 |
72 |
73 | //Send the Form to server to check if user email and password are stored in DB with PHP
74 | handleSubmit = (e) =>{
75 |
76 | e.preventDefault();
77 |
78 | // we will add fuction for avoid XSS attacks (potentiallyMaliciousInput)
79 | let UserEmail = this.state.email ;
80 | let UserPassword = this.state.password ;
81 |
82 |
83 |
84 | fetch('http://localhost/challenge/controller/signin.php',{
85 | method: 'POST',
86 | credentials: 'include',
87 | body: JSON.stringify({
88 | email: UserEmail,
89 | password: UserPassword
90 | })
91 | }).then((response) => response.json())
92 | .then((responseJson) => {
93 |
94 | // If server response message same as Data Matched
95 | if(responseJson === 'Data Matched'){
96 | // redirection to shops component to view shops
97 | this.props.history.push("/shops");
98 | alert('Sign in succes !');
99 | }else {
100 |
101 | alert(responseJson);
102 | this.setState(initialState);
103 |
104 | }
105 |
106 | }).catch((error) => {
107 | console.log('not work');
108 | console.log(error);
109 | console.error(error);
110 | });
111 | }
112 |
113 |
114 | // rendring Form
115 | // by default the button is disabled until all fields Form are valide
116 | //
117 | render () {
118 |
119 |
120 | return (
121 |
122 |
123 |
149 | )
150 | }
151 | }
152 | export default withRouter(FormSignIn);
153 |
154 |
--------------------------------------------------------------------------------
/React/src/FormSignUp.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import {withRouter, Link} from 'react-router-dom';
3 |
4 | import { FormErrors } from './FormErrors';
5 |
6 |
7 |
8 | const initialState = {
9 | email: '',
10 | password: '',
11 | passwordConfirm: '',
12 | formUpErrors: {email: '', password: '', passwordConfirm: ''}, // ce champ sert a afficher un mesage d'erreur de validation
13 | emailValid: false,
14 | passwordValid: false,
15 | passwordConfirmValid: false,
16 | formValid: false
17 | };
18 |
19 |
20 |
21 | class FormSignUp extends Component {
22 | constructor (props) {
23 | super(props);
24 | this.state = initialState;
25 |
26 | this.handleSubmit.bind(this);
27 | }
28 |
29 |
30 | /* récupérer les valeurs saisie par l'utilisateur (champs : email et password ) ,
31 | puis on cherche à les valider à chaque changement d'etat, via la fonction validateFiel (), mais selon ces deux conditions :
32 | 1/ l'adresse mail doit être une adresse valide
33 | 2/ la longeur de password doit être supérieure ou égale a 8
34 | 3/ password confirm and password de confirmation doivent être égaux*/
35 |
36 |
37 | handleUserInput = (e) => {
38 | const name = e.target.name;
39 | const value = e.target.value;
40 | this.setState({[name]: value},
41 | () => { this.validateField(name, value) });
42 | }
43 |
44 | validateField(fieldName, value) {
45 | let fieldValidationErrors = this.state.formUpErrors;
46 | let emailValid = this.state.emailValid;
47 | let passwordValid = this.state.passwordValid;
48 | let passwordConfirmValid = this.state.passwordConfirmValid;
49 |
50 | switch(fieldName) {
51 | case 'email':
52 | emailValid = value.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i);
53 | fieldValidationErrors.email = emailValid ? '' : ' format is invalid';
54 | break;
55 | case 'password':
56 | passwordValid = value.length >= 8;
57 | fieldValidationErrors.password = passwordValid ? '': ' is too short';
58 | break;
59 | case 'passwordConfirm':
60 | let pass = this.state.password ;
61 | passwordConfirmValid = !value.localeCompare(pass);
62 | fieldValidationErrors.passwordConfirm = passwordConfirmValid ? '': ' not match with password';
63 | break;
64 | default:
65 | break;
66 | }
67 | this.setState({formUpErrors: fieldValidationErrors,
68 | emailValid: emailValid,
69 | passwordValid: passwordValid,
70 | passwordConfirmValid: passwordConfirmValid
71 | }, this.validateForm);
72 | }
73 |
74 |
75 | validateForm() {
76 | this.setState({formValid: this.state.emailValid && this.state.passwordValid && this.state.passwordConfirmValid});
77 | }
78 |
79 |
80 |
81 |
82 |
83 | handleSubmit = (e) =>{
84 |
85 | e.preventDefault();
86 |
87 | // we will add fuction for avoid XSS attacks
88 | let UserEmail = this.state.email ;
89 | let UserPassword = this.state.password ;
90 | let UserPasswordConfirm = this.state.passwordConfirm ;
91 |
92 |
93 |
94 | fetch('http://localhost/challenge/controller/signup.php',{
95 | method: 'POST',
96 | credentials: 'include',
97 | body: JSON.stringify({
98 | email: UserEmail,
99 | password: UserPassword,
100 | passwordConfirm : UserPasswordConfirm
101 | })
102 | }).then((response) => response.json())
103 | .then((responseJson) => {
104 |
105 | // If server response message same as Data Matched
106 | if(responseJson === 'Account created succefully')
107 | {
108 |
109 | //Then open Profile activity and send user email to profile activity.
110 | //this.props.navigation.navigate('Second', { Email: UserEmail });
111 | //alert(responseJson);
112 | //this.setState({signup: true});
113 | alert(responseJson);
114 |
115 | //Redirect to shops;
116 | this.props.history.push("/shops");
117 |
118 | }
119 | else{
120 |
121 | alert(responseJson);
122 | this.setState(initialState);
123 | }
124 |
125 | }).catch((error) => {
126 | console.log('not work');
127 | console.log(error);
128 | console.error(error);
129 | });
130 | }
131 |
132 |
133 |
134 |
135 | //
136 | render () {
137 |
138 | return (
139 |
172 | )
173 | }
174 | }
175 | export default withRouter(FormSignUp);
176 |
177 |
--------------------------------------------------------------------------------
/React/src/Main.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 |
3 | import FormSignIn from './FormSignIn.js';
4 |
5 |
6 | const initialState = {
7 | isLogged: false
8 | };
9 |
10 | class Main extends Component {
11 |
12 | constructor (props) {
13 | super(props);
14 | this.state = initialState;
15 |
16 | }
17 |
18 |
19 | render () {
20 |
21 | // if a session is already set
22 | if (this.state.isLogged) {
23 | return (
24 | //redirection to shops directly
25 |
26 |
27 |
28 | )
29 |
30 | }else {
31 | return (
32 |
33 |
34 |
35 | )
36 | }
37 | }
38 | }
39 | export default Main;
--------------------------------------------------------------------------------
/React/src/NotFound.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {Link} from 'react-router-dom';
3 |
4 |
5 | class Shops extends React.Component {
6 |
7 | constructor (props) {
8 | super(props);
9 | this.state = {
10 | }
11 | }
12 |
13 |
14 | //
15 | render () {
16 |
17 | return (
18 |
19 |
20 |
Oops ! Page Not Found !
21 | Go to Shops !
22 | Create an account
23 | Signin
24 |
25 | )
26 | }
27 |
28 |
29 | }export default Shops;
--------------------------------------------------------------------------------
/React/src/Routes.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import {Route, Switch} from 'react-router-dom';
3 |
4 |
5 | import FormSignIn from './FormSignIn.js';
6 | import FormSignUp from './FormSignUp.js';
7 | import NotFound from './NotFound';
8 | import Main from './Main';
9 | import Shops from './Shops.js';
10 | import SignOut from './SignOut.js';
11 |
12 |
13 |
14 | // class define all routes which will be included to App for redirections and Links between all components
15 | // in case we add a new component we should add its Route definition here (inside Switch ) to be accessible through url and navigation link
16 | class Routes extends Component {
17 | render() {
18 | return (
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | );
28 | }
29 | }
30 | export default Routes;
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/React/src/Shops.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {Link} from 'react-router-dom';
3 |
4 |
5 | class Shops extends React.Component {
6 |
7 | constructor (props) {
8 | super(props);
9 | this.state = {
10 | isLogged: false
11 | }
12 | }
13 |
14 |
15 | componentDidMount() {
16 | // here we will connect to server for getting all shops from DB Mysql
17 | fetch('http://localhost/challenge/controller/shops.php',{
18 | method: 'POST',
19 | credentials: 'include',
20 | body: JSON.stringify({
21 |
22 | })
23 | }).then((response) => response.json())
24 | .then((responseJson) => {
25 |
26 | // If server response message same as Data Matched
27 | if(responseJson === 'Shops succes')
28 | {
29 | this.setState({isLogged: true});
30 | alert(responseJson);
31 |
32 | }
33 | else{
34 | alert(responseJson);
35 | }
36 |
37 | }).catch((error) => {
38 | console.error(error);
39 | });
40 | }
41 |
42 |
43 | //
44 | render () {
45 |
46 | if (!this.state.isLogged) {
47 | return (
48 |
49 |
You are not logged In
50 |
51 | To view Shops Sign in here Sign in
52 | or create a new account
53 |
54 |
55 | )
56 | }
57 | return (
58 |
59 | Sign out
60 |
You will find here all Shops list
61 | Shops will be retreived from data base and will be placed here soon !
62 |
63 | )
64 | }
65 |
66 |
67 | }export default Shops;
--------------------------------------------------------------------------------
/React/src/SignOut.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {withRouter, Link} from 'react-router-dom';
3 |
4 |
5 | class SignOut extends React.Component {
6 |
7 | constructor (props) {
8 | super(props);
9 | this.state = {
10 | }
11 | }
12 |
13 |
14 | componentDidMount() {
15 |
16 | fetch('http://localhost/challenge/controller/signout.php',{
17 | method: 'POST',
18 | credentials: 'include',
19 | body: JSON.stringify({ })
20 | }).then((response) => response.json())
21 | .then((responseJson) => {
22 |
23 | if(responseJson === "Signout succes")
24 | {
25 | this.props.history.push("/signin");
26 | alert(responseJson);
27 | }
28 | }).catch((error) => {
29 | console.error(error);
30 | });
31 | }
32 |
33 | render () {
34 | return (
35 |
36 |
Erreur has occured
Go home
37 |
38 | )
39 | }
40 | }export default withRouter(SignOut);
--------------------------------------------------------------------------------
/React/src/css/App.css:
--------------------------------------------------------------------------------
1 | .App {
2 | text-align: center;
3 | }
4 |
5 | .App-logo {
6 | animation: App-logo-spin infinite 20s linear;
7 | height: 80px;
8 | }
9 |
10 | .App-header {
11 | background-color: #222;
12 | height: 150px;
13 | padding: 20px;
14 | color: white;
15 | }
16 |
17 | .App-title {
18 | font-size: 1.5em;
19 | }
20 |
21 | .App-intro {
22 | font-size: large;
23 | }
24 |
25 | @keyframes App-logo-spin {
26 | from { transform: rotate(0deg); }
27 | to { transform: rotate(360deg); }
28 | }
29 |
--------------------------------------------------------------------------------
/React/src/css/Form.css:
--------------------------------------------------------------------------------
1 | .Form {
2 | width: 600px;
3 | margin: 10px auto;
4 | }
5 |
6 | .Form label {
7 | display: block;
8 | text-align: left;
9 | float:left;
10 | width: 23%;
11 | margin: 15px ;
12 |
13 | }
14 |
15 | .Form input {
16 | float:left;
17 | width: 70%;
18 | margin: 10px auto;
19 | }
20 |
21 | .Form p {
22 | display: block;
23 | text-align: left;
24 | margin: 0px;
25 | color: red;
26 | }
--------------------------------------------------------------------------------
/React/src/css/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | font-family: sans-serif;
5 | }
6 |
--------------------------------------------------------------------------------
/React/src/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/React/src/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/React/src/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/React/src/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/React/src/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/React/src/fonts/glyphicons/flat-ui-icons-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/glyphicons/flat-ui-icons-regular.eot
--------------------------------------------------------------------------------
/React/src/fonts/glyphicons/flat-ui-icons-regular.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/React/src/fonts/glyphicons/flat-ui-icons-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/glyphicons/flat-ui-icons-regular.ttf
--------------------------------------------------------------------------------
/React/src/fonts/glyphicons/flat-ui-icons-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/glyphicons/flat-ui-icons-regular.woff
--------------------------------------------------------------------------------
/React/src/fonts/glyphicons/selection.json:
--------------------------------------------------------------------------------
1 | {
2 | "IcoMoonType": "selection",
3 | "icons": [
4 | {
5 | "icon": {
6 | "paths": [
7 | "M128 256l384 512 384-512h-768z"
8 | ],
9 | "grid": 16,
10 | "tags": [
11 | "triangle-down"
12 | ]
13 | },
14 | "properties": {
15 | "order": 1,
16 | "id": 64,
17 | "prevSize": 16,
18 | "code": 58881,
19 | "name": "triangle-down",
20 | "ligatures": ""
21 | },
22 | "setIdx": 0,
23 | "iconIdx": 1
24 | },
25 | {
26 | "icon": {
27 | "paths": [
28 | "M896 704h-768l384-384 384 384z"
29 | ],
30 | "grid": 16,
31 | "tags": [
32 | "triangle-up-small"
33 | ]
34 | },
35 | "properties": {
36 | "order": 2,
37 | "id": 69,
38 | "prevSize": 16,
39 | "code": 58882,
40 | "name": "triangle-up-small",
41 | "ligatures": ""
42 | },
43 | "setIdx": 0,
44 | "iconIdx": 2
45 | },
46 | {
47 | "icon": {
48 | "paths": [
49 | "M512 704l-384-384h768l-384 384z"
50 | ],
51 | "grid": 16,
52 | "tags": [
53 | "triangle-down-small"
54 | ]
55 | },
56 | "properties": {
57 | "order": 3,
58 | "id": 65,
59 | "prevSize": 16,
60 | "code": 58883,
61 | "name": "triangle-down-small",
62 | "ligatures": ""
63 | },
64 | "setIdx": 0,
65 | "iconIdx": 3
66 | },
67 | {
68 | "icon": {
69 | "paths": [
70 | "M896 960l-768-448 768-448v896z"
71 | ],
72 | "grid": 16,
73 | "tags": [
74 | "triangle-left-large"
75 | ]
76 | },
77 | "properties": {
78 | "order": 4,
79 | "id": 66,
80 | "prevSize": 16,
81 | "code": 58884,
82 | "name": "triangle-left-large",
83 | "ligatures": ""
84 | },
85 | "setIdx": 0,
86 | "iconIdx": 4
87 | },
88 | {
89 | "icon": {
90 | "paths": [
91 | "M128 64l768 448-768 448v-896z"
92 | ],
93 | "grid": 16,
94 | "tags": [
95 | "triangle-right-large"
96 | ]
97 | },
98 | "properties": {
99 | "order": 5,
100 | "id": 67,
101 | "prevSize": 16,
102 | "code": 58885,
103 | "name": "triangle-right-large",
104 | "ligatures": ""
105 | },
106 | "setIdx": 0,
107 | "iconIdx": 5
108 | },
109 | {
110 | "icon": {
111 | "paths": [
112 | "M224.96 511.232l447.168-447.232 128 131.008-321.152 318.016 321.152 320.896-128.256 128.256-446.912-450.944z"
113 | ],
114 | "grid": 16,
115 | "tags": [
116 | "arrow-left"
117 | ]
118 | },
119 | "properties": {
120 | "order": 6,
121 | "id": 1,
122 | "prevSize": 16,
123 | "code": 58886,
124 | "name": "arrow-left",
125 | "ligatures": ""
126 | },
127 | "setIdx": 0,
128 | "iconIdx": 6
129 | },
130 | {
131 | "icon": {
132 | "paths": [
133 | "M353.152 962.112l-128.192-128.256 321.088-320.896-321.152-317.952 128-131.008 447.168 447.232-446.912 450.88z"
134 | ],
135 | "grid": 16,
136 | "tags": [
137 | "arrow-right"
138 | ]
139 | },
140 | "properties": {
141 | "order": 7,
142 | "id": 2,
143 | "prevSize": 16,
144 | "code": 58887,
145 | "name": "arrow-right",
146 | "ligatures": ""
147 | },
148 | "setIdx": 0,
149 | "iconIdx": 7
150 | },
151 | {
152 | "icon": {
153 | "paths": [
154 | "M928 608.064h-320v319.936c0 35.392-28.608 64-64 64h-64c-35.328 0-64-28.608-64-64v-319.936h-320c-35.328 0-64-28.736-64-64.064v-64.064c0-35.328 28.672-63.872 64-63.872h320v-320.064c0-35.328 28.672-64 64-64h64c35.392 0 64 28.672 64 64v320.064h320c35.392 0 64 28.544 64 63.872v64.064c0 35.328-28.608 64.064-64 64.064z"
155 | ],
156 | "grid": 16,
157 | "tags": [
158 | "plus"
159 | ]
160 | },
161 | "properties": {
162 | "order": 8,
163 | "id": 36,
164 | "prevSize": 16,
165 | "code": 58888,
166 | "name": "plus",
167 | "ligatures": ""
168 | },
169 | "setIdx": 0,
170 | "iconIdx": 8
171 | },
172 | {
173 | "icon": {
174 | "paths": [
175 | "M919.808 195.968c12.48 12.416 12.48 32.832 0 45.248l-248.896 249.024c-12.352 12.416-12.352 32.832 0 45.312l248.768 249.088c12.48 12.416 12.48 32.832 0 45.248l-90.624 90.432c-12.352 12.416-32.768 12.416-45.248 0l-248.64-249.088c-12.416-12.416-32.832-12.416-45.248 0l-248.896 248.896c-12.416 12.48-32.832 12.48-45.248 0l-90.496-90.624c-12.416-12.352-12.416-32.768 0-45.248l248.96-248.896c12.416-12.416 12.416-32.832 0-45.312l-248.768-249.024c-12.416-12.48-12.416-32.832 0-45.248l90.56-90.496c12.416-12.416 32.832-12.416 45.248 0l248.64 249.024c12.416 12.48 32.832 12.48 45.248 0.064l248.832-248.96c12.48-12.352 32.896-12.352 45.248 0l90.56 90.56z"
176 | ],
177 | "grid": 16,
178 | "tags": [
179 | "cross"
180 | ]
181 | },
182 | "properties": {
183 | "order": 9,
184 | "id": 13,
185 | "prevSize": 16,
186 | "code": 58889,
187 | "name": "cross",
188 | "ligatures": ""
189 | },
190 | "setIdx": 0,
191 | "iconIdx": 9
192 | },
193 | {
194 | "icon": {
195 | "paths": [
196 | "M923.136 137.408c-12.352-12.544-32.768-12.544-45.12 0l-476.16 474.496c-12.48 12.544-32.832 12.544-45.248 0l-208.64-212.736c-6.144-6.208-14.272-9.408-22.336-9.472-8.256 0-16.576 3.008-22.848 9.472l-92.16 83.008c-6.144 6.272-9.472 14.144-9.472 22.336 0 8.32 3.328 17.024 9.472 23.232l210.368 220.992c12.416 12.48 32.832 33.024 45.248 45.632l90.432 91.264c12.416 12.48 32.768 12.48 45.248 0l611.712-611.328c12.48-12.48 12.48-33.088 0-45.632l-90.496-91.264z"
197 | ],
198 | "grid": 16,
199 | "tags": [
200 | "check"
201 | ]
202 | },
203 | "properties": {
204 | "order": 10,
205 | "id": 8,
206 | "prevSize": 16,
207 | "code": 58890,
208 | "name": "check",
209 | "ligatures": ""
210 | },
211 | "setIdx": 0,
212 | "iconIdx": 10
213 | },
214 | {
215 | "icon": {
216 | "paths": [
217 | "M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512c0-281.6-230.4-512-512-512zM512 819.2c-168.96 0-307.2-138.24-307.2-307.2 0-168.96 138.24-307.2 307.2-307.2 168.96 0 307.2 138.24 307.2 307.2 0 168.96-138.24 307.2-307.2 307.2z"
218 | ],
219 | "grid": 16,
220 | "tags": [
221 | "radio-unchecked"
222 | ]
223 | },
224 | "properties": {
225 | "order": 11,
226 | "id": 63,
227 | "prevSize": 16,
228 | "code": 58891,
229 | "name": "radio-unchecked",
230 | "ligatures": ""
231 | },
232 | "setIdx": 0,
233 | "iconIdx": 11
234 | },
235 | {
236 | "icon": {
237 | "paths": [
238 | "M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512c0-281.6-230.4-512-512-512zM512 819.2c-168.96 0-307.2-138.24-307.2-307.2 0-168.96 138.24-307.2 307.2-307.2 168.96 0 307.2 138.24 307.2 307.2 0 168.96-138.24 307.2-307.2 307.2zM512 358.4c-87.040 0-153.6 66.56-153.6 153.6s66.56 153.6 153.6 153.6 153.6-66.56 153.6-153.6c0-87.040-66.56-153.6-153.6-153.6z"
239 | ],
240 | "grid": 16,
241 | "tags": [
242 | "radio-checked"
243 | ]
244 | },
245 | "properties": {
246 | "order": 12,
247 | "id": 61,
248 | "prevSize": 16,
249 | "code": 58892,
250 | "name": "radio-checked",
251 | "ligatures": ""
252 | },
253 | "setIdx": 0,
254 | "iconIdx": 12
255 | },
256 | {
257 | "icon": {
258 | "paths": [
259 | "M256 0h512c143.36 0 256 112.64 256 256v512c0 143.36-112.64 256-256 256h-512c-143.36 0-256-112.64-256-256v-512c0-143.36 112.64-256 256-256z"
260 | ],
261 | "grid": 16,
262 | "tags": [
263 | "checkbox-unchecked"
264 | ]
265 | },
266 | "properties": {
267 | "order": 13,
268 | "id": 54,
269 | "prevSize": 16,
270 | "code": 58893,
271 | "name": "checkbox-unchecked",
272 | "ligatures": ""
273 | },
274 | "setIdx": 0,
275 | "iconIdx": 13
276 | },
277 | {
278 | "icon": {
279 | "paths": [
280 | "M768 0h-512c-143.36 0-256 112.64-256 256v512c0 143.36 112.64 256 256 256h512c143.36 0 256-112.64 256-256v-512c0-143.36-112.64-256-256-256zM844.8 409.6l-368.64 368.64c-5.12 5.12-20.48 5.12-25.6 0l-56.32-56.32c-5.12-5.12-20.48-20.48-25.6-25.6l-128-133.12c-5.12-5.12-5.12-10.24-5.12-15.36s0-10.24 5.12-15.36l56.32-51.2c5.12 0 10.24-5.12 10.24-5.12 5.12 0 10.24 0 15.36 5.12l122.88 128c5.12 5.12 20.48 5.12 25.6 0l286.72-286.72c5.12-5.12 20.48-5.12 25.6 0l56.32 56.32c10.24 10.24 10.24 20.48 5.12 30.72z"
281 | ],
282 | "grid": 16,
283 | "tags": [
284 | "checkbox-checked"
285 | ]
286 | },
287 | "properties": {
288 | "order": 14,
289 | "id": 52,
290 | "prevSize": 16,
291 | "code": 58894,
292 | "name": "checkbox-checked",
293 | "ligatures": ""
294 | },
295 | "setIdx": 0,
296 | "iconIdx": 14
297 | },
298 | {
299 | "icon": {
300 | "paths": [
301 | "M512 0c-282.752 0-512 229.248-512 512s229.248 512 512 512c282.752 0 512-229.248 512-512 0-282.752-229.248-512-512-512zM512 831.936c-35.776 0-64.768-28.544-64.768-63.808 0-35.2 28.992-63.808 64.768-63.808 35.776 0 64.768 28.608 64.768 63.808 0 35.264-28.992 63.808-64.768 63.808zM576.768 572.224c0 37.056-28.992 67.072-64.768 67.072-35.776 0-64.768-30.080-64.768-67.072v-313.088c0-37.056 28.992-67.072 64.768-67.072 35.776 0 64.768 30.080 64.768 67.072v313.088z"
302 | ],
303 | "grid": 16,
304 | "tags": [
305 | "alert-circle"
306 | ],
307 | "width": 1024
308 | },
309 | "properties": {
310 | "order": 15,
311 | "id": 0,
312 | "prevSize": 16,
313 | "code": 58896,
314 | "name": "alert-circle",
315 | "ligatures": ""
316 | },
317 | "setIdx": 0,
318 | "iconIdx": 16
319 | },
320 | {
321 | "icon": {
322 | "paths": [
323 | "M512 1024c-282.752 0-512-229.248-512-512 0-282.688 229.248-512 512-512 282.752 0 512 229.248 512 512 0 282.752-229.248 512-512 512zM512 831.936c35.776 0 64.768-28.544 64.768-63.808 0-35.2-28.992-63.808-64.768-63.808-35.776 0-64.768 28.608-64.768 63.808 0 35.264 28.992 63.808 64.768 63.808zM650.752 235.712c-33.92-27.904-82.24-43.456-140.032-43.456-42.56 0-78.912 7.68-110.144 20.16-16.576 6.72-69.632 39.68-80.64 48.896l32.384 48.32c5.312 9.344 13.952 14.080 25.92 14.080 4.992 0 10.624-1.984 16.96-5.888 4.608-2.88 41.088-21.696 56.512-26.368 32.32-9.6 67.84-5.696 84.16-0.64 22.272 6.848 38.4 19.904 47.36 37.76 5.888 11.776 13.376 44.16-4.224 74.432-14.656 25.088-37.568 44.16-62.848 61.056-13.504 9.216-26.048 18.624-37.376 28.416-0.512 0-1.792 0.96-4.672 3.52 1.408-1.216 3.264-2.304 4.672-3.52 3.2-0.128-30.784 43.328-30.784 83.52 0 42.88 0 64 0 64h128v-64c0-33.28 16.128-51.968 16.448-56.704 11.008-7.872 61.056-46.144 72.96-59.904 22.208-25.6 38.592-59.392 38.592-107.008 0-48.832-19.392-88.832-53.248-116.672z"
324 | ],
325 | "grid": 16,
326 | "tags": [
327 | "question-circle"
328 | ]
329 | },
330 | "properties": {
331 | "order": 16,
332 | "id": 39,
333 | "prevSize": 16,
334 | "code": 58897,
335 | "name": "question-circle",
336 | "ligatures": ""
337 | },
338 | "setIdx": 0,
339 | "iconIdx": 17
340 | },
341 | {
342 | "icon": {
343 | "paths": [
344 | "M512 0c-282.752 0-512 229.184-512 511.936 0 282.816 229.248 512.064 512 512.064 282.752 0 512-229.248 512-512.064 0-282.752-229.248-511.936-512-511.936zM842.88 407.872l-367.296 367.232c-7.488 7.488-19.712 7.488-27.136 0l-54.272-54.784c-7.424-7.552-19.712-19.904-27.136-27.392l-126.336-132.8c-3.712-3.712-5.696-8.96-5.696-13.888 0-4.992 1.984-9.728 5.696-13.504l55.36-49.92c3.776-3.84 8.768-5.632 13.696-5.632 4.864 0.064 9.728 1.984 13.44 5.632l125.248 127.872c7.488 7.616 19.648 7.616 27.136 0l285.888-285.12c7.424-7.488 19.712-7.488 27.136 0l54.336 54.912c7.424 7.488 7.424 19.84-0.064 27.392z"
345 | ],
346 | "grid": 16,
347 | "tags": [
348 | "check-circle"
349 | ]
350 | },
351 | "properties": {
352 | "order": 17,
353 | "id": 9,
354 | "prevSize": 16,
355 | "code": 58898,
356 | "name": "check-circle",
357 | "ligatures": ""
358 | },
359 | "setIdx": 0,
360 | "iconIdx": 18
361 | },
362 | {
363 | "icon": {
364 | "paths": [
365 | "M874.048 149.952c-199.936-200-524.096-199.936-724.096 0-199.936 199.872-199.936 524.096 0.064 724.032 199.936 199.936 524.096 199.936 724.032 0.064 200-199.936 200-524.16 0-724.096zM747.2 650.944c27.52 27.52 28.224 71.296 1.728 97.856-26.56 26.56-70.4 25.728-97.792-1.728l-139.072-139.008-139.584 139.584c-27.52 27.456-71.296 28.224-97.792 1.728-26.56-26.56-25.728-70.4 1.664-97.856l139.648-139.584-139.648-139.648c-27.456-27.392-28.224-71.168-1.664-97.728 26.496-26.56 70.336-25.792 97.792 1.664l139.584 139.584 139.072-139.072c27.456-27.456 71.232-28.224 97.792-1.664 26.496 26.56 25.728 70.336-1.728 97.792l-139.008 139.072 139.008 139.008z"
366 | ],
367 | "grid": 16,
368 | "tags": [
369 | "cross-circle"
370 | ]
371 | },
372 | "properties": {
373 | "order": 18,
374 | "id": 14,
375 | "prevSize": 16,
376 | "code": 58899,
377 | "name": "cross-circle",
378 | "ligatures": ""
379 | },
380 | "setIdx": 0,
381 | "iconIdx": 19
382 | },
383 | {
384 | "icon": {
385 | "paths": [
386 | "M512-0.064c-282.752 0-512 229.312-512 512.064 0 282.816 229.248 512.064 512 512.064s512-229.248 512-512.064c0-282.752-229.248-512.064-512-512.064zM764.224 576.704h-187.392v187.52c0 36.992-28.992 67.072-64.768 67.072s-64.768-30.080-64.768-67.072v-187.52h-188.16c-36.992 0-67.072-28.928-67.072-64.704s30.080-64.768 67.072-64.768h188.16v-188.16c0-37.056 28.992-67.072 64.768-67.072s64.768 30.016 64.768 67.072v188.16h187.456c37.056 0 67.072 29.056 67.072 64.768s-30.016 64.704-67.136 64.704z"
387 | ],
388 | "grid": 16,
389 | "tags": [
390 | "plus-circle"
391 | ]
392 | },
393 | "properties": {
394 | "order": 19,
395 | "id": 37,
396 | "prevSize": 16,
397 | "code": 58900,
398 | "name": "plus-circle",
399 | "ligatures": ""
400 | },
401 | "setIdx": 0,
402 | "iconIdx": 20
403 | },
404 | {
405 | "icon": {
406 | "paths": [
407 | "M288 0h-192c-35.328 0-64 28.608-64 64v896c0 35.392 28.672 64 64 64h192c35.328 0 64-28.608 64-64v-896c0-35.392-28.672-64-64-64zM928 0h-192c-35.392 0-64 28.608-64 64v896c0 35.392 28.608 64 64 64h192c35.392 0 64-28.608 64-64v-896c0-35.392-28.608-64-64-64z"
408 | ],
409 | "grid": 16,
410 | "tags": [
411 | "pause"
412 | ]
413 | },
414 | "properties": {
415 | "order": 20,
416 | "id": 33,
417 | "prevSize": 16,
418 | "code": 58901,
419 | "name": "pause",
420 | "ligatures": ""
421 | },
422 | "setIdx": 0,
423 | "iconIdx": 21
424 | },
425 | {
426 | "icon": {
427 | "paths": [
428 | "M880 484.224l-832-480c-9.856-5.696-22.144-5.696-32 0-9.856 5.76-16 16.32-16 27.776v960c0 11.456 6.144 22.016 16 27.712 4.928 2.88 10.496 4.288 16 4.288s11.072-1.408 16-4.288l832-480c9.856-5.696 16-16.256 16-27.712s-6.144-22.016-16-27.776z"
429 | ],
430 | "grid": 16,
431 | "tags": [
432 | "play"
433 | ]
434 | },
435 | "properties": {
436 | "order": 21,
437 | "id": 35,
438 | "prevSize": 16,
439 | "code": 58902,
440 | "name": "play",
441 | "ligatures": ""
442 | },
443 | "setIdx": 0,
444 | "iconIdx": 22
445 | },
446 | {
447 | "icon": {
448 | "paths": [
449 | "M493.184 64c-48.384 0-63.040 27.84-63.040 27.84s-183.104 216.192-266.56 216.192c-82.176 0-81.344 0-81.344 0-45.44 0-82.24 36.416-82.24 81.28v244.096c0 44.928 36.8 81.28 82.176 81.28 0 0 1.344 0 82.176 0 81.024 0 269.568 218.88 269.568 218.88 14.912 15.488 35.904 25.152 59.264 25.152 45.376 0 82.176-36.352 82.176-81.28v-732.096c0-44.928-36.8-81.344-82.176-81.344zM843.968 142.272l-47.424 70.976c86.656 70.4 142.208 177.728 142.208 298.176s-55.488 227.84-142.208 298.112l47.424 70.976c109.44-85.888 180.032-219.136 180.032-369.088 0-150.016-70.592-283.2-180.032-369.152zM748.8 284.672l-47.872 71.68c41.344 38.912 67.392 93.76 67.392 155.072s-26.048 116.096-67.392 155.072l47.872 71.616c63.872-54.72 104.576-136 104.576-226.688 0-90.816-40.704-171.968-104.576-226.752z"
450 | ],
451 | "grid": 16,
452 | "tags": [
453 | "volume"
454 | ]
455 | },
456 | "properties": {
457 | "order": 22,
458 | "id": 49,
459 | "prevSize": 16,
460 | "code": 58903,
461 | "name": "volume",
462 | "ligatures": ""
463 | },
464 | "setIdx": 0,
465 | "iconIdx": 23
466 | },
467 | {
468 | "icon": {
469 | "paths": [
470 | "M492.8 64c-51.2 0-64 25.6-64 25.6s-179.2 217.6-262.4 217.6c-83.2 0-83.2 0-83.2 0-44.8 0-83.2 38.4-83.2 83.2v243.2c0 44.8 38.4 83.2 83.2 83.2 0 0 0 0 83.2 0 83.2 0 268.8 217.6 268.8 217.6 12.8 12.8 32 25.6 57.6 25.6 44.8 0 83.2-38.4 83.2-83.2v-729.6c0-44.8-38.4-83.2-83.2-83.2z"
471 | ],
472 | "grid": 16,
473 | "tags": [
474 | "mute"
475 | ]
476 | },
477 | "properties": {
478 | "order": 23,
479 | "id": 96,
480 | "prevSize": 16,
481 | "code": 58904,
482 | "name": "mute",
483 | "ligatures": ""
484 | },
485 | "setIdx": 0,
486 | "iconIdx": 24
487 | },
488 | {
489 | "icon": {
490 | "paths": [
491 | "M832 320l-213.056 208.448-125.696-125.696 210.752-210.688-160-160.064h448v448l-160-160zM526.976 617.472l-206.976 202.496 167.488 172.032h-455.488v-452.288l160 164.288 210.752-210.752 124.224 124.224z"
492 | ],
493 | "grid": 16,
494 | "tags": [
495 | "resize"
496 | ]
497 | },
498 | "properties": {
499 | "order": 24,
500 | "id": 97,
501 | "prevSize": 16,
502 | "code": 58905,
503 | "name": "resize",
504 | "ligatures": ""
505 | },
506 | "setIdx": 0,
507 | "iconIdx": 25
508 | },
509 | {
510 | "icon": {
511 | "paths": [
512 | "M991.936 96.64h-959.872c-17.6 0-32 15.36-32 34.176v124.672c0 18.048 14.4 32.832 32 32.832h959.872c17.6 0 32-14.72 32-32.832v-124.672c0-18.816-14.4-34.176-32-34.176zM991.936 416.64h-959.872c-17.6 0-32 15.36-32 34.24v124.608c0 18.112 14.4 32.832 32 32.832h959.872c17.6 0 32-14.72 32-32.832v-124.672c0-18.816-14.4-34.176-32-34.176zM991.936 736.64h-959.872c-17.6 0-32 15.36-32 34.24v124.608c0 17.984 14.4 32.768 32 32.768h959.872c17.6 0 32-14.72 32-32.768v-124.608c0-18.88-14.4-34.24-32-34.24z"
513 | ],
514 | "grid": 16,
515 | "tags": [
516 | "list"
517 | ]
518 | },
519 | "properties": {
520 | "order": 25,
521 | "id": 26,
522 | "prevSize": 16,
523 | "code": 58906,
524 | "name": "list",
525 | "ligatures": ""
526 | },
527 | "setIdx": 0,
528 | "iconIdx": 26
529 | },
530 | {
531 | "icon": {
532 | "paths": [
533 | "M352 64h-320c-19.2 0-32 12.8-32 32v320c0 19.2 12.8 32 32 32h320c19.2 0 32-12.8 32-32v-320c0-19.2-12.8-32-32-32z",
534 | "M352 576h-320c-19.2 0-32 12.8-32 32v320c0 19.2 12.8 32 32 32h320c19.2 0 32-12.8 32-32v-320c0-19.2-12.8-32-32-32z",
535 | "M992 64h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
536 | "M992 320h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
537 | "M992 576h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
538 | "M992 832h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z"
539 | ],
540 | "grid": 16,
541 | "tags": [
542 | "list-thumbnailed"
543 | ]
544 | },
545 | "properties": {
546 | "order": 26,
547 | "id": 60,
548 | "prevSize": 16,
549 | "code": 58907,
550 | "name": "list-thumbnailed",
551 | "ligatures": ""
552 | },
553 | "setIdx": 0,
554 | "iconIdx": 27
555 | },
556 | {
557 | "icon": {
558 | "paths": [
559 | "M288 64h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM288 384h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM608 64h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM608 384h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM928 64h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM928 384h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM288 704h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM608 704h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM928 704h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32z"
560 | ],
561 | "grid": 16,
562 | "tags": [
563 | "list-small-thumbnails"
564 | ]
565 | },
566 | "properties": {
567 | "order": 27,
568 | "id": 59,
569 | "prevSize": 16,
570 | "code": 58908,
571 | "name": "list-small-thumbnails",
572 | "ligatures": ""
573 | },
574 | "setIdx": 0,
575 | "iconIdx": 28
576 | },
577 | {
578 | "icon": {
579 | "paths": [
580 | "M416 0h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32zM992 0h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32zM416 576h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32zM992 576h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32z"
581 | ],
582 | "grid": 16,
583 | "tags": [
584 | "list-large-thumbnails"
585 | ]
586 | },
587 | "properties": {
588 | "order": 28,
589 | "id": 57,
590 | "prevSize": 16,
591 | "code": 58909,
592 | "name": "list-large-thumbnails",
593 | "ligatures": ""
594 | },
595 | "setIdx": 0,
596 | "iconIdx": 29
597 | },
598 | {
599 | "icon": {
600 | "paths": [
601 | "M992 64h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
602 | "M992 320h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
603 | "M992 576h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
604 | "M992 832h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z"
605 | ],
606 | "grid": 16,
607 | "tags": [
608 | "list-columned"
609 | ]
610 | },
611 | "properties": {
612 | "order": 29,
613 | "id": 56,
614 | "prevSize": 16,
615 | "code": 58911,
616 | "name": "list-columned",
617 | "ligatures": ""
618 | },
619 | "setIdx": 0,
620 | "iconIdx": 31
621 | },
622 | {
623 | "icon": {
624 | "paths": [
625 | "M992 128h-640c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h640c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
626 | "M992 448h-640c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h640c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
627 | "M992 768h-640c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h640c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
628 | "M256 192c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128 0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128z",
629 | "M256 512c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128 0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128z",
630 | "M256 832c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128 0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128z"
631 | ],
632 | "grid": 16,
633 | "tags": [
634 | "list-bulleted"
635 | ]
636 | },
637 | "properties": {
638 | "order": 30,
639 | "id": 55,
640 | "prevSize": 16,
641 | "code": 58912,
642 | "name": "list-bulleted",
643 | "ligatures": ""
644 | },
645 | "setIdx": 0,
646 | "iconIdx": 32
647 | },
648 | {
649 | "icon": {
650 | "paths": [
651 | "M896 0h-768c-70.656 0-128 57.344-128 128v768c0 70.656 57.344 128 128 128h768c70.656 0 128-57.344 128-128v-768c0-70.656-57.344-128-128-128zM384 64.064c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM192 64.064c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM896.064 896h-768.064v-640h768.064v640z"
652 | ],
653 | "grid": 16,
654 | "tags": [
655 | "window"
656 | ]
657 | },
658 | "properties": {
659 | "order": 31,
660 | "id": 50,
661 | "prevSize": 16,
662 | "code": 58913,
663 | "name": "window",
664 | "ligatures": ""
665 | },
666 | "setIdx": 0,
667 | "iconIdx": 33
668 | },
669 | {
670 | "icon": {
671 | "paths": [
672 | "M938.752 192.256h-106.688v-106.624c0-47.104-38.208-85.312-85.312-85.312h-661.44c-47.104 0-85.312 38.208-85.312 85.312v660.672c0 47.168 37.248 85.376 83.136 85.376h108.864v106.688c0 47.104 37.248 85.312 83.136 85.312h665.792c45.952 0 83.2-38.208 83.2-85.312v-660.736c-0.064-47.104-38.272-85.376-85.376-85.376zM384 64.384c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM192 64.384c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM128 704.32l-0.064-448h576.064v448h-576zM896 896.32h-576v-64.64h428.864c45.952 0 83.2-38.208 83.2-85.376v-297.984h63.936v448z"
673 | ],
674 | "grid": 16,
675 | "tags": [
676 | "windows"
677 | ]
678 | },
679 | "properties": {
680 | "order": 32,
681 | "id": 51,
682 | "prevSize": 16,
683 | "code": 58914,
684 | "name": "windows",
685 | "ligatures": ""
686 | },
687 | "setIdx": 0,
688 | "iconIdx": 34
689 | },
690 | {
691 | "icon": {
692 | "paths": [
693 | "M768 768.064c-121.6 0-197.888-68.736-256-144.448-58.112 75.712-134.4 144.448-256 144.448-102.848 0-256-68.224-256-256.064 0-187.776 153.152-256 256-256 121.6 0 197.888 68.672 256 144.448 58.112-75.776 134.4-144.448 256-144.448 102.912 0 256 68.224 256 256 0 187.84-153.088 256.064-256 256.064zM256 384c-29.632 0.512-128 11.136-128 128 0 121.856 106.624 128 128 128 78.272 0 123.264-47.808 178.752-128-55.488-80.128-100.48-128-178.752-128zM589.248 512c55.424 80.128 100.352 127.872 178.432 128 30.336-0.448 128.32-11.264 128.32-128 0-121.856-106.624-128-128-128-78.272 0-123.264 47.872-178.752 128z"
694 | ],
695 | "grid": 16,
696 | "tags": [
697 | "loop"
698 | ]
699 | },
700 | "properties": {
701 | "order": 33,
702 | "id": 29,
703 | "prevSize": 16,
704 | "code": 58915,
705 | "name": "loop",
706 | "ligatures": ""
707 | },
708 | "setIdx": 0,
709 | "iconIdx": 35
710 | },
711 | {
712 | "icon": {
713 | "paths": [
714 | "M800 448c-22.976 0-59.328 0-96 0v128c22.656 0 44.8 0 64 0 12.096 0 23.296 0 32 0 123.712 0 224 100.288 224 224s-100.288 224-224 224-224-100.224-224-224c0-22.976 0-59.264 0-96h-128c0 22.656 0 44.864 0 64 0 12.096 0 23.232 0 32 0 123.776-100.288 224-224 224s-224-100.224-224-224 100.288-224 224-224c22.976 0 59.328 0 96 0v-128c-22.592 0-44.864 0-64 0-12.096 0-23.232 0-32 0-123.712 0-224-100.224-224-224 0-123.712 100.288-224 224-224s224 100.288 224 224c0 22.976 0 59.328 0 96h128c0-22.592 0-44.864 0-64 0-12.096 0-23.232 0-32 0-123.712 100.288-224 224-224s224 100.288 224 224c0 123.776-100.288 224-224 224zM320 224c0-52.992-43.008-96-96-96s-96 43.008-96 96c0 53.056 43.008 96 96 96 7.744 0 19.52 0 32 0 29.568 0 64 0 64 0s0-69.056 0-96zM320 768c0-29.504 0-64 0-64s-69.056 0-96 0c-52.992 0-96 43.008-96 96s43.008 96 96 96 96-43.008 96-96c0-7.744 0-19.52 0-32zM704 800c0 52.992 43.008 96 96 96s96-43.008 96-96-43.008-96-96-96c-7.744 0-19.52 0-32 0-29.568 0-64 0-64 0s0 69.12 0 96zM576 448h-128v128h128v-128zM800 128c-52.992 0-96 43.008-96 96 0 7.744 0 19.456 0 32 0 29.632 0 64 0 64s69.056 0 96 0c52.992 0 96-42.944 96-96 0-52.992-43.008-96-96-96z"
715 | ],
716 | "grid": 16,
717 | "tags": [
718 | "cmd"
719 | ]
720 | },
721 | "properties": {
722 | "order": 34,
723 | "id": 11,
724 | "prevSize": 16,
725 | "code": 58916,
726 | "name": "cmd",
727 | "ligatures": ""
728 | },
729 | "setIdx": 0,
730 | "iconIdx": 36
731 | },
732 | {
733 | "icon": {
734 | "paths": [
735 | "M801.984 553.6c-28.672-17.664-65.408-7.232-81.92 23.36-0.576 1.024-0.576 2.24-1.152 3.264l-1.472-0.96c-41.984 74.432-117.696 124.736-205.184 124.736s-163.136-50.304-205.184-124.736l-1.408 0.832c-0.704-1.6-0.704-3.456-1.6-5.12-16.576-30.528-53.312-41.024-82.048-23.36s-38.528 56.832-21.952 87.36c1.28 2.24 3.264 3.648 4.672 5.696l-1.088 0.704c53.12 94.208 143.104 161.6 248.576 180.608v70.016h-120.064c-33.152 0-60.032 28.672-60.032 64 0 35.392 26.88 64 60.032 64h360.128c33.216 0 60.032-28.608 60.032-64 0-35.328-26.816-64-60.032-64h-120v-69.952c105.472-19.008 195.456-86.528 248.576-180.672l-0.384-0.256c1.088-1.472 2.624-2.432 3.456-4.096 16.64-30.656 6.784-69.76-21.952-87.424zM512.256 640c99.456 0 180.032-85.952 180.032-192v-256c0-106.048-80.64-192-180.032-192-99.456 0-180.096 85.952-180.096 192v256c0 106.048 80.64 192 180.096 192z"
736 | ],
737 | "grid": 16,
738 | "tags": [
739 | "mic"
740 | ]
741 | },
742 | "properties": {
743 | "order": 35,
744 | "id": 31,
745 | "prevSize": 16,
746 | "code": 58917,
747 | "name": "mic",
748 | "ligatures": ""
749 | },
750 | "setIdx": 0,
751 | "iconIdx": 37
752 | },
753 | {
754 | "icon": {
755 | "paths": [
756 | "M948.544 513.152c100.48-102.784 100.352-269.312 0-372.032-51.392-52.48-118.976-78.144-186.24-76.992-94.144 1.536-249.344 128.96-249.344 128.96s-159.616-129.216-256-129.088c-65.728 0.128-131.392 25.856-181.504 77.056-100.416 102.784-100.48 269.248 0 372.032l436.544 446.336 436.544-446.272z"
757 | ],
758 | "grid": 16,
759 | "tags": [
760 | "heart"
761 | ]
762 | },
763 | "properties": {
764 | "order": 36,
765 | "id": 21,
766 | "prevSize": 16,
767 | "code": 58918,
768 | "name": "heart",
769 | "ligatures": ""
770 | },
771 | "setIdx": 0,
772 | "iconIdx": 38
773 | },
774 | {
775 | "icon": {
776 | "paths": [
777 | "M512.128 527.936c-87.872 0-159.104-73.728-159.104-164.8 0-91.136 71.232-164.864 159.104-164.864s159.104 73.728 159.104 164.864c0 91.008-71.232 164.8-159.104 164.8zM512.128-0.384c-194.496 0-352.128 163.328-352.128 364.8 0 190.272 159.488 435.776 265.984 555.264 39.808 44.544 86.144 104.704 86.144 104.704s49.792-60.352 92.48-106.304c106.368-114.496 259.648-344.448 259.648-553.6 0-201.536-157.632-364.864-352.128-364.864z"
778 | ],
779 | "grid": 16,
780 | "tags": [
781 | "location"
782 | ]
783 | },
784 | "properties": {
785 | "order": 37,
786 | "id": 27,
787 | "prevSize": 16,
788 | "code": 58919,
789 | "name": "location",
790 | "ligatures": ""
791 | },
792 | "setIdx": 0,
793 | "iconIdx": 39
794 | },
795 | {
796 | "icon": {
797 | "paths": [
798 | "M960.512 249.728c-21.76-35.968-48.576-71.168-81.344-103.808-33.216-32.896-68.992-59.968-105.6-81.6l64.32-64.32c0 0 93.056 0 139.648 46.528 46.464 46.592 46.464 139.648 46.464 139.648l-63.488 63.552zM387.2 831.232h-194.432v-194.432l23.36-23.36c39.552 18.56 78.784 44.928 114.176 80.32 35.392 35.328 61.696 74.688 80.32 114.176l-23.424 23.296zM906.752 303.488l-440 448.32c-22.72-37.632-50.688-74.304-84.992-108.352-34.688-34.432-72.064-62.72-110.336-85.312l449.152-440.896c37.824 17.856 75.456 42.944 109.312 76.864s59.008 71.424 76.864 109.376zM128 128v767.936h768v-319.936l128-127.936v482.88c0 51.392-41.6 93.056-93.056 93.056h-837.888c-51.392 0-93.056-41.664-93.056-93.056v-837.824c0-51.456 41.664-93.12 93.056-93.12h482.944l-128 128h-320z"
799 | ],
800 | "grid": 16,
801 | "tags": [
802 | "new"
803 | ]
804 | },
805 | "properties": {
806 | "order": 38,
807 | "id": 32,
808 | "prevSize": 16,
809 | "code": 58920,
810 | "name": "new",
811 | "ligatures": ""
812 | },
813 | "setIdx": 0,
814 | "iconIdx": 40
815 | },
816 | {
817 | "icon": {
818 | "paths": [
819 | "M960.256 863.936v0.768l-256.256-256.256v127.488c0 70.72-57.344 128.064-128 128.064h-448c-70.656 0-128-57.344-128-128.064v-447.872c0-70.72 57.344-128.064 128-128.064h448c70.656 0 128 57.344 128 128.064v128.576l256-256v-0.64c35.392 0 64 28.608 64 64v576c0 35.264-28.544 63.808-63.744 63.936z"
820 | ],
821 | "grid": 16,
822 | "tags": [
823 | "video"
824 | ]
825 | },
826 | "properties": {
827 | "order": 39,
828 | "id": 48,
829 | "prevSize": 16,
830 | "code": 58921,
831 | "name": "video",
832 | "ligatures": ""
833 | },
834 | "setIdx": 0,
835 | "iconIdx": 41
836 | },
837 | {
838 | "icon": {
839 | "paths": [
840 | "M897.024 192h-147.84l-42.88-90.624c-9.792-21.312-45.056-37.376-79.36-37.376h-244.8c-34.304 0-69.568 16.064-79.424 37.376l-41.856 90.624h-132.864c-128 0-128 64-128 64v640c0 0 0 64 128 64h768c128 0 128-64 128-64v-640c0 0 0-64-126.976-64zM512 831.936c-141.376 0-256-114.496-256-255.872 0-141.44 114.624-256.064 256-256.064s256 114.624 256 256.064c0 141.376-114.624 255.872-256 255.872zM512 416c-88.384 0-160 71.616-160 160 0 88.32 71.616 160 160 160s160-71.68 160-160c0-88.384-71.616-160-160-160z"
841 | ],
842 | "grid": 16,
843 | "tags": [
844 | "photo"
845 | ]
846 | },
847 | "properties": {
848 | "order": 40,
849 | "id": 34,
850 | "prevSize": 16,
851 | "code": 58922,
852 | "name": "photo",
853 | "ligatures": ""
854 | },
855 | "setIdx": 0,
856 | "iconIdx": 42
857 | },
858 | {
859 | "icon": {
860 | "paths": [
861 | "M512.064 0c-282.688 0-511.872 229.184-511.872 511.936 0 282.816 229.184 511.936 511.872 511.936 282.752 0 511.936-229.12 511.936-511.936 0-282.752-229.184-511.936-511.936-511.936zM678.976 691.52l-14.848 14.976c-12.416 12.352-33.344 12.992-46.464 1.28l-171.52-147.52c-13.12-11.712-23.040-35.712-22.208-53.248l17.856-283.072c0.896-17.6 16-31.936 33.664-31.936h21.056c17.6 0 32.704 14.336 33.536 31.936l14.656 231.808c0.896 17.536 11.2 42.688 22.848 55.808l112.768 133.568c11.648 12.992 11.136 33.984-1.344 46.4z"
862 | ],
863 | "grid": 16,
864 | "tags": [
865 | "time"
866 | ]
867 | },
868 | "properties": {
869 | "order": 41,
870 | "id": 43,
871 | "prevSize": 16,
872 | "code": 58923,
873 | "name": "time",
874 | "ligatures": ""
875 | },
876 | "setIdx": 0,
877 | "iconIdx": 43
878 | },
879 | {
880 | "icon": {
881 | "paths": [
882 | "M512.064 160c-338.944 0-512.96 352.896-512.96 352.896s131.328 352.96 512.96 352.96c345.472 0 512.832-351.616 512.832-351.616s-168.64-354.24-512.832-354.24zM512.832 733.504c-123.968 0-213.504-96.576-213.504-220.608 0-124.096 89.536-220.544 213.504-220.544 123.904 0 213.44 96.448 213.44 220.544 0 124.032-89.6 220.608-213.44 220.608zM512.832 380.544c-70.784 0.128-128.128 61.44-128.128 132.352 0 70.848 57.344 132.352 128.128 132.352s128.064-61.504 128.064-132.352c0-70.912-57.28-132.544-128.064-132.352z"
883 | ],
884 | "grid": 16,
885 | "tags": [
886 | "eye"
887 | ]
888 | },
889 | "properties": {
890 | "order": 42,
891 | "id": 18,
892 | "prevSize": 16,
893 | "code": 58924,
894 | "name": "eye",
895 | "ligatures": ""
896 | },
897 | "setIdx": 0,
898 | "iconIdx": 44
899 | },
900 | {
901 | "icon": {
902 | "paths": [
903 | "M1024 933.248c0 50.176-41.6 90.752-93.12 90.752h-291.264v-351.68c0-53.056-38.016-96.128-85.056-96.128h-85.12c-46.976 0-85.12 43.072-85.12 96.128v351.68h-291.264c-51.392 0-93.056-40.576-93.056-90.752v-478.976c0-23.36 9.344-44.48 24.192-60.544l-0.96-1.856 425.92-372.992c34.304-25.152 89.984-25.152 124.288 0l427.264 372.992-0.448 2.368c14.592 16.064 23.744 36.928 23.744 60.032v478.976z"
904 | ],
905 | "grid": 16,
906 | "tags": [
907 | "home"
908 | ]
909 | },
910 | "properties": {
911 | "order": 43,
912 | "id": 22,
913 | "prevSize": 16,
914 | "code": 58926,
915 | "name": "home",
916 | "ligatures": ""
917 | },
918 | "setIdx": 0,
919 | "iconIdx": 46
920 | },
921 | {
922 | "icon": {
923 | "paths": [
924 | "M896 1024h-192v-128h192.064v-640h-768.064v640h192v128h-192c-70.656 0-128-57.344-128-128v-768c0-70.656 57.344-128 128-128h768c70.656 0 128 57.344 128 128v768c0 70.656-57.344 128-128 128zM192 64.064c-35.392 0-64 28.608-64 63.936 0 35.392 28.608 64 64 64s64-28.608 64-64c0-35.328-28.608-63.936-64-63.936zM384 64.064c-35.392 0-64 28.608-64 63.936 0 35.392 28.608 64 64 64s64-28.608 64-64c0-35.328-28.608-63.936-64-63.936zM271.936 759.296c-22.208-23.232-22.208-60.864 0-84.16l196.928-209.408c6.144-6.464 13.44-10.496 21.12-13.44 0.064-0.064 0.192-0.064 0.32-0.128 5.888-2.24 11.84-3.456 17.984-3.712 2.24-0.192 4.416-0.384 6.656-0.256 2.752 0.192 5.376 1.024 8 1.6 11.328 2.24 22.272 6.72 30.976 15.872l196.864 209.408c22.272 23.296 22.272 60.928 0 84.16-22.272 23.104-58.304 23.104-80.576 0l-94.208-119.232v319.936c0 34.176-32.064 64.064-64.64 64.064-32.512 0-63.36-29.888-63.36-64.064v-319.936l-95.488 119.296c-22.272 23.168-58.304 23.168-80.576 0z"
925 | ],
926 | "grid": 16,
927 | "tags": [
928 | "upload"
929 | ]
930 | },
931 | "properties": {
932 | "order": 44,
933 | "id": 46,
934 | "prevSize": 16,
935 | "code": 58927,
936 | "name": "upload",
937 | "ligatures": ""
938 | },
939 | "setIdx": 0,
940 | "iconIdx": 47
941 | },
942 | {
943 | "icon": {
944 | "paths": [
945 | "M723.392 606.4c-11.328-11.456-15.104-32.704-8.384-47.296 0 0 47.232-102.464 47.232-177.728 0-210.624-170.432-381.376-380.736-381.376s-380.8 170.752-380.8 381.312c0 210.624 170.496 381.376 380.8 381.376 75.2 0 177.408-47.36 177.408-47.36 14.656-6.784 35.968-2.944 47.232 8.448l291.456 291.776c11.456 11.392 30.080 11.392 41.344 0l75.776-75.904c11.456-11.456 11.456-30.144 0-41.472l-291.328-291.776zM381.504 586.624c-113.088 0-205.056-92.032-205.056-205.312 0-113.216 92.032-205.312 205.056-205.312s204.992 92.096 204.992 205.312c0 113.28-91.904 205.312-204.992 205.312z"
946 | ],
947 | "grid": 16,
948 | "tags": [
949 | "search"
950 | ]
951 | },
952 | "properties": {
953 | "order": 45,
954 | "id": 40,
955 | "prevSize": 16,
956 | "code": 58928,
957 | "name": "search",
958 | "ligatures": ""
959 | },
960 | "setIdx": 0,
961 | "iconIdx": 48
962 | },
963 | {
964 | "icon": {
965 | "paths": [
966 | "M449.024 363.712c106.56 0 193.024-81.344 193.024-181.888-0.064-100.416-86.464-181.824-193.024-181.824s-193.024 81.408-193.024 181.824c0 100.48 86.464 181.888 193.024 181.888zM600.32 376.32c-42.56 29.44-94.592 47.424-151.296 47.424-56.96 0-109.12-18.112-151.744-47.744-173.248 37.312-297.28 136.832-297.28 254.016v258.88c0 17.152 14.4 31.104 32 31.104h64c17.6 0 32-12.608 32-28.096 0-8.96 0-201.856 0-201.856 0-16.64 9.536-9.984 21.376-9.984 11.776 0 21.312 9.024 21.312 19.968l0.32 179.968c0.896 10.368 9.6 84.416 20.544 86.592 0 0 66.56 57.344 256.448 57.344 191.232 0 256.448-57.344 256.448-57.344 10.944-2.112 19.712-76.16 20.544-86.592l0.32-179.968c0-11.008 9.536-19.968 21.376-19.968 11.776 0 21.312 9.024 21.312 19.968 0 0 0 182.912 0 191.872 0 15.488 14.4 28.096 32 28.096h64c17.6 0 32-14.016 32-31.104v-258.88c0-116.864-123.392-216.128-295.68-253.696z"
967 | ],
968 | "grid": 16,
969 | "tags": [
970 | "user"
971 | ]
972 | },
973 | "properties": {
974 | "order": 46,
975 | "id": 47,
976 | "prevSize": 16,
977 | "code": 58929,
978 | "name": "user",
979 | "ligatures": ""
980 | },
981 | "setIdx": 0,
982 | "iconIdx": 49
983 | },
984 | {
985 | "icon": {
986 | "paths": [
987 | "M896 96c-50.496 0-768 0-768 0-50.496 0-128 41.152-128 90.944v18.112c0 0 432.768 361.856 512 361.856s512-360.704 512-360.704v-19.2c0-49.856-77.504-91.008-128-91.008zM0 351.040v512.896c0 0 0 64.064 128 64.064h768c128.192 0 128-64.064 128-64.064v-514.496c0 0-364.16 324.992-512 324.992-146.304 0-512-323.392-512-323.392z"
988 | ],
989 | "grid": 16,
990 | "tags": [
991 | "mail"
992 | ]
993 | },
994 | "properties": {
995 | "order": 47,
996 | "id": 30,
997 | "prevSize": 16,
998 | "code": 58930,
999 | "name": "mail",
1000 | "ligatures": ""
1001 | },
1002 | "setIdx": 0,
1003 | "iconIdx": 50
1004 | },
1005 | {
1006 | "icon": {
1007 | "paths": [
1008 | "M896 1024h-768c-35.328 0-64-28.608-64-64.064v-447.936c0-35.328 28.672-64 64-64h64v-128c0-176.704 143.232-320 320-320s320 143.296 320 320v128h64c35.392 0 64 28.672 64 64v447.936c0 35.456-28.608 64.064-64 64.064zM704 320c0-105.984-85.952-192-192-192s-192 86.016-192 192v128h384v-128z"
1009 | ],
1010 | "grid": 16,
1011 | "tags": [
1012 | "lock"
1013 | ]
1014 | },
1015 | "properties": {
1016 | "order": 48,
1017 | "id": 28,
1018 | "prevSize": 16,
1019 | "code": 58931,
1020 | "name": "lock",
1021 | "ligatures": ""
1022 | },
1023 | "setIdx": 0,
1024 | "iconIdx": 51
1025 | },
1026 | {
1027 | "icon": {
1028 | "paths": [
1029 | "M767.872 172.992l-0.128 0.064c-0.896-0.64-1.6-1.536-2.624-2.24-29.184-20.032-68.992-12.608-89.024 16.704-19.968 29.312-12.48 69.312 16.64 89.344 0.768 0.64 1.536 0.896 2.24 1.28l-0.256 0.448c82.88 58.048 137.28 154.496 137.28 263.744 0 177.536-143.296 321.472-320 321.472s-320-143.936-320-321.472c0-109.248 54.4-205.696 137.28-263.744l-0.256-0.448c0.704-0.384 1.472-0.64 2.24-1.216 29.184-20.032 36.608-60.032 16.64-89.344-20.032-29.312-59.84-36.8-89.024-16.704-0.96 0.704-1.728 1.536-2.688 2.24l-0.064-0.128c-116.032 81.408-192.128 216.32-192.128 369.344 0 248.576 200.576 450.176 448 450.176s448-201.6 448-450.176c0-153.024-76.096-287.936-192.128-369.344zM512 608c35.392 0 64-28.608 64-64v-447.936c0-35.392-28.608-64.064-64-64.064-35.328 0-64 28.672-64 64.064v447.936c0 35.392 28.672 64 64 64z"
1030 | ],
1031 | "grid": 16,
1032 | "tags": [
1033 | "power"
1034 | ]
1035 | },
1036 | "properties": {
1037 | "order": 49,
1038 | "id": 38,
1039 | "prevSize": 16,
1040 | "code": 58932,
1041 | "name": "power",
1042 | "ligatures": ""
1043 | },
1044 | "setIdx": 0,
1045 | "iconIdx": 52
1046 | },
1047 | {
1048 | "icon": {
1049 | "paths": [
1050 | "M320 384c-35.328 0-64 28.608-64 64s28.672 64 64 64 64-28.608 64-64-28.672-64-64-64zM512 576c-35.328 0-64 28.608-64 64s28.672 64 64 64 64-28.608 64-64-28.672-64-64-64zM320 576c-35.328 0-64 28.608-64 64s28.672 64 64 64 64-28.608 64-64-28.672-64-64-64zM896 64.064h-128c0-35.392-28.608-64.064-64-64.064s-64 28.672-64 64.064h-256c0-35.392-28.672-64.064-64-64.064s-64 28.672-64 64.064h-128c-70.656 0-128 57.28-128 127.936v640c0 70.72 57.344 128 128 128h768c70.656 0 128-57.28 128-128v-640c0-70.656-57.344-127.936-128-127.936zM896 832h-768v-640h128c0 35.392 28.672 64 64 64s64-28.608 64-64h256c0 35.392 28.608 64 64 64s64-28.608 64-64h128v640zM704 384c-35.392 0-64 28.608-64 64s28.608 64 64 64 64-28.608 64-64-28.608-64-64-64zM512 384c-35.328 0-64 28.608-64 64s28.672 64 64 64 64-28.608 64-64-28.672-64-64-64zM704 576c-35.392 0-64 28.608-64 64s28.608 64 64 64 64-28.608 64-64-28.608-64-64-64z"
1051 | ],
1052 | "grid": 16,
1053 | "tags": [
1054 | "calendar"
1055 | ]
1056 | },
1057 | "properties": {
1058 | "order": 50,
1059 | "id": 5,
1060 | "prevSize": 16,
1061 | "code": 58933,
1062 | "name": "calendar",
1063 | "ligatures": ""
1064 | },
1065 | "setIdx": 0,
1066 | "iconIdx": 53
1067 | },
1068 | {
1069 | "icon": {
1070 | "paths": [
1071 | "M918.272 432.96c-17.344-2.56-35.968-18.304-41.344-35.008l-26.112-63.232c-8.128-15.552-6.272-39.872 4.352-53.952l42.112-56.192c10.624-14.080 9.728-36.352-1.984-49.536l-46.272-46.4c-13.12-11.712-35.52-12.544-49.6-1.984l-56.128 42.24c-14.144 10.496-38.4 12.48-54.016 4.288l-63.168-26.048c-16.832-5.312-32.64-24-35.008-41.472l-9.984-69.504c-2.496-17.408-18.816-33.152-36.352-34.944 0 0-10.816-1.216-32.768-1.216s-32.768 1.216-32.768 1.216c-17.536 1.792-33.92 17.536-36.352 34.944l-9.984 69.504c-2.432 17.472-18.176 36.16-35.008 41.472l-63.168 26.048c-15.552 8.192-39.808 6.208-53.888-4.288l-56.256-42.24c-14.016-10.624-36.416-9.728-49.6 1.984l-46.208 46.272c-11.648 13.184-12.544 35.52-1.984 49.6l42.176 56.192c10.56 14.080 12.48 38.4 4.288 53.952l-26.048 63.296c-5.376 16.704-24 32.448-41.408 35.008l-69.504 9.792c-17.472 2.56-33.216 18.88-35.008 36.416 0 0-1.152 10.88-1.152 32.832 0 21.952 1.152 32.896 1.152 32.896 1.856 17.472 17.6 33.792 35.008 36.288l69.504 9.856c17.408 2.496 36.032 18.304 41.408 35.008l26.112 63.232c8.192 15.616 6.272 39.808-4.288 53.888l-42.176 56.256c-10.56 14.144-13.12 33.28-5.632 42.496 7.424 9.216 28.864 32.064 28.928 32.064 0 0.128 7.232 6.72 16 14.656 8.768 8.064 44.48 19.2 58.56 8.64l56.256-42.112c14.080-10.624 38.336-12.544 53.888-4.352l63.040 25.984c16.832 5.44 32.576 24 35.008 41.472l9.984 69.504c2.432 17.344 18.816 33.28 36.288 35.072 0 0 10.88 1.152 32.832 1.152s32.768-1.152 32.768-1.152c17.472-1.792 33.856-17.664 36.352-35.072l9.984-69.504c2.368-17.472 18.112-36.032 35.008-41.472l63.104-25.984c15.616-8.192 39.872-6.272 54.016 4.224l56.256 42.24c14.144 10.56 36.352 9.664 49.6-1.92l46.272-46.336c11.648-13.184 12.48-35.52 1.856-49.6l-42.112-56.256c-10.624-14.080-12.48-38.272-4.352-53.888l26.112-63.232c5.376-16.768 24-32.512 41.344-35.008l69.504-9.856c17.344-2.496 33.152-18.816 35.008-36.288 0 0 1.152-10.88 1.152-32.896 0-21.952-1.152-32.832-1.152-32.832-1.856-17.536-17.6-33.856-35.008-36.416l-69.44-9.792zM512 640c-70.656 0-128-57.344-128-128 0-70.72 57.344-128 128-128 70.592 0 128 57.344 128 128 0 70.656-57.344 128-128 128z"
1072 | ],
1073 | "grid": 16,
1074 | "tags": [
1075 | "gear"
1076 | ]
1077 | },
1078 | "properties": {
1079 | "order": 51,
1080 | "id": 20,
1081 | "prevSize": 16,
1082 | "code": 58934,
1083 | "name": "gear",
1084 | "ligatures": ""
1085 | },
1086 | "setIdx": 0,
1087 | "iconIdx": 54
1088 | },
1089 | {
1090 | "icon": {
1091 | "paths": [
1092 | "M768 262.976v0h128c35.392 0 64 28.672 64 64v640c0 35.392-28.608 64-64 64h-672c-88.384 0-160-71.616-160-160v-703.936c0-88.384 71.616-160.064 160-160.064h672c35.392 0 64 28.672 64 64 0 35.392-28.608 64.064-64 64.064h-640c-35.328 0-64 28.608-64 64s28.672 64 64 64h128v256l64-64 64 64v-256h256z"
1093 | ],
1094 | "grid": 16,
1095 | "tags": [
1096 | "bookmark"
1097 | ]
1098 | },
1099 | "properties": {
1100 | "order": 52,
1101 | "id": 3,
1102 | "prevSize": 16,
1103 | "code": 58935,
1104 | "name": "bookmark",
1105 | "ligatures": ""
1106 | },
1107 | "setIdx": 0,
1108 | "iconIdx": 55
1109 | },
1110 | {
1111 | "icon": {
1112 | "paths": [
1113 | "M0 896v-192h128v192.128h640v-768.128h-640v192h-128v-192c0-70.656 57.344-128 128-128h640c70.72 0 128 57.344 128 128v768c0 70.72-57.28 128-128 128h-640c-70.656 0-128-57.28-128-128zM264.768 272c23.232-22.272 60.864-22.272 84.096 0l209.408 196.8c6.528 6.208 10.496 13.568 13.504 21.184 0.064 0.128 0.064 0.192 0.128 0.32 2.24 5.824 3.456 11.84 3.648 17.984 0.256 2.24 0.448 4.416 0.256 6.72-0.128 2.688-1.024 5.248-1.664 7.936-2.176 11.264-6.656 22.208-15.872 30.976l-209.408 196.8c-23.232 22.272-60.864 22.272-84.096 0-23.168-22.272-23.168-58.24 0-80.512l119.232-94.208h-320c-34.112 0-64-32.064-64-64.64 0-32.512 29.888-63.36 64-63.36h320l-119.232-95.552c-23.232-22.144-23.232-58.304 0-80.448z"
1114 | ],
1115 | "grid": 16,
1116 | "tags": [
1117 | "exit"
1118 | ]
1119 | },
1120 | "properties": {
1121 | "order": 53,
1122 | "id": 16,
1123 | "prevSize": 16,
1124 | "code": 58936,
1125 | "name": "exit",
1126 | "ligatures": ""
1127 | },
1128 | "setIdx": 0,
1129 | "iconIdx": 56
1130 | },
1131 | {
1132 | "icon": {
1133 | "paths": [
1134 | "M928 256h-64v640c0 0-1.984 128-128 128 0 0-318.016 0-448 0s-128-128-128-128v-640h-64c-35.328 0-64-28.672-64-64s28.672-64 64-64h320v-32c0-53.056 42.944-96 96-96 52.992 0 96 42.944 96 96v32h320c35.392 0 64 28.608 64 64s-28.608 64-64 64zM736 256h-448v640h448v-640zM416 320c35.328 0 64 28.672 64 64v384c0 35.392-28.672 64-64 64s-64-28.608-64-64v-384c0-35.328 28.672-64 64-64zM608 320c35.392 0 64 28.672 64 64v384c0 35.392-28.608 64-64 64s-64-28.608-64-64v-384c0-35.328 28.608-64 64-64z"
1135 | ],
1136 | "grid": 16,
1137 | "tags": [
1138 | "trash"
1139 | ]
1140 | },
1141 | "properties": {
1142 | "order": 54,
1143 | "id": 44,
1144 | "prevSize": 16,
1145 | "code": 58937,
1146 | "name": "trash",
1147 | "ligatures": ""
1148 | },
1149 | "setIdx": 0,
1150 | "iconIdx": 57
1151 | },
1152 | {
1153 | "icon": {
1154 | "paths": [
1155 | "M896 192c0 0-278.016-0.064-320-0.064s-89.984-127.936-128-127.936-320 0-320 0c-70.656 0-128 57.28-128 128v640.064c0 126.656 128 128 128 128h768c70.656 0 128-57.344 128-128v-512c0-70.72-57.344-128.064-128-128.064zM896.064 832.064h-768.064v-640.064c0 0 214.016 0 254.016 0s89.984 128 128 128c40 0 386.048 0 386.048 0v512.064z"
1156 | ],
1157 | "grid": 16,
1158 | "tags": [
1159 | "folder"
1160 | ]
1161 | },
1162 | "properties": {
1163 | "order": 55,
1164 | "id": 19,
1165 | "prevSize": 16,
1166 | "code": 58938,
1167 | "name": "folder",
1168 | "ligatures": ""
1169 | },
1170 | "setIdx": 0,
1171 | "iconIdx": 58
1172 | },
1173 | {
1174 | "icon": {
1175 | "paths": [
1176 | "M895.424-0.064h-767.872c-127.296 0-127.552 128.064-127.552 128.064v511.936c0 0 0.704 128.064 128 128.064h256c0 0 53.568 1.472 73.344 23.936l289.344 226.496c4.736 3.776 7.616 5.632 10.432 5.632 8 0 10.368-5.504 10.368-14.592v-214.336c0-15.104 9.984-27.2 23.424-27.2h105.088c125.312 0 128-128.064 128-128.064v-511.872c0 0-1.28-128.064-128.576-128.064zM896 639.936h-256v128l-164.608-128h-347.392v-511.936h768v511.936z"
1177 | ],
1178 | "grid": 16,
1179 | "tags": [
1180 | "bubble"
1181 | ]
1182 | },
1183 | "properties": {
1184 | "order": 56,
1185 | "id": 4,
1186 | "prevSize": 16,
1187 | "code": 58939,
1188 | "name": "bubble",
1189 | "ligatures": ""
1190 | },
1191 | "setIdx": 0,
1192 | "iconIdx": 59
1193 | },
1194 | {
1195 | "icon": {
1196 | "paths": [
1197 | "M0 383.552v-107.712c0-45.952 38.208-83.136 85.312-83.136h107.392v-90.432c0-21.056 21.568-102.208 48.192-102.208h96.384c26.624 0 48.192 81.152 48.192 102.208v90.432h319.232v-90.432c0-21.056 21.632-102.208 48.192-102.208h96.384c26.624 0 48.192 81.152 48.192 102.208v90.432h41.28c47.168 0 85.376 37.184 85.376 83.136v107.776h-1024.128zM1024.064 448.64v492.224c0 45.952-38.208 83.2-85.376 83.2h-853.376c-47.104 0-85.312-37.248-85.312-83.2v-492.224h1024.064z"
1198 | ],
1199 | "grid": 16,
1200 | "tags": [
1201 | "calendar-solid"
1202 | ]
1203 | },
1204 | "properties": {
1205 | "order": 57,
1206 | "id": 6,
1207 | "prevSize": 16,
1208 | "code": 58941,
1209 | "name": "calendar-solid",
1210 | "ligatures": ""
1211 | },
1212 | "setIdx": 0,
1213 | "iconIdx": 61
1214 | },
1215 | {
1216 | "icon": {
1217 | "paths": [
1218 | "M32 512.064c288-32.064 448-192.064 480-480.064 32.064 288 192.064 448 480.128 480.064-288.064 32-448.064 192-480.128 480-32-288-192-448-480-480z"
1219 | ],
1220 | "grid": 16,
1221 | "tags": [
1222 | "star"
1223 | ]
1224 | },
1225 | "properties": {
1226 | "order": 58,
1227 | "id": 45,
1228 | "prevSize": 16,
1229 | "code": 58942,
1230 | "name": "star",
1231 | "ligatures": ""
1232 | },
1233 | "setIdx": 0,
1234 | "iconIdx": 62
1235 | },
1236 | {
1237 | "icon": {
1238 | "paths": [
1239 | "M1024 512l-380.8 128-10.304 384-245.696-304.96-387.2 109.376 228.992-316.416-228.992-316.416 387.2 109.312 245.696-304.896 10.304 384 380.8 128z"
1240 | ],
1241 | "grid": 16,
1242 | "tags": [
1243 | "star-2"
1244 | ]
1245 | },
1246 | "properties": {
1247 | "order": 59,
1248 | "id": 41,
1249 | "prevSize": 16,
1250 | "code": 58943,
1251 | "name": "star-2",
1252 | "ligatures": ""
1253 | },
1254 | "setIdx": 0,
1255 | "iconIdx": 63
1256 | },
1257 | {
1258 | "icon": {
1259 | "paths": [
1260 | "M768 736.448c35.392 0 64-28.672 64-64.064s-28.608-64.064-64-64.064-64 28.672-64 64.064 28.608 64.064 64 64.064zM938.752 96h-853.376c-47.168 0-85.376 38.208-85.376 85.376v661.184c0 47.168 38.208 85.44 85.376 85.44h853.376c47.104 0 85.312-38.272 85.312-85.44v-661.184c0-47.168-38.208-85.376-85.312-85.376zM896.064 799.808h-768.064v-255.552h768.064v255.552zM896.064 352.128h-768.064v-128.064h768.064v128.064z"
1261 | ],
1262 | "grid": 16,
1263 | "tags": [
1264 | "credit-card"
1265 | ]
1266 | },
1267 | "properties": {
1268 | "order": 60,
1269 | "id": 12,
1270 | "prevSize": 16,
1271 | "code": 58944,
1272 | "name": "credit-card",
1273 | "ligatures": ""
1274 | },
1275 | "setIdx": 0,
1276 | "iconIdx": 64
1277 | },
1278 | {
1279 | "icon": {
1280 | "paths": [
1281 | "M939.712 84.288c-112.448-112.448-294.784-112.448-407.296 0.064l-448 448c-112.512 112.512-112.512 294.848-0.064 407.296s294.784 112.512 407.296 0l94.848-92.16c-51.008-1.152-97.536-17.728-136.96-44.672l-48.448 46.4c-62.528 62.528-163.84 62.528-226.304 0-62.464-62.464-62.464-163.84 0.064-226.304l448-448c62.528-62.528 163.84-62.528 226.24 0 62.528 62.528 62.592 163.776 0.064 226.24l-223.232 224.768c-18.752 18.752-49.152 18.752-67.904 0s-18.752-49.152 0-67.904l168.576-170.176c12.48-12.48 12.544-32.768 0-45.248l-45.248-45.248c-12.48-12.48-32.768-12.48-45.248 0l-168.576 170.176c-68.736 68.736-68.736 180.16 0 248.896 68.736 68.736 180.16 68.736 248.896 0l223.232-224.832c112.448-112.448 112.448-294.848 0.064-407.296z"
1282 | ],
1283 | "grid": 16,
1284 | "tags": [
1285 | "clip"
1286 | ]
1287 | },
1288 | "properties": {
1289 | "order": 61,
1290 | "id": 10,
1291 | "prevSize": 16,
1292 | "code": 58945,
1293 | "name": "clip",
1294 | "ligatures": ""
1295 | },
1296 | "setIdx": 0,
1297 | "iconIdx": 65
1298 | },
1299 | {
1300 | "icon": {
1301 | "paths": [
1302 | "M939.648 84.352c-54.464-54.4-126.784-84.352-203.648-84.352-76.928 0-149.248 29.952-203.648 84.352 0 0-181.696 181.632-192.128 191.936-54.208 54.336-84.096 126.72-84.224 204.096 0.128 76.8 30.080 148.992 84.352 203.264l23.36 23.424c6.272 6.272 14.528 9.344 22.656 9.344 8.192 0 16.384-3.136 22.656-9.344l45.248-45.248c12.48-12.48 12.48-32.768 0-45.248l-23.424-23.424c-61.376-61.376-62.208-162.048-1.792-224.512 1.856-1.856 193.856-193.792 193.856-193.792 30.208-30.208 70.336-46.848 113.088-46.848s82.88 16.64 113.152 46.784v0.064c62.528 62.592 62.528 163.776 0 226.24l-9.856 9.856c15.424 41.6 24.64 86.208 24.704 133.056 0 8.512-1.216 16.704-1.664 25.024l77.312-77.376c112.448-112.512 112.384-294.912 0-407.296zM660.16 316.864c-6.208-6.272-14.464-9.344-22.592-9.344-8.256 0-16.448 3.136-22.656 9.344l-45.248 45.248c-12.544 12.48-12.544 32.768 0 45.248l23.36 23.424c61.376 61.376 62.272 162.048 1.856 224.512-1.856 1.856-193.856 193.792-193.856 193.792-30.144 30.272-70.272 46.912-113.088 46.912-42.688 0-82.816-16.64-113.088-46.784v-0.064c-62.528-62.592-62.528-163.776-0.064-226.24l9.92-9.856c-15.488-41.6-24.704-86.208-24.704-133.056 0-8.512 1.152-16.704 1.664-25.024l-77.312 77.376c-112.512 112.512-112.448 294.848 0 407.232 54.464 54.464 126.784 84.416 203.648 84.416s149.184-29.952 203.648-84.352c0 0 181.696-181.632 192.128-191.936 54.208-54.336 84.096-126.72 84.224-204.096-0.128-76.8-30.144-148.992-84.352-203.264l-23.488-23.488z"
1303 | ],
1304 | "grid": 16,
1305 | "tags": [
1306 | "link"
1307 | ]
1308 | },
1309 | "properties": {
1310 | "order": 62,
1311 | "id": 25,
1312 | "prevSize": 16,
1313 | "code": 58946,
1314 | "name": "link",
1315 | "ligatures": ""
1316 | },
1317 | "setIdx": 0,
1318 | "iconIdx": 66
1319 | },
1320 | {
1321 | "icon": {
1322 | "paths": [
1323 | "M1012.736 475.84l-241.216-352c-11.968-17.408-31.68-27.84-52.8-27.84h-654.72c-35.392 0-64 28.672-64 64v704c0 35.328 28.608 64 64 64h654.72c21.12 0 40.896-10.368 52.8-27.84l241.216-352c15.040-21.76 15.040-50.56 0-72.32zM736 608c-52.992 0-96-43.008-96-96s43.008-96 96-96 96 43.008 96 96-43.008 96-96 96z"
1324 | ],
1325 | "grid": 16,
1326 | "tags": [
1327 | "tag"
1328 | ]
1329 | },
1330 | "properties": {
1331 | "order": 63,
1332 | "id": 42,
1333 | "prevSize": 16,
1334 | "code": 58947,
1335 | "name": "tag",
1336 | "ligatures": ""
1337 | },
1338 | "setIdx": 0,
1339 | "iconIdx": 67
1340 | },
1341 | {
1342 | "icon": {
1343 | "paths": [
1344 | "M842.752 0h-660.544c-47.552 0-86.208 38.144-86.208 64v853.376c0 68.416 38.656 106.624 86.208 106.624h660.544c47.040 0 85.248-38.208 85.248-85.312v-853.376c0-47.168-38.208-85.312-85.248-85.312zM544 832h-256c-35.392 0-64-28.608-64-64s28.608-64 64-64h256c35.392 0 64 28.608 64 64s-28.608 64-64 64zM736 576h-448c-35.392 0-64-28.608-64-64s28.608-64 64-64h448c35.392 0 64 28.608 64 64s-28.608 64-64 64zM736 320h-448c-35.392 0-64-28.608-64-64s28.608-64 64-64h448c35.392 0 64 28.608 64 64s-28.608 64-64 64z"
1345 | ],
1346 | "grid": 16,
1347 | "tags": [
1348 | "document"
1349 | ]
1350 | },
1351 | "properties": {
1352 | "order": 64,
1353 | "id": 15,
1354 | "prevSize": 16,
1355 | "code": 58948,
1356 | "name": "document",
1357 | "ligatures": ""
1358 | },
1359 | "setIdx": 0,
1360 | "iconIdx": 68
1361 | },
1362 | {
1363 | "icon": {
1364 | "paths": [
1365 | "M938.752 928h-853.376c-47.168 0-85.376-37.248-85.376-83.264v-665.472c0-46.016 38.208-83.264 85.376-83.264h853.376c47.104 0 85.312 37.248 85.312 83.264v665.472c0 46.016-38.208 83.264-85.312 83.264zM896.064 224h-768.064v511.808c0 0 64-64.064 128-128.064 64-64.064 128 0 128 0l64 64c0 0 118.72-120.768 192-192.128 66.88-66.944 128 0 128 0l128 128.128 0.064-383.744zM320 480c-35.328 0-64-28.672-64-63.936 0-35.392 28.672-64.064 64-64.064s64 28.672 64 64.064c0 35.264-28.672 63.936-64 63.936z"
1366 | ],
1367 | "grid": 16,
1368 | "tags": [
1369 | "image"
1370 | ]
1371 | },
1372 | "properties": {
1373 | "order": 65,
1374 | "id": 23,
1375 | "prevSize": 16,
1376 | "code": 58949,
1377 | "name": "image",
1378 | "ligatures": ""
1379 | },
1380 | "setIdx": 0,
1381 | "iconIdx": 69
1382 | },
1383 | {
1384 | "icon": {
1385 | "paths": [
1386 | "M928 1024h-832c-51.2 0-96-44.8-96-96v-832c0-51.2 44.8-96 96-96h825.6c57.6 0 102.4 44.8 102.4 96v825.6c0 57.6-44.8 102.4-96 102.4zM748.8 192c-121.6 0-172.8 83.2-172.8 166.4v89.6h-64v128h64v384h128v-384h128v-128h-128v-70.4c0-38.4 6.4-57.6 51.2-57.6h76.8v-121.6s-38.4-6.4-83.2-6.4z"
1387 | ],
1388 | "grid": 16,
1389 | "tags": [
1390 | "facebook"
1391 | ]
1392 | },
1393 | "properties": {
1394 | "order": 66,
1395 | "id": 75,
1396 | "prevSize": 16,
1397 | "code": 58950,
1398 | "name": "facebook",
1399 | "ligatures": ""
1400 | },
1401 | "setIdx": 0,
1402 | "iconIdx": 70
1403 | },
1404 | {
1405 | "icon": {
1406 | "paths": [
1407 | "M1017.6 313.6c0-83.2-64-147.2-147.2-147.2-115.2-6.4-236.8-6.4-358.4-6.4-121.6 0-243.2 0-358.4 6.4-83.2 0-147.2 64-147.2 147.2-6.4 70.4-6.4 134.4-6.4 198.4s0 128 6.4 198.4c0 83.2 64 147.2 147.2 147.2 115.2 6.4 236.8 6.4 358.4 6.4 121.6 0 243.2 0 358.4-6.4 83.2 0 147.2-64 147.2-147.2 6.4-64 6.4-128 6.4-198.4 0-64 0-128-6.4-198.4zM384 736v-448l320 224-320 224z"
1408 | ],
1409 | "grid": 16,
1410 | "tags": [
1411 | "youtube"
1412 | ]
1413 | },
1414 | "properties": {
1415 | "order": 67,
1416 | "id": 95,
1417 | "prevSize": 16,
1418 | "code": 58951,
1419 | "name": "youtube",
1420 | "ligatures": ""
1421 | },
1422 | "setIdx": 0,
1423 | "iconIdx": 71
1424 | },
1425 | {
1426 | "icon": {
1427 | "paths": [
1428 | "M876.8 64c-147.2-6.4-243.2 76.8-294.4 243.2 25.6-12.8 51.2-19.2 76.8-19.2 51.2 0 76.8 32 70.4 89.6 0 38.4-25.6 89.6-70.4 153.6-38.4 70.4-70.4 102.4-96 102.4-25.6 0-51.2-51.2-76.8-160-6.4-25.6-19.2-108.8-38.4-236.8-19.2-115.2-70.4-172.8-147.2-160-32 0-83.2 32-153.6 96-44.8 38.4-96 83.2-147.2 128l51.2 64c44.8-32 70.4-51.2 76.8-51.2 38.4 0 70.4 57.6 96 166.4 32 108.8 57.6 211.2 83.2 313.6 38.4 108.8 89.6 166.4 153.6 166.4 96 0 211.2-89.6 352-275.2 134.4-179.2 204.8-313.6 211.2-416 6.4-134.4-44.8-204.8-147.2-204.8z"
1429 | ],
1430 | "grid": 16,
1431 | "tags": [
1432 | "vimeo"
1433 | ]
1434 | },
1435 | "properties": {
1436 | "order": 68,
1437 | "id": 90,
1438 | "prevSize": 16,
1439 | "code": 58952,
1440 | "name": "vimeo",
1441 | "ligatures": ""
1442 | },
1443 | "setIdx": 0,
1444 | "iconIdx": 72
1445 | },
1446 | {
1447 | "icon": {
1448 | "paths": [
1449 | "M1024 192c-38.4 19.2-76.8 25.6-121.6 32 44.8-25.6 76.8-64 89.6-115.2-38.4 25.6-83.2 38.4-134.4 51.2-38.4-38.4-96-64-153.6-64-108.8 0-204.8 96-204.8 211.2 0 19.2 0 32 6.4 44.8-172.8-6.4-332.8-89.6-435.2-217.6-19.2 32-25.6 64-25.6 102.4 0 70.4 38.4 134.4 96 172.8-32 0-64-12.8-96-25.6 0 102.4 70.4 185.6 166.4 204.8-19.2 12.8-38.4 12.8-57.6 12.8-12.8 0-25.6 0-38.4-6.4 25.6 83.2 102.4 147.2 198.4 147.2-70.4 57.6-160 89.6-262.4 89.6h-51.2c96 64 204.8 96 320 96 384 0 595.2-320 595.2-595.2v-25.6c44.8-32 83.2-70.4 108.8-115.2z"
1450 | ],
1451 | "grid": 16,
1452 | "tags": [
1453 | "twitter"
1454 | ]
1455 | },
1456 | "properties": {
1457 | "order": 69,
1458 | "id": 89,
1459 | "prevSize": 16,
1460 | "code": 58953,
1461 | "name": "twitter",
1462 | "ligatures": ""
1463 | },
1464 | "setIdx": 0,
1465 | "iconIdx": 73
1466 | },
1467 | {
1468 | "icon": {
1469 | "paths": [
1470 | "M179.2 902.4c76.8-115.2 211.2-185.6 358.4-185.6 134.4 0 256 64 339.2 160 89.6-96 147.2-224 147.2-364.8 0-281.6-230.4-512-512-512s-512 230.4-512 512c0 153.6 70.4 294.4 179.2 390.4zM787.2 665.6c-6.4 19.2-19.2 19.2-38.4 12.8-70.4-32-147.2-51.2-224-51.2-83.2 0-160 19.2-230.4 51.2-6.4 6.4-25.6 6.4-32-19.2-6.4-12.8 6.4-25.6 12.8-32 76.8-38.4 160-57.6 249.6-57.6s172.8 19.2 243.2 51.2c12.8 12.8 25.6 25.6 19.2 44.8zM832 537.6c-6.4 6.4-12.8 12.8-25.6 12.8h-6.4c-83.2-38.4-179.2-64-275.2-64s-185.6 19.2-268.8 57.6h-6.4c-12.8 0-19.2-6.4-25.6-12.8l-6.4-12.8c0-6.4 6.4-19.2 12.8-19.2 89.6-38.4 192-64 300.8-64 108.8 0 211.2 25.6 300.8 64v38.4zM185.6 326.4c102.4-44.8 217.6-64 339.2-64 115.2 0 230.4 25.6 332.8 64 12.8 6.4 25.6 19.2 25.6 38.4 0 25.6-19.2 44.8-44.8 44.8h-6.4c-96-38.4-198.4-57.6-307.2-57.6s-211.2 19.2-307.2 51.2h-6.4c-25.6 0-44.8-19.2-44.8-44.8 0-6.4 6.4-25.6 19.2-32zM537.6 883.2c-89.6 0-166.4 44.8-211.2 108.8 57.6 19.2 121.6 32 185.6 32 83.2 0 160-19.2 224-51.2-44.8-57.6-115.2-89.6-198.4-89.6z"
1471 | ],
1472 | "grid": 16,
1473 | "tags": [
1474 | "spotify"
1475 | ]
1476 | },
1477 | "properties": {
1478 | "order": 70,
1479 | "id": 87,
1480 | "prevSize": 16,
1481 | "code": 58954,
1482 | "name": "spotify",
1483 | "ligatures": ""
1484 | },
1485 | "setIdx": 0,
1486 | "iconIdx": 74
1487 | },
1488 | {
1489 | "icon": {
1490 | "paths": [
1491 | "M512 0c-281.6 0-512 230.4-512 512 0 211.2 128 390.4 307.2 467.2 0-38.4 0-76.8 6.4-115.2 12.8-38.4 64-281.6 64-281.6s-12.8-32-12.8-76.8c0-76.8 44.8-134.4 96-134.4s70.4 32 70.4 76.8-32 115.2-44.8 179.2c-12.8 57.6 25.6 96 83.2 96 96 0 160-121.6 160-275.2 0-115.2-76.8-198.4-211.2-198.4-153.6 0-249.6 115.2-249.6 243.2 0 44.8 12.8 76.8 32 102.4 6.4 12.8 12.8 12.8 6.4 25.6 0 6.4-6.4 32-12.8 38.4-6.4 12.8-12.8 19.2-25.6 12.8-70.4-32-102.4-108.8-102.4-198.4 0-147.2 121.6-320 364.8-320 198.4 0 326.4 140.8 326.4 294.4 0 198.4-108.8 352-275.2 352-57.6 0-108.8-32-128-64 0 0-32 115.2-38.4 140.8-12.8 38.4-32 76.8-51.2 108.8 51.2 32 96 38.4 147.2 38.4 281.6 0 512-230.4 512-512s-230.4-512-512-512z"
1492 | ],
1493 | "grid": 16,
1494 | "tags": [
1495 | "pinterest"
1496 | ]
1497 | },
1498 | "properties": {
1499 | "order": 71,
1500 | "id": 85,
1501 | "prevSize": 16,
1502 | "code": 58956,
1503 | "name": "pinterest",
1504 | "ligatures": ""
1505 | },
1506 | "setIdx": 0,
1507 | "iconIdx": 76
1508 | },
1509 | {
1510 | "icon": {
1511 | "paths": [
1512 | "M256 44.8c-134.4 51.2-224 147.2-249.6 288-12.8 83.2-6.4 172.8 32 249.6 6.4 19.2 19.2 32 32 51.2l19.2 19.2c12.8-6.4 25.6-6.4 32-12.8 44.8-25.6 76.8-64 115.2-96-128-153.6 6.4-332.8 172.8-377.6 160-38.4 371.2 25.6 416 192 19.2 64 6.4 140.8-44.8 192-25.6 25.6-64 44.8-102.4 51.2-25.6 6.4-44.8 6.4-70.4 0-12.8-6.4-25.6-6.4-38.4-6.4-19.2-6.4-38.4-6.4-38.4-25.6v-268.8c0-19.2 0-12.8-12.8-19.2-12.8 0-25.6 0-38.4-6.4-38.4 0-83.2 0-121.6 6.4-12.8 0-19.2 0-19.2 19.2v140.8l6.4 294.4c0 32 0 102.4-32 115.2-38.4 19.2-70.4-19.2-108.8-25.6 6.4 51.2-25.6 147.2 32 172.8 51.2 25.6 115.2 32 172.8 12.8 115.2-38.4 153.6-172.8 140.8-275.2 179.2 51.2 377.6-38.4 454.4-198.4 57.6-115.2 32-262.4-51.2-358.4-166.4-185.6-480-224-697.6-134.4z"
1513 | ],
1514 | "grid": 16,
1515 | "tags": [
1516 | "path"
1517 | ]
1518 | },
1519 | "properties": {
1520 | "order": 72,
1521 | "id": 83,
1522 | "prevSize": 16,
1523 | "code": 58957,
1524 | "name": "path",
1525 | "ligatures": ""
1526 | },
1527 | "setIdx": 0,
1528 | "iconIdx": 77
1529 | },
1530 | {
1531 | "icon": {
1532 | "paths": [
1533 | "M928 1024h-832c-51.2 0-96-44.8-96-96v-832c0-51.2 44.8-96 96-96h825.6c57.6 0 102.4 44.8 102.4 96v825.6c0 57.6-44.8 102.4-96 102.4zM262.4 192c-44.8 0-76.8 32-76.8 76.8 0 38.4 25.6 76.8 70.4 76.8 44.8 0 70.4-32 70.4-76.8 6.4-44.8-19.2-76.8-64-76.8zM339.2 390.4h-147.2v441.6h147.2v-441.6zM876.8 582.4c0-134.4-64-204.8-160-204.8-76.8 0-108.8 44.8-128 70.4v-64h-153.6v441.6h147.2v-236.8c0-12.8 0-25.6 6.4-32 12.8-25.6 32-51.2 76.8-51.2 51.2 0 70.4 38.4 70.4 96v230.4h147.2v-249.6z"
1534 | ],
1535 | "grid": 16,
1536 | "tags": [
1537 | "linkedin"
1538 | ]
1539 | },
1540 | "properties": {
1541 | "order": 73,
1542 | "id": 82,
1543 | "prevSize": 16,
1544 | "code": 58958,
1545 | "name": "linkedin",
1546 | "ligatures": ""
1547 | },
1548 | "setIdx": 0,
1549 | "iconIdx": 78
1550 | },
1551 | {
1552 | "icon": {
1553 | "paths": [
1554 | "M0 870.4v0zM236.8 563.2c89.6 0 153.6-96 140.8-211.2-19.2-121.6-108.8-217.6-198.4-217.6-89.6-6.4-153.6 89.6-140.8 211.2 19.2 115.2 108.8 217.6 198.4 217.6zM1024 256v-83.2c0-96-76.8-172.8-166.4-172.8h-684.8c-96 0-172.8 76.8-172.8 166.4 57.6-51.2 140.8-96 224-96h358.4l-83.2 70.4h-108.8c70.4 25.6 115.2 115.2 115.2 204.8 0 76.8-44.8 140.8-102.4 185.6-57.6 44.8-70.4 64-70.4 102.4 0 32 64 89.6 96 108.8 96 64 128 128 128 230.4 0 19.2 0 32-6.4 51.2h307.2c96 0 172.8-76.8 172.8-172.8v-531.2h-192v192h-64v-192h-198.4v-64h192v-192h64v192h192zM185.6 768h64c-25.6-25.6-51.2-57.6-51.2-96 0-25.6 6.4-44.8 19.2-64h-32c-76.8-6.4-140.8-32-185.6-70.4v275.2c51.2-32 115.2-44.8 185.6-44.8zM6.4 889.6v-19.2c-6.4 6.4-6.4 12.8 0 19.2zM454.4 953.6c-12.8-57.6-70.4-89.6-140.8-140.8-25.6-6.4-57.6-12.8-89.6-12.8-89.6 0-172.8 32-217.6 89.6 12.8 76.8 83.2 134.4 166.4 134.4h288v-32c0-12.8 0-25.6-6.4-38.4z"
1555 | ],
1556 | "grid": 16,
1557 | "tags": [
1558 | "google-plus"
1559 | ]
1560 | },
1561 | "properties": {
1562 | "order": 74,
1563 | "id": 78,
1564 | "prevSize": 16,
1565 | "code": 58959,
1566 | "name": "google-plus",
1567 | "ligatures": ""
1568 | },
1569 | "setIdx": 0,
1570 | "iconIdx": 79
1571 | },
1572 | {
1573 | "icon": {
1574 | "paths": [
1575 | "M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512-230.4-512-512-512zM825.6 262.4c51.2 64 83.2 140.8 83.2 230.4-57.6-12.8-115.2-19.2-166.4-19.2-38.4 0-76.8 6.4-115.2 12.8l-25.6-64c83.2-32 160-83.2 224-160zM512 115.2c96 0 179.2 32 249.6 89.6-51.2 64-121.6 108.8-198.4 140.8-51.2-108.8-102.4-179.2-134.4-224 25.6-6.4 51.2-6.4 83.2-6.4zM332.8 153.6c32 32 83.2 102.4 147.2 217.6-121.6 38.4-243.2 44.8-320 44.8h-38.4c32-115.2 108.8-211.2 211.2-262.4zM115.2 512c12.8-6.4 25.6-6.4 44.8-6.4 83.2 0 217.6-6.4 364.8-51.2 6.4 19.2 12.8 32 25.6 51.2-102.4 32-179.2 83.2-230.4 134.4-51.2 51.2-89.6 96-108.8 128-64-70.4-96-160-96-256zM512 908.8c-89.6 0-172.8-32-236.8-76.8 12.8-25.6 44.8-70.4 89.6-115.2 51.2-44.8 115.2-96 204.8-128 32 83.2 57.6 185.6 76.8 294.4-38.4 19.2-83.2 25.6-134.4 25.6zM736 838.4c-19.2-102.4-44.8-185.6-76.8-268.8 25.6-6.4 51.2-6.4 83.2-6.4 44.8 0 102.4 6.4 153.6 19.2-12.8 108.8-70.4 198.4-160 256z"
1576 | ],
1577 | "grid": 16,
1578 | "tags": [
1579 | "dribbble"
1580 | ]
1581 | },
1582 | "properties": {
1583 | "order": 75,
1584 | "id": 73,
1585 | "prevSize": 16,
1586 | "code": 58960,
1587 | "name": "dribbble",
1588 | "ligatures": ""
1589 | },
1590 | "setIdx": 0,
1591 | "iconIdx": 80
1592 | },
1593 | {
1594 | "icon": {
1595 | "paths": [
1596 | "M921.6 281.6h-256v-64h256v64zM499.2 544c12.8 25.6 25.6 57.6 25.6 96s-6.4 70.4-25.6 102.4l-51.2 51.2c-19.2 12.8-44.8 25.6-70.4 32s-57.6 6.4-89.6 6.4h-288v-640h307.2c76.8 0 134.4 25.6 166.4 70.4 19.2 25.6 25.6 57.6 25.6 96s-12.8 70.4-32 96c-6.4 12.8-19.2 25.6-44.8 32 32 12.8 57.6 32 76.8 57.6zM147.2 441.6h134.4c25.6 0 51.2-6.4 70.4-12.8 19.2-12.8 25.6-32 25.6-57.6 0-32-12.8-51.2-32-57.6-25.6-6.4-51.2-12.8-83.2-12.8h-115.2v140.8zM390.4 627.2c0-32-12.8-57.6-38.4-70.4-12.8-6.4-38.4-12.8-64-12.8h-140.8v172.8h134.4c25.6 0 51.2-6.4 64-12.8 25.6-6.4 44.8-32 44.8-76.8zM1017.6 524.8c6.4 19.2 6.4 51.2 6.4 89.6h-332.8c0 44.8 19.2 76.8 44.8 96 19.2 12.8 38.4 19.2 64 19.2s51.2-6.4 64-19.2c19.2-6.4 25.6-19.2 32-32h121.6c0 25.6-19.2 57.6-44.8 83.2-38.4 44.8-96 64-172.8 64-57.6 0-115.2-19.2-160-57.6-44.8-32-70.4-96-70.4-179.2 0-76.8 19.2-140.8 64-185.6 44.8-44.8 96-64 166.4-64 38.4 0 76.8 6.4 108.8 19.2 32 12.8 57.6 38.4 76.8 70.4 19.2 32 25.6 64 32 96zM902.4 537.6c0-32-12.8-57.6-32-70.4-19.2-19.2-44.8-25.6-70.4-25.6-32 0-51.2 6.4-70.4 25.6-19.2 19.2-25.6 38.4-32 70.4h204.8z"
1597 | ],
1598 | "grid": 16,
1599 | "tags": [
1600 | "behance"
1601 | ]
1602 | },
1603 | "properties": {
1604 | "order": 76,
1605 | "id": 72,
1606 | "prevSize": 16,
1607 | "code": 58961,
1608 | "name": "behance",
1609 | "ligatures": ""
1610 | },
1611 | "setIdx": 0,
1612 | "iconIdx": 81
1613 | },
1614 | {
1615 | "icon": {
1616 | "paths": [
1617 | "M565.888 412.672l69.824 33.728 105.408-33.728v-61.184c0-126.080-102.784-228.608-229.12-228.608s-229.056 102.592-229.056 228.608v321.024c0 29.632-24.192 53.696-53.824 53.696s-53.824-24.064-53.824-53.696v-134.4h-175.296v134.4c0 126.080 102.72 228.608 229.12 228.608 126.336 0 229.12-102.592 229.12-228.608v-321.024c0-29.568 24.192-53.696 53.824-53.696 29.696 0 53.888 24.128 53.888 53.696l-0.064 61.184zM848.704 538.112v134.4c0 29.632-24.128 53.696-53.824 53.696-29.696 0-53.888-24.064-53.888-53.696v-137.088l-105.344 33.728-69.824-33.728v137.088c0 126.080 102.784 228.608 229.12 228.608s229.056-102.592 229.056-228.608v-134.4h-175.296z"
1618 | ],
1619 | "grid": 16,
1620 | "tags": [
1621 | "stumbleupon"
1622 | ]
1623 | },
1624 | "properties": {
1625 | "order": 77,
1626 | "id": 98,
1627 | "prevSize": 16,
1628 | "code": 58962,
1629 | "name": "stumbleupon",
1630 | "ligatures": ""
1631 | },
1632 | "setIdx": 0,
1633 | "iconIdx": 82
1634 | },
1635 | {
1636 | "icon": {
1637 | "paths": [
1638 | "M608 652.8c-19.2 19.2 0 51.2 0 51.2l128 217.6s19.2 25.6 38.4 25.6 38.4-12.8 38.4-12.8l102.4-147.2s12.8-19.2 12.8-32c0-25.6-32-32-32-32l-243.2-76.8c-6.4 0-25.6-6.4-44.8 6.4zM595.2 544c12.8 19.2 44.8 12.8 44.8 12.8l243.2-70.4s32-12.8 38.4-32c6.4-19.2-6.4-38.4-6.4-38.4l-108.8-134.4s-12.8-19.2-32-19.2c-25.6 0-38.4 25.6-38.4 25.6l-140.8 217.6s-6.4 19.2 0 38.4zM480 460.8c32-6.4 38.4-51.2 38.4-51.2v-345.6c-6.4 0-6.4-38.4-25.6-51.2-32-19.2-44.8-6.4-51.2-6.4l-198.4 70.4s-19.2 6.4-32 25.6c-12.8 25.6 12.8 57.6 12.8 57.6l211.2 288s19.2 19.2 44.8 12.8zM435.2 601.6c0-25.6-32-44.8-32-44.8l-217.6-108.8s-32-12.8-44.8-6.4c-19.2 12.8-25.6 25.6-32 32l-12.8 172.8s0 32 6.4 44.8c12.8 19.2 44.8 6.4 44.8 6.4l256-57.6c12.8 0 25.6-6.4 32-38.4zM492.8 697.6c-19.2-12.8-44.8 6.4-44.8 6.4l-172.8 185.6s-19.2 25.6-12.8 44.8c6.4 19.2 12.8 25.6 25.6 32l172.8 51.2s19.2 6.4 38.4 0c19.2 0 12.8-32 12.8-32l6.4-256s0-25.6-25.6-32z"
1639 | ],
1640 | "grid": 16,
1641 | "tags": [
1642 | "yelp"
1643 | ]
1644 | },
1645 | "properties": {
1646 | "order": 78,
1647 | "id": 94,
1648 | "prevSize": 16,
1649 | "code": 58963,
1650 | "name": "yelp",
1651 | "ligatures": ""
1652 | },
1653 | "setIdx": 0,
1654 | "iconIdx": 83
1655 | },
1656 | {
1657 | "icon": {
1658 | "paths": [
1659 | "M518.4 544l115.2 313.6v6.4c-38.4 12.8-83.2 19.2-128 19.2-38.4 0-76.8-6.4-108.8-12.8l121.6-326.4zM896 512c0 140.8-76.8 256-192 326.4l115.2-332.8c19.2-51.2 32-96 32-134.4v-38.4c32 51.2 44.8 115.2 44.8 179.2zM128 512c0-51.2 12.8-108.8 32-153.6l185.6 486.4c-128-57.6-217.6-185.6-217.6-332.8zM192 307.2c70.4-102.4 185.6-166.4 320-166.4 102.4 0 192 38.4 262.4 96h-6.4c-38.4 0-64 32-64 64s19.2 57.6 38.4 89.6c12.8 25.6 32 57.6 32 102.4 0 32-12.8 70.4-32 121.6l-38.4 128-140.8-403.2c25.6 0 44.8-6.4 44.8-6.4 19.2 0 19.2-32 0-32 0 0-64 6.4-102.4 6.4-38.4 0-102.4-6.4-102.4-6.4-19.2 0-25.6 32 0 32 0 0 19.2 0 38.4 6.4l57.6 160-83.2 243.2-140.8-403.2c25.6-6.4 44.8-6.4 44.8-6.4 19.2 0 19.2-32 0-32 0 0-64 6.4-102.4 6.4h-25.6zM851.2 0h-678.4c-96 0-172.8 76.8-172.8 172.8v678.4c0 96 76.8 172.8 172.8 172.8h678.4c96 0 172.8-76.8 172.8-172.8v-678.4c0-96-76.8-172.8-172.8-172.8zM960 512c0 249.6-198.4 448-448 448s-448-198.4-448-448 198.4-448 448-448 448 198.4 448 448z"
1660 | ],
1661 | "grid": 16,
1662 | "tags": [
1663 | "wordpress"
1664 | ]
1665 | },
1666 | "properties": {
1667 | "order": 79,
1668 | "id": 93,
1669 | "prevSize": 16,
1670 | "code": 58964,
1671 | "name": "wordpress",
1672 | "ligatures": ""
1673 | },
1674 | "setIdx": 0,
1675 | "iconIdx": 84
1676 | },
1677 | {
1678 | "icon": {
1679 | "paths": [
1680 | "M409.6 897.506v-343.341h493.929v439.718l-493.929-96.376zM409.6 120.471l493.929-90.353v439.718h-493.929v-349.365zM331.294 469.835h-331.294v-271.059l331.294-60.235v331.294zM331.294 879.435l-331.294-66.259v-259.012h331.294v325.271z"
1681 | ],
1682 | "width": 904,
1683 | "grid": 16,
1684 | "tags": [
1685 | "windows-8"
1686 | ]
1687 | },
1688 | "properties": {
1689 | "order": 80,
1690 | "id": 92,
1691 | "prevSize": 16,
1692 | "code": 58965,
1693 | "name": "windows-8",
1694 | "ligatures": ""
1695 | },
1696 | "setIdx": 0,
1697 | "iconIdx": 85
1698 | },
1699 | {
1700 | "icon": {
1701 | "paths": [
1702 | "M64 192c19.2 128 128 659.2 377.6 812.8 38.4 25.6 83.2 19.2 115.2-6.4 121.6-102.4 243.2-275.2 275.2-358.4 64 6.4 108.8-12.8 108.8-12.8v-128h-115.2c-140.8 0-236.8-166.4-179.2-313.6 38.4-102.4 108.8-25.6 121.6 0 12.8 32 6.4 115.2-6.4 172.8 19.2 51.2 140.8 76.8 166.4 38.4 32-96 44.8-262.4-38.4-352-57.6-38.4-198.4-70.4-300.8-6.4s-102.4 204.8-96 275.2c6.4 70.4 32 217.6 172.8 300.8 12.8 12.8-153.6 230.4-160 217.6-185.6-179.2-249.6-544-262.4-640h-179.2z"
1703 | ],
1704 | "grid": 16,
1705 | "tags": [
1706 | "vine"
1707 | ]
1708 | },
1709 | "properties": {
1710 | "order": 81,
1711 | "id": 91,
1712 | "prevSize": 16,
1713 | "code": 58966,
1714 | "name": "vine",
1715 | "ligatures": ""
1716 | },
1717 | "setIdx": 0,
1718 | "iconIdx": 86
1719 | },
1720 | {
1721 | "icon": {
1722 | "paths": [
1723 | "M576 448v236.8c0 57.6 0 96 6.4 108.8 6.4 19.2 19.2 32 38.4 44.8 25.6 12.8 51.2 19.2 76.8 19.2 51.2 0 83.2-6.4 134.4-38.4v153.6c-44.8 19.2-83.2 32-115.2 38.4-38.4 12.8-76.8 12.8-115.2 12.8-44.8 0-76.8-6.4-108.8-19.2-38.4-12.8-64-32-89.6-51.2-25.6-19.2-44.8-44.8-51.2-70.4-12.8-25.6-12.8-57.6-12.8-108.8v-352h-147.2v-147.2c38.4-12.8 83.2-32 115.2-57.6 25.6-25.6 51.2-51.2 70.4-89.6 19.2-32 32-76.8 38.4-128h160v256h256v192h-256z"
1724 | ],
1725 | "grid": 16,
1726 | "tags": [
1727 | "tumblr"
1728 | ]
1729 | },
1730 | "properties": {
1731 | "order": 82,
1732 | "id": 88,
1733 | "prevSize": 16,
1734 | "code": 58967,
1735 | "name": "tumblr",
1736 | "ligatures": ""
1737 | },
1738 | "setIdx": 0,
1739 | "iconIdx": 87
1740 | },
1741 | {
1742 | "icon": {
1743 | "paths": [
1744 | "M646.4 723.2h-192l-64 300.8h-262.4l25.6-108.8h-153.6l198.4-915.2h448c134.4 0 288 96 236.8 313.6-38.4 192-192 300.8-371.2 300.8h-185.6l-64 300.8h-44.8l-12.8 44.8h134.4l64-300.8h243.2c76.8 0 147.2-25.6 198.4-64l32-25.6c51.2-51.2 83.2-115.2 102.4-192 12.8-76.8 6.4-140.8-32-185.6-19.2-19.2-38.4-38.4-64-51.2 96 38.4 166.4 134.4 134.4 288-38.4 179.2-192 294.4-371.2 294.4zM492.8 435.2c70.4 0 134.4-57.6 153.6-128 19.2-70.4-25.6-128-89.6-128h-128l-64 256h128z"
1745 | ],
1746 | "grid": 16,
1747 | "tags": [
1748 | "paypal"
1749 | ]
1750 | },
1751 | "properties": {
1752 | "order": 83,
1753 | "id": 84,
1754 | "prevSize": 16,
1755 | "code": 58968,
1756 | "name": "paypal",
1757 | "ligatures": ""
1758 | },
1759 | "setIdx": 0,
1760 | "iconIdx": 88
1761 | },
1762 | {
1763 | "icon": {
1764 | "paths": [
1765 | "M780.8 800c-204.8 0-275.2-89.6-313.6-204.8l-38.4-121.6c-25.6-89.6-64-153.6-166.4-153.6-70.4 0-147.2 51.2-147.2 198.4 0 115.2 57.6 185.6 140.8 185.6 89.6 0 153.6-70.4 153.6-70.4l44.8 102.4s-64 64-198.4 64c-166.4 0-256-96-256-275.2 0-192 89.6-300.8 262.4-300.8 153.6 0 236.8 57.6 281.6 211.2l38.4 121.6c25.6 89.6 76.8 147.2 198.4 147.2 76.8 0 121.6-19.2 121.6-64 0-32-19.2-57.6-76.8-76.8l-76.8-19.2c-96-25.6-134.4-76.8-134.4-153.6 0-128 102.4-172.8 211.2-172.8 121.6 0 192 44.8 204.8 153.6l-115.2 12.8c-6.4-51.2-38.4-70.4-89.6-70.4s-83.2 25.6-83.2 64 12.8 57.6 64 70.4l76.8 19.2c89.6 25.6 140.8 70.4 140.8 166.4 0 121.6-96 166.4-243.2 166.4z"
1766 | ],
1767 | "grid": 16,
1768 | "tags": [
1769 | "lastfm"
1770 | ]
1771 | },
1772 | "properties": {
1773 | "order": 84,
1774 | "id": 81,
1775 | "prevSize": 16,
1776 | "code": 58969,
1777 | "name": "lastfm",
1778 | "ligatures": ""
1779 | },
1780 | "setIdx": 0,
1781 | "iconIdx": 89
1782 | },
1783 | {
1784 | "icon": {
1785 | "paths": [
1786 | "M928 0h-832c-51.2 0-96 44.8-96 96v825.6c0 57.6 44.8 102.4 96 102.4h825.6c57.6 0 96-44.8 96-96v-832c6.4-51.2-38.4-96-89.6-96zM512 313.6c108.8 0 198.4 89.6 198.4 198.4s-89.6 198.4-198.4 198.4-198.4-89.6-198.4-198.4 89.6-198.4 198.4-198.4zM896 857.6c0 19.2-19.2 38.4-38.4 38.4h-691.2c-19.2 0-38.4-19.2-38.4-38.4v-409.6h89.6c-6.4 25.6-6.4 51.2-6.4 76.8 0 166.4 128 307.2 300.8 307.2s300.8-140.8 300.8-307.2c0-25.6-6.4-51.2-12.8-76.8h96v409.6zM896 281.6c0 19.2-19.2 38.4-38.4 38.4h-115.2c-19.2 0-38.4-19.2-38.4-38.4v-115.2c0-19.2 19.2-38.4 38.4-38.4h115.2c19.2 0 38.4 19.2 38.4 38.4v115.2z"
1787 | ],
1788 | "grid": 16,
1789 | "tags": [
1790 | "instagram"
1791 | ]
1792 | },
1793 | "properties": {
1794 | "order": 85,
1795 | "id": 80,
1796 | "prevSize": 16,
1797 | "code": 58970,
1798 | "name": "instagram",
1799 | "ligatures": ""
1800 | },
1801 | "setIdx": 0,
1802 | "iconIdx": 90
1803 | },
1804 | {
1805 | "icon": {
1806 | "paths": [
1807 | "M896 768l-384-512-384 512h768z"
1808 | ],
1809 | "grid": 16,
1810 | "tags": [
1811 | "triangle-up"
1812 | ]
1813 | },
1814 | "properties": {
1815 | "order": 86,
1816 | "id": 68,
1817 | "prevSize": 16,
1818 | "code": 58880,
1819 | "name": "triangle-up",
1820 | "ligatures": ""
1821 | },
1822 | "setIdx": 0,
1823 | "iconIdx": 0
1824 | },
1825 | {
1826 | "icon": {
1827 | "paths": [
1828 | "M512 0c-282.752 0-512 229.248-512 512 0 282.688 229.248 512 512 512 282.816 0 512-229.248 512-512 0-282.752-229.184-512-512-512zM576.768 764.864c0 37.056-28.992 67.072-64.768 67.072s-64.768-30.016-64.768-67.072v-313.088c0-37.056 28.992-67.072 64.768-67.072s64.768 30.016 64.768 67.072v313.088zM512 319.68c-35.776 0-64.768-28.608-64.768-63.872s28.992-63.744 64.768-63.744 64.768 28.544 64.768 63.808-28.992 63.808-64.768 63.808z"
1829 | ],
1830 | "grid": 16,
1831 | "tags": [
1832 | "info-circle"
1833 | ]
1834 | },
1835 | "properties": {
1836 | "order": 87,
1837 | "id": 24,
1838 | "prevSize": 16,
1839 | "code": 58895,
1840 | "name": "info-circle",
1841 | "ligatures": ""
1842 | },
1843 | "setIdx": 0,
1844 | "iconIdx": 15
1845 | },
1846 | {
1847 | "icon": {
1848 | "paths": [
1849 | "M992 64h-768c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h768c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1850 | "M992 320h-768c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h768c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1851 | "M992 576h-768c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h768c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1852 | "M992 832h-768c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h768c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1853 | "M96 64h-64c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h64c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1854 | "M96 320h-64c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h64c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1855 | "M96 576h-64c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h64c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
1856 | "M96 832h-64c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h64c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z"
1857 | ],
1858 | "grid": 16,
1859 | "tags": [
1860 | "list-numbered"
1861 | ]
1862 | },
1863 | "properties": {
1864 | "order": 88,
1865 | "id": 58,
1866 | "prevSize": 16,
1867 | "code": 58910,
1868 | "name": "list-numbered",
1869 | "ligatures": ""
1870 | },
1871 | "setIdx": 0,
1872 | "iconIdx": 30
1873 | },
1874 | {
1875 | "icon": {
1876 | "paths": [
1877 | "M457.856 791.936l289.28 226.496c4.736 3.776 7.616 5.632 10.368 5.632 8 0 10.496-5.504 10.496-14.528v-214.4c0-15.104 9.984-27.136 23.36-27.136h105.152c127.488 0 127.36-61.44 127.36-61.44v-640.064c0 0 0-66.56-127.872-66.56h-767.936c-128 0-128 66.56-128 66.56v640.064c0 0-0.064 61.44 128.448 61.44h256c0 0 53.568 1.472 73.344 23.936z"
1878 | ],
1879 | "grid": 16,
1880 | "tags": [
1881 | "chat"
1882 | ]
1883 | },
1884 | "properties": {
1885 | "order": 89,
1886 | "id": 7,
1887 | "prevSize": 16,
1888 | "code": 58925,
1889 | "name": "chat",
1890 | "ligatures": ""
1891 | },
1892 | "setIdx": 0,
1893 | "iconIdx": 45
1894 | },
1895 | {
1896 | "icon": {
1897 | "paths": [
1898 | "M896 896.128h-768v-768h320v-128l-358.976-0.064c-49.152 0-89.024 39.936-89.024 89.088v845.952c0 49.152 39.872 89.024 89.024 89.024h845.952c49.152 0 89.024-39.872 89.024-89.024v-358.976h-128v320zM1024 64c0-14.656-6.080-27.52-14.72-38.272-1.344-1.728-2.048-3.712-3.584-5.312-0.192-0.128-0.256-0.384-0.384-0.576-0.384-0.32-0.448-0.832-0.832-1.216-4.096-4.096-9.152-6.528-13.952-9.28-2.112-1.216-3.84-3.008-6.080-3.968-8.704-3.776-17.92-5.376-27.264-5.12-0.128 0-0.256-0.064-0.384-0.064h-313.024c-36.992-0.064-67.008 28.544-67.008 63.808 0 35.2 30.080 63.808 67.136 63.808h161.216l-402.56 403.328c-24.832 24.768-24.832 64.768 0 89.472 24.832 24.768 65.024 24.768 89.792 0l403.968-403.52v163.2c0 37.056 28.608 67.072 63.872 67.072 35.264 0 63.808-30.016 63.808-67.072v-313.024c0-0.64-0.32-1.152-0.32-1.728 0-0.512 0.32-1.024 0.32-1.536z"
1899 | ],
1900 | "grid": 16,
1901 | "tags": [
1902 | "export"
1903 | ]
1904 | },
1905 | "properties": {
1906 | "order": 90,
1907 | "id": 17,
1908 | "prevSize": 16,
1909 | "code": 58940,
1910 | "name": "export",
1911 | "ligatures": ""
1912 | },
1913 | "setIdx": 0,
1914 | "iconIdx": 60
1915 | },
1916 | {
1917 | "icon": {
1918 | "paths": [
1919 | "M979.2 588.8c6.4-25.6 6.4-51.2 6.4-76.8 0-262.4-211.2-473.6-473.6-473.6-25.6 0-51.2 0-76.8 6.4-38.4-32-89.6-44.8-147.2-44.8-160 0-288 128-288 288 0 57.6 12.8 108.8 44.8 153.6-6.4 19.2-6.4 44.8-6.4 70.4 0 262.4 211.2 473.6 473.6 473.6 25.6 0 51.2 0 76.8-6.4 44.8 25.6 96 44.8 153.6 44.8 160 0 288-128 288-288-6.4-57.6-19.2-108.8-51.2-147.2zM736 729.6c-19.2 32-51.2 51.2-89.6 70.4-38.4 19.2-83.2 25.6-134.4 25.6-64 0-115.2-12.8-160-32-32-12.8-51.2-38.4-70.4-64-19.2-32-25.6-57.6-25.6-83.2 0-12.8 6.4-25.6 19.2-38.4 12.8-12.8 25.6-19.2 44.8-19.2 12.8 0 25.6 6.4 38.4 12.8 6.4 6.4 12.8 19.2 19.2 38.4 6.4 19.2 19.2 32 25.6 44.8 6.4 12.8 19.2 25.6 38.4 32 19.2 6.4 38.4 12.8 64 12.8 38.4 0 70.4-6.4 89.6-25.6 25.6-19.2 32-38.4 32-57.6 0-19.2-6.4-32-19.2-44.8-6.4-19.2-19.2-25.6-38.4-32-19.2-6.4-51.2-12.8-83.2-19.2-44.8-12.8-83.2-25.6-115.2-38.4-32-12.8-57.6-32-76.8-51.2-19.2-25.6-25.6-57.6-25.6-89.6 0-32 12.8-64 32-89.6 19.2-25.6 44.8-44.8 83.2-57.6 38.4-12.8 76.8-19.2 128-19.2 38.4 0 70.4 6.4 102.4 12.8 25.6 6.4 51.2 19.2 70.4 38.4 19.2 12.8 32 32 44.8 44.8s12.8 32 12.8 51.2c0 12.8-6.4 25.6-19.2 38.4-12.8 12.8-25.6 19.2-44.8 19.2-12.8 0-25.6-6.4-32-12.8-6.4-6.4-19.2-19.2-25.6-32-12.8-25.6-25.6-38.4-44.8-51.2-12.8-12.8-38.4-19.2-76.8-19.2-32 0-57.6 6.4-76.8 19.2-19.2 12.8-32 25.6-32 44.8 0 12.8 6.4 19.2 12.8 32l25.6 19.2c12.8 6.4 25.6 12.8 38.4 12.8 12.8 6.4 32 6.4 64 12.8 32 12.8 64 25.6 96 32 32 6.4 51.2 19.2 76.8 32 19.2 12.8 38.4 32 51.2 51.2 6.4 25.6 12.8 51.2 12.8 76.8 0 38.4-12.8 70.4-32 102.4z"
1920 | ],
1921 | "grid": 16,
1922 | "tags": [
1923 | "skype"
1924 | ]
1925 | },
1926 | "properties": {
1927 | "order": 91,
1928 | "id": 86,
1929 | "prevSize": 16,
1930 | "code": 58955,
1931 | "name": "skype",
1932 | "ligatures": ""
1933 | },
1934 | "setIdx": 0,
1935 | "iconIdx": 75
1936 | },
1937 | {
1938 | "icon": {
1939 | "paths": [
1940 | "M64 0l64 896 384 128 384-128 64-896h-896zM780.8 300.8h-428.8l12.8 115.2h409.6l-32 352-230.4 64-230.4-64-12.8-179.2h115.2v89.6l128 32 128-32 12.8-147.2h-390.4l-32-345.6h563.2l-12.8 115.2z"
1941 | ],
1942 | "grid": 16,
1943 | "tags": [
1944 | "html5"
1945 | ]
1946 | },
1947 | "properties": {
1948 | "order": 92,
1949 | "id": 79,
1950 | "prevSize": 16,
1951 | "code": 58971,
1952 | "name": "html5",
1953 | "ligatures": ""
1954 | },
1955 | "setIdx": 0,
1956 | "iconIdx": 91
1957 | },
1958 | {
1959 | "icon": {
1960 | "paths": [
1961 | "M0 524.8c0 44.8 6.4 89.6 12.8 128s19.2 70.4 38.4 96c12.8 25.6 32 51.2 57.6 70.4s51.2 38.4 76.8 51.2c25.6 12.8 57.6 25.6 96 32l108.8 19.2s76.8 6.4 121.6 6.4 83.2 0 121.6-6.4 70.4-6.4 108.8-19.2c38.4-6.4 70.4-19.2 96-32s51.2-32 76.8-51.2c25.6-19.2 44.8-44.8 57.6-70.4 12.8-25.6 25.6-57.6 38.4-96 12.8-38.4 12.8-83.2 12.8-128 0-83.2-25.6-153.6-83.2-217.6l6.4-25.6c0-12.8 6.4-25.6 6.4-44.8v-64l-19.2-76.8h-32c-12.8 0-25.6 6.4-44.8 6.4-19.2 6.4-38.4 12.8-64 25.6l-76.8 51.2c-51.2-12.8-121.6-19.2-204.8-19.2s-153.6 6.4-198.4 19.2c-32-19.2-57.6-32-83.2-44.8-25.6-12.8-44.8-19.2-64-25.6l-38.4-12.8h-38.4l-19.2 76.8c-6.4 25.6-6.4 44.8 0 64 0 19.2 6.4 32 6.4 44.8 0 12.8 6.4 19.2 6.4 25.6-57.6 64-83.2 134.4-83.2 217.6zM128 652.8c0-44.8 19.2-89.6 64-134.4 12.8-12.8 25.6-19.2 44.8-25.6 19.2-6.4 38.4-12.8 57.6-12.8h64c19.2 0 44.8 0 76.8 6.4h153.6c25.6 0 51.2-6.4 70.4-6.4h64c19.2 0 44.8 6.4 57.6 12.8 19.2 6.4 32 12.8 44.8 25.6 44.8 38.4 64 83.2 64 134.4 0 25.6-6.4 51.2-12.8 76.8l-25.6 57.6c-12.8 12.8-25.6 25.6-44.8 38.4-19.2 12.8-38.4 19.2-57.6 25.6-19.2 6.4-44.8 12.8-70.4 12.8-32 0-57.6 6.4-76.8 6.4-25.6-6.4-57.6-6.4-89.6-6.4h-89.6c-25.6 0-51.2 0-76.8-6.4-32 0-51.2-6.4-70.4-12.8-19.2-6.4-38.4-12.8-57.6-25.6-25.6-12.8-44.8-19.2-51.2-38.4-12.8-12.8-19.2-32-25.6-57.6-12.8-19.2-12.8-44.8-12.8-70.4zM640 640c0 51.2 25.6 96 64 96s64-44.8 64-96-25.6-96-64-96c-32 0-64 44.8-64 96zM256 640c0 51.2 32 96 64 96s64-44.8 64-96-25.6-96-64-96-64 44.8-64 96z"
1962 | ],
1963 | "grid": 16,
1964 | "tags": [
1965 | "github"
1966 | ]
1967 | },
1968 | "properties": {
1969 | "order": 93,
1970 | "id": 77,
1971 | "prevSize": 16,
1972 | "code": 58972,
1973 | "name": "github",
1974 | "ligatures": ""
1975 | },
1976 | "setIdx": 0,
1977 | "iconIdx": 92
1978 | },
1979 | {
1980 | "icon": {
1981 | "paths": [
1982 | "M985.6 595.2l-390.4 390.4c-44.8 44.8-121.6 44.8-166.4 0l-396.8-390.4c-44.8-44.8-44.8-121.6 0-166.4l390.4-390.4c51.2-51.2 128-51.2 172.8-6.4l179.2 179.2-262.4 268.8-102.4-102.4c-32-32-83.2-32-108.8 0l-83.2 83.2c-32 32-32 76.8 0 108.8l236.8 236.8c25.6 25.6 57.6 25.6 83.2 19.2 12.8-6.4 19.2-6.4 25.6-19.2l396.8-403.2 19.2 19.2c57.6 51.2 57.6 128 6.4 172.8zM550.4 736c-12.8 12.8-44.8 12.8-44.8 12.8s-32 0-38.4-12.8l-179.2-185.6c-12.8-12.8-12.8-38.4 0-57.6l51.2-51.2c12.8-12.8 44.8-12.8 57.6 0l115.2 121.6 352-352c12.8-12.8 44.8-12.8 57.6 0l51.2 51.2c12.8 12.8 12.8 44.8 0 57.6l-422.4 416z"
1983 | ],
1984 | "grid": 16,
1985 | "tags": [
1986 | "foursquare"
1987 | ]
1988 | },
1989 | "properties": {
1990 | "order": 94,
1991 | "id": 76,
1992 | "prevSize": 16,
1993 | "code": 58973,
1994 | "name": "foursquare",
1995 | "ligatures": ""
1996 | },
1997 | "setIdx": 0,
1998 | "iconIdx": 93
1999 | },
2000 | {
2001 | "icon": {
2002 | "paths": [
2003 | "M512 211.2l211.2-179.2 300.8 198.4-204.8 166.4-307.2-185.6zM1024 563.2l-300.8 198.4-211.2-172.8 300.8-185.6 211.2 160zM300.8 761.6l-300.8-198.4 204.8-166.4 307.2 192-211.2 172.8zM-0 230.4l300.8-198.4 211.2 179.2-300.8 192-211.2-172.8zM512 627.2l211.2 179.2 89.6-57.6v64l-300.8 179.2-300.8-179.2v-64l89.6 51.2 211.2-172.8z"
2004 | ],
2005 | "grid": 16,
2006 | "tags": [
2007 | "dropbox"
2008 | ]
2009 | },
2010 | "properties": {
2011 | "order": 95,
2012 | "id": 74,
2013 | "prevSize": 16,
2014 | "code": 58974,
2015 | "name": "dropbox",
2016 | "ligatures": ""
2017 | },
2018 | "setIdx": 0,
2019 | "iconIdx": 94
2020 | },
2021 | {
2022 | "icon": {
2023 | "paths": [
2024 | "M864 710.4c-38.4 0-64-32-64-64v-256c0-38.4 32-64 64-64 38.4 0 64 32 64 64v256c0 32-25.6 64-64 64zM697.6 857.6h-38.4v108.8c0 38.4-25.6 64-57.6 64s-57.6-25.6-57.6-64v-108.8h-70.4v108.8c0 38.4-25.6 64-57.6 64s-57.6-25.6-57.6-64v-108.8h-32c-19.2 0-38.4-19.2-38.4-44.8v-428.8h448v422.4c0 32-12.8 51.2-38.4 51.2zM736 326.4h-448c0-89.6 32-153.6 76.8-192l-70.4-83.2c-6.4-12.8-6.4-25.6 0-38.4 12.8-12.8 25.6-12.8 38.4 0l83.2 96c32-12.8 64-19.2 96-19.2s70.4 6.4 96 19.2l83.2-96c12.8-12.8 25.6-12.8 38.4 0s12.8 32 0 38.4l-70.4 83.2c44.8 32 76.8 102.4 76.8 192zM441.6 198.4c-12.8 0-25.6 12.8-25.6 32s12.8 32 25.6 32 25.6-12.8 25.6-32-12.8-32-25.6-32zM582.4 198.4c-12.8 0-25.6 12.8-25.6 32s12.8 32 25.6 32 25.6-19.2 25.6-32-12.8-32-25.6-32zM160 710.4c-38.4 0-64-32-64-64v-256c0-38.4 25.6-64 64-64s64 32 64 64v256c0 32-25.6 64-64 64z"
2025 | ],
2026 | "grid": 16,
2027 | "tags": [
2028 | "android"
2029 | ]
2030 | },
2031 | "properties": {
2032 | "order": 96,
2033 | "id": 70,
2034 | "prevSize": 16,
2035 | "code": 58975,
2036 | "name": "android",
2037 | "ligatures": ""
2038 | },
2039 | "setIdx": 0,
2040 | "iconIdx": 95
2041 | },
2042 | {
2043 | "icon": {
2044 | "paths": [
2045 | "M921.6 748.8c-32 153.6-115.2 211.2-147.2 249.6-32 25.6-121.6 25.6-153.6 6.4-38.4-25.6-134.4-25.6-166.4 0-44.8 32-115.2 19.2-128 12.8-256-179.2-352-716.8 12.8-774.4 64-12.8 134.4 32 134.4 32 51.2 25.6 70.4 12.8 115.2-6.4 96-44.8 243.2-44.8 313.6 76.8-147.2 96-153.6 294.4 19.2 403.2zM716.8 0c12.8 70.4-64 224-204.8 230.4-12.8-38.4 32-217.6 204.8-230.4z"
2046 | ],
2047 | "grid": 16,
2048 | "tags": [
2049 | "apple"
2050 | ]
2051 | },
2052 | "properties": {
2053 | "order": 97,
2054 | "id": 71,
2055 | "prevSize": 16,
2056 | "code": 58976,
2057 | "name": "apple",
2058 | "ligatures": ""
2059 | },
2060 | "setIdx": 0,
2061 | "iconIdx": 96
2062 | }
2063 | ],
2064 | "height": 1024,
2065 | "metadata": {
2066 | "name": "flat-ui-icons",
2067 | "url": "http://designmodo.com/flat",
2068 | "designer": "Sergey Shmidt",
2069 | "designerURL": "http://designmodo.com",
2070 | "license": "Attribution-NonCommercial-NoDerivs 3.0 Unported",
2071 | "licenseURL": "http://creativecommons.org/licenses/by-nc-nd/3.0/"
2072 | },
2073 | "preferences": {
2074 | "showGlyphs": true,
2075 | "showQuickUse": false,
2076 | "fontPref": {
2077 | "prefix": "fui-",
2078 | "metadata": {
2079 | "fontFamily": "flat-ui-icons",
2080 | "majorVersion": 1,
2081 | "minorVersion": 1,
2082 | "fontURL": "http://designmodo.com/flat",
2083 | "designer": "Sergey Shmidt",
2084 | "designerURL": "http://designmodo.com",
2085 | "license": "Attribution-NonCommercial-NoDerivs 3.0 Unported",
2086 | "licenseURL": "http://creativecommons.org/licenses/by-nc-nd/3.0/"
2087 | },
2088 | "metrics": {
2089 | "emSize": 1024,
2090 | "baseline": 6.25,
2091 | "whitespace": 50
2092 | },
2093 | "showMetrics": true,
2094 | "showMetadata": true,
2095 | "showVersion": true,
2096 | "includeMetadata": true,
2097 | "resetPoint": 58880
2098 | },
2099 | "imagePref": {},
2100 | "historySize": 100,
2101 | "showCodes": true,
2102 | "gridSize": 16,
2103 | "showGrid": true,
2104 | "showLiga": false
2105 | }
2106 | }
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-black.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-black.eot
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-black.ttf
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-black.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-black.woff
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-bold.eot
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-bold.ttf
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-bold.woff
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-bolditalic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-bolditalic.eot
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-bolditalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-bolditalic.ttf
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-bolditalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-bolditalic.woff
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-italic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-italic.eot
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-italic.ttf
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-italic.woff
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-light.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-light.eot
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-light.ttf
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-light.woff
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-regular.eot
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-regular.ttf
--------------------------------------------------------------------------------
/React/src/fonts/lato/lato-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aMahdaoui/React-php-Mysql-web-apps/edc9ccb28de681fd41b1d08191d6a3806917e431/React/src/fonts/lato/lato-regular.woff
--------------------------------------------------------------------------------
/React/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 |
4 | import './css/index.css';
5 | import './css/bootstrap.css';
6 | import './css/App.css';
7 | import './css/Form.css';
8 |
9 | import App from './App';
10 |
11 | import registerServiceWorker from './registerServiceWorker';
12 |
13 | ReactDOM.render(
14 | (), document.getElementById('root'));
15 | registerServiceWorker();
16 |
--------------------------------------------------------------------------------
/React/src/logo.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/React/src/registerServiceWorker.js:
--------------------------------------------------------------------------------
1 | // In production, we register a service worker to serve assets from local cache.
2 |
3 | // This lets the app load faster on subsequent visits in production, and gives
4 | // it offline capabilities. However, it also means that developers (and users)
5 | // will only see deployed updates on the "N+1" visit to a page, since previously
6 | // cached resources are updated in the background.
7 |
8 | // To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
9 | // This link also includes instructions on opting out of this behavior.
10 |
11 | const isLocalhost = Boolean(
12 | window.location.hostname === 'localhost' ||
13 | // [::1] is the IPv6 localhost address.
14 | window.location.hostname === '[::1]' ||
15 | // 127.0.0.1/8 is considered localhost for IPv4.
16 | window.location.hostname.match(
17 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
18 | )
19 | );
20 |
21 | export default function register() {
22 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
23 | // The URL constructor is available in all browsers that support SW.
24 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
25 | if (publicUrl.origin !== window.location.origin) {
26 | // Our service worker won't work if PUBLIC_URL is on a different origin
27 | // from what our page is served on. This might happen if a CDN is used to
28 | // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
29 | return;
30 | }
31 |
32 | window.addEventListener('load', () => {
33 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
34 |
35 | if (isLocalhost) {
36 | // This is running on localhost. Lets check if a service worker still exists or not.
37 | checkValidServiceWorker(swUrl);
38 | } else {
39 | // Is not local host. Just register service worker
40 | registerValidSW(swUrl);
41 | }
42 | });
43 | }
44 | }
45 |
46 | function registerValidSW(swUrl) {
47 | navigator.serviceWorker
48 | .register(swUrl)
49 | .then(registration => {
50 | registration.onupdatefound = () => {
51 | const installingWorker = registration.installing;
52 | installingWorker.onstatechange = () => {
53 | if (installingWorker.state === 'installed') {
54 | if (navigator.serviceWorker.controller) {
55 | // At this point, the old content will have been purged and
56 | // the fresh content will have been added to the cache.
57 | // It's the perfect time to display a "New content is
58 | // available; please refresh." message in your web app.
59 | console.log('New content is available; please refresh.');
60 | } else {
61 | // At this point, everything has been precached.
62 | // It's the perfect time to display a
63 | // "Content is cached for offline use." message.
64 | console.log('Content is cached for offline use.');
65 | }
66 | }
67 | };
68 | };
69 | })
70 | .catch(error => {
71 | console.error('Error during service worker registration:', error);
72 | });
73 | }
74 |
75 | function checkValidServiceWorker(swUrl) {
76 | // Check if the service worker can be found. If it can't reload the page.
77 | fetch(swUrl)
78 | .then(response => {
79 | // Ensure service worker exists, and that we really are getting a JS file.
80 | if (
81 | response.status === 404 ||
82 | response.headers.get('content-type').indexOf('javascript') === -1
83 | ) {
84 | // No service worker found. Probably a different app. Reload the page.
85 | navigator.serviceWorker.ready.then(registration => {
86 | registration.unregister().then(() => {
87 | window.location.reload();
88 | });
89 | });
90 | } else {
91 | // Service worker found. Proceed as normal.
92 | registerValidSW(swUrl);
93 | }
94 | })
95 | .catch(() => {
96 | console.log(
97 | 'No internet connection found. App is running in offline mode.'
98 | );
99 | });
100 | }
101 |
102 | export function unregister() {
103 | if ('serviceWorker' in navigator) {
104 | navigator.serviceWorker.ready.then(registration => {
105 | registration.unregister();
106 | });
107 | }
108 | }
109 |
--------------------------------------------------------------------------------