├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── package.json ├── public ├── favicon.png ├── global.css ├── index.html ├── reset.css └── vscode.css ├── rollup.config.js ├── src ├── App.svelte ├── Avatar.svelte ├── CodeCard.svelte ├── CodeImg.svelte ├── Flair.svelte ├── flairMap.ts ├── main.ts └── types.ts ├── static ├── index.html ├── privacy-policy.html ├── terms.html └── test.html ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /public/build/ 3 | 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["svelte.svelte-vscode"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This repo is old, I changed to a monorepo: https://github.com/benawad/vsinder 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "svelte-app", 3 | "version": "1.0.0", 4 | "scripts": { 5 | "build": "rollup -c", 6 | "dev": "rollup -c -w", 7 | "start": "sirv public", 8 | "validate": "svelte-check", 9 | "magic": "npm run build && mv public/index.html public/leaderboard.html && mv static/* public/" 10 | }, 11 | "devDependencies": { 12 | "@rollup/plugin-commonjs": "^16.0.0", 13 | "@rollup/plugin-node-resolve": "^10.0.0", 14 | "rollup": "^2.3.4", 15 | "rollup-plugin-css-only": "^3.0.0", 16 | "rollup-plugin-livereload": "^2.0.0", 17 | "rollup-plugin-svelte": "^7.0.0", 18 | "rollup-plugin-terser": "^7.0.0", 19 | "svelte": "^3.0.0", 20 | "svelte-check": "^1.0.0", 21 | "svelte-preprocess": "^4.0.0", 22 | "@rollup/plugin-typescript": "^6.0.0", 23 | "typescript": "^3.9.3", 24 | "tslib": "^2.0.0", 25 | "@tsconfig/svelte": "^1.0.0" 26 | }, 27 | "dependencies": { 28 | "sirv-cli": "^1.0.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benawad/vsinder-web/f68563f43e971128e9b5505ad26c9a212977072b/public/favicon.png -------------------------------------------------------------------------------- /public/global.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | position: relative; 3 | width: 100%; 4 | height: 100%; 5 | } 6 | 7 | body { 8 | color: #333; 9 | margin: 0; 10 | padding: 8px; 11 | box-sizing: border-box; 12 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 13 | } 14 | 15 | a { 16 | color: rgb(0,100,200); 17 | text-decoration: none; 18 | } 19 | 20 | a:hover { 21 | text-decoration: underline; 22 | } 23 | 24 | a:visited { 25 | color: rgb(0,80,160); 26 | } 27 | 28 | label { 29 | display: block; 30 | } 31 | 32 | input, button, select, textarea { 33 | font-family: inherit; 34 | font-size: inherit; 35 | -webkit-padding: 0.4em 0; 36 | padding: 0.4em; 37 | margin: 0 0 0.5em 0; 38 | box-sizing: border-box; 39 | border: 1px solid #ccc; 40 | border-radius: 2px; 41 | } 42 | 43 | input:disabled { 44 | color: #ccc; 45 | } 46 | 47 | button { 48 | color: #333; 49 | background-color: #f4f4f4; 50 | outline: none; 51 | } 52 | 53 | button:disabled { 54 | color: #999; 55 | } 56 | 57 | button:not(:disabled):active { 58 | background-color: #ddd; 59 | } 60 | 61 | button:focus { 62 | border-color: #666; 63 | } 64 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Svelte app 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /public/reset.css: -------------------------------------------------------------------------------- 1 | html { 2 | box-sizing: border-box; 3 | font-size: 13px; 4 | } 5 | 6 | *, 7 | *:before, 8 | *:after { 9 | box-sizing: inherit; 10 | } 11 | 12 | body, 13 | h1, 14 | h2, 15 | h3, 16 | h4, 17 | h5, 18 | h6, 19 | p, 20 | ol, 21 | ul { 22 | margin: 0; 23 | padding: 0; 24 | font-weight: normal; 25 | } 26 | 27 | img { 28 | max-width: 100%; 29 | height: auto; 30 | } 31 | 32 | html, 33 | body { 34 | height: 100%; 35 | display: flex; 36 | flex-direction: column; 37 | } 38 | -------------------------------------------------------------------------------- /public/vscode.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --container-paddding: 20px; 3 | --input-padding-vertical: 6px; 4 | --input-padding-horizontal: 4px; 5 | --input-margin-vertical: 4px; 6 | --input-margin-horizontal: 0; 7 | --vscode-font-family: -apple-system, BlinkMacSystemFont, sans-serif; 8 | --vscode-font-weight: normal; 9 | --vscode-font-size: 13px; 10 | --vscode-editor-font-family: Menlo, Monaco, "Courier New", monospace; 11 | --vscode-editor-font-weight: normal; 12 | --vscode-editor-font-size: 18px; 13 | --vscode-foreground: #cccccc; 14 | --vscode-errorForeground: #f48771; 15 | --vscode-descriptionForeground: rgba(204, 204, 204, 0.7); 16 | --vscode-icon-foreground: #c5c5c5; 17 | --vscode-focusBorder: #007fd4; 18 | --vscode-textSeparator-foreground: rgba(255, 255, 255, 0.18); 19 | --vscode-textLink-foreground: #3794ff; 20 | --vscode-textLink-activeForeground: #3794ff; 21 | --vscode-textPreformat-foreground: #d7ba7d; 22 | --vscode-textBlockQuote-background: rgba(127, 127, 127, 0.1); 23 | --vscode-textBlockQuote-border: rgba(0, 122, 204, 0.5); 24 | --vscode-textCodeBlock-background: rgba(10, 10, 10, 0.4); 25 | --vscode-widget-shadow: #000000; 26 | --vscode-input-background: #3c3c3c; 27 | --vscode-input-foreground: #cccccc; 28 | --vscode-inputOption-activeBorder: rgba(0, 122, 204, 0); 29 | --vscode-inputOption-activeBackground: rgba(0, 127, 212, 0.4); 30 | --vscode-inputOption-activeForeground: #ffffff; 31 | --vscode-input-placeholderForeground: #a6a6a6; 32 | --vscode-inputValidation-infoBackground: #063b49; 33 | --vscode-inputValidation-infoBorder: #007acc; 34 | --vscode-inputValidation-warningBackground: #352a05; 35 | --vscode-inputValidation-warningBorder: #b89500; 36 | --vscode-inputValidation-errorBackground: #5a1d1d; 37 | --vscode-inputValidation-errorBorder: #be1100; 38 | --vscode-dropdown-background: #3c3c3c; 39 | --vscode-dropdown-foreground: #f0f0f0; 40 | --vscode-dropdown-border: #3c3c3c; 41 | --vscode-checkbox-background: #3c3c3c; 42 | --vscode-checkbox-foreground: #f0f0f0; 43 | --vscode-checkbox-border: #3c3c3c; 44 | --vscode-button-foreground: #ffffff; 45 | --vscode-button-background: #0e639c; 46 | --vscode-button-hoverBackground: #1177bb; 47 | --vscode-button-secondaryForeground: #ffffff; 48 | --vscode-button-secondaryBackground: #3a3d41; 49 | --vscode-button-secondaryHoverBackground: #45494e; 50 | --vscode-badge-background: #4d4d4d; 51 | --vscode-badge-foreground: #ffffff; 52 | --vscode-scrollbar-shadow: #000000; 53 | --vscode-scrollbarSlider-background: rgba(121, 121, 121, 0.4); 54 | --vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, 0.7); 55 | --vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, 0.4); 56 | --vscode-progressBar-background: #0e70c0; 57 | --vscode-editor-background: #1e1e1e; 58 | } 59 | 60 | body { 61 | /* padding: 0 var(--container-paddding); */ 62 | color: var(--vscode-foreground); 63 | font-size: var(--vscode-font-size); 64 | font-weight: var(--vscode-font-weight); 65 | font-family: var(--vscode-font-family); 66 | background-color: var(--vscode-editor-background); 67 | } 68 | 69 | ol, 70 | ul { 71 | padding-left: var(--container-paddding); 72 | } 73 | 74 | body > *, 75 | form > * { 76 | margin-block-start: var(--input-margin-vertical); 77 | margin-block-end: var(--input-margin-vertical); 78 | } 79 | 80 | *:focus { 81 | outline-color: var(--vscode-focusBorder) !important; 82 | } 83 | 84 | a { 85 | color: var(--vscode-textLink-foreground); 86 | } 87 | 88 | a:hover, 89 | a:active { 90 | color: var(--vscode-textLink-activeForeground); 91 | } 92 | 93 | code { 94 | font-size: var(--vscode-editor-font-size); 95 | font-family: var(--vscode-editor-font-family); 96 | } 97 | 98 | button { 99 | border: none; 100 | padding: var(--input-padding-vertical) var(--input-padding-horizontal); 101 | width: 100%; 102 | text-align: center; 103 | outline: 1px solid transparent; 104 | outline-offset: 2px !important; 105 | color: var(--vscode-button-foreground); 106 | background: var(--vscode-button-background); 107 | } 108 | 109 | /* span { 110 | color: #1e1e1e; 111 | color: #d4d4d4; 112 | color: #9cdcfe; 113 | color: #d19a66; 114 | color: #dcdcaa; 115 | color: #c586c0; 116 | color: #d4d4d4; 117 | color: #dcdcaa; 118 | color: #b5cea8; 119 | color: #ce9178; 120 | color: #6a9955; 121 | color: #d4d4d4; 122 | color: #569cd6; 123 | } */ 124 | 125 | button:hover { 126 | cursor: pointer; 127 | background: var(--vscode-button-hoverBackground); 128 | } 129 | 130 | button:focus { 131 | outline-color: var(--vscode-focusBorder); 132 | } 133 | 134 | button.secondary { 135 | color: var(--vscode-button-secondaryForeground); 136 | background: var(--vscode-button-secondaryBackground); 137 | } 138 | 139 | button.secondary:hover { 140 | background: var(--vscode-button-secondaryHoverBackground); 141 | } 142 | 143 | input:not([type="checkbox"]), 144 | textarea { 145 | display: block; 146 | width: 100%; 147 | border: none; 148 | font-family: var(--vscode-font-family); 149 | padding: var(--input-padding-vertical) var(--input-padding-horizontal); 150 | color: var(--vscode-input-foreground); 151 | outline-color: var(--vscode-input-border); 152 | background-color: var(--vscode-input-background); 153 | } 154 | 155 | input::placeholder, 156 | textarea::placeholder { 157 | color: var(--vscode-input-placeholderForeground); 158 | } 159 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import svelte from 'rollup-plugin-svelte'; 2 | import commonjs from '@rollup/plugin-commonjs'; 3 | import resolve from '@rollup/plugin-node-resolve'; 4 | import livereload from 'rollup-plugin-livereload'; 5 | import { terser } from 'rollup-plugin-terser'; 6 | import sveltePreprocess from 'svelte-preprocess'; 7 | import typescript from '@rollup/plugin-typescript'; 8 | import css from 'rollup-plugin-css-only'; 9 | 10 | const production = !process.env.ROLLUP_WATCH; 11 | 12 | function serve() { 13 | let server; 14 | 15 | function toExit() { 16 | if (server) server.kill(0); 17 | } 18 | 19 | return { 20 | writeBundle() { 21 | if (server) return; 22 | server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], { 23 | stdio: ['ignore', 'inherit', 'inherit'], 24 | shell: true 25 | }); 26 | 27 | process.on('SIGTERM', toExit); 28 | process.on('exit', toExit); 29 | } 30 | }; 31 | } 32 | 33 | export default { 34 | input: 'src/main.ts', 35 | output: { 36 | sourcemap: true, 37 | format: 'iife', 38 | name: 'app', 39 | file: 'public/build/bundle.js' 40 | }, 41 | plugins: [ 42 | svelte({ 43 | preprocess: sveltePreprocess(), 44 | compilerOptions: { 45 | // enable run-time checks when not in production 46 | dev: !production 47 | } 48 | }), 49 | // we'll extract any component CSS out into 50 | // a separate file - better for performance 51 | css({ output: 'bundle.css' }), 52 | 53 | // If you have external dependencies installed from 54 | // npm, you'll most likely need these plugins. In 55 | // some cases you'll need additional configuration - 56 | // consult the documentation for details: 57 | // https://github.com/rollup/plugins/tree/master/packages/commonjs 58 | resolve({ 59 | browser: true, 60 | dedupe: ['svelte'] 61 | }), 62 | commonjs(), 63 | typescript({ 64 | sourceMap: !production, 65 | inlineSources: !production 66 | }), 67 | 68 | // In dev mode, call `npm run start` once 69 | // the bundle has been generated 70 | !production && serve(), 71 | 72 | // Watch the `public` directory and refresh the 73 | // browser on changes when not in production 74 | !production && livereload('public'), 75 | 76 | // If we're building for production (npm run build 77 | // instead of npm run dev), minify 78 | production && terser() 79 | ], 80 | watch: { 81 | clearScreen: false 82 | } 83 | }; 84 | -------------------------------------------------------------------------------- /src/App.svelte: -------------------------------------------------------------------------------- 1 | 19 | 20 | 39 | 40 |
41 |
42 |
43 | 48 |
61 |
62 |
63 | {#each state === 'male' ? maleProfiles : profiles as p, i} 64 |
65 |
66 | 67 |
68 |

{p.numLikes} likes

69 |
70 | {/each} 71 |
72 | -------------------------------------------------------------------------------- /src/Avatar.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 11 | 12 | avatar 13 | -------------------------------------------------------------------------------- /src/CodeCard.svelte: -------------------------------------------------------------------------------- 1 | 26 | 27 | 116 | 117 | { 119 | if (e.key === ' ') { 120 | onRightImage(); 121 | e.preventDefault(); 122 | } 123 | }} /> 124 | 125 |
126 | {#if stamp === 'nope'} 127 |
NOPE
128 | {:else if stamp === 'liked'} 129 |
LIKED
130 | {/if} 131 |
132 |
133 | 134 |
{ 136 | expanded = !expanded; 137 | }} 138 | class="bottom-panel"> 139 |
140 | 141 |
142 |
143 |
{profile.displayName}
144 |
{profile.age}
145 | {#if profile.flair in flairMap} 146 | 147 | 148 | 149 | {/if} 150 |
151 |
{profile.bio}
152 |
153 |
154 |
155 |
156 | -------------------------------------------------------------------------------- /src/CodeImg.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | code 12 | -------------------------------------------------------------------------------- /src/Flair.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 14 | {#if flair in flairMap} 15 | {flair} 16 | {/if} 17 | -------------------------------------------------------------------------------- /src/flairMap.ts: -------------------------------------------------------------------------------- 1 | export const flairMap = { 2 | kubernetes: "kubernetes.png", 3 | python: "python.png", 4 | flutter: "flutter.png", 5 | angular: "angular.png", 6 | cpp: "cpp.png", 7 | haskell: "haskell.png", 8 | java: "java.png", 9 | rust: "rust.png", 10 | vue: "vue.png", 11 | javascript: "javascript.png", 12 | go: "go.png", 13 | cSharp: "cSharp.png", 14 | html: "html.png", 15 | swift: "swift.png", 16 | react: "react.png", 17 | kafka: "kafka.png", 18 | c: "c.png", 19 | typescript: "typescript.png", 20 | css: "css.png", 21 | dart: "dart.png", 22 | svelte: "svelte.png", 23 | kotlin: "kotlin.png", 24 | }; 25 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import App from "./App.svelte"; 2 | 3 | const app = new App({ 4 | target: document.body, 5 | }); 6 | 7 | export default app; 8 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export interface Profile { 2 | id: string; 3 | flair: string; 4 | displayName: string; 5 | age: number; 6 | bio: string; 7 | codeImgIds: string[]; 8 | photoUrl: string; 9 | imgShowingIdx?: number; 10 | numLikes: number; 11 | } 12 | -------------------------------------------------------------------------------- /static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | VSinder 4 | 5 | 25 | 26 | -------------------------------------------------------------------------------- /static/privacy-policy.html: -------------------------------------------------------------------------------- 1 |

Privacy Policy

2 |

Last updated: December 03, 2020

3 |

4 | This Privacy Policy describes Our policies and procedures on the collection, 5 | use and disclosure of Your information when You use the Service and tells You 6 | about Your privacy rights and how the law protects You. 7 |

8 |

9 | We use Your Personal data to provide and improve the Service. By using the 10 | Service, You agree to the collection and use of information in accordance with 11 | this Privacy Policy. This Privacy Policy has been created with the help of the 12 | Privacy Policy Generator. 15 |

16 |

Interpretation and Definitions

17 |

Interpretation

18 |

19 | The words of which the initial letter is capitalized have meanings defined 20 | under the following conditions. The following definitions shall have the same 21 | meaning regardless of whether they appear in singular or in plural. 22 |

23 |

Definitions

24 |

For the purposes of this Privacy Policy:

25 |
    26 |
  • 27 |

    28 | Account means a unique account created for You to access 29 | our Service or parts of our Service. 30 |

    31 |
  • 32 |
  • 33 |

    34 | Company (referred to as either "the Company", 35 | "We", "Us" or "Our" in this Agreement) 36 | refers to VSinder. 37 |

    38 |
  • 39 |
  • 40 |

    41 | Cookies are small files that are placed on Your computer, 42 | mobile device or any other device by a website, containing the details of 43 | Your browsing history on that website among its many uses. 44 |

    45 |
  • 46 |
  • 47 |

    Country refers to: Texas, United States

    48 |
  • 49 |
  • 50 |

    51 | Device means any device that can access the Service such 52 | as a computer, a cellphone or a digital tablet. 53 |

    54 |
  • 55 |
  • 56 |

    57 | Personal Data is any information that relates to an 58 | identified or identifiable individual. 59 |

    60 |
  • 61 |
  • 62 |

    Service refers to the Website.

    63 |
  • 64 |
  • 65 |

    66 | Service Provider means any natural or legal person who 67 | processes the data on behalf of the Company. It refers to third-party 68 | companies or individuals employed by the Company to facilitate the 69 | Service, to provide the Service on behalf of the Company, to perform 70 | services related to the Service or to assist the Company in analyzing how 71 | the Service is used. 72 |

    73 |
  • 74 |
  • 75 |

    76 | Third-party Social Media Service refers to any website or 77 | any social network website through which a User can log in or create an 78 | account to use the Service. 79 |

    80 |
  • 81 |
  • 82 |

    83 | Usage Data refers to data collected automatically, either 84 | generated by the use of the Service or from the Service infrastructure 85 | itself (for example, the duration of a page visit). 86 |

    87 |
  • 88 |
  • 89 |

    90 | Website refers to VSinder, accessible from 91 | https://www.vsinder.com 97 |

    98 |
  • 99 |
  • 100 |

    101 | You means the individual accessing or using the Service, 102 | or the company, or other legal entity on behalf of which such individual 103 | is accessing or using the Service, as applicable. 104 |

    105 |
  • 106 |
107 |

Collecting and Using Your Personal Data

108 |

Types of Data Collected

109 |

Personal Data

110 |

111 | While using Our Service, We may ask You to provide Us with certain personally 112 | identifiable information that can be used to contact or identify You. 113 | Personally identifiable information may include, but is not limited to: 114 |

115 |
    116 |
  • 117 |

    Email address

    118 |
  • 119 |
  • 120 |

    First name and last name

    121 |
  • 122 |
  • 123 |

    Address, State, Province, ZIP/Postal code, City

    124 |
  • 125 |
  • 126 |

    Usage Data

    127 |
  • 128 |
129 |

Usage Data

130 |

Usage Data is collected automatically when using the Service.

131 |

132 | Usage Data may include information such as Your Device's Internet Protocol 133 | address (e.g. IP address), browser type, browser version, the pages of our 134 | Service that You visit, the time and date of Your visit, the time spent on 135 | those pages, unique device identifiers and other diagnostic data. 136 |

137 |

138 | When You access the Service by or through a mobile device, We may collect 139 | certain information automatically, including, but not limited to, the type of 140 | mobile device You use, Your mobile device unique ID, the IP address of Your 141 | mobile device, Your mobile operating system, the type of mobile Internet 142 | browser You use, unique device identifiers and other diagnostic data. 143 |

144 |

145 | We may also collect information that Your browser sends whenever You visit our 146 | Service or when You access the Service by or through a mobile device. 147 |

148 |

Tracking Technologies and Cookies

149 |

150 | We use Cookies and similar tracking technologies to track the activity on Our 151 | Service and store certain information. Tracking technologies used are beacons, 152 | tags, and scripts to collect and track information and to improve and analyze 153 | Our Service. The technologies We use may include: 154 |

155 |
    156 |
  • 157 | Cookies or Browser Cookies. A cookie is a small file placed 158 | on Your Device. You can instruct Your browser to refuse all Cookies or to 159 | indicate when a Cookie is being sent. However, if You do not accept Cookies, 160 | You may not be able to use some parts of our Service. Unless you have 161 | adjusted Your browser setting so that it will refuse Cookies, our Service 162 | may use Cookies. 163 |
  • 164 |
  • 165 | Flash Cookies. Certain features of our Service may use 166 | local stored objects (or Flash Cookies) to collect and store information 167 | about Your preferences or Your activity on our Service. Flash Cookies are 168 | not managed by the same browser settings as those used for Browser Cookies. 169 | For more information on how You can delete Flash Cookies, please read 170 | "Where can I change the settings for disabling, or deleting local 171 | shared objects?" available at 172 | https://helpx.adobe.com/flash-player/kb/disable-local-shared-objects-flash.html#main_Where_can_I_change_the_settings_for_disabling__or_deleting_local_shared_objects_ 178 |
  • 179 |
  • 180 | Web Beacons. Certain sections of our Service and our emails 181 | may contain small electronic files known as web beacons (also referred to as 182 | clear gifs, pixel tags, and single-pixel gifs) that permit the Company, for 183 | example, to count users who have visited those pages or opened an email and 184 | for other related website statistics (for example, recording the popularity 185 | of a certain section and verifying system and server integrity). 186 |
  • 187 |
188 |

189 | Cookies can be "Persistent" or "Session" Cookies. 190 | Persistent Cookies remain on Your personal computer or mobile device when You 191 | go offline, while Session Cookies are deleted as soon as You close Your web 192 | browser. You can learn more about cookies here: 193 | All About Cookies by TermsFeed. 196 |

197 |

198 | We use both Session and Persistent Cookies for the purposes set out below: 199 |

200 |
    201 |
  • 202 |

    Necessary / Essential Cookies

    203 |

    Type: Session Cookies

    204 |

    Administered by: Us

    205 |

    206 | Purpose: These Cookies are essential to provide You with services 207 | available through the Website and to enable You to use some of its 208 | features. They help to authenticate users and prevent fraudulent use of 209 | user accounts. Without these Cookies, the services that You have asked for 210 | cannot be provided, and We only use these Cookies to provide You with 211 | those services. 212 |

    213 |
  • 214 |
  • 215 |

    Cookies Policy / Notice Acceptance Cookies

    216 |

    Type: Persistent Cookies

    217 |

    Administered by: Us

    218 |

    219 | Purpose: These Cookies identify if users have accepted the use of cookies 220 | on the Website. 221 |

    222 |
  • 223 |
  • 224 |

    Functionality Cookies

    225 |

    Type: Persistent Cookies

    226 |

    Administered by: Us

    227 |

    228 | Purpose: These Cookies allow us to remember choices You make when You use 229 | the Website, such as remembering your login details or language 230 | preference. The purpose of these Cookies is to provide You with a more 231 | personal experience and to avoid You having to re-enter your preferences 232 | every time You use the Website. 233 |

    234 |
  • 235 |
236 |

237 | For more information about the cookies we use and your choices regarding 238 | cookies, please visit our Cookies Policy or the Cookies section of our Privacy 239 | Policy. 240 |

241 |

Use of Your Personal Data

242 |

The Company may use Personal Data for the following purposes:

243 |
    244 |
  • 245 |

    246 | To provide and maintain our Service, including to monitor 247 | the usage of our Service. 248 |

    249 |
  • 250 |
  • 251 |

    252 | To manage Your Account: to manage Your registration as a 253 | user of the Service. The Personal Data You provide can give You access to 254 | different functionalities of the Service that are available to You as a 255 | registered user. 256 |

    257 |
  • 258 |
  • 259 |

    260 | For the performance of a contract: the development, 261 | compliance and undertaking of the purchase contract for the products, 262 | items or services You have purchased or of any other contract with Us 263 | through the Service. 264 |

    265 |
  • 266 |
  • 267 |

    268 | To contact You: To contact You by email, telephone calls, 269 | SMS, or other equivalent forms of electronic communication, such as a 270 | mobile application's push notifications regarding updates or informative 271 | communications related to the functionalities, products or contracted 272 | services, including the security updates, when necessary or reasonable for 273 | their implementation. 274 |

    275 |
  • 276 |
  • 277 |

    278 | To provide You with news, special offers and general 279 | information about other goods, services and events which we offer that are 280 | similar to those that you have already purchased or enquired about unless 281 | You have opted not to receive such information. 282 |

    283 |
  • 284 |
  • 285 |

    286 | To manage Your requests: To attend and manage Your 287 | requests to Us. 288 |

    289 |
  • 290 |
  • 291 |

    292 | For business transfers: We may use Your information to 293 | evaluate or conduct a merger, divestiture, restructuring, reorganization, 294 | dissolution, or other sale or transfer of some or all of Our assets, 295 | whether as a going concern or as part of bankruptcy, liquidation, or 296 | similar proceeding, in which Personal Data held by Us about our Service 297 | users is among the assets transferred. 298 |

    299 |
  • 300 |
  • 301 |

    302 | For other purposes: We may use Your information for other 303 | purposes, such as data analysis, identifying usage trends, determining the 304 | effectiveness of our promotional campaigns and to evaluate and improve our 305 | Service, products, services, marketing and your experience. 306 |

    307 |
  • 308 |
309 |

We may share Your personal information in the following situations:

310 |
    311 |
  • 312 | With Service Providers: We may share Your personal 313 | information with Service Providers to monitor and analyze the use of our 314 | Service, to contact You. 315 |
  • 316 |
  • 317 | For business transfers: We may share or transfer Your 318 | personal information in connection with, or during negotiations of, any 319 | merger, sale of Company assets, financing, or acquisition of all or a 320 | portion of Our business to another company. 321 |
  • 322 |
  • 323 | With Affiliates: We may share Your information with Our 324 | affiliates, in which case we will require those affiliates to honor this 325 | Privacy Policy. Affiliates include Our parent company and any other 326 | subsidiaries, joint venture partners or other companies that We control or 327 | that are under common control with Us. 328 |
  • 329 |
  • 330 | With business partners: We may share Your information with 331 | Our business partners to offer You certain products, services or promotions. 332 |
  • 333 |
  • 334 | With other users: when You share personal information or 335 | otherwise interact in the public areas with other users, such information 336 | may be viewed by all users and may be publicly distributed outside. If You 337 | interact with other users or register through a Third-Party Social Media 338 | Service, Your contacts on the Third-Party Social Media Service may see Your 339 | name, profile, pictures and description of Your activity. Similarly, other 340 | users will be able to view descriptions of Your activity, communicate with 341 | You and view Your profile. 342 |
  • 343 |
  • 344 | With Your consent: We may disclose Your personal 345 | information for any other purpose with Your consent. 346 |
  • 347 |
348 |

Retention of Your Personal Data

349 |

350 | The Company will retain Your Personal Data only for as long as is necessary 351 | for the purposes set out in this Privacy Policy. We will retain and use Your 352 | Personal Data to the extent necessary to comply with our legal obligations 353 | (for example, if we are required to retain your data to comply with applicable 354 | laws), resolve disputes, and enforce our legal agreements and policies. 355 |

356 |

357 | The Company will also retain Usage Data for internal analysis purposes. Usage 358 | Data is generally retained for a shorter period of time, except when this data 359 | is used to strengthen the security or to improve the functionality of Our 360 | Service, or We are legally obligated to retain this data for longer time 361 | periods. 362 |

363 |

Transfer of Your Personal Data

364 |

365 | Your information, including Personal Data, is processed at the Company's 366 | operating offices and in any other places where the parties involved in the 367 | processing are located. It means that this information may be transferred to — 368 | and maintained on — computers located outside of Your state, province, country 369 | or other governmental jurisdiction where the data protection laws may differ 370 | than those from Your jurisdiction. 371 |

372 |

373 | Your consent to this Privacy Policy followed by Your submission of such 374 | information represents Your agreement to that transfer. 375 |

376 |

377 | The Company will take all steps reasonably necessary to ensure that Your data 378 | is treated securely and in accordance with this Privacy Policy and no transfer 379 | of Your Personal Data will take place to an organization or a country unless 380 | there are adequate controls in place including the security of Your data and 381 | other personal information. 382 |

383 |

Disclosure of Your Personal Data

384 |

Business Transactions

385 |

386 | If the Company is involved in a merger, acquisition or asset sale, Your 387 | Personal Data may be transferred. We will provide notice before Your Personal 388 | Data is transferred and becomes subject to a different Privacy Policy. 389 |

390 |

Law enforcement

391 |

392 | Under certain circumstances, the Company may be required to disclose Your 393 | Personal Data if required to do so by law or in response to valid requests by 394 | public authorities (e.g. a court or a government agency). 395 |

396 |

Other legal requirements

397 |

398 | The Company may disclose Your Personal Data in the good faith belief that such 399 | action is necessary to: 400 |

401 |
    402 |
  • Comply with a legal obligation
  • 403 |
  • Protect and defend the rights or property of the Company
  • 404 |
  • 405 | Prevent or investigate possible wrongdoing in connection with the Service 406 |
  • 407 |
  • Protect the personal safety of Users of the Service or the public
  • 408 |
  • Protect against legal liability
  • 409 |
410 |

Security of Your Personal Data

411 |

412 | The security of Your Personal Data is important to Us, but remember that no 413 | method of transmission over the Internet, or method of electronic storage is 414 | 100% secure. While We strive to use commercially acceptable means to protect 415 | Your Personal Data, We cannot guarantee its absolute security. 416 |

417 |

Detailed Information on the Processing of Your Personal Data

418 |

419 | The Service Providers We use may have access to Your Personal Data. These 420 | third-party vendors collect, store, use, process and transfer information 421 | about Your activity on Our Service in accordance with their Privacy Policies. 422 |

423 |

Usage, Performance and Miscellaneous

424 |

425 | We may use third-party Service Providers to provide better improvement of our 426 | Service. 427 |

428 |
    429 |
  • 430 |

    Google Places

    431 |

    432 | Google Places is a service that returns information about places using 433 | HTTP requests. It is operated by Google 434 |

    435 |

    436 | Google Places service may collect information from You and from Your 437 | Device for security purposes. 438 |

    439 |

    440 | The information gathered by Google Places is held in accordance with the 441 | Privacy Policy of Google: 442 | https://www.google.com/intl/en/policies/privacy/ 448 |

    449 |
  • 450 |
451 |

Links to Other Websites

452 |

453 | Our Service may contain links to other websites that are not operated by Us. 454 | If You click on a third party link, You will be directed to that third party's 455 | site. We strongly advise You to review the Privacy Policy of every site You 456 | visit. 457 |

458 |

459 | We have no control over and assume no responsibility for the content, privacy 460 | policies or practices of any third party sites or services. 461 |

462 |

Changes to this Privacy Policy

463 |

464 | We may update Our Privacy Policy from time to time. We will notify You of any 465 | changes by posting the new Privacy Policy on this page. 466 |

467 |

468 | We will let You know via email and/or a prominent notice on Our Service, prior 469 | to the change becoming effective and update the "Last updated" date 470 | at the top of this Privacy Policy. 471 |

472 |

473 | You are advised to review this Privacy Policy periodically for any changes. 474 | Changes to this Privacy Policy are effective when they are posted on this 475 | page. 476 |

477 |

Contact Us

478 |

If you have any questions about this Privacy Policy, You can contact us:

479 |
    480 |
  • By email: benawadapps@gmail.com
  • 481 |
482 | -------------------------------------------------------------------------------- /static/terms.html: -------------------------------------------------------------------------------- 1 |
2 |

Terms of Use

3 |
Last revised on December 5, 2020
4 |

Welcome to VSinder, operated by Ben Awad.

5 |

1. Acceptance of Terms of Use Agreement.

6 |

7 | By creating a VSinder account or by using any VSinder service, whether 8 | through a mobile device, mobile application or computer (collectively, the 9 | “Service”) you agree to be bound by (i) these Terms of Use, (ii) our 10 | Privacy Policy. If you do not accept and agree 11 | to be bound by all of the terms of this Agreement (other than the limited 12 | one-time opt out right for certain members provided for in Section 15), you 13 | should not use the Service. 14 |

15 |

16 | We may make changes to this Agreement and to the Service from time to time. 17 | We may do this for a variety of reasons including to reflect changes in or 18 | requirements of the law, new features, or changes in business practices. The 19 | most recent version of this Agreement will be posted on the Service under 20 | Settings and also on govsinder.com, and you should regularly check for the 21 | most recent version. The most recent version is the version that applies. If 22 | the changes include material changes that affect your rights or obligations, 23 | we will notify you in advance of the changes by reasonable means, which 24 | could include notification through the Service or via email. If you continue 25 | to use the Service after the changes become effective, then you agree to the 26 | revised Agreement. You agree that this Agreement shall supersede any prior 27 | agreements (except as specifically stated herein), and shall govern your 28 | entire relationship with VSinder, including but not limited to events, 29 | agreements, and conduct preceding your acceptance of this Agreement. 30 |

31 |

2. Eligibility.

32 |

33 | You must be at least 18 years of age to create an account on VSinder and use 34 | the Service. By creating an account and using the Service, you represent and 35 | warrant that: 36 |

37 |
    38 |
  • you can form a binding contract with VSinder,
  • 39 |
  • 40 | you are not a person who is barred from using the Service under the laws 41 | of the United States or any other applicable jurisdiction–meaning that you 42 | do not appear on the U.S. Treasury Department’s list of Specially 43 | Designated Nationals or face any other similar prohibition, 44 |
  • 45 |
  • 46 | you will comply with this Agreement and all applicable local, state, 47 | national and international laws, rules and regulations, and 48 |
  • 49 |
  • 50 | you have never been convicted of or pled no contest to a felony, a sex 51 | crime, or any crime involving violence, and that you are not required to 52 | register as a sex offender with any state, federal or local sex offender 53 | registry. 54 |
  • 55 |
56 |

3. Your Account.

57 |

58 | You are responsible for maintaining the confidentiality of your login 59 | credentials you use to sign up for VSinder, and you are solely responsible 60 | for all activities that occur under those credentials. 61 |

62 |

4. Modifying the Service and Termination.

63 |

64 | VSinder is always striving to improve the Service and bring you additional 65 | functionality that you will find engaging and useful. This means we may add 66 | new product features or enhancements from time to time as well as remove 67 | some features, and if these actions do not materially affect your rights or 68 | obligations, we may not provide you with notice before taking them. We may 69 | even suspend the Service entirely, in which event we will notify you in 70 | advance unless extenuating circumstances, such as safety or security 71 | concerns, prevent us from doing so. 72 |

73 |

74 | VSinder may terminate your account at any time without notice if it believes 75 | that you have violated this Agreement. Upon such termination, you will not 76 | be entitled to any refund for purchases. After your account is terminated, 77 | this Agreement will terminate, except that the following provisions will 78 | still apply to you and VSinder: Section 4, Section 5, and Sections 12 79 | through 19. 80 |

81 |

5. Safety; Your Interactions with Other Members.

82 |

83 | Though VSinder strives to encourage a respectful member experience through 84 | features like the double opt-in that allows members to communicate only 85 | after they have both indicated interest in one another, 86 | it is not responsible for the conduct of any member on or off of the 88 | Service. You agree to use caution in all interactions with other members, 89 | particularly if you decide to communicate off the Service or meet in 90 | person. You agree that you will not provide your financial information 91 | (for example, your credit card or bank account information), or wire or 92 | otherwise send money, to other members. 94 |

95 |

96 | YOU ARE SOLELY RESPONSIBLE FOR YOUR INTERACTIONS WITH OTHER MEMBERS. YOU 98 | UNDERSTAND THAT VSINDER DOES NOT CONDUCT CRIMINAL BACKGROUND CHECKS ON ITS 99 | MEMBERS OR OTHERWISE INQUIRE INTO THE BACKGROUND OF ITS MEMBERS. VSINDER 100 | MAKES NO REPRESENTATIONS OR WARRANTIES AS TO THE CONDUCT OF 101 | MEMBERS. 103 | VSINDER RESERVES THE RIGHT TO CONDUCT – AND YOU AUTHORIZE VSINDER TO CONDUCT 104 | – ANY CRIMINAL BACKGROUND CHECK OR OTHER SCREENINGS (SUCH AS SEX OFFENDER 105 | REGISTER SEARCHES) AT ANY TIME USING AVAILABLE PUBLIC RECORDS OBTAINED BY IT 106 | OR WITH THE ASSISTANCE OF A CONSUMER REPORTING AGENCY, AND YOU AGREE THAT 107 | ANY INFORMATION YOU PROVIDE MAY BE USED FOR THAT PURPOSE. 108 |

109 |

6. Rights VSinder Grants You.

110 |

111 | VSinder grants you a personal, worldwide, royalty-free, non-assignable, 112 | nonexclusive, revocable, and non-sublicensable license to access and use the 113 | Service. This license is for the sole purpose of letting you use and enjoy 114 | the Service’s benefits as intended by VSinder and permitted by this 115 | Agreement. Therefore, you agree not to: 116 |

117 |
    118 |
  • 119 | use the Service or any content contained in the Service for any commercial 120 | purposes without our written consent. 121 |
  • 122 |
  • 123 | copy, modify, transmit, create any derivative works from, make use of, or 124 | reproduce in any way any copyrighted material, images, trademarks, trade 125 | names, service marks, or other intellectual property, content or 126 | proprietary information accessible through the Service without VSinder’s 127 | prior written consent. 128 |
  • 129 |
  • 130 | express or imply that any statements you make are endorsed by VSinder. 131 |
  • 132 |
  • 133 | use any robot, bot, spider, crawler, scraper, site search/retrieval 134 | application, proxy or other manual or automatic device, method or process 135 | to access, retrieve, index, “data mine,” or in any way reproduce or 136 | circumvent the navigational structure or presentation of the Service or 137 | its contents. 138 |
  • 139 |
  • 140 | use the Service in any way that could interfere with, disrupt or 141 | negatively affect the Service or the servers or networks connected to the 142 | Service. 143 |
  • 144 |
  • 145 | upload viruses or other malicious code or otherwise compromise the 146 | security of the Service. 147 |
  • 148 |
  • 149 | forge headers or otherwise manipulate identifiers in order to disguise the 150 | origin of any information transmitted to or through the Service. 151 |
  • 152 |
  • 153 | “frame” or “mirror” any part of the Service without VSinder’s prior 154 | written authorization. 155 |
  • 156 |
  • 157 | use meta tags or code or other devices containing any reference to VSinder 158 | or the Service (or any trademark, trade name, service mark, logo or slogan 159 | of VSinder) to direct any person to any other website for any purpose. 160 |
  • 161 |
  • 162 | modify, adapt, sublicense, translate, sell, reverse engineer, decipher, 163 | decompile or otherwise disassemble any portion of the Service, or cause 164 | others to do so. 165 |
  • 166 |
  • 167 | use or develop any third-party applications that interact with the Service 168 | or other members’ Content or information without our written consent. 169 |
  • 170 |
  • 171 | use, access, or publish the VSinder application programming interface 172 | without our written consent. 173 |
  • 174 |
  • 175 | probe, scan or test the vulnerability of our Service or any system or 176 | network. 177 |
  • 178 |
  • encourage or promote any activity that violates this Agreement.
  • 179 |
180 |

181 | VSinder may investigate and take any available legal action in response to 182 | illegal and/ or unauthorized uses of the Service, including termination of 183 | your account. 184 |

185 |

186 | Any software that we provide you may automatically download and install 187 | upgrades, updates, or other new features. You may be able to adjust these 188 | automatic downloads through your device’s settings. 189 |

190 |

7. Rights you Grant VSinder.

191 |

192 | By creating an account, you grant to VSinder a worldwide, transferable, 193 | sub-licensable, royalty-free, right and license to host, store, use, copy, 194 | display, reproduce, adapt, edit, publish, modify and distribute information 195 | you authorize us to access from Facebook, as well as any information you 196 | post, upload, display or otherwise make available (collectively, “post”) on 197 | the Service or transmit to other members (collectively, “Content”). 198 | VSinder’s license to your Content shall be non-exclusive, except that 199 | VSinder’s license shall be exclusive with respect to derivative works 200 | created through use of the Service. For example, VSinder would have an 201 | exclusive license to screenshots of the Service that include your Content. 202 | In addition, so that VSinder can prevent the use of your Content outside of 203 | the Service, you authorize VSinder to act on your behalf with respect to 204 | infringing uses of your Content taken from the Service by other members or 205 | third parties. This expressly includes the authority, but not the 206 | obligation, to send notices pursuant to 17 U.S.C. § 512(c)(3) (i.e., DMCA 207 | Takedown Notices) on your behalf if your Content is taken and used by third 208 | parties outside of the Service. Our license to your Content is subject to 209 | your rights under applicable law (for example laws regarding personal data 210 | protection to the extent any Content contains personal information as 211 | defined by those laws) and is for the limited purpose of operating, 212 | developing, providing, and improving the Service and researching and 213 | developing new ones. You agree that any Content you place or that you 214 | authorize us to place on the Service may be viewed by other members and may 215 | be viewed by any person visiting or participating in the Service (such as 216 | individuals who may receive shared Content from other VSinder members). 217 |

218 |

219 | You understand and agree that we may monitor or review any Content you post 220 | as part of a Service. We may delete any Content, in whole or in part, that 221 | in our sole judgment violates this Agreement or may harm the reputation of 222 | the Service. 223 |

224 |

225 | When communicating with our customer care representatives, you agree to be 226 | respectful and kind. If we feel that your behavior towards any of our 227 | customer care representatives or other employees is at any time threatening 228 | or offensive, we reserve the right to immediately terminate your account. 229 |

230 |

231 | In consideration for VSinder allowing you to use the Service, you agree that 232 | we, our affiliates, and our third-party partners may place advertising on 233 | the Service. By submitting suggestions or feedback to VSinder regarding our 234 | Service, you agree that VSinder may use and share such feedback for any 235 | purpose without compensating you. 236 |

237 |

238 | You agree that VSinder may access, preserve and disclose your account 239 | information and Content if required to do so by law or in a good faith 240 | belief that such access, preservation or disclosure is reasonably necessary, 241 | such as to: (i) comply with legal process; (ii) enforce this Agreement; 242 | (iii) respond to claims that any Content violates the rights of third 243 | parties; (iv) respond to your requests for customer service; or (v) protect 244 | the rights, property or personal safety of the Company or any other person. 245 |

246 |

8. Community Rules.

247 |

By using the Service, you agree that you will not:

248 |
    249 |
  • 250 | use the Service for any purpose that is illegal or prohibited by this 251 | Agreement. 252 |
  • 253 |
  • use the Service for any harmful or nefarious purpose.
  • 254 |
  • use the Service in order to damage VSinder.
  • 255 |
  • spam, solicit money from or defraud any members.
  • 256 |
  • 257 | impersonate any person or entity or post any images of another person 258 | without his or her permission. 259 |
  • 260 |
  • 261 | bully, “stalk,” intimidate, assault, harass, mistreat or defame any 262 | person. 263 |
  • 264 |
  • 265 | post any Content that violates or infringes anyone’s rights, including 266 | rights of publicity, privacy, copyright, trademark or other intellectual 267 | property or contract right. 268 |
  • 269 |
  • 270 | post any Content that is hate speech, threatening, sexually explicit or 271 | pornographic; incites violence; or contains nudity or graphic or 272 | gratuitous violence. 273 |
  • 274 |
  • 275 | post any Content that promotes racism, bigotry, hatred or physical harm of 276 | any kind against any group or individual. 277 |
  • 278 |
  • 279 | solicit passwords for any purpose, or personal identifying information for 280 | commercial or unlawful purposes from other users or disseminate another 281 | person’s personal information without his or her permission. 282 |
  • 283 |
  • 284 | use another user’s account, share an account with another user, or 285 | maintain more than one account. 286 |
  • 287 |
  • 288 | create another account if we have already terminated your account, unless 289 | you have our permission. 290 |
  • 291 |
292 |

293 | VSinder reserves the right to investigate and/ or terminate your account 294 | without a refund of any purchases if you have violated this Agreement, 295 | misused the Service or behaved in a way that VSinder regards as 296 | inappropriate or unlawful, including actions or communications that occur on 297 | or off the Service. 298 |

299 |

9. Other Members’ Content.

300 |

301 | Although VSinder reserves the right to review and remove Content that 302 | violates this Agreement, such Content is the sole responsibility of the 303 | member who posts it, and VSinder cannot guarantee that all Content will 304 | comply with this Agreement. 305 |

306 |

10. Disclaimers.

307 |

308 | VSINDER PROVIDES THE SERVICE ON AN “AS IS” AND “AS AVAILABLE” BASIS AND TO 309 | THE EXTENT PERMITTED BY APPLICABLE LAW, GRANTS NO WARRANTIES OF ANY KIND, 310 | WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE WITH RESPECT TO THE SERVICE 311 | (INCLUDING ALL CONTENT CONTAINED THEREIN), INCLUDING, WITHOUT LIMITATION, 312 | ANY IMPLIED WARRANTIES OF SATISFACTORY QUALITY, MERCHANTABILITY, FITNESS FOR 313 | A PARTICULAR PURPOSE OR NON-INFRINGEMENT. VSINDER DOES NOT REPRESENT OR 314 | WARRANT THAT (A) THE SERVICE WILL BE UNINTERRUPTED, SECURE OR ERROR FREE, 315 | (B) ANY DEFECTS OR ERRORS IN THE SERVICE WILL BE CORRECTED, OR (C) THAT ANY 316 | CONTENT OR INFORMATION YOU OBTAIN ON OR THROUGH THE SERVICE WILL BE 317 | ACCURATE. 318 |

319 |

320 | VSINDER TAKES NO RESPONSIBILITY FOR ANY CONTENT THAT YOU OR ANOTHER MEMBER 321 | OR THIRD PARTY POSTS, SENDS OR RECEIVES THROUGH THE SERVICE. ANY MATERIAL 322 | DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICE IS ACCESSED 323 | AT YOUR OWN DISCRETION AND RISK. 324 |

325 |

326 | VSINDER DISCLAIMS AND TAKES NO RESPONSIBILITY FOR ANY CONDUCT OF YOU OR ANY 327 | OTHER MEMBER, ON OR OFF THE SERVICE. 328 |

329 |

11. Limitation of Liability.

330 |

331 | TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL 332 | VSINDER, ITS AFFILIATES, EMPLOYEES, LICENSORS OR SERVICE PROVIDERS BE LIABLE 333 | FOR ANY INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL, PUNITIVE, 334 | OR ENHANCED DAMAGES, INCLUDING, WITHOUT LIMITATION, LOSS OF PROFITS, WHETHER 335 | INCURRED DIRECTLY OR INDIRECTLY, OR ANY LOSS OF DATA, USE, GOODWILL, OR 336 | OTHER INTANGIBLE LOSSES, RESULTING FROM: (I) YOUR ACCESS TO OR USE OF OR 337 | INABILITY TO ACCESS OR USE THE SERVICE; (II) THE CONDUCT OR CONTENT OF OTHER 338 | MEMBERS` OR THIRD PARTIES ON, THROUGH OR FOLLOWING USE OF THE SERVICE; OR 339 | (III) UNAUTHORIZED ACCESS, USE OR ALTERATION OF YOUR CONTENT, EVEN IF 340 | VSINDER HAS BEEN ADVISED AT ANY TIME OF THE POSSIBILITY OF SUCH DAMAGES. 341 | NOTWITHSTANDING THE FOREGOING, IN NO EVENT SHALL VSINDER’S AGGREGATE 342 | LIABILITY TO YOU FOR ANY AND ALL CLAIMS ARISING OUT OF OR RELATING TO THE 343 | SERVICE OR THIS AGREEMENT EXCEED THE AMOUNT PAID, IF ANY, BY YOU TO VSINDER 344 | DURING THE TWENTY-FOUR (24) MONTH PERIOD IMMEDIATELY PRECEDING THE DATE THAT 345 | YOU FIRST FILE A LAWSUIT, ARBITRATION OR ANY OTHER LEGAL PROCEEDING AGAINST 346 | VSINDER, WHETHER IN LAW OR IN EQUITY, IN ANY TRIBUNAL. THE DAMAGES 347 | LIMITATION SET FORTH IN THE IMMEDIATELY PRECEDING SENTENCE APPLIES (i) 348 | REGARDLESS OF THE GROUND UPON WHICH LIABILITY IS BASED (WHETHER DEFAULT, 349 | CONTRACT, TORT, STATUTE, OR OTHERWISE), (ii) IRRESPECTIVE OF THE TYPE OF 350 | BREACH OF OBLIGATIONS, AND (iii) WITH RESPECT TO ALL EVENTS, THE SERVICE, 351 | AND THIS AGREEMENT. 352 |

353 |

354 | THE LIMITATION OF LIABILITY PROVISIONS SET FORTH IN THIS SECTION 14 SHALL 355 | APPLY EVEN IF YOUR REMEDIES UNDER THIS AGREEMENT FAIL WITH RESPECT TO THEIR 356 | ESSENTIAL PURPOSE. 357 |

358 |

359 | SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN 360 | DAMAGES, SO SOME OR ALL OF THE EXCLUSIONS AND LIMITATIONS IN THIS SECTION 361 | MAY NOT APPLY TO YOU. 362 |

363 | 364 |

12. Governing Law.

365 |

366 | Except where our arbitration agreement is prohibited by law, the laws of 367 | Texas, U.S.A., without regard to its conflict of laws rules, shall apply to 368 | any disputes arising out of or relating to this Agreement, the Service, or 369 | your relationship with VSinder. Notwithstanding the foregoing, the 370 | Arbitration Agreement in Section 15 above shall be governed by the Federal 371 | Arbitration Act. 372 |

373 |

13. Venue.

374 |

375 | Except for claims that may be properly brought in a small claims court of 376 | competent jurisdiction, all claims arising out of or relating to this 377 | Agreement, to the Service, or to your relationship with VSinder that for 378 | whatever reason are not submitted to arbitration will be litigated 379 | exclusively in the federal or state courts of Dallas County, Texas, U.S.A. 380 | You and VSinder consent to the exercise of personal jurisdiction of courts 381 | in the State of Texas and waive any claim that such courts constitute an 382 | inconvenient forum. 383 |

384 |

14. Indemnity by You.

385 |

386 | You agree, to the extent permitted under applicable law, to indemnify, 387 | defend and hold harmless VSinder, our affiliates, and their and our 388 | respective officers, directors, agents, and employees from and against any 389 | and all complaints, demands, claims, damages, losses, costs, liabilities and 390 | expenses, including attorney’s fees, due to, arising out of, or relating in 391 | any way to your access to or use of the Service, your Content, or your 392 | breach of this Agreement. 393 |

394 |

15. Entire Agreement; Other.

395 |

396 | This Agreement, along with the Privacy Policy, 397 | contains the entire agreement between you and VSinder regarding your 398 | relationship with VSinder and the use of the Service, with the following 399 | exception: anyone who opted out of the retroactive application of Section 15 400 | is still subject to and bound by any prior agreements to arbitrate with 401 | VSinder as well as this agreement to arbitrate on a going forward basis. If 402 | any provision of this Agreement is held invalid, the remainder of this 403 | Agreement shall continue in full force and effect. The failure of VSinder to 404 | exercise or enforce any right or provision of this Agreement shall not 405 | constitute a waiver of such right or provision. You agree that your VSinder 406 | account is non-transferable and all of your rights to your account and its 407 | Content terminate upon your death. No agency, partnership, joint venture, 408 | fiduciary or other special relationship or employment is created as a result 409 | of this Agreement and you may not make any representations on behalf of or 410 | bind VSinder in any manner. 411 |

412 |
413 | -------------------------------------------------------------------------------- /static/test.html: -------------------------------------------------------------------------------- 1 | vsinder://tokens/a/b 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@tsconfig/svelte/tsconfig.json", 3 | 4 | "include": ["src/**/*"], 5 | "exclude": ["node_modules/*", "__sapper__/*", "public/*"] 6 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.10.4": 6 | version "7.10.4" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 8 | integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.10.4": 13 | version "7.10.4" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" 15 | integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.10.4" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" 20 | integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.10.4" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@polka/url@^1.0.0-next.9": 27 | version "1.0.0-next.11" 28 | resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.11.tgz#aeb16f50649a91af79dbe36574b66d0f9e4d9f71" 29 | integrity sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA== 30 | 31 | "@rollup/plugin-commonjs@^16.0.0": 32 | version "16.0.0" 33 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f" 34 | integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw== 35 | dependencies: 36 | "@rollup/pluginutils" "^3.1.0" 37 | commondir "^1.0.1" 38 | estree-walker "^2.0.1" 39 | glob "^7.1.6" 40 | is-reference "^1.2.1" 41 | magic-string "^0.25.7" 42 | resolve "^1.17.0" 43 | 44 | "@rollup/plugin-node-resolve@^10.0.0": 45 | version "10.0.0" 46 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8" 47 | integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A== 48 | dependencies: 49 | "@rollup/pluginutils" "^3.1.0" 50 | "@types/resolve" "1.17.1" 51 | builtin-modules "^3.1.0" 52 | deepmerge "^4.2.2" 53 | is-module "^1.0.0" 54 | resolve "^1.17.0" 55 | 56 | "@rollup/plugin-typescript@^6.0.0": 57 | version "6.1.0" 58 | resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz#289e7f0ea12fd659bd13ad59dda73b9055538b83" 59 | integrity sha512-hJxaiE6WyNOsK+fZpbFh9CUijZYqPQuAOWO5khaGTUkM8DYNNyA2TDlgamecE+qLOG1G1+CwbWMAx3rbqpp6xQ== 60 | dependencies: 61 | "@rollup/pluginutils" "^3.1.0" 62 | resolve "^1.17.0" 63 | 64 | "@rollup/pluginutils@3 || 4": 65 | version "4.1.0" 66 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" 67 | integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== 68 | dependencies: 69 | estree-walker "^2.0.1" 70 | picomatch "^2.2.2" 71 | 72 | "@rollup/pluginutils@^3.1.0": 73 | version "3.1.0" 74 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 75 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 76 | dependencies: 77 | "@types/estree" "0.0.39" 78 | estree-walker "^1.0.1" 79 | picomatch "^2.2.2" 80 | 81 | "@tsconfig/svelte@^1.0.0": 82 | version "1.0.10" 83 | resolved "https://registry.yarnpkg.com/@tsconfig/svelte/-/svelte-1.0.10.tgz#30ec7feeee0bdf38b12a50f0686f8a2e7b6b9dc0" 84 | integrity sha512-EBrpH2iXXfaf/9z81koiDYkp2mlwW2XzFcAqn6qh7VKyP8zBvHHAQzNhY+W9vH5arAjmGAm5g8ElWq6YmXm3ig== 85 | 86 | "@types/estree@*": 87 | version "0.0.45" 88 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" 89 | integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== 90 | 91 | "@types/estree@0.0.39": 92 | version "0.0.39" 93 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 94 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 95 | 96 | "@types/node@*": 97 | version "14.14.12" 98 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.12.tgz#0b1d86f8c40141091285dea02e4940df73bba43f" 99 | integrity sha512-ASH8OPHMNlkdjrEdmoILmzFfsJICvhBsFfAum4aKZ/9U4B6M6tTmTPh+f3ttWdD74CEGV5XvXWkbyfSdXaTd7g== 100 | 101 | "@types/pug@^2.0.4": 102 | version "2.0.4" 103 | resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.4.tgz#8772fcd0418e3cd2cc171555d73007415051f4b2" 104 | integrity sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= 105 | 106 | "@types/resolve@1.17.1": 107 | version "1.17.1" 108 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 109 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 110 | dependencies: 111 | "@types/node" "*" 112 | 113 | "@types/sass@^1.16.0": 114 | version "1.16.0" 115 | resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.0.tgz#b41ac1c17fa68ffb57d43e2360486ef526b3d57d" 116 | integrity sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA== 117 | dependencies: 118 | "@types/node" "*" 119 | 120 | ansi-styles@^3.2.1: 121 | version "3.2.1" 122 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 123 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 124 | dependencies: 125 | color-convert "^1.9.0" 126 | 127 | ansi-styles@^4.1.0: 128 | version "4.3.0" 129 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 130 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 131 | dependencies: 132 | color-convert "^2.0.1" 133 | 134 | anymatch@~3.1.1: 135 | version "3.1.1" 136 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 137 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 138 | dependencies: 139 | normalize-path "^3.0.0" 140 | picomatch "^2.0.4" 141 | 142 | async-limiter@~1.0.0: 143 | version "1.0.1" 144 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" 145 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== 146 | 147 | balanced-match@^1.0.0: 148 | version "1.0.0" 149 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 150 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 151 | 152 | binary-extensions@^2.0.0: 153 | version "2.1.0" 154 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" 155 | integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== 156 | 157 | brace-expansion@^1.1.7: 158 | version "1.1.11" 159 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 160 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 161 | dependencies: 162 | balanced-match "^1.0.0" 163 | concat-map "0.0.1" 164 | 165 | braces@~3.0.2: 166 | version "3.0.2" 167 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 168 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 169 | dependencies: 170 | fill-range "^7.0.1" 171 | 172 | buffer-from@^1.0.0: 173 | version "1.1.1" 174 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 175 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 176 | 177 | builtin-modules@^3.1.0: 178 | version "3.1.0" 179 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 180 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 181 | 182 | callsites@^3.0.0: 183 | version "3.1.0" 184 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 185 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 186 | 187 | chalk@^2.0.0: 188 | version "2.4.2" 189 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 190 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 191 | dependencies: 192 | ansi-styles "^3.2.1" 193 | escape-string-regexp "^1.0.5" 194 | supports-color "^5.3.0" 195 | 196 | chalk@^4.0.0: 197 | version "4.1.0" 198 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 199 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 200 | dependencies: 201 | ansi-styles "^4.1.0" 202 | supports-color "^7.1.0" 203 | 204 | chokidar@^3.3.0, chokidar@^3.4.1: 205 | version "3.4.3" 206 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" 207 | integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== 208 | dependencies: 209 | anymatch "~3.1.1" 210 | braces "~3.0.2" 211 | glob-parent "~5.1.0" 212 | is-binary-path "~2.1.0" 213 | is-glob "~4.0.1" 214 | normalize-path "~3.0.0" 215 | readdirp "~3.5.0" 216 | optionalDependencies: 217 | fsevents "~2.1.2" 218 | 219 | color-convert@^1.9.0: 220 | version "1.9.3" 221 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 222 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 223 | dependencies: 224 | color-name "1.1.3" 225 | 226 | color-convert@^2.0.1: 227 | version "2.0.1" 228 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 229 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 230 | dependencies: 231 | color-name "~1.1.4" 232 | 233 | color-name@1.1.3: 234 | version "1.1.3" 235 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 236 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 237 | 238 | color-name@~1.1.4: 239 | version "1.1.4" 240 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 241 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 242 | 243 | commander@^2.20.0: 244 | version "2.20.3" 245 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 246 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 247 | 248 | commondir@^1.0.1: 249 | version "1.0.1" 250 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 251 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 252 | 253 | concat-map@0.0.1: 254 | version "0.0.1" 255 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 256 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 257 | 258 | console-clear@^1.1.0: 259 | version "1.1.1" 260 | resolved "https://registry.yarnpkg.com/console-clear/-/console-clear-1.1.1.tgz#995e20cbfbf14dd792b672cde387bd128d674bf7" 261 | integrity sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ== 262 | 263 | deepmerge@^4.2.2: 264 | version "4.2.2" 265 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 266 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 267 | 268 | detect-indent@^6.0.0: 269 | version "6.0.0" 270 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" 271 | integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== 272 | 273 | escape-string-regexp@^1.0.5: 274 | version "1.0.5" 275 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 276 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 277 | 278 | estree-walker@^0.6.1: 279 | version "0.6.1" 280 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 281 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 282 | 283 | estree-walker@^1.0.1: 284 | version "1.0.1" 285 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 286 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 287 | 288 | estree-walker@^2.0.1: 289 | version "2.0.2" 290 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 291 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 292 | 293 | fill-range@^7.0.1: 294 | version "7.0.1" 295 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 296 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 297 | dependencies: 298 | to-regex-range "^5.0.1" 299 | 300 | fs.realpath@^1.0.0: 301 | version "1.0.0" 302 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 303 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 304 | 305 | fsevents@~2.1.2: 306 | version "2.1.3" 307 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 308 | integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== 309 | 310 | function-bind@^1.1.1: 311 | version "1.1.1" 312 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 313 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 314 | 315 | get-port@^3.2.0: 316 | version "3.2.0" 317 | resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" 318 | integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= 319 | 320 | glob-parent@~5.1.0: 321 | version "5.1.1" 322 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 323 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 324 | dependencies: 325 | is-glob "^4.0.1" 326 | 327 | glob@^7.1.6: 328 | version "7.1.6" 329 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 330 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 331 | dependencies: 332 | fs.realpath "^1.0.0" 333 | inflight "^1.0.4" 334 | inherits "2" 335 | minimatch "^3.0.4" 336 | once "^1.3.0" 337 | path-is-absolute "^1.0.0" 338 | 339 | has-flag@^3.0.0: 340 | version "3.0.0" 341 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 342 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 343 | 344 | has-flag@^4.0.0: 345 | version "4.0.0" 346 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 347 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 348 | 349 | has@^1.0.3: 350 | version "1.0.3" 351 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 352 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 353 | dependencies: 354 | function-bind "^1.1.1" 355 | 356 | import-fresh@^3.2.1: 357 | version "3.2.2" 358 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" 359 | integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== 360 | dependencies: 361 | parent-module "^1.0.0" 362 | resolve-from "^4.0.0" 363 | 364 | inflight@^1.0.4: 365 | version "1.0.6" 366 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 367 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 368 | dependencies: 369 | once "^1.3.0" 370 | wrappy "1" 371 | 372 | inherits@2: 373 | version "2.0.4" 374 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 375 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 376 | 377 | is-binary-path@~2.1.0: 378 | version "2.1.0" 379 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 380 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 381 | dependencies: 382 | binary-extensions "^2.0.0" 383 | 384 | is-core-module@^2.1.0: 385 | version "2.2.0" 386 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" 387 | integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== 388 | dependencies: 389 | has "^1.0.3" 390 | 391 | is-extglob@^2.1.1: 392 | version "2.1.1" 393 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 394 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 395 | 396 | is-glob@^4.0.1, is-glob@~4.0.1: 397 | version "4.0.1" 398 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 399 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 400 | dependencies: 401 | is-extglob "^2.1.1" 402 | 403 | is-module@^1.0.0: 404 | version "1.0.0" 405 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 406 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 407 | 408 | is-number@^7.0.0: 409 | version "7.0.0" 410 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 411 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 412 | 413 | is-reference@^1.2.1: 414 | version "1.2.1" 415 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 416 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 417 | dependencies: 418 | "@types/estree" "*" 419 | 420 | jest-worker@^26.2.1: 421 | version "26.6.2" 422 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" 423 | integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== 424 | dependencies: 425 | "@types/node" "*" 426 | merge-stream "^2.0.0" 427 | supports-color "^7.0.0" 428 | 429 | js-tokens@^4.0.0: 430 | version "4.0.0" 431 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 432 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 433 | 434 | kleur@^3.0.0: 435 | version "3.0.3" 436 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 437 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 438 | 439 | livereload-js@^3.1.0: 440 | version "3.3.1" 441 | resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-3.3.1.tgz#61f887468086762e61fb2987412cf9d1dda99202" 442 | integrity sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ== 443 | 444 | livereload@^0.9.1: 445 | version "0.9.1" 446 | resolved "https://registry.yarnpkg.com/livereload/-/livereload-0.9.1.tgz#65125dabdf2db4fd3f1169e953fe56e3bcc6f477" 447 | integrity sha512-9g7sua11kkyZNo2hLRCG3LuZZwqexoyEyecSlV8cAsfAVVCZqLzVir6XDqmH0r+Vzgnd5LrdHDMyjtFnJQLAYw== 448 | dependencies: 449 | chokidar "^3.3.0" 450 | livereload-js "^3.1.0" 451 | opts ">= 1.2.0" 452 | ws "^6.2.1" 453 | 454 | local-access@^1.0.1: 455 | version "1.1.0" 456 | resolved "https://registry.yarnpkg.com/local-access/-/local-access-1.1.0.tgz#e007c76ba2ca83d5877ba1a125fc8dfe23ba4798" 457 | integrity sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw== 458 | 459 | magic-string@^0.25.7: 460 | version "0.25.7" 461 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 462 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 463 | dependencies: 464 | sourcemap-codec "^1.4.4" 465 | 466 | merge-stream@^2.0.0: 467 | version "2.0.0" 468 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 469 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 470 | 471 | mime@^2.3.1: 472 | version "2.4.6" 473 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" 474 | integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== 475 | 476 | min-indent@^1.0.0: 477 | version "1.0.1" 478 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 479 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 480 | 481 | minimatch@^3.0.4: 482 | version "3.0.4" 483 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 484 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 485 | dependencies: 486 | brace-expansion "^1.1.7" 487 | 488 | minimist@^1.2.5: 489 | version "1.2.5" 490 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 491 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 492 | 493 | mri@^1.1.0: 494 | version "1.1.6" 495 | resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" 496 | integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== 497 | 498 | normalize-path@^3.0.0, normalize-path@~3.0.0: 499 | version "3.0.0" 500 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 501 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 502 | 503 | once@^1.3.0: 504 | version "1.4.0" 505 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 506 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 507 | dependencies: 508 | wrappy "1" 509 | 510 | "opts@>= 1.2.0": 511 | version "2.0.2" 512 | resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1" 513 | integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== 514 | 515 | parent-module@^1.0.0: 516 | version "1.0.1" 517 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 518 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 519 | dependencies: 520 | callsites "^3.0.0" 521 | 522 | path-is-absolute@^1.0.0: 523 | version "1.0.1" 524 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 525 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 526 | 527 | path-parse@^1.0.6: 528 | version "1.0.6" 529 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 530 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 531 | 532 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2: 533 | version "2.2.2" 534 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 535 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 536 | 537 | randombytes@^2.1.0: 538 | version "2.1.0" 539 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 540 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 541 | dependencies: 542 | safe-buffer "^5.1.0" 543 | 544 | readdirp@~3.5.0: 545 | version "3.5.0" 546 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 547 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 548 | dependencies: 549 | picomatch "^2.2.1" 550 | 551 | require-relative@^0.8.7: 552 | version "0.8.7" 553 | resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" 554 | integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= 555 | 556 | resolve-from@^4.0.0: 557 | version "4.0.0" 558 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 559 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 560 | 561 | resolve@^1.17.0: 562 | version "1.19.0" 563 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" 564 | integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== 565 | dependencies: 566 | is-core-module "^2.1.0" 567 | path-parse "^1.0.6" 568 | 569 | rollup-plugin-css-only@^3.0.0: 570 | version "3.0.0" 571 | resolved "https://registry.yarnpkg.com/rollup-plugin-css-only/-/rollup-plugin-css-only-3.0.0.tgz#16b78a569aed50637a0e15ddc6ea3581c3810db9" 572 | integrity sha512-v6ZZuApxXl/Z07jAmH+p5HsLPMW2BHIRJ4Tpxv22S+jpINZ1QFxWoeMDMyFDd+XM1jFcQeshkjuD8xUVOJJG7Q== 573 | dependencies: 574 | "@rollup/pluginutils" "3 || 4" 575 | 576 | rollup-plugin-livereload@^2.0.0: 577 | version "2.0.0" 578 | resolved "https://registry.yarnpkg.com/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.0.tgz#d3928d74e8cf2ae4286c5dd46b770fd3f3b82313" 579 | integrity sha512-oC/8NqumGYuphkqrfszOHUUIwzKsaHBICw6QRwT5uD07gvePTS+HW+GFwu6f9K8W02CUuTvtIM9AWJrbj4wE1A== 580 | dependencies: 581 | livereload "^0.9.1" 582 | 583 | rollup-plugin-svelte@^7.0.0: 584 | version "7.0.0" 585 | resolved "https://registry.yarnpkg.com/rollup-plugin-svelte/-/rollup-plugin-svelte-7.0.0.tgz#8ececb9d1583c24e0edfbc96f8208b70b27af7a1" 586 | integrity sha512-cw4yv/5v1NQV3nPbpOJtikgkB+9mfSJaqKUdq7x5fVQJnwLtcdc2JOszBs5pBY+SemTs5pmJbdEMseEavbUtjQ== 587 | dependencies: 588 | require-relative "^0.8.7" 589 | rollup-pluginutils "^2.8.2" 590 | 591 | rollup-plugin-terser@^7.0.0: 592 | version "7.0.2" 593 | resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" 594 | integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== 595 | dependencies: 596 | "@babel/code-frame" "^7.10.4" 597 | jest-worker "^26.2.1" 598 | serialize-javascript "^4.0.0" 599 | terser "^5.0.0" 600 | 601 | rollup-pluginutils@^2.8.2: 602 | version "2.8.2" 603 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 604 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 605 | dependencies: 606 | estree-walker "^0.6.1" 607 | 608 | rollup@^2.3.4: 609 | version "2.34.2" 610 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.34.2.tgz#fa73e05c64df587e9ed4dc80d7d4e7d4a43f8908" 611 | integrity sha512-mvtQLqu3cNeoctS+kZ09iOPxrc1P1/Bt1z15enuQ5feyKOdM3MJAVFjjsygurDpSWn530xB4AlA83TWIzRstXA== 612 | optionalDependencies: 613 | fsevents "~2.1.2" 614 | 615 | sade@^1.6.0: 616 | version "1.7.4" 617 | resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" 618 | integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== 619 | dependencies: 620 | mri "^1.1.0" 621 | 622 | safe-buffer@^5.1.0: 623 | version "5.2.1" 624 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 625 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 626 | 627 | semiver@^1.0.0: 628 | version "1.1.0" 629 | resolved "https://registry.yarnpkg.com/semiver/-/semiver-1.1.0.tgz#9c97fb02c21c7ce4fcf1b73e2c7a24324bdddd5f" 630 | integrity sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg== 631 | 632 | serialize-javascript@^4.0.0: 633 | version "4.0.0" 634 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 635 | integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 636 | dependencies: 637 | randombytes "^2.1.0" 638 | 639 | sirv-cli@^1.0.0: 640 | version "1.0.10" 641 | resolved "https://registry.yarnpkg.com/sirv-cli/-/sirv-cli-1.0.10.tgz#9180272ab1710ecb7ad700ecd2d7391016e7c40e" 642 | integrity sha512-8mLTRkvzpZXMyUZJ1whf84YHN/mm2r2+j5sU1ZYr5n2jA8VkFItNPk53oysOo+0QxBVp9aUjggkAsQp1d7L3OQ== 643 | dependencies: 644 | console-clear "^1.1.0" 645 | get-port "^3.2.0" 646 | kleur "^3.0.0" 647 | local-access "^1.0.1" 648 | sade "^1.6.0" 649 | semiver "^1.0.0" 650 | sirv "^1.0.10" 651 | tinydate "^1.0.0" 652 | 653 | sirv@^1.0.10: 654 | version "1.0.10" 655 | resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.10.tgz#3e591f5a9ae2520f50d5830f5fae38d97e7be194" 656 | integrity sha512-H5EZCoZaggEUQy8ocKsF7WAToGuZhjJlLvM3XOef46CbdIgbNeQ1p32N1PCuCjkVYwrAVOSMacN6CXXgIzuspg== 657 | dependencies: 658 | "@polka/url" "^1.0.0-next.9" 659 | mime "^2.3.1" 660 | totalist "^1.0.0" 661 | 662 | source-map-support@~0.5.19: 663 | version "0.5.19" 664 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 665 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 666 | dependencies: 667 | buffer-from "^1.0.0" 668 | source-map "^0.6.0" 669 | 670 | source-map@^0.6.0: 671 | version "0.6.1" 672 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 673 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 674 | 675 | source-map@^0.7.3, source-map@~0.7.2: 676 | version "0.7.3" 677 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 678 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 679 | 680 | sourcemap-codec@^1.4.4: 681 | version "1.4.8" 682 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 683 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 684 | 685 | strip-indent@^3.0.0: 686 | version "3.0.0" 687 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 688 | integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 689 | dependencies: 690 | min-indent "^1.0.0" 691 | 692 | supports-color@^5.3.0: 693 | version "5.5.0" 694 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 695 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 696 | dependencies: 697 | has-flag "^3.0.0" 698 | 699 | supports-color@^7.0.0, supports-color@^7.1.0: 700 | version "7.2.0" 701 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 702 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 703 | dependencies: 704 | has-flag "^4.0.0" 705 | 706 | svelte-check@^1.0.0: 707 | version "1.1.20" 708 | resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-1.1.20.tgz#a7faae78c6af490e2b88d7da2706c132cfa82c0f" 709 | integrity sha512-+fNEROQTlfRxMZTpOZjuaal1Ola1T0b7ji+8pOoLmdeUe32maX8zCPnOnM9vuT1xee9kzhQCbOUKvXBCPB/eCw== 710 | dependencies: 711 | chalk "^4.0.0" 712 | chokidar "^3.4.1" 713 | glob "^7.1.6" 714 | import-fresh "^3.2.1" 715 | minimist "^1.2.5" 716 | source-map "^0.7.3" 717 | svelte-preprocess "^4.0.0" 718 | typescript "*" 719 | 720 | svelte-preprocess@^4.0.0: 721 | version "4.6.1" 722 | resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.6.1.tgz#a7de4d91b32d5608b6637da960ee81e6089ae276" 723 | integrity sha512-s7KdhR2pOsffyOzZIMEb315f6pfgeDnOWN47m6YKFeSEx3NMf/79Znc3vuG/Ai79SL/vsi86WDrjFPLGRfDesg== 724 | dependencies: 725 | "@types/pug" "^2.0.4" 726 | "@types/sass" "^1.16.0" 727 | detect-indent "^6.0.0" 728 | strip-indent "^3.0.0" 729 | 730 | svelte@^3.0.0: 731 | version "3.31.0" 732 | resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.31.0.tgz#13966e5f55b975bc86675469bb2c58dd0e558d97" 733 | integrity sha512-r+n8UJkDqoQm1b+3tA3Lh6mHXKpcfOSOuEuIo5gE2W9wQYi64RYX/qE6CZBDDsP/H4M+N426JwY7XGH4xASvGQ== 734 | 735 | terser@^5.0.0: 736 | version "5.5.1" 737 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" 738 | integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== 739 | dependencies: 740 | commander "^2.20.0" 741 | source-map "~0.7.2" 742 | source-map-support "~0.5.19" 743 | 744 | tinydate@^1.0.0: 745 | version "1.3.0" 746 | resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.3.0.tgz#e6ca8e5a22b51bb4ea1c3a2a4fd1352dbd4c57fb" 747 | integrity sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w== 748 | 749 | to-regex-range@^5.0.1: 750 | version "5.0.1" 751 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 752 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 753 | dependencies: 754 | is-number "^7.0.0" 755 | 756 | totalist@^1.0.0: 757 | version "1.1.0" 758 | resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" 759 | integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== 760 | 761 | tslib@^2.0.0: 762 | version "2.0.3" 763 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" 764 | integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== 765 | 766 | typescript@*: 767 | version "4.1.2" 768 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.2.tgz#6369ef22516fe5e10304aae5a5c4862db55380e9" 769 | integrity sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ== 770 | 771 | typescript@^3.9.3: 772 | version "3.9.7" 773 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" 774 | integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== 775 | 776 | wrappy@1: 777 | version "1.0.2" 778 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 779 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 780 | 781 | ws@^6.2.1: 782 | version "6.2.1" 783 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" 784 | integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== 785 | dependencies: 786 | async-limiter "~1.0.0" 787 | --------------------------------------------------------------------------------