├── 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 |
170 | 171 |
172 | 173 |
174 | 175 | 180 |
181 |
182 | 183 | 188 |
189 | 190 |
191 |
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 |
124 |
125 |
Not register yet Sign UP

126 |

Sign In to Get access to the shops.

127 |
128 | 129 | 134 |
135 |
136 | 137 | 142 |
143 |
144 | 145 |

146 | 147 | 148 |
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 |
140 |
141 |
Already have an account ! Sign IN

142 |

Create your account to view all shops.

143 |
144 | 145 | 150 |
151 |
152 | 153 | 158 |
159 |
160 | 161 | 166 |
167 | 168 |
169 | 170 | 171 |
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 | 4 | 5 | 6 | { 7 | "fontFamily": "flat-ui-icons", 8 | "majorVersion": 1, 9 | "minorVersion": 1, 10 | "fontURL": "http://designmodo.com/flat", 11 | "designer": "Sergey Shmidt", 12 | "designerURL": "http://designmodo.com", 13 | "license": "Attribution-NonCommercial-NoDerivs 3.0 Unported", 14 | "licenseURL": "http://creativecommons.org/licenses/by-nc-nd/3.0/", 15 | "version": "Version 1.1", 16 | "fontId": "flat-ui-icons", 17 | "psName": "flat-ui-icons", 18 | "subFamily": "Regular", 19 | "fullName": "flat-ui-icons", 20 | "description": "Generated by IcoMoon" 21 | } 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 5 | 6 | 7 | 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 | --------------------------------------------------------------------------------