moving out mobile, random hue, ambience & blackout modes
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"directory": "bower_components",
|
||||
"analytics": false
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.hbs]
|
||||
insert_final_newline = false
|
||||
|
||||
[*.{diff,md}]
|
||||
trim_trailing_whitespace = false
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
/**
|
||||
Ember CLI sends analytics information by default. The data is completely
|
||||
anonymous, but there are times when you might want to disable this behavior.
|
||||
|
||||
Setting `disableAnalytics` to true will prevent any data from being sent.
|
||||
*/
|
||||
"disableAnalytics": true,
|
||||
"usePods": true
|
||||
}
|
||||
26
mobile/.gitignore
vendored
|
|
@ -1,26 +0,0 @@
|
|||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# compiled output
|
||||
/dist
|
||||
/tmp
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/bower_components
|
||||
|
||||
# misc
|
||||
/.sass-cache
|
||||
/connect.lock
|
||||
/coverage/*
|
||||
/libpeerconnection.log
|
||||
npm-debug.log
|
||||
testem.log
|
||||
/.idea/
|
||||
|
||||
ember-cordova/tmp-livereload
|
||||
ember-cordova/cordova/www/*
|
||||
!ember-cordova/cordova/www/.gitkeep
|
||||
ember-cordova/cordova/plugins/*
|
||||
!ember-cordova/cordova/plugins/.gitkeep
|
||||
ember-cordova/cordova/platforms/*
|
||||
!ember-cordova/cordova/platforms/.gitkeep
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"predef": [
|
||||
"document",
|
||||
"window",
|
||||
"-Promise",
|
||||
"Dancer",
|
||||
"ID3",
|
||||
"FileAPIReader",
|
||||
"SC",
|
||||
"introJs",
|
||||
"Ps"
|
||||
],
|
||||
"browser": true,
|
||||
"boss": true,
|
||||
"curly": true,
|
||||
"debug": false,
|
||||
"devel": true,
|
||||
"eqeqeq": true,
|
||||
"evil": true,
|
||||
"forin": false,
|
||||
"immed": false,
|
||||
"laxbreak": false,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"noempty": false,
|
||||
"nonew": false,
|
||||
"nomen": false,
|
||||
"onevar": false,
|
||||
"plusplus": false,
|
||||
"regexp": false,
|
||||
"undef": true,
|
||||
"sub": true,
|
||||
"strict": false,
|
||||
"white": false,
|
||||
"eqnull": true,
|
||||
"esversion": 6,
|
||||
"unused": true
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
---
|
||||
language: node_js
|
||||
node_js:
|
||||
- "4"
|
||||
|
||||
sudo: false
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.npm
|
||||
- $HOME/.cache # includes bowers cache
|
||||
|
||||
before_install:
|
||||
- npm config set spin false
|
||||
- npm install -g bower phantomjs-prebuilt
|
||||
- bower --version
|
||||
- phantomjs --version
|
||||
|
||||
install:
|
||||
- npm install
|
||||
- bower install
|
||||
|
||||
script:
|
||||
- npm test
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"ignore_dirs":["tmp","dist","ember-cordova"]}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
# Huegasm
|
||||
|
||||
This README outlines the details of collaborating on this Ember application.
|
||||
Music awesomeness for hue lights.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need the following things properly installed on your computer.
|
||||
|
||||
* [Git](http://git-scm.com/)
|
||||
* [Node.js](http://nodejs.org/) (with NPM)
|
||||
* [Bower](http://bower.io/)
|
||||
* [Ember CLI](http://ember-cli.com/)
|
||||
* [PhantomJS](http://phantomjs.org/)
|
||||
|
||||
## Installation
|
||||
|
||||
* `git clone <repository-url>` this repository
|
||||
* `cd huegasm`
|
||||
* `npm install`
|
||||
* `bower install`
|
||||
|
||||
## Running / Development
|
||||
|
||||
* `ember serve`
|
||||
* Visit your app at [http://localhost:4200](http://localhost:4200).
|
||||
|
||||
### Code Generators
|
||||
|
||||
Make use of the many generators for code, try `ember help generate` for more details
|
||||
|
||||
### Building
|
||||
|
||||
* `ember build` (development)
|
||||
* `ember build --environment production` (production)
|
||||
|
||||
## Further Reading / Useful Links
|
||||
|
||||
* [ember.js](http://emberjs.com/)
|
||||
* [ember-cli](http://ember-cli.com/)
|
||||
* Development Browser Extensions
|
||||
* [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)
|
||||
* [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/)
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
import Resolver from './resolver';
|
||||
import loadInitializers from 'ember-load-initializers';
|
||||
import config from './config/environment';
|
||||
|
||||
let App;
|
||||
|
||||
Ember.MODEL_FACTORY_INJECTIONS = true;
|
||||
|
||||
App = Ember.Application.extend({
|
||||
modulePrefix: config.modulePrefix,
|
||||
podModulePrefix: config.podModulePrefix,
|
||||
Resolver
|
||||
});
|
||||
|
||||
loadInitializers(App, config.modulePrefix);
|
||||
|
||||
export default App;
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>Huegasm</title>
|
||||
<meta name="description" content="Huegasm is a free web application for managing and synchronizing your Philips Hue lights with the beat of your music.">
|
||||
<meta name="keywords" content="huegasm,hue,philips hue,music player">
|
||||
<meta name="author" content="Egor Philippov">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> {{content-for 'head'}}
|
||||
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans|Raleway' rel='stylesheet' type='text/css'>
|
||||
|
||||
<link rel="stylesheet" integrity="" href="assets/vendor.css">
|
||||
<link rel="stylesheet" integrity="" href="assets/huegasm_mobile.css"> {{content-for 'head-footer'}}
|
||||
|
||||
<script src="https://connect.soundcloud.com/sdk/sdk-3.1.2.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{{content-for 'body'}}
|
||||
|
||||
<script src="assets/vendor.js"></script>
|
||||
<script src="assets/huegasm_mobile.js"></script>
|
||||
|
||||
{{content-for 'body-footer'}}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -1 +0,0 @@
|
|||
{{huegasm-app}}
|
||||
|
|
@ -1,167 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Component,
|
||||
observer,
|
||||
computed,
|
||||
on,
|
||||
isNone,
|
||||
run: { later },
|
||||
$,
|
||||
String: { htmlSafe }
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
elementId: 'bridge-finder',
|
||||
classNames: ['container'],
|
||||
bridgeIp: null,
|
||||
trial: false,
|
||||
bridgeUsername: null,
|
||||
bridgeFindStatus: null,
|
||||
bridgeFindSuccess: computed.equal('bridgeFindStatus', 'success'),
|
||||
bridgeFindMultiple: computed.equal('bridgeFindStatus', 'multiple'),
|
||||
bridgeFindFail: computed.equal('bridgeFindStatus', 'fail'),
|
||||
bridgeUsernamePingMaxTime: 30000, // 30 seconds
|
||||
bridgeUsernamePingIntervalTime: 1500,
|
||||
bridgeUserNamePingIntervalProgress: 0,
|
||||
bridgePingIntervalHandle: null,
|
||||
manualBridgeIp: null,
|
||||
manualBridgeIpNotFound: false,
|
||||
multipleBridgeIps: [],
|
||||
isAuthenticating: computed.notEmpty('bridgePingIntervalHandle'),
|
||||
|
||||
// try to authenticate against the bridge here
|
||||
onBridgeIpChange: on('init', observer('bridgeIp', function () {
|
||||
if (!this.get('trial') && !this.get('isAuthenticating')) {
|
||||
this.setProperties({
|
||||
bridgePingIntervalHandle: setInterval(this.pingBridgeUser.bind(this), this.get('bridgeUsernamePingIntervalTime')),
|
||||
bridgeUserNamePingIntervalProgress: 0
|
||||
});
|
||||
}
|
||||
})),
|
||||
|
||||
didInsertElement() {
|
||||
$(document).keypress((event) => {
|
||||
if (!isNone(this.get('manualBridgeIp')) && event.which === 13) {
|
||||
this.send('findBridgeByIp');
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('resume', () => {
|
||||
if (this.get('trial') || this.get('bridgeFindFail')) {
|
||||
this.send('tryAgain');
|
||||
}
|
||||
}, false);
|
||||
},
|
||||
|
||||
// find the bridge ip here
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
||||
if (this.get('bridgeIp') === null) {
|
||||
$.ajax('https://www.meethue.com/api/nupnp', {
|
||||
timeout: 30000
|
||||
})
|
||||
.done((result, status) => {
|
||||
let bridgeFindStatus = 'fail';
|
||||
|
||||
if (status === 'success' && result.length === 1) {
|
||||
this.set('bridgeIp', result[0].internalipaddress);
|
||||
this.get('storage').set('huegasm.bridgeIp', result[0].internalipaddress);
|
||||
bridgeFindStatus = 'success';
|
||||
} else if (result.length > 1) {
|
||||
let multipleBridgeIps = this.get('multipleBridgeIps');
|
||||
|
||||
result.forEach(function (item) {
|
||||
multipleBridgeIps.pushObject(item.internalipaddress);
|
||||
});
|
||||
|
||||
bridgeFindStatus = 'multiple';
|
||||
} else {
|
||||
bridgeFindStatus = 'fail';
|
||||
}
|
||||
|
||||
this.set('bridgeFindStatus', bridgeFindStatus);
|
||||
})
|
||||
.fail(() => {
|
||||
this.set('bridgeFindStatus', 'fail');
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
pingBridgeUser() {
|
||||
let bridgeIp = this.get('bridgeIp'),
|
||||
bridgeUserNamePingIntervalProgress = this.get('bridgeUserNamePingIntervalProgress'),
|
||||
bridgeUsernamePingMaxTime = this.get('bridgeUsernamePingMaxTime');
|
||||
|
||||
if (bridgeIp !== null && bridgeUserNamePingIntervalProgress < 100) {
|
||||
$.ajax('http://' + bridgeIp + '/api', {
|
||||
data: JSON.stringify({ "devicetype": "huegasm" }),
|
||||
contentType: 'application/json',
|
||||
type: 'POST'
|
||||
}).done((result, status) => {
|
||||
if (!this.isDestroyed) {
|
||||
if (status === 'success' && !result[0].error) {
|
||||
this.clearBridgePingIntervalHandle();
|
||||
this.get('storage').set('huegasm.bridgeUsername', result[0].success.username);
|
||||
this.set('bridgeUsername', result[0].success.username);
|
||||
}
|
||||
}
|
||||
}).fail(() => {
|
||||
this.clearBridgePingIntervalHandle();
|
||||
this.setProperties({
|
||||
bridgeConnectError: true,
|
||||
bridgeConnectMessage: htmlSafe('Your network and/or system security settings are preventing Huegasm from connecting to your Hue bridge.' +
|
||||
'<br><span>Feel free to contact us at <a href="mailto:huegasm.app@gmail.com">huegasm.app@gmail.com</a> if this is unexpected and you need help debugging the problem.</span>')
|
||||
})
|
||||
});
|
||||
|
||||
this.incrementProperty('bridgeUserNamePingIntervalProgress', this.get('bridgeUsernamePingIntervalTime') / bridgeUsernamePingMaxTime * 100);
|
||||
} else {
|
||||
this.clearBridgePingIntervalHandle();
|
||||
}
|
||||
},
|
||||
|
||||
clearBridgePingIntervalHandle() {
|
||||
clearInterval(this.get('bridgePingIntervalHandle'));
|
||||
this.set('bridgePingIntervalHandle', null);
|
||||
},
|
||||
|
||||
actions: {
|
||||
tryAgain() {
|
||||
this.get('storage').clear();
|
||||
location.reload();
|
||||
},
|
||||
retry() {
|
||||
this.onBridgeIpChange();
|
||||
},
|
||||
chooseBridge(bridge) {
|
||||
this.set('bridgeIp', bridge);
|
||||
this.get('storage').set('huegasm.bridgeIp', bridge);
|
||||
},
|
||||
findBridgeByIp() {
|
||||
let manualBridgeIp = this.get('manualBridgeIp');
|
||||
|
||||
if (manualBridgeIp.toLowerCase() === 'trial' || manualBridgeIp.toLowerCase() === 'offline') {
|
||||
this.setProperties({
|
||||
trial: true,
|
||||
bridgeIp: 'trial',
|
||||
bridgeUsername: 'trial'
|
||||
});
|
||||
} else {
|
||||
$.ajax('http://' + manualBridgeIp + '/api', {
|
||||
data: JSON.stringify({ "devicetype": "huegasm" }),
|
||||
contentType: 'application/json',
|
||||
type: 'POST'
|
||||
}).fail(() => {
|
||||
this.set('manualBridgeIpNotFound', true);
|
||||
later(this, function () {
|
||||
this.set('manualBridgeIpNotFound', false);
|
||||
}, 5000);
|
||||
}).then(() => {
|
||||
this.send('chooseBridge', manualBridgeIp);
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
{{#unless bridgeUsername}}
|
||||
{{#if bridgeIp}}
|
||||
{{#unless bridgeConnectError}}
|
||||
<svg version="1.2" baseProfile="tiny" id="press-bridge-button-img" x="0px" y="0px" viewBox="0 0 345.5 335.5" xml:space="preserve">
|
||||
<path style=" fill: white; stroke: black;" d="M164.7,288.7c8.3-21.9,40.4-18.1,40.4-18.1l-56.2-88.5c-16.7-0.6-30-14.3-30-31.1c0-17.2,13.9-31.2,31.2-31.2
|
||||
c17.2,0,31.2,13.9,31.2,31.2c0,5.2-1.3,10.1-3.5,14.4c3.6,5.8,10.6,17.1,18.1,29.3l6,9.8c-7.2-11.8-0.9-20.7,5.3-23.3
|
||||
c14-9.1,21.4,5.1,21.4,5.1l5.3,8.7c-5.3-8.7-4.8-16.3,2.8-20.7c0,0,4.8-3.4,9.4-2.7c5.1,0.8,11.8,6.2,19.6,19.7
|
||||
c0.3,0.6,0.6,1.1,0.9,1.6c-2.4-5.9-6-19.8,6.4-25.9c12.2-5.2,18.8,3.1,18.8,3.1s2.2,3.2,5.6,8.4c1.8-9.3,2.7-18.8,2.7-28.6
|
||||
C300,67.1,232.8,0,150,0C67.1,0,0,67.1,0,150s67.1,150,150,150c4.6,0,9.1-0.2,13.6-0.6C162.2,295.5,163.5,290.9,164.7,288.7z
|
||||
M150,66.6c6.5,0,11.8,5.3,11.8,11.8c0,6.5-5.3,11.8-11.8,11.8c-6.5,0-11.8-5.3-11.8-11.8C138.2,71.9,143.5,66.6,150,66.6z
|
||||
M79.7,161.8c-6.5,0-11.8-5.3-11.8-11.8c0-6.5,5.3-11.8,11.8-11.8c6.5,0,11.8,5.3,11.8,11.8C91.5,156.5,86.2,161.8,79.7,161.8z
|
||||
M98.3,110c-6.5,0-11.8-5.3-11.8-11.8c0-6.5,5.3-11.8,11.8-11.8c6.5,0,11.8,5.3,11.8,11.8C110.1,104.7,104.8,110,98.3,110z"
|
||||
/>
|
||||
<path style=" fill: white; stroke: #8089ff; stroke-width: 5px;" d="M150.8,154.6c10.6-6.4,16.8-2.8,20.4,1.2c0.3-1.5,0.5-3.1,0.5-4.7c0-12-9.7-21.8-21.8-21.8c-12,0-21.8,9.7-21.8,21.8
|
||||
c0,9.7,6.4,17.9,15.1,20.7C141.8,166.6,142.2,159.8,150.8,154.6z" />
|
||||
<path style=" fill: white; " stroke="#000000" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"
|
||||
d="
|
||||
M265.5,191.4c8.9,15.5-12.7-14.5,7.2-24.3c12.2-5.2,18.8,3.1,18.8,3.1s34.7,51.1,47.6,79.2c9.6,35.8-7,57.4-32.7,74
|
||||
c-25.7,16.6-46,6.2-65.4-4.8c-19.4-11-47-13.6-64.2-12.8c-17.2,0.8-14.5-12.8-12.2-17.1c8.3-21.9,40.4-18.1,40.4-18.1L147.6,180
|
||||
c0,0-12.9-15.6,3.2-25.4c16.1-9.7,22.2,3.7,24.3,6.6c0.9,1.3,10.2,16.4,20.6,33.3l6,9.8c-7.2-11.8-0.9-20.7,5.3-23.3
|
||||
c14-9.1,21.4,5.1,21.4,5.1l5.3,8.7c-5.3-8.7-4.8-16.3,2.8-20.7c0,0,4.8-3.4,9.4-2.7C251,172.4,257.8,177.8,265.5,191.4z"
|
||||
/>
|
||||
<line fill="none" stroke="#000000" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"
|
||||
x1="266.9" y1="194.1" x2="278.3" y2="213.9" />
|
||||
<line fill="none" stroke="#000000" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"
|
||||
x1="233.1" y1="194.1" x2="252.9" y2="227" />
|
||||
<line fill="none" stroke="#000000" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"
|
||||
x1="200.6" y1="203" x2="226" y2="241.6" />
|
||||
</svg>
|
||||
|
||||
{{paper-progress-linear warn=true value=bridgeUserNamePingIntervalProgress}}
|
||||
{{/unless}}
|
||||
|
||||
<p class="bridge-finder-bottom">
|
||||
{{#if isAuthenticating}}
|
||||
Your bridge IP is <b>{{bridgeIp}}</b>
|
||||
<br> Press the button on your bridge to authenticate Huegasm.
|
||||
{{else}}
|
||||
{{#if bridgeConnectError}}
|
||||
{{bridgeConnectMessage}}
|
||||
{{else}}
|
||||
<p>You failed to press the button in time. <a class="no-text-decoration" href="#" {{action 'retry'}}>RETRY</a></p>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</p>
|
||||
{{else}}
|
||||
{{#unless bridgeFindStatus}}
|
||||
{{paper-progress-circular diameter=100}}
|
||||
<p>Trying to find your bridge's IP.</p>
|
||||
{{/unless}}
|
||||
|
||||
{{#if bridgeFindMultiple}}
|
||||
<p>Huegasm found multiple hue bridges. <br> Please select the one you want to use for Huegasm.</p>
|
||||
|
||||
<div id="bridge-button-group">
|
||||
{{#each multipleBridgeIps as |bridge|}}
|
||||
{{paper-radio value=bridge label=bridge onChange=(action "chooseBridge")}}
|
||||
{{/each}}
|
||||
</div>
|
||||
{{else}}
|
||||
{{#if bridgeFindFail}}
|
||||
<p>A hue bridge could not be automatically found on your network. <br> Enter one manually? <br><br> (or type <b>offline</b> to look around)
|
||||
</p>
|
||||
|
||||
<span id="bridge-input">
|
||||
{{paper-input label="Hue bridge IP address" value=manualBridgeIp onChange=(action (mut manualBridgeIp))}}
|
||||
|
||||
<div>
|
||||
{{paper-button onClick=(action "findBridgeByIp") raised=true primary=true label="Find"}}
|
||||
</div>
|
||||
</span>
|
||||
|
||||
{{#if manualBridgeIpNotFound}}
|
||||
<p class="bg-danger">
|
||||
Could not find a bridge with that IP address.
|
||||
</p>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
A,
|
||||
Component,
|
||||
computed,
|
||||
isNone,
|
||||
inject,
|
||||
run: { later },
|
||||
$
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
classNames: ['container-fluid'],
|
||||
elementId: 'hue-controls',
|
||||
lightsData: null,
|
||||
|
||||
activeLights: A(),
|
||||
tabList: ["Lights", "Music"],
|
||||
selectedTab: 1,
|
||||
pauseLightUpdates: false,
|
||||
|
||||
dimmerOn: false,
|
||||
lightsIconsOn: true,
|
||||
playing: false,
|
||||
|
||||
displayFailure: true,
|
||||
|
||||
notify: inject.service(),
|
||||
|
||||
dimmerOnClass: computed('dimmerOn', function(){
|
||||
let dimmerOn = this.get('dimmerOn'),
|
||||
storage = this.get('storage'),
|
||||
dimmerOnClass = 'md-menu-origin';
|
||||
|
||||
if (dimmerOn) {
|
||||
$('body').addClass('dimmerOn');
|
||||
$('html').addClass('dimmerOn');
|
||||
dimmerOnClass += ' dimmerOn';
|
||||
} else {
|
||||
$('body').removeClass('dimmerOn');
|
||||
$('html').removeClass('dimmerOn');
|
||||
}
|
||||
|
||||
storage.set('huegasm.dimmerOn', dimmerOn);
|
||||
|
||||
return dimmerOnClass;
|
||||
}),
|
||||
|
||||
ready: computed('lightsData', 'trial', function() {
|
||||
return this.get('trial') || !isNone(this.get('lightsData'));
|
||||
}),
|
||||
|
||||
apiURL: computed('bridgeIp', 'bridgeUsername', function(){
|
||||
return 'http://' + this.get('bridgeIp') + '/api/' + this.get('bridgeUsername');
|
||||
}),
|
||||
|
||||
tabData: computed('tabList', 'selectedTab', function(){
|
||||
let tabData = [], selectedTab = this.get('selectedTab');
|
||||
|
||||
this.get('tabList').forEach(function(tab, i){
|
||||
let selected = false;
|
||||
|
||||
if(i === selectedTab){
|
||||
selected = true;
|
||||
}
|
||||
|
||||
tabData.push({"name": tab, "selected": selected });
|
||||
});
|
||||
|
||||
return tabData;
|
||||
}),
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
||||
let storage = this.get('storage');
|
||||
|
||||
if(!this.get('trial')) {
|
||||
this.updateLightData();
|
||||
setInterval(this.updateLightData.bind(this), 2000);
|
||||
}
|
||||
|
||||
if (!isNone(storage.get('huegasm.dimmerOn'))) {
|
||||
this.set('dimmerOn', storage.get('huegasm.dimmerOn'));
|
||||
this.get('dimmerOnClass');
|
||||
}
|
||||
|
||||
if (!isNone(storage.get('huegasm.lightsIconsOn'))) {
|
||||
this.set('lightsIconsOn', storage.get('huegasm.lightsIconsOn'));
|
||||
}
|
||||
|
||||
if (!isNone(this.get('storage').get('huegasm.selectedTab'))) {
|
||||
this.set('selectedTab', this.get('storage').get('huegasm.selectedTab'));
|
||||
}
|
||||
|
||||
document.addEventListener('backbutton', () => {
|
||||
if(this.get('isShowingAddSoundCloudModal')){
|
||||
this.set('isShowingAddSoundCloudModal', false);
|
||||
} else {
|
||||
let index = (this.get('selectedTab') + 1) % this.tabList.length;
|
||||
this.set('selectedTab', index);
|
||||
this.get('storage').set('huegasm.selectedTab', index);
|
||||
}
|
||||
}, false);
|
||||
|
||||
document.addEventListener('pause', () => {
|
||||
this.set('pauseLightUpdates', true);
|
||||
}, false);
|
||||
|
||||
document.addEventListener('resume', () => {
|
||||
this.set('pauseLightUpdates', false);
|
||||
}, false);
|
||||
},
|
||||
|
||||
updateLightData(){
|
||||
let fail = ()=>{
|
||||
if(isNone(this.get('lightsData'))) {
|
||||
this.send('clearBridge');
|
||||
} else if(this.get('displayFailure')) {
|
||||
this.get('notify').warning({html: '<div class="alert alert-warning" role="alert">Error retrieving data from your lights. Yikes.</div>'});
|
||||
this.set('displayFailure', false);
|
||||
|
||||
later(this, () => {
|
||||
this.set('displayFailure', true);
|
||||
}, 30000);
|
||||
}
|
||||
};
|
||||
|
||||
if(!this.get('pauseLightUpdates')){
|
||||
$.get(this.get('apiURL') + '/lights', (result, status)=>{
|
||||
if(!isNone(result[0]) && !isNone(result[0].error)){
|
||||
fail();
|
||||
} else if (status === 'success' && JSON.stringify(this.get('lightsData')) !== JSON.stringify(result)) {
|
||||
this.set('lightsData', result);
|
||||
}
|
||||
}).fail(fail);
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
changeTab(tabName){
|
||||
let index = this.get('tabList').indexOf(tabName);
|
||||
this.set('selectedTab', index);
|
||||
this.get('storage').set('huegasm.selectedTab', index);
|
||||
},
|
||||
clearBridge() {
|
||||
let storage = this.get('storage');
|
||||
storage.remove('huegasm.bridgeUsername');
|
||||
storage.remove('huegasm.bridgeIp');
|
||||
location.reload();
|
||||
},
|
||||
clearAllSettings() {
|
||||
this.get('storage').clear();
|
||||
location.reload();
|
||||
},
|
||||
startIntro(){
|
||||
let intro = introJs();
|
||||
|
||||
if(this.get('dimmerOn')) {
|
||||
this.send('toggleDimmer');
|
||||
}
|
||||
|
||||
intro.setOptions({
|
||||
steps: [
|
||||
{
|
||||
intro: 'Welcome! This short tutorial will introduce you to Huegasm.'
|
||||
},
|
||||
{
|
||||
element: '#music-tab',
|
||||
intro: 'This is the music player. You\'ll use this to play music and synchronize it with your active lights.<br><br>' +
|
||||
'<i><b>TIP</b>: Control which lights are active through the <b>Lights</b> tab.</i>'
|
||||
},
|
||||
{
|
||||
element: '#playlist',
|
||||
intro: 'You can add and select music to play from your playlist here. You may listen to local audio files or stream music from Soundcloud.<br><br>' +
|
||||
'<i><b>TIP</b>: Songs added through Soundcloud will be saved for when you visit this page again.</i>'
|
||||
},
|
||||
{
|
||||
element: $('#playlist md-menu')[0],
|
||||
intro: '<img src="assets/images/soundcloudUrl.png" id="soundcloud-tutorial">You can add songs from SoundCloud by copy and pasting the URL shown here'
|
||||
},
|
||||
{
|
||||
element: '#player-area',
|
||||
intro: 'The audio playback may be controlled with the controls here. Basic music visualization effects may be shown here by selecting them from the menu (eyeball icon in the bottom right).'
|
||||
},
|
||||
{
|
||||
element: '#beat-option-row',
|
||||
intro: 'These are the settings for the music tab:<br>' +
|
||||
'<b>Sensitivity</b> - The sensitivity of the beat detector (more sensitivity results in more registered beats)<br>' +
|
||||
'<b>Hue Range</b> - The hue range that the lights may change to on beat.<br>' +
|
||||
'<b>Brightness Range</b> - The minimum (off-beat) and maximum (on-beat) brightness of the lights.<br>' +
|
||||
'<b>Flashing Transitions</b> - Quickly flash the lights on beat<br>' +
|
||||
'<b>Colorloop</b> - Slowly cycle the lights through all the colors while the music is playing<br>' +
|
||||
'<i><b>TIP</b>: Your sensitivity settings are saved per song as indicated by the red star icon in the top left corner. These settings they will be restored if you ever listen to the same song again.</i>',
|
||||
position: 'top'
|
||||
},
|
||||
{
|
||||
element: '#lights-tab',
|
||||
intro: 'This is the lights tab. Here you\'ll be able to change various light properties:<br>' +
|
||||
'<b>Power</b> - Turn the selected lights on/off<br>' +
|
||||
'<b>Brightness</b> - The brightness level of the selected lights<br>' +
|
||||
'<b>Color</b> - The color of the selected lights<br>' +
|
||||
'<b>Strobe</b> - Selected lights will flash in sequential order<br>' +
|
||||
'<b>Colorloop</b> - Selected lights will slowly cycle through all the colors<br>'
|
||||
},
|
||||
{
|
||||
element: '#active-lights',
|
||||
intro: 'These icons represent the hue lights in your system. Active lights will be controlled by the application while the inactive lights will have a red X over them and will not be controlled.<br>' +
|
||||
'You may toggle a light\'s state by clicking on it.'
|
||||
},
|
||||
{
|
||||
element: $('#navigation .ember-basic-dropdown-trigger')[0],
|
||||
intro: 'A few miscellaneous settings can be found here.<br><br>' +
|
||||
'<b>WARNING</b>: clearing application settings will restore the application to its original state. This will even delete your playlist and any saved song beat preferences.'
|
||||
},
|
||||
{
|
||||
intro: 'And that\'s it...Hope you enjoy the application. ;)'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
intro.onexit(() => {
|
||||
$('body').velocity('scroll', { duration: 200 });
|
||||
});
|
||||
|
||||
// it's VERY ugly but it works... the jQuery massacre :'(
|
||||
intro.onchange((element) => {
|
||||
if(element.id === '' || element.id === 'music-tab' || element.id === 'playlist' || element.id === 'player-area' || element.id === 'beat-option-row' || element.id === 'beat-option-button-group' || element.id === 'using-mic-audio-tooltip' || element.nodeName === 'MD-MENU'){
|
||||
$('.navigation-item').eq(1).click();
|
||||
} else {
|
||||
$('.navigation-item').eq(0).click();
|
||||
}
|
||||
});
|
||||
|
||||
// skip hidden/missing elements
|
||||
intro.onafterchange((element)=>{
|
||||
let elem = $(element);
|
||||
if(elem.html() === '<!---->') {
|
||||
$('.introjs-nextbutton').click();
|
||||
}
|
||||
|
||||
if(element.id === ''){
|
||||
later(this, () => {
|
||||
$('body').velocity('scroll');
|
||||
}, 500);
|
||||
} else {
|
||||
later(this, () => {
|
||||
$('.introjs-tooltip').velocity('scroll', { offset: -100 });
|
||||
}, 500);
|
||||
}
|
||||
}).start();
|
||||
},
|
||||
toggleDimmer(){
|
||||
this.toggleProperty('dimmerOn');
|
||||
},
|
||||
toggleLightsIcons() {
|
||||
this.toggleProperty('lightsIconsOn');
|
||||
|
||||
let lightsIconsOn = this.get('lightsIconsOn');
|
||||
|
||||
this.get('storage').set('huegasm.lightsIconsOn', lightsIconsOn);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
{{#if ready}}
|
||||
<div id="navigation">
|
||||
{{#each tabData as |tab|}}
|
||||
<span class="navigation-item text-uppercase {{if tab.selected "active"}}" {{action "changeTab" tab.name}}>{{tab.name}}</span>
|
||||
{{/each}}
|
||||
|
||||
{{#paper-menu as |menu|}}
|
||||
{{#menu.trigger}}
|
||||
{{#paper-button iconButton=true}}
|
||||
{{paper-icon "settings-icon" class=dimmerOnClass size=28}}
|
||||
{{/paper-button}}
|
||||
{{/menu.trigger}}
|
||||
{{#menu.content width=3 as |content|}}
|
||||
{{#content.menu-item onClick="toggleDimmer"}}
|
||||
{{paper-icon "highlight" class=dimmerOnClass}} Dark Mode: <strong>{{if dimmerOn "On" "Off"}}</strong>
|
||||
{{/content.menu-item}}
|
||||
|
||||
{{#content.menu-item onClick="toggleLightsIcons"}}
|
||||
{{paper-icon "lightbulb outline" class=dimmerOnClass}} Active Lights: <strong>{{if lightsIconsOn "Icons" "Text"}}</strong>
|
||||
{{/content.menu-item}}
|
||||
|
||||
{{#content.menu-item onClick="clearBridge"}}
|
||||
{{paper-icon "compare arrows" class=dimmerOnClass}} Switch bridge
|
||||
{{/content.menu-item}}
|
||||
|
||||
{{#content.menu-item onClick="startIntro"}}
|
||||
{{paper-icon "cached" class=dimmerOnClass}} Restart tutorial
|
||||
{{/content.menu-item}}
|
||||
|
||||
{{#content.menu-item onClick="clearAllSettings"}}
|
||||
{{paper-icon "settings backup restore" class=dimmerOnClass}} Reset settings
|
||||
{{/content.menu-item}}
|
||||
{{/menu.content}}
|
||||
{{/paper-menu}}
|
||||
</div>
|
||||
|
||||
|
||||
{{light-group lightsData=lightsData activeLights=activeLights syncLight=syncLight apiURL=apiURL dimmerOn=dimmerOn lightsIconsOn=lightsIconsOn storage=storage}}
|
||||
|
||||
<div id="huegasm-content">
|
||||
{{lights-tab active=(eq selectedTab 0) apiURL=apiURL lightsData=lightsData activeLights=activeLights syncLight=syncLight trial=trial colorLoopOn=colorLoopOn dimmerOn=dimmerOn playing=playing pauseLightUpdates=pauseLightUpdates}}
|
||||
|
||||
{{music-tab active=(eq selectedTab 1) apiURL=apiURL lightsData=lightsData activeLights=activeLights pauseLightUpdates=pauseLightUpdates dimmerOn=dimmerOn playing=playing storage=storage colorLoopOn=colorLoopOn isShowingAddSoundCloudModal=isShowingAddSoundCloudModal action="startIntro"}}
|
||||
</div>
|
||||
{{else}}
|
||||
{{paper-progress-circular diameter=100}}
|
||||
{{/if}}
|
||||
|
||||
{{ember-notify messageStyle='bootstrap' closeAfter=5000}}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Component,
|
||||
isEmpty
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
bridgeIp: null,
|
||||
bridgeUsername: null,
|
||||
trial: false,
|
||||
storage: null,
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
||||
let storage = new window.Locally.Store({ compress: true });
|
||||
this.set('storage', storage);
|
||||
|
||||
if (!isEmpty(storage.get('huegasm.bridgeIp')) && !isEmpty(storage.get('huegasm.bridgeUsername'))) {
|
||||
this.setProperties({
|
||||
bridgeIp: storage.get('huegasm.bridgeIp'),
|
||||
bridgeUsername: storage.get('huegasm.bridgeUsername')
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{{#if bridgeUsername}}
|
||||
{{hue-controls bridgeIp=bridgeIp bridgeUsername=bridgeUsername trial=trial storage=storage}}
|
||||
{{else}}
|
||||
{{bridge-finder bridgeIp=bridgeIp bridgeUsername=bridgeUsername trial=trial storage=storage}}
|
||||
{{/if}}
|
||||
|
|
@ -1,213 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
A,
|
||||
Component,
|
||||
computed,
|
||||
isNone,
|
||||
observer
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
elementId: 'active-lights',
|
||||
classNames: ['light-group'],
|
||||
activeLights: A(),
|
||||
|
||||
// list of all the lights in the hue system
|
||||
lightsList: computed('lightsData', 'activeLights.[]', 'dimmerOn', function(){
|
||||
let lightsData = this.get('lightsData'),
|
||||
activeLights = this.get('activeLights'),
|
||||
dimmerOn = this.get('dimmerOn'),
|
||||
lightsList = A(),
|
||||
src,
|
||||
activeClass;
|
||||
|
||||
for (let key in lightsData) {
|
||||
activeClass = 'light-active';
|
||||
|
||||
if (lightsData.hasOwnProperty(key) && lightsData[key].state.reachable) {
|
||||
switch (lightsData[key].modelid) {
|
||||
case 'BSB001':
|
||||
src = 'bridge_v1';
|
||||
break;
|
||||
case 'BSB002':
|
||||
src = 'bridge_v2';
|
||||
break;
|
||||
case 'LCT001':
|
||||
case 'LCT007':
|
||||
case 'LCT010':
|
||||
case 'LCT014':
|
||||
case 'LTW010':
|
||||
case 'LTW001':
|
||||
case 'LTW004':
|
||||
case 'LTW015':
|
||||
case 'LWB004':
|
||||
case 'LWB006':
|
||||
src = 'white_and_color_e27';
|
||||
break;
|
||||
case 'LWB010':
|
||||
case 'LWB014':
|
||||
src = 'white_e27';
|
||||
break;
|
||||
case 'LCT002':
|
||||
src = 'br30';
|
||||
break;
|
||||
case 'LCT011':
|
||||
case 'LTW011':
|
||||
src = 'br30_slim';
|
||||
break;
|
||||
case 'LCT003':
|
||||
src = 'gu10';
|
||||
break;
|
||||
case 'LTW013':
|
||||
src = 'gu10_perfectfit';
|
||||
break;
|
||||
case 'LST002':
|
||||
case 'LST001':
|
||||
src = 'lightstrip';
|
||||
break;
|
||||
case 'LLC006':
|
||||
case 'LLC010':
|
||||
src = 'iris';
|
||||
break;
|
||||
case 'LLC005':
|
||||
case 'LLC011':
|
||||
case 'LLC012':
|
||||
case 'LLC007':
|
||||
src = 'bloom';
|
||||
break;
|
||||
case 'LLC014':
|
||||
src = 'aura';
|
||||
break;
|
||||
case 'LLC013':
|
||||
src = 'storylight';
|
||||
break;
|
||||
case 'LLC020':
|
||||
src = 'go';
|
||||
break;
|
||||
case 'HBL001':
|
||||
case 'HBL002':
|
||||
case 'HBL003':
|
||||
src = 'beyond_ceiling_pendant_table';
|
||||
break;
|
||||
case 'HIL001':
|
||||
case 'HIL002':
|
||||
src = 'impulse';
|
||||
break;
|
||||
case 'HEL001':
|
||||
case 'HEL002':
|
||||
src = 'entity';
|
||||
break;
|
||||
case 'HML001':
|
||||
case 'HML002':
|
||||
case 'HML003':
|
||||
case 'HML004':
|
||||
case 'HML005':
|
||||
src = 'phoenix_ceiling';
|
||||
break;
|
||||
case 'HML006':
|
||||
src = 'phoenix_down';
|
||||
break;
|
||||
case 'LTP003':
|
||||
src = 'pendant_square';
|
||||
break;
|
||||
case 'LTP002':
|
||||
case 'LTP003':
|
||||
src = 'pendant_round';
|
||||
break;
|
||||
case 'LTP001':
|
||||
src = 'pendant_oval';
|
||||
break;
|
||||
case 'LDF002':
|
||||
case 'LTF002':
|
||||
case 'LTF001':
|
||||
case 'LTC001':
|
||||
case 'LTC002':
|
||||
case 'LDF001':
|
||||
src = 'ceiling_square';
|
||||
break;
|
||||
case 'LTC003':
|
||||
case 'LTD001':
|
||||
case 'LTD001':
|
||||
src = 'ceiling_round';
|
||||
break;
|
||||
case 'LDD002':
|
||||
src = 'floor';
|
||||
break;
|
||||
case 'LDD001':
|
||||
src = 'table';
|
||||
break;
|
||||
case 'LDT001':
|
||||
case 'MWM001':
|
||||
src = 'recessed';
|
||||
break;
|
||||
case 'SWT001':
|
||||
src = 'tap';
|
||||
break;
|
||||
case 'RWL021':
|
||||
src = 'hds';
|
||||
break;
|
||||
case 'SML001':
|
||||
src = 'motion_sensor';
|
||||
break;
|
||||
default:
|
||||
src = 'white_e27';
|
||||
}
|
||||
|
||||
if (dimmerOn) {
|
||||
src = `assets/images/lights/filled/${src}.svg`;
|
||||
} else {
|
||||
src = `assets/images/lights/outline/${src}.svg`;
|
||||
}
|
||||
|
||||
if(!activeLights.includes(key)){
|
||||
activeClass = 'light-inactive';
|
||||
}
|
||||
|
||||
lightsList.push({ src, name: lightsData[key].name, id: key, data: lightsData[key], activeClass });
|
||||
}
|
||||
}
|
||||
|
||||
return lightsList;
|
||||
}),
|
||||
|
||||
onActiveLightsChange: observer('activeLights.[]', function(){
|
||||
this.get('storage').set('huegasm.activeLights', this.get('activeLights'));
|
||||
}),
|
||||
|
||||
init(){
|
||||
this._super(...arguments);
|
||||
|
||||
let lightsData = this.get('lightsData'),
|
||||
activeLights = this.get('activeLights'),
|
||||
activeLightsCache = this.get('storage').get('huegasm.activeLights');
|
||||
|
||||
if(!isNone(activeLightsCache)){
|
||||
activeLightsCache.forEach(function(i){
|
||||
if (!isNone(lightsData) && lightsData.hasOwnProperty(i) && lightsData[i].state.reachable) {
|
||||
activeLights.pushObject(i);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
for (let key in lightsData) {
|
||||
if (lightsData.hasOwnProperty(key) && lightsData[key].state.reachable) {
|
||||
activeLights.pushObject(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
clickLight(id){
|
||||
let activeLights = this.get('activeLights'),
|
||||
lightId = activeLights.indexOf(id);
|
||||
|
||||
if(lightId !== -1){
|
||||
activeLights.removeObject(id);
|
||||
} else {
|
||||
activeLights.pushObject(id);
|
||||
this.set('syncLight', id);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{{#each lightsList as |light|}}
|
||||
{{#if lightsIconsOn}}
|
||||
<div class="{{light.activeClass}} bootstrap-tooltip toggleable-light" data-toggle="tooltip" data-placement="top auto" data-title={{light.name}} {{action "clickLight" light.id}}>
|
||||
{{inline-svg light.src class="hue-light"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="{{light.activeClass}} light-text toggleable-light" {{action "clickLight" light.id}}>
|
||||
<div class="light-text-content">{{light.name}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Component,
|
||||
$
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
elementId: 'color-picker',
|
||||
rgb: null,
|
||||
canvas: null,
|
||||
canvasContext: null,
|
||||
pressingDown: false,
|
||||
|
||||
mouseUp(){
|
||||
this.set('pressingDown', false);
|
||||
},
|
||||
|
||||
mouseMove(event){
|
||||
if (this.get('pressingDown')) {
|
||||
this.mouseDown(event);
|
||||
}
|
||||
},
|
||||
|
||||
mouseDown(event){
|
||||
let canvasOffset = $(this.get('canvas')).offset(),
|
||||
canvasX = Math.floor(event.pageX - canvasOffset.left),
|
||||
canvasY = Math.floor(event.pageY - canvasOffset.top);
|
||||
|
||||
// get current pixel
|
||||
let imageData = this.get('canvasContext').getImageData(canvasX, canvasY, 1, 1),
|
||||
pixel = imageData.data;
|
||||
|
||||
this.set('pressingDown', true);
|
||||
|
||||
if (!(pixel[0] === 0 && pixel[1] === 0 && pixel[2] === 0)) {
|
||||
this.set('rgb', [pixel[0], pixel[1], pixel[2]]);
|
||||
}
|
||||
},
|
||||
|
||||
// https://dzone.com/articles/creating-your-own-html5
|
||||
didInsertElement(){
|
||||
// handle color changes
|
||||
let canvas = $('#picker')[0],
|
||||
canvasContext = canvas.getContext('2d'),
|
||||
image = new Image();
|
||||
|
||||
image.src = 'assets/images/colormap.png';
|
||||
image.onload = function () {
|
||||
canvasContext.drawImage(image, 0, 0, image.width, image.height); // draw the image on the canvas
|
||||
};
|
||||
|
||||
this.setProperties({
|
||||
canvas: canvas,
|
||||
canvasContext: canvasContext
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -1 +0,0 @@
|
|||
<canvas id="picker" width="256" height="256"></canvas>
|
||||
|
|
@ -1,278 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Component,
|
||||
observer,
|
||||
computed,
|
||||
on,
|
||||
run: { later, once },
|
||||
$
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
classNames: ['col-xs-12'],
|
||||
classNameBindings: ['active::hidden'],
|
||||
elementId: 'lights-tab',
|
||||
|
||||
rgb: [255, 255, 255],
|
||||
|
||||
lightsOn: false,
|
||||
|
||||
colorLoopOn: false,
|
||||
|
||||
lightsOnTxt: computed('lightsOn', function () {
|
||||
return this.get('lightsOn') ? 'On' : 'Off';
|
||||
}),
|
||||
|
||||
colorloopOnTxt: computed('colorLoopOn', function () {
|
||||
return this.get('colorLoopOn') ? 'On' : 'Off';
|
||||
}),
|
||||
|
||||
// determines the average brightness of the hue system for the brightness slider
|
||||
lightsBrightness: computed('lightsData', 'activeLights.[]', function () {
|
||||
let lightsData = this.get('lightsData'),
|
||||
activeLights = this.get('activeLights'),
|
||||
lightsBrightness = 0;
|
||||
|
||||
activeLights.forEach(function (light) {
|
||||
lightsBrightness += lightsData[light].state.bri;
|
||||
});
|
||||
|
||||
return lightsBrightness / activeLights.length;
|
||||
}),
|
||||
|
||||
brightnessControlDisabled: computed.not('lightsOn'),
|
||||
|
||||
onColorLoopOnChange: observer('colorLoopOn', function () {
|
||||
let lightsData = this.get('lightsData'),
|
||||
activeLights = this.get('activeLights'),
|
||||
colorLoopsOn = this.get('colorLoopOn'),
|
||||
effect = colorLoopsOn ? 'colorloop' : 'none';
|
||||
|
||||
let colorLoopsOnSystem = activeLights.some(function (light) {
|
||||
return lightsData[light].state.effect === 'colorloop';
|
||||
});
|
||||
|
||||
// if the internal lights state is different than the one from lightsData (user manually toggled the switch), send the request to change the bulbs state
|
||||
if (colorLoopsOn !== colorLoopsOnSystem) {
|
||||
activeLights.forEach((light) => {
|
||||
if (this.get('lightsData')[light].state.effect !== effect) {
|
||||
$.ajax(this.get('apiURL') + '/lights/' + light + '/state', {
|
||||
data: JSON.stringify({ 'effect': effect }),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
rgbPreview: observer('rgb', function () {
|
||||
let rgb = this.get('rgb'),
|
||||
xy = rgbToCie(rgb[0], rgb[1], rgb[2]);
|
||||
|
||||
this.set('colorLoopOn', false);
|
||||
|
||||
this.get('activeLights').forEach((light) => {
|
||||
$.ajax(this.get('apiURL') + '/lights/' + light + '/state', {
|
||||
data: JSON.stringify({ "xy": xy }),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
});
|
||||
|
||||
this.set('colorLoopOn', false);
|
||||
$('.color').css('background', 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')');
|
||||
}),
|
||||
|
||||
onActiveLightsChange: on('init', observer('activeLights.[]', function () {
|
||||
let lightsData = this.get('lightsData'),
|
||||
xy = null,
|
||||
setRGB = true;
|
||||
|
||||
this.get('activeLights').forEach((i) => {
|
||||
let light = lightsData[i];
|
||||
|
||||
if (xy !== null && xy[0] !== light.state.xy[0] && xy[1] !== light.state.xy[1]) {
|
||||
setRGB = false;
|
||||
}
|
||||
|
||||
xy = light.state.xy;
|
||||
});
|
||||
|
||||
if (setRGB && xy) {
|
||||
let rgb = cieToRgb(xy[0], xy[1]);
|
||||
|
||||
$('.color').css('background', 'rgb(' + Math.abs(rgb[0]) + ',' + Math.abs(rgb[1]) + ',' + Math.abs(rgb[2]) + ')');
|
||||
} else {
|
||||
$('.color').css('background', 'rgb(' + 255 + ',' + 255 + ',' + 255 + ')');
|
||||
}
|
||||
})),
|
||||
|
||||
// determines whether the lights are on/off for the lights switch
|
||||
lightsOnChange: on('init', observer('lightsData.@each.state.on', 'activeLights.[]', function () {
|
||||
if (!this.get('strobeOn')) {
|
||||
let lightsData = this.get('lightsData'), lightsOn = this.get('activeLights').some(function (light) {
|
||||
return lightsData[light].state.on === true;
|
||||
});
|
||||
|
||||
this.set('lightsOn', lightsOn);
|
||||
}
|
||||
})),
|
||||
|
||||
onLightsOnChange: observer('lightsOn', function () {
|
||||
let lightsData = this.get('lightsData'),
|
||||
activeLights = this.get('activeLights'),
|
||||
lightsOn = this.get('lightsOn');
|
||||
|
||||
let lightsOnSystem = activeLights.some(function (light) {
|
||||
return lightsData[light].state.on === true;
|
||||
});
|
||||
|
||||
// if the internal lights state is different than the one from lightsData (user manually toggled the switch), send the request to change the bulbs state
|
||||
if (lightsOn !== lightsOnSystem) {
|
||||
activeLights.forEach((light) => {
|
||||
$.ajax(this.get('apiURL') + '/lights/' + light + '/state', {
|
||||
data: JSON.stringify({ "on": lightsOn }),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
onBrightnessChanged: observer('lightsBrightness', function () {
|
||||
once(this, function () {
|
||||
let lightsData = this.get('lightsData'),
|
||||
lightsBrightnessSystem = false,
|
||||
lightsBrightness = this.get('lightsBrightness'),
|
||||
activeLights = this.get('activeLights');
|
||||
|
||||
activeLights.forEach(function (light) {
|
||||
lightsBrightnessSystem += lightsData[light].state.bri;
|
||||
});
|
||||
|
||||
lightsBrightnessSystem /= activeLights.length;
|
||||
|
||||
// if the internal lights state is different than the one from lightsData (user manually toggled the switch), send the request to change the bulbs state
|
||||
if (lightsBrightness !== lightsBrightnessSystem) {
|
||||
activeLights.forEach((light) => {
|
||||
$.ajax(this.get('apiURL') + '/lights/' + light + '/state', {
|
||||
data: JSON.stringify({ "bri": lightsBrightness }),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}),
|
||||
|
||||
// sync the current light settings to the newly added light
|
||||
onaActiveLightsChange: observer('syncLight', function () {
|
||||
let options = {
|
||||
on: this.get('lightsOn'),
|
||||
bri: this.get('lightsBrightness'),
|
||||
effect: this.get('colorLoopOn') ? 'colorloop' : 'none'
|
||||
}, rgb = this.get('rgb'),
|
||||
syncLight = this.get('syncLight');
|
||||
|
||||
if (rgb[0] !== 255 && rgb[1] !== 255 && rgb[2] !== 255) {
|
||||
options['xy'] = this.rgbToXy(rgb[0], rgb[1], rgb[2]);
|
||||
}
|
||||
|
||||
options['transitiontime'] = 0;
|
||||
|
||||
$.ajax(this.get('apiURL') + '/lights/' + syncLight + '/state', {
|
||||
data: JSON.stringify(options),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
}),
|
||||
|
||||
// **************** STROBE LIGHT START ****************
|
||||
strobeOn: false,
|
||||
|
||||
strobeOnInervalHandle: null,
|
||||
preStrobeOnLightsDataCache: null,
|
||||
nextLightIdx: 0,
|
||||
|
||||
onStrobeOnChange: observer('strobeOn', function () {
|
||||
let lightsData = this.get('lightsData'),
|
||||
strobeOn = this.get('strobeOn');
|
||||
|
||||
if (strobeOn) {
|
||||
this.set('preStrobeOnLightsDataCache', lightsData);
|
||||
let stobeInitRequestData = { 'transitiontime': 0 };
|
||||
|
||||
for (let key in lightsData) {
|
||||
if (lightsData.hasOwnProperty(key)) {
|
||||
if (lightsData[key].state.on) {
|
||||
stobeInitRequestData.on = false;
|
||||
}
|
||||
|
||||
$.ajax(this.get('apiURL') + '/lights/' + key + '/state', {
|
||||
data: JSON.stringify(stobeInitRequestData),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
this.set('strobeOnInervalHandle', setInterval(this.strobeStep.bind(this), 500));
|
||||
} else { // revert the light system to pre-strobe
|
||||
let preStrobeOnLightsDataCache = this.get('preStrobeOnLightsDataCache'), updateLight = (lightIndex) => {
|
||||
$.ajax(this.get('apiURL') + '/lights/' + lightIndex + '/state', {
|
||||
data: JSON.stringify({
|
||||
'on': preStrobeOnLightsDataCache[lightIndex].state.on,
|
||||
'sat': preStrobeOnLightsDataCache[lightIndex].state.sat
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
};
|
||||
|
||||
for (let key in lightsData) {
|
||||
if (lightsData.hasOwnProperty(key)) {
|
||||
later(this, updateLight, key, 2000);
|
||||
}
|
||||
}
|
||||
|
||||
later(this, this.onColorLoopOnChange, 2000);
|
||||
clearInterval(this.get('strobeOnInervalHandle'));
|
||||
}
|
||||
|
||||
this.set('pauseLightUpdates', strobeOn);
|
||||
}),
|
||||
|
||||
strobeStep() {
|
||||
let nextLightIdx = this.get('nextLightIdx') % this.get('activeLights').length,
|
||||
nextStrobeLight = this.get('activeLights')[nextLightIdx],
|
||||
turnOnOptions = { on: true, transitiontime: 0, alert: 'select' };
|
||||
|
||||
// random light if in cololoop mode
|
||||
if (this.get('colorLoopOn')) {
|
||||
turnOnOptions.hue = Math.floor(Math.random() * 65535);
|
||||
}
|
||||
|
||||
$.ajax(this.get('apiURL') + '/lights/' + nextStrobeLight + '/state', {
|
||||
data: JSON.stringify(turnOnOptions),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
$.ajax(this.get('apiURL') + '/lights/' + nextStrobeLight + '/state', {
|
||||
data: JSON.stringify({ 'on': false, 'transitiontime': 0 }),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
|
||||
this.set('nextLightIdx', ++nextLightIdx);
|
||||
},
|
||||
|
||||
strobeOnTxt: computed('strobeOn', function () {
|
||||
return this.get('strobeOn') ? 'On' : 'Off';
|
||||
}),
|
||||
|
||||
dimmerOnClass: computed('dimmerOn', function () {
|
||||
return this.get('dimmerOn') ? 'dimmerOn' : null;
|
||||
})
|
||||
});
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
{{#paper-list}}
|
||||
{{#paper-item}}
|
||||
{{paper-icon "power-settings-new" class=dimmerOnClass}}
|
||||
<p>Power</p>
|
||||
{{paper-switch value=lightsOn onChange=(action (mut lightsOn)) disabled=(or trial playing) skipProxy=trial label=lightsOnTxt}}
|
||||
{{/paper-item}}
|
||||
|
||||
{{#paper-item}}
|
||||
{{paper-icon "brightness-4" class=dimmerOnClass}}
|
||||
<p class="layout flex-60">Brightness</p>
|
||||
{{paper-slider class="flex" step=10 min=1 max=254 value=lightsBrightness onChange=(action (mut lightsBrightness)) disabled=brightnessControlDisabled}}
|
||||
{{/paper-item}}
|
||||
|
||||
{{#paper-item class="color-row" }}
|
||||
{{paper-icon "color-lens" class=dimmerOnClass}}
|
||||
<p>Color</p>
|
||||
{{#paper-menu offset="0 -100" as |menu|}}
|
||||
{{#menu.trigger}}
|
||||
{{#paper-button iconButton=false}}
|
||||
{{paper-button raised=true class="color" disabled=(or trial playing)}}
|
||||
{{/paper-button}}
|
||||
{{/menu.trigger}}
|
||||
{{#menu.content class="color-content" width=8 as |content|}}
|
||||
{{#content.menu-item}}
|
||||
{{lights-tab/color-picker lightsData=lightsData activeLights=activeLights rgb=rgb}}
|
||||
{{/content.menu-item}}
|
||||
{{/menu.content}}
|
||||
{{/paper-menu}}
|
||||
{{/paper-item}}
|
||||
|
||||
{{#paper-item}}
|
||||
{{paper-icon "flare" class=dimmerOnClass}}
|
||||
<p>Strobe</p>
|
||||
{{paper-switch value=strobeOn onChange=(action (mut strobeOn)) disabled=(or trial playing) skipProxy=trial label=strobeOnTxt}}
|
||||
{{/paper-item}}
|
||||
|
||||
{{#paper-item}}
|
||||
{{paper-icon "color-lens" class=dimmerOnClass}} {{paper-icon "loop" id="loop-addition" class=dimmerOnClass}}
|
||||
<p>Colorloop</p>
|
||||
{{paper-switch value=colorLoopOn onChange=(action (mut colorLoopOn)) disabled=(or trial playing) skipProxy=trial label=colorloopOnTxt}}
|
||||
{{/paper-item}}
|
||||
{{/paper-list}}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Component,
|
||||
observer,
|
||||
computed,
|
||||
isEmpty,
|
||||
isNone,
|
||||
run: { later },
|
||||
$
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend({
|
||||
url: null,
|
||||
|
||||
onIsShowingModalChange: observer('isShowingModal', function(){
|
||||
if(this.get('isShowingModal')){
|
||||
this.set('url', null);
|
||||
later(this, function() {
|
||||
$('md-input-container input').focus();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
}),
|
||||
|
||||
saveDisabled: computed('url', function(){
|
||||
return isNone(this.get('url')) || isEmpty(this.get('url').trim());
|
||||
}),
|
||||
|
||||
didInsertElement: function() {
|
||||
$(document).keypress((event)=>{
|
||||
if(!this.get('saveDisabled') && event.which === 13) {
|
||||
this.send('add');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
actions: {
|
||||
close () {
|
||||
this.sendAction();
|
||||
},
|
||||
add (){
|
||||
this.sendAction('action', this.get('url'));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
{{#if isShowingModal}}
|
||||
{{#paper-dialog fullscreen=fullscreen onClose=(action "close") origin=dialogOrigin clickOutsideToClose=true}}
|
||||
{{#paper-dialog-content}}
|
||||
<p>Enter a <a href="https://soundcloud.com" target="_blank" rel="noopener noreferrer">SoundCloud</a> track or playlist/set
|
||||
URL</p>
|
||||
<p>(ex. https://soundcloud.com/mrsuicidesheep/tracks)</p>
|
||||
|
||||
{{paper-input label="SoundCloud URL" class="full-width" icon="search" value=url onChange=(action (mut url))}}
|
||||
{{/paper-dialog-content}}
|
||||
|
||||
{{#paper-dialog-actions class="layout-row" }}
|
||||
<span class="flex"></span> {{paper-button onClick=(action "close") label="Close"}} {{paper-button class="pull-right" onClick=(action "add") disabled=saveDisabled primary=true label="Add Music"}}
|
||||
{{/paper-dialog-actions}}
|
||||
{{/paper-dialog}}
|
||||
{{/if}}
|
||||
|
|
@ -1,650 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
import helperMixin from './mixins/helpers';
|
||||
import visualizerMixin from './mixins/visualizer';
|
||||
|
||||
const {
|
||||
Component,
|
||||
observer,
|
||||
isEmpty,
|
||||
isNone,
|
||||
$,
|
||||
run: { later, next }
|
||||
} = Ember;
|
||||
|
||||
export default Component.extend(helperMixin, visualizerMixin, {
|
||||
updatePageTitle: observer('playQueuePointer', function () {
|
||||
let title = 'Huegasm',
|
||||
playQueuePointer = this.get('playQueuePointer'),
|
||||
playQueue = this.get('playQueue');
|
||||
|
||||
if (playQueuePointer !== -1) {
|
||||
let song = playQueue[playQueuePointer];
|
||||
if (song.title) {
|
||||
title = song.title;
|
||||
|
||||
if (song.artist) {
|
||||
title += (' - ' + song.artist);
|
||||
}
|
||||
} else {
|
||||
title = song.fileName;
|
||||
}
|
||||
|
||||
title += '- Huegasm';
|
||||
}
|
||||
|
||||
document.title = title;
|
||||
}),
|
||||
|
||||
changePlayerControl(name, value, saveBeatPrefs) {
|
||||
this.set(name, value);
|
||||
|
||||
if (name === 'threshold') {
|
||||
this.get('kick').set({ threshold: value });
|
||||
}
|
||||
|
||||
if (saveBeatPrefs && this.get('playQueuePointer') !== -1) {
|
||||
this.saveSongBeatPreferences();
|
||||
}
|
||||
|
||||
this.get('storage').set('huegasm.' + name, value);
|
||||
},
|
||||
|
||||
saveSongBeatPreferences() {
|
||||
let song = this.get('playQueue')[this.get('playQueuePointer')];
|
||||
if (song) {
|
||||
let title = isEmpty(song.artist) ? song.fileName : song.artist + '-' + song.title,
|
||||
songBeatPreferences = this.get('songBeatPreferences');
|
||||
|
||||
songBeatPreferences[title] = { threshold: this.get('threshold') };
|
||||
|
||||
this.set('usingBeatPreferences', true);
|
||||
this.get('storage').set('huegasm.songBeatPreferences', songBeatPreferences);
|
||||
}
|
||||
},
|
||||
|
||||
loadSongBeatPreferences() {
|
||||
let song = this.get('playQueue')[this.get('playQueuePointer')],
|
||||
title = isEmpty(song.artist) ? song.fileName : song.artist + '-' + song.title,
|
||||
songBeatPreferences = this.get('songBeatPreferences'),
|
||||
preference = songBeatPreferences[title],
|
||||
oldBeatPrefCache = this.get('oldBeatPrefCache'),
|
||||
newOldBeatPrefCache = null;
|
||||
|
||||
if (!isNone(preference)) { // load existing beat prefs
|
||||
newOldBeatPrefCache = { threshold: this.get('threshold') };
|
||||
|
||||
this.changePlayerControl('threshold', preference.threshold);
|
||||
this.set('usingBeatPreferences', true);
|
||||
} else if (!isNone(oldBeatPrefCache)) { // revert to using beat prefs before the remembered song
|
||||
this.changePlayerControl('threshold', oldBeatPrefCache.threshold);
|
||||
this.set('usingBeatPreferences', false);
|
||||
}
|
||||
|
||||
this.set('oldBeatPrefCache', newOldBeatPrefCache);
|
||||
},
|
||||
|
||||
clearCurrentAudio(resetPointer) {
|
||||
let dancer = this.get('dancer');
|
||||
|
||||
if (dancer.audio.pause) {
|
||||
dancer.pause();
|
||||
}
|
||||
|
||||
if (resetPointer) {
|
||||
this.set('playQueuePointer', -1);
|
||||
}
|
||||
|
||||
this.setProperties({
|
||||
timeElapsed: 0,
|
||||
timeTotal: 0,
|
||||
playing: false
|
||||
});
|
||||
},
|
||||
|
||||
simulateKick(/*mag, ratioKickMag*/) {
|
||||
let activeLights = this.get('activeLights'),
|
||||
lightsData = this.get('lightsData'),
|
||||
color = null,
|
||||
transitiontime = this.get('flashingTransitions'),
|
||||
brightnessRange = this.get('brightnessRange'),
|
||||
stimulateLight = (light, brightness, hue) => {
|
||||
let options = { 'bri': brightness };
|
||||
|
||||
if (transitiontime) {
|
||||
options['transitiontime'] = 0;
|
||||
} else {
|
||||
options['transitiontime'] = 1;
|
||||
}
|
||||
|
||||
if (!isNone(hue)) {
|
||||
options.hue = hue;
|
||||
}
|
||||
|
||||
if (lightsData[light].state.on === false) {
|
||||
options.on = true;
|
||||
}
|
||||
|
||||
$.ajax(this.get('apiURL') + '/lights/' + light + '/state', {
|
||||
data: JSON.stringify(options),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
},
|
||||
timeToBriOff = 100;
|
||||
|
||||
if (activeLights.length > 0) {
|
||||
let lastLightBopIndex = this.get('lastLightBopIndex'),
|
||||
lightBopIndex,
|
||||
light;
|
||||
|
||||
lightBopIndex = Math.floor(Math.random() * activeLights.length);
|
||||
|
||||
// let's try not to select the same light twice in a row
|
||||
if (activeLights.length > 1) {
|
||||
while (lightBopIndex === lastLightBopIndex) {
|
||||
lightBopIndex = Math.floor(Math.random() * activeLights.length);
|
||||
}
|
||||
}
|
||||
|
||||
light = activeLights[lightBopIndex];
|
||||
this.set('lastLightBopIndex', lightBopIndex);
|
||||
|
||||
if (!this.get('colorloopMode')) {
|
||||
let hueRange = this.get('hueRange');
|
||||
|
||||
color = Math.floor(Math.random() * (hueRange[1] - hueRange[0] + 1) + hueRange[0]);
|
||||
}
|
||||
|
||||
if (transitiontime) {
|
||||
timeToBriOff = 80;
|
||||
}
|
||||
|
||||
stimulateLight(light, brightnessRange[1]);
|
||||
later(this, stimulateLight, light, brightnessRange[0], color, timeToBriOff);
|
||||
}
|
||||
|
||||
this.set('paused', true);
|
||||
later(this, function () {
|
||||
this.set('paused', false);
|
||||
}, 200);
|
||||
|
||||
//work the music beat area - simulate the speaker vibration by running a CSS animation on it
|
||||
$('#beat-speaker-center-outer').velocity({ blur: 3 }, 100).velocity({ blur: 0 }, 100);
|
||||
$('#beat-speaker-center-inner').velocity({ scale: 1.05 }, 100).velocity({ scale: 1 }, 100);
|
||||
},
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
||||
window.requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame;
|
||||
window.cancelAnimationFrame = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.msCancelAnimationFrame;
|
||||
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
|
||||
|
||||
let dancer = new Dancer(),
|
||||
storage = this.get('storage'),
|
||||
kick = dancer.createKick({
|
||||
threshold: this.get('threshold'),
|
||||
onKick: (mag, ratioKickMag) => {
|
||||
if (this.get('paused') === false) {
|
||||
this.simulateKick(mag, ratioKickMag);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
kick.on();
|
||||
|
||||
this.setProperties({
|
||||
dancer: dancer,
|
||||
kick: kick
|
||||
});
|
||||
|
||||
['shuffle', 'repeat', 'threshold', 'playerBottomDisplayed', 'audioMode', 'songBeatPreferences', 'firstVisit', 'currentVisName', 'playQueue', 'playQueuePointer', 'flashingTransitions', 'colorloopMode', 'hueRange', 'brightnessRange'].forEach((item) => {
|
||||
if (!isNone(storage.get('huegasm.' + item))) {
|
||||
let itemVal = storage.get('huegasm.' + item);
|
||||
|
||||
if (isNone(this.actions[item + 'Changed'])) {
|
||||
this.set(item, itemVal);
|
||||
} else {
|
||||
this.send(item + 'Changed', itemVal);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
SC.initialize({
|
||||
client_id: this.get('SC_CLIENT_ID')
|
||||
});
|
||||
|
||||
this.set('oldPlayQueueLength', this.get('playQueue.length'));
|
||||
|
||||
document.addEventListener('stop', () => {
|
||||
if (this.get('playing')) {
|
||||
this.send('play');
|
||||
}
|
||||
}, false);
|
||||
},
|
||||
|
||||
didInsertElement() {
|
||||
this._super();
|
||||
|
||||
let self = this;
|
||||
|
||||
// perfect-scrollbar
|
||||
Ps.initialize(document.getElementById('play-list-area'), {
|
||||
swipePropagation: false
|
||||
});
|
||||
|
||||
// file input code
|
||||
$('#file-input').on('change', function () {
|
||||
let files = this.files;
|
||||
self.send('handleNewFiles', files);
|
||||
this.value = null; // reset in case upload the second file again
|
||||
});
|
||||
|
||||
$(document).on('click', '.alert', (event) => {
|
||||
$(event.target).addClass('removed');
|
||||
});
|
||||
|
||||
$(document).keypress((event) => {
|
||||
if (event.which === 32 && event.target.type !== 'text') {
|
||||
this.send('play');
|
||||
}
|
||||
});
|
||||
|
||||
// demo tracks
|
||||
if (this.get('firstVisit')) {
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/candyland-speechless-feat-rkcb');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/dillistone/dillistone-lili-n-rude');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/vallis-alps-young-feki-remix');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/andrew-luce-when-to-love-you-feat-chelsea-cutler');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/ahh-ooh-carefree-with-me');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/crywolf-slow-burn');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/clozee-red-forest');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/elo-method-subranger-solace');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/90-pounds-of-pete-waited-too-long-feat-devon-baldwin');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/mrsuicidesheep/draper-eyes-open');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/itspapaya/sunny');
|
||||
this.send('handleNewSoundCloudURL', 'https://soundcloud.com/stonesthrow/nxworries-anderson-paak-knxwledge-suede');
|
||||
|
||||
this.get('storage').set('huegasm.firstVisit', false);
|
||||
|
||||
this.sendAction();
|
||||
}
|
||||
|
||||
if (!this.get('playerBottomDisplayed')) {
|
||||
$('#player-bottom').hide();
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
setVisName(name) {
|
||||
this.set('currentVisName', name);
|
||||
},
|
||||
gotoSCURL(URL) {
|
||||
// need to pause the music since soundcloud is going to start playing this song anyways
|
||||
if (this.get('playing')) {
|
||||
this.send('play');
|
||||
}
|
||||
|
||||
this.send('gotoURL', URL);
|
||||
},
|
||||
gotoURL(URL) {
|
||||
window.open(URL, '_blank');
|
||||
},
|
||||
handleNewSoundCloudURL(URL) {
|
||||
if (URL) {
|
||||
SC.resolve(URL).then((resultObj) => {
|
||||
let processResult = (result) => {
|
||||
if (result.kind === 'user') {
|
||||
this.get('notify').alert({ html: this.get('scUserNotSupportedHtml') });
|
||||
} else if (result.kind === 'track') {
|
||||
if (result.streamable === true) {
|
||||
let picture = null;
|
||||
|
||||
if (result.artwork_url) {
|
||||
picture = result.artwork_url.replace('large', 't67x67');
|
||||
} else if (result.user.avatar_url) {
|
||||
picture = result.user.avatar_url;
|
||||
}
|
||||
|
||||
$.get(picture)
|
||||
.done(() => {
|
||||
this.get('playQueue').pushObject({ url: result.stream_url + '?client_id=' + this.get('SC_CLIENT_ID'), fileName: result.title + ' - ' + result.user.username, artist: result.user.username, scUrl: result.permalink_url, title: result.title, picture: picture });
|
||||
}).fail(() => { // no picture
|
||||
this.get('playQueue').pushObject({ url: result.stream_url + '?client_id=' + this.get('SC_CLIENT_ID'), fileName: result.title + ' - ' + result.user.username, artist: result.user.username, scUrl: result.permalink_url, title: result.title });
|
||||
});
|
||||
} else {
|
||||
failedSongs.push(result.title);
|
||||
}
|
||||
} else if (result.kind === 'playlist') {
|
||||
if (result.streamable === true) {
|
||||
result.tracks.forEach(processResult);
|
||||
} else {
|
||||
failedSongs.push(result.title);
|
||||
}
|
||||
}
|
||||
},
|
||||
failedSongs = [];
|
||||
|
||||
if (resultObj instanceof Array) {
|
||||
resultObj.forEach(processResult);
|
||||
} else {
|
||||
processResult(resultObj);
|
||||
}
|
||||
|
||||
if (failedSongs.length > 0) {
|
||||
this.get('notify').alert({ html: this.get('notStreamableHtml')(failedSongs) });
|
||||
}
|
||||
|
||||
if (this.get('playQueuePointer') === -1) {
|
||||
if (this.get('firstVisit')) {
|
||||
this.send('goToSong', 0);
|
||||
} else {
|
||||
this.send('next');
|
||||
}
|
||||
}
|
||||
}, () => {
|
||||
this.get('notify').alert({ html: this.get('urlNotFoundHtml')(URL) });
|
||||
});
|
||||
}
|
||||
|
||||
this.set('isShowingAddSoundCloudModal', false);
|
||||
},
|
||||
toggleIsShowingAddSoundCloudModal() {
|
||||
this.toggleProperty('isShowingAddSoundCloudModal');
|
||||
},
|
||||
slideTogglePlayerBottom() {
|
||||
let elem = this.$('#player-bottom');
|
||||
|
||||
elem.velocity(elem.is(':visible') ? 'slideUp' : 'slideDown', { duration: 300 });
|
||||
this.changePlayerControl('playerBottomDisplayed', !this.get('playerBottomDisplayed'));
|
||||
},
|
||||
goToSong(index, playSong, scrollToSong) {
|
||||
let dancer = this.get('dancer'), playQueue = this.get('playQueue');
|
||||
|
||||
if (dancer.audio) {
|
||||
this.clearCurrentAudio(true);
|
||||
}
|
||||
|
||||
if (!isNone(playQueue[index])) {
|
||||
let audio = new Audio();
|
||||
audio.src = this.get('playQueue')[index].url;
|
||||
|
||||
audio.crossOrigin = "anonymous";
|
||||
audio.oncanplay = () => {
|
||||
this.set('timeTotal', Math.floor(audio.duration));
|
||||
this.set('soundCloudFuckUps', 0);
|
||||
};
|
||||
audio.onerror = (event) => {
|
||||
let playQueuePointer = this.get('playQueuePointer'),
|
||||
song = this.get('playQueue')[playQueuePointer];
|
||||
|
||||
if (this.get('soundCloudFuckUps') >= this.get('maxSoundCloudFuckUps')) {
|
||||
this.get('notify').alert({ html: this.get('tooManySoundCloudFuckUps') });
|
||||
this.send('play');
|
||||
this.set('soundCloudFuckUps', 0);
|
||||
} else {
|
||||
if (song.local) {
|
||||
this.send('removeAudio', playQueuePointer);
|
||||
} else {
|
||||
this.send('next', true);
|
||||
}
|
||||
|
||||
if (event.target.error.code === 2) {
|
||||
this.get('notify').alert({ html: this.get('failedToDecodeFileHtml')(song.fileName) });
|
||||
} else {
|
||||
this.get('notify').alert({ html: this.get('failedToPlayFileHtml')(song.fileName) });
|
||||
}
|
||||
|
||||
this.set('usingBeatPreferences', false);
|
||||
this.incrementProperty('soundCloudFuckUps');
|
||||
}
|
||||
};
|
||||
audio.ontimeupdate = () => {
|
||||
this.set('timeElapsed', Math.floor(audio.currentTime));
|
||||
};
|
||||
audio.onended = () => {
|
||||
this.send('next');
|
||||
};
|
||||
|
||||
dancer.load(audio, 1);
|
||||
|
||||
this.set('playQueuePointer', index);
|
||||
|
||||
this.loadSongBeatPreferences();
|
||||
|
||||
if (playSong) {
|
||||
this.send('play');
|
||||
}
|
||||
|
||||
if (scrollToSong) {
|
||||
next(this, () => {
|
||||
$('.track' + index).velocity('scroll', { container: $('#play-list-area'), duration: 200 });
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
removeAudio(index) {
|
||||
this.get('playQueue').removeAt(index);
|
||||
|
||||
if (index === this.get('playQueuePointer')) {
|
||||
this.send('goToSong', index, true, true);
|
||||
}
|
||||
},
|
||||
playerAreaPlay() {
|
||||
if (isEmpty($('#player-controls:hover')) && this.get('playQueuePointer') !== -1) {
|
||||
this.send('play');
|
||||
|
||||
$('#play-notification').velocity({ opacity: 1, scale: 1 }, 0).velocity({ opacity: 0, scale: 3 }, 500);
|
||||
}
|
||||
},
|
||||
play(replayPause) {
|
||||
let dancer = this.get('dancer'),
|
||||
playQueuePointer = this.get('playQueuePointer'),
|
||||
playing = this.get('playing'),
|
||||
lightsData = this.get('lightsData');
|
||||
|
||||
if (playQueuePointer !== -1) {
|
||||
if (playing) {
|
||||
dancer.pause();
|
||||
|
||||
let preMusicLightsDataCache = this.get('preMusicLightsDataCache'),
|
||||
updateLight = (lightIndex) => {
|
||||
$.ajax(this.get('apiURL') + '/lights/' + lightIndex + '/state', {
|
||||
data: JSON.stringify({
|
||||
'on': preMusicLightsDataCache[lightIndex].state.on,
|
||||
'hue': preMusicLightsDataCache[lightIndex].state.hue,
|
||||
'bri': preMusicLightsDataCache[lightIndex].state.bri
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
};
|
||||
|
||||
for (let key in lightsData) {
|
||||
if (lightsData.hasOwnProperty(key)) {
|
||||
later(this, updateLight, key, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (!replayPause) {
|
||||
this.set('timeElapsed', Math.floor(dancer.getTime()));
|
||||
}
|
||||
} else {
|
||||
let timeTotal = this.get('timeTotal');
|
||||
|
||||
// replay song
|
||||
if (this.get('timeElapsed') === timeTotal && timeTotal !== 0) {
|
||||
this.send('next', true);
|
||||
return;
|
||||
}
|
||||
|
||||
$(window).trigger('resize'); // workaround to redraw the canvas for the vitualizer
|
||||
|
||||
this.set('preMusicLightsDataCache', lightsData);
|
||||
dancer.play();
|
||||
}
|
||||
|
||||
this.set('pauseLightUpdates', !playing);
|
||||
this.onColorloopModeChange();
|
||||
this.toggleProperty('playing');
|
||||
}
|
||||
},
|
||||
next(repeatAll) {
|
||||
let playQueuePointer = this.get('playQueuePointer'),
|
||||
playQueue = this.get('playQueue'),
|
||||
nextSong = (playQueuePointer + 1),
|
||||
repeat = this.get('repeat'),
|
||||
shuffle = this.get('shuffle');
|
||||
|
||||
if (repeat === 2) { // repeating one song takes precedence over shuffling
|
||||
if (playQueuePointer === -1 && playQueue.length > 0) {
|
||||
nextSong = 0;
|
||||
} else {
|
||||
nextSong = playQueuePointer;
|
||||
}
|
||||
} else if (shuffle) { // next shuffle song
|
||||
let shufflePlayed = this.get('shufflePlayed');
|
||||
|
||||
// played all the song in shuffle mode
|
||||
if (shufflePlayed.length === playQueue.length) {
|
||||
shufflePlayed.clear();
|
||||
this.send('play', true);
|
||||
return;
|
||||
}
|
||||
|
||||
// we're going to assume that the song URL is the id
|
||||
do {
|
||||
nextSong = Math.floor(Math.random() * playQueue.length);
|
||||
} while (shufflePlayed.includes(playQueue[nextSong].url));
|
||||
|
||||
shufflePlayed.pushObject(playQueue[nextSong].url);
|
||||
} else if (nextSong > playQueue.length - 1) {
|
||||
if (repeat === 1 || repeatAll) {
|
||||
nextSong = nextSong % playQueue.length;
|
||||
} else {
|
||||
this.send('play', true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.send('goToSong', nextSong, true, true);
|
||||
},
|
||||
previous() {
|
||||
if (this.get('timeElapsed') > 5) {
|
||||
this.send('seekChanged', 0);
|
||||
} else {
|
||||
let nextSong = this.get('playQueuePointer'),
|
||||
playQueue = this.get('playQueue');
|
||||
|
||||
if (this.get('shuffle') && !isNone(playQueue[nextSong])) { // go to the previously shuffled song
|
||||
let shufflePlayed = this.get('shufflePlayed'),
|
||||
shuffledSongIndx = this.get('shufflePlayed').indexOf(playQueue[nextSong].url),
|
||||
i = 0;
|
||||
|
||||
if (shufflePlayed.length > 0 && shuffledSongIndx !== -1) { // only if there was one
|
||||
nextSong = shuffledSongIndx - 1;
|
||||
|
||||
if (nextSong < 0) {
|
||||
nextSong = shufflePlayed.length - 1;
|
||||
}
|
||||
|
||||
playQueue.some(function (item) { // try to find the previous song id
|
||||
if (item.url === shufflePlayed[nextSong]) {
|
||||
nextSong = i;
|
||||
return true;
|
||||
}
|
||||
i++;
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
} else {
|
||||
nextSong--;
|
||||
|
||||
if (nextSong < 0) {
|
||||
nextSong = playQueue.length - 1;
|
||||
}
|
||||
}
|
||||
|
||||
this.send('goToSong', nextSong, true, true);
|
||||
}
|
||||
},
|
||||
seekChanged(position) {
|
||||
let dancer = this.get('dancer');
|
||||
|
||||
if (dancer.audio) {
|
||||
dancer.audio.currentTime = Math.floor(this.get('timeTotal') * position / 100);
|
||||
}
|
||||
},
|
||||
addLocalAudio: function () {
|
||||
$('#file-input').click();
|
||||
},
|
||||
shuffleChanged(value) {
|
||||
this.changePlayerControl('shuffle', isNone(value) ? !this.get('shuffle') : value);
|
||||
},
|
||||
repeatChanged(value) {
|
||||
this.changePlayerControl('repeat', isNone(value) ? (this.get('repeat') + 1) % 3 : value);
|
||||
},
|
||||
playerBottomDisplayedChanged(value) {
|
||||
this.changePlayerControl('playerBottomDisplayed', value);
|
||||
},
|
||||
thresholdChanged(value) {
|
||||
this.changePlayerControl('threshold', value, true);
|
||||
},
|
||||
brightnessRangeChanged(value) {
|
||||
this.changePlayerControl('brightnessRange', value);
|
||||
},
|
||||
hueRangeChanged(value) {
|
||||
this.changePlayerControl('hueRange', value);
|
||||
},
|
||||
playQueuePointerChanged(value) {
|
||||
this.send('goToSong', value, false, true);
|
||||
},
|
||||
clickSpeaker() {
|
||||
this.simulateKick(1);
|
||||
},
|
||||
handleNewFiles(files) {
|
||||
let self = this,
|
||||
playQueue = this.get('playQueue'),
|
||||
updatePlayQueue = function () {
|
||||
let tags = ID3.getAllTags("local"),
|
||||
picture = null;
|
||||
|
||||
if (tags.picture) {
|
||||
let base64String = "";
|
||||
for (let i = 0; i < tags.picture.data.length; i++) {
|
||||
base64String += String.fromCharCode(tags.picture.data[i]);
|
||||
}
|
||||
|
||||
picture = "data:" + tags.picture.format + ";base64," + window.btoa(base64String);
|
||||
}
|
||||
|
||||
playQueue.pushObject({
|
||||
fileName: this.name.replace(/\.[^/.]+$/, ""),
|
||||
url: URL.createObjectURL(this),
|
||||
artist: tags.artist,
|
||||
title: tags.title,
|
||||
picture: picture,
|
||||
local: true
|
||||
});
|
||||
|
||||
ID3.clearAll();
|
||||
|
||||
if (self.get('playQueuePointer') === -1) {
|
||||
self.send('next');
|
||||
}
|
||||
};
|
||||
|
||||
for (let key in files) {
|
||||
if (files.hasOwnProperty(key)) {
|
||||
let file = files[key];
|
||||
|
||||
ID3.loadTags("local", updatePlayQueue.bind(file), {
|
||||
dataReader: new FileAPIReader(file),
|
||||
tags: ['title', 'artist', 'album', 'track', 'picture']
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -1,325 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Mixin,
|
||||
observer,
|
||||
computed,
|
||||
run,
|
||||
isNone,
|
||||
inject,
|
||||
$,
|
||||
A
|
||||
} = Ember;
|
||||
|
||||
export default Mixin.create({
|
||||
classNames: ['col-xs-12'],
|
||||
classNameBindings: ['active::hidden'],
|
||||
elementId: 'music-tab',
|
||||
|
||||
dancer: null,
|
||||
|
||||
notify: inject.service('notify'),
|
||||
|
||||
beatOptions: {
|
||||
threshold: {
|
||||
range: { min: 0, max: 0.5 },
|
||||
step: 0.01,
|
||||
defaultValue: 0.3,
|
||||
pips: {
|
||||
mode: 'values',
|
||||
values: [0, 0.25, 0.5],
|
||||
density: 10,
|
||||
format: {
|
||||
to: function (value) {
|
||||
if (value === 0) {
|
||||
value = 'High';
|
||||
} else if (value === 0.25) {
|
||||
value = '';
|
||||
} else {
|
||||
value = 'Low';
|
||||
}
|
||||
|
||||
return value;
|
||||
},
|
||||
from: function (value) { return value; }
|
||||
}
|
||||
}
|
||||
},
|
||||
hueRange: {
|
||||
range: { min: 0, max: 65535 },
|
||||
step: 1,
|
||||
defaultValue: 0.3,
|
||||
pips: {
|
||||
mode: 'values',
|
||||
values: [0, 25500, 46920, 65535],
|
||||
density: 10,
|
||||
format: {
|
||||
to: function (value) {
|
||||
if (value === 0 || value === 65535) {
|
||||
value = 'Red';
|
||||
} else if (value === 25500) {
|
||||
value = 'Green';
|
||||
} else {
|
||||
value = 'Blue';
|
||||
}
|
||||
|
||||
return value;
|
||||
},
|
||||
from: function (value) { return value; }
|
||||
}
|
||||
}
|
||||
},
|
||||
brightnessRange: {
|
||||
range: { min: 1, max: 254 },
|
||||
step: 1,
|
||||
defaultValue: 0,
|
||||
pips: {
|
||||
mode: 'values',
|
||||
values: [1, 63, 127, 190, 254],
|
||||
density: 10,
|
||||
format: {
|
||||
to: function (value) {
|
||||
if (value === 63) {
|
||||
value = 25;
|
||||
} else if (value === 127) {
|
||||
value = 50;
|
||||
} else if (value === 190) {
|
||||
value = 75;
|
||||
} else if (value === 254) {
|
||||
value = 100;
|
||||
}
|
||||
|
||||
return value;
|
||||
},
|
||||
from: function (value) { return value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
threshold: 0.3,
|
||||
hueRange: [0, 65535],
|
||||
brightnessRange: [1, 254],
|
||||
oldThreshold: null,
|
||||
|
||||
playQueuePointer: -1,
|
||||
playQueue: A(),
|
||||
timeElapsed: 0,
|
||||
timeTotal: 0,
|
||||
lastLightBopIndex: 0,
|
||||
|
||||
playerBottomDisplayed: true,
|
||||
dragging: false,
|
||||
draggingOverPlayListArea: false,
|
||||
isShowingAddSoundCloudModal: false,
|
||||
|
||||
colorloopMode: false,
|
||||
flashingTransitions: false,
|
||||
|
||||
// 0 - no repeat, 1 - repeat all, 2 - repeat one
|
||||
repeat: 0,
|
||||
shuffle: false,
|
||||
volume: 100,
|
||||
// beat detection related pausing
|
||||
paused: false,
|
||||
// audio: playing or paused
|
||||
playing: false,
|
||||
songBeatPreferences: {},
|
||||
usingBeatPreferences: false,
|
||||
oldBeatPrefCache: null,
|
||||
storage: null,
|
||||
firstVisit: true,
|
||||
|
||||
soundCloudFuckUps: 0,
|
||||
maxSoundCloudFuckUps: 3,
|
||||
|
||||
// used to insure that we don't replay the same thing multiple times in shuffle mode
|
||||
shufflePlayed: [],
|
||||
|
||||
// noUiSlider connection specification
|
||||
filledConnect: [true, false],
|
||||
hueRangeConnect: [false, true, false],
|
||||
|
||||
SC_CLIENT_ID: 'aeec0034f58ecd85c2bd1deaecc41594',
|
||||
scUserNotSupportedHtml: '<div class="alert alert-danger" role="alert">SoundCloud user URLs are not supported.</div>',
|
||||
tooManySoundCloudFuckUps: '<div class="alert alert-danger" role="alert">The SoundCloud API is not seving the audio properly. More details <a href="https://www.soundcloudcommunity.com/soundcloud/topics/some-soundcloud-cdn-hosted-tracks-dont-have-access-control-allow-origin-header" target="_blank" rel="noopener noreferrer">HERE</a>.</div>',
|
||||
notStreamableHtml(fileNames) {
|
||||
let html = '<div class="alert alert-danger" role="alert">The following file(s) could not be added because they are not allowed to be streamed:<br>' + fileNames.toString().replace(/,/g, '<br>') + '</div>';
|
||||
|
||||
return html;
|
||||
},
|
||||
urlNotFoundHtml(url) {
|
||||
return '<div class="alert alert-danger" role="alert">The URL (' + url + ') could not be resolved.</div>';
|
||||
},
|
||||
failedToPlayFileHtml(fileName) {
|
||||
return '<div class="alert alert-danger" role="alert">Failed to play file (' + fileName + ').</div>';
|
||||
},
|
||||
failedToDecodeFileHtml(fileName) {
|
||||
return '<div class="alert alert-danger" role="alert">Failed to decode file (' + fileName + ').</div>';
|
||||
},
|
||||
|
||||
scUrl: computed('playQueuePointer', 'playQueue.[]', function () {
|
||||
let rtn = null,
|
||||
currentSong = this.get('playQueue')[this.get('playQueuePointer')];
|
||||
|
||||
if (currentSong && currentSong.scUrl) {
|
||||
rtn = currentSong.scUrl;
|
||||
}
|
||||
|
||||
return rtn;
|
||||
}),
|
||||
|
||||
playQueueEmpty: computed.empty('playQueue'),
|
||||
playQueueNotEmpty: computed.notEmpty('playQueue'),
|
||||
playQueueMultiple: computed('playQueue.[]', function () {
|
||||
return this.get('playQueue').length > 1;
|
||||
}),
|
||||
|
||||
seekPosition: computed('timeElapsed', 'timeTotal', function () {
|
||||
let timeTotal = this.get('timeTotal'),
|
||||
timeElapsed = this.get('timeElapsed');
|
||||
|
||||
if (timeTotal === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return timeElapsed / timeTotal * 100;
|
||||
}),
|
||||
|
||||
largeArtworkPic: computed('playQueuePointer', 'currentVisName', function () {
|
||||
let pic = '',
|
||||
currentVisName = this.get('currentVisName'),
|
||||
playQueuePointer = this.get('playQueuePointer'),
|
||||
playQueue = this.get('playQueue');
|
||||
|
||||
if (playQueuePointer !== -1 && currentVisName === 'None') {
|
||||
let song = playQueue[playQueuePointer];
|
||||
if (!isNone(song.picture)) {
|
||||
pic = song.picture;
|
||||
|
||||
if (song.scUrl) {
|
||||
pic = pic.replace('67x67', '500x500');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pic;
|
||||
}),
|
||||
|
||||
repeatIcon: computed('repeat', function () {
|
||||
if (this.get('repeat') === 2) {
|
||||
return 'repeat-one';
|
||||
}
|
||||
|
||||
return 'repeat';
|
||||
}),
|
||||
|
||||
playingIcon: computed('playing', function () {
|
||||
if (this.get('playing')) {
|
||||
return 'pause';
|
||||
} else if (this.get('timeElapsed') === this.get('timeTotal') && this.get('timeTotal') !== 0) {
|
||||
return 'replay';
|
||||
} else {
|
||||
return 'play-arrow';
|
||||
}
|
||||
}),
|
||||
|
||||
playerAreaClickIcon: computed('playing', function () {
|
||||
if (this.get('playing')) {
|
||||
return 'play-arrow';
|
||||
} else {
|
||||
return 'pause';
|
||||
}
|
||||
}),
|
||||
|
||||
playListAreaClass: computed('dragging', 'draggingOverPlayListArea', 'dimmerOn', function () {
|
||||
let classes = 'pointer';
|
||||
|
||||
if (this.get('dragging')) {
|
||||
classes += ' drag-here-highlight';
|
||||
}
|
||||
|
||||
if (this.get('draggingOverPlayListArea')) {
|
||||
classes += ' dragging-over';
|
||||
}
|
||||
|
||||
if (this.get('dimmerOn')) {
|
||||
classes += ' dimmerOn';
|
||||
}
|
||||
|
||||
return classes;
|
||||
}),
|
||||
|
||||
dimmerOnClass: computed('dimmerOn', function () {
|
||||
return this.get('dimmerOn') ? 'dimmerOn' : null;
|
||||
}),
|
||||
|
||||
repeatClass: computed('repeat', function () {
|
||||
return this.get('repeat') !== 0 ? 'player-control-icon active' : 'player-control-icon';
|
||||
}),
|
||||
|
||||
shuffleClass: computed('shuffle', function () {
|
||||
return this.get('shuffle') ? 'player-control-icon active' : 'player-control-icon';
|
||||
}),
|
||||
|
||||
beatDetectionAreaArrowIcon: computed('playerBottomDisplayed', function () {
|
||||
if (!this.get('playerBottomDisplayed')) {
|
||||
return 'keyboard-arrow-down';
|
||||
} else {
|
||||
return 'keyboard-arrow-up';
|
||||
}
|
||||
}),
|
||||
|
||||
timeElapsedTxt: computed('timeElapsed', function () {
|
||||
return this.formatTime(this.get('timeElapsed'));
|
||||
}),
|
||||
|
||||
timeTotalTxt: computed('timeTotal', function () {
|
||||
return this.formatTime(this.get('timeTotal'));
|
||||
}),
|
||||
|
||||
onPlayQueueChange: observer('playQueue.length', function () {
|
||||
let playQueueLength = this.get('playQueue.length');
|
||||
|
||||
if (playQueueLength > this.get('oldPlayQueueLength')) {
|
||||
run.once(this, () => {
|
||||
run.next(this, function () {
|
||||
$(`.track${playQueueLength - 1}`).velocity('scroll', { container: $('#play-list-area'), duration: 200 });
|
||||
Ps.update(document.getElementById('play-list-area'));
|
||||
});
|
||||
});
|
||||
} else {
|
||||
run.once(this, () => {
|
||||
run.next(this, function () {
|
||||
Ps.update(document.getElementById('play-list-area'));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
this.set('oldPlayQueueLength', playQueueLength);
|
||||
}),
|
||||
|
||||
onColorloopModeChange: observer('colorloopMode', 'playing', function () {
|
||||
this.set('colorLoopOn', this.get('playing') && this.get('colorloopMode'));
|
||||
}),
|
||||
|
||||
onOptionChange: observer('flashingTransitions', 'playQueue.[]', 'playQueuePointer', 'colorloopMode', function (self, option) {
|
||||
option = option.replace('.[]', '');
|
||||
let value = this.get(option);
|
||||
|
||||
// can't really save local music
|
||||
if (option === 'playQueue') {
|
||||
value = value.filter((song) => {
|
||||
return !song.url.startsWith('blob:');
|
||||
});
|
||||
}
|
||||
|
||||
this.get('storage').set('huegasm.' + option, value);
|
||||
}),
|
||||
|
||||
formatTime(time) {
|
||||
return this.pad(Math.floor(time / 60), 2) + ':' + this.pad(time % 60, 2);
|
||||
},
|
||||
|
||||
pad(num, size) { return ('000000000' + num).substr(-size); }
|
||||
});
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
Mixin,
|
||||
observer,
|
||||
$
|
||||
} = Ember;
|
||||
|
||||
export default Mixin.create({
|
||||
currentVisName: 'None',
|
||||
|
||||
visNames: ['None', 'Bars', 'Wave'],
|
||||
|
||||
onCurrentVisNameChange: observer('currentVisName', function () {
|
||||
let currentVisName = this.get('currentVisName');
|
||||
|
||||
if(currentVisName === 'None'){
|
||||
let canvasEl = $('#visualization')[0],
|
||||
ctx = canvasEl.getContext('2d');
|
||||
|
||||
ctx.clearRect(0, 0, canvasEl.width, canvasEl.height);
|
||||
}
|
||||
|
||||
this.get('storage').set('huegasm.currentVisName', currentVisName);
|
||||
}),
|
||||
|
||||
didInsertElement(){
|
||||
let dancer = this.get('dancer'),
|
||||
canvas = $('#visualization')[0],
|
||||
playerArea = $('#player-area'),
|
||||
ctx = canvas.getContext('2d'),
|
||||
spacing = 2,
|
||||
h = playerArea.height(), w;
|
||||
|
||||
canvas.height = h;
|
||||
|
||||
// must be done to preserver resolution so that things don't appear blurry
|
||||
// note that the height is set to 400px via css so it doesn't need to be recalculated
|
||||
let syncCanvasHeight = ()=>{
|
||||
w = playerArea.width();
|
||||
canvas.width = w;
|
||||
};
|
||||
|
||||
syncCanvasHeight();
|
||||
|
||||
$(window).on('resize', syncCanvasHeight);
|
||||
|
||||
dancer.bind('update', () => {
|
||||
let currentVisName = this.get('currentVisName'),
|
||||
gradient = ctx.createLinearGradient(0, 0, 0, h),
|
||||
pageHidden = document.hidden || document.msHidden || document.webkitHidden || document.mozHidden;
|
||||
|
||||
// dont do anything if the page is hidden or no visualization
|
||||
if(currentVisName === 'None' || pageHidden || !this.get('active')){
|
||||
return;
|
||||
}
|
||||
|
||||
ctx.clearRect(0, 0, w, h);
|
||||
|
||||
if (currentVisName === 'Wave') {
|
||||
let width = 3,
|
||||
count = 1024;
|
||||
|
||||
gradient.addColorStop(0.6, 'white');
|
||||
gradient.addColorStop(0, '#0036FA');
|
||||
|
||||
ctx.lineWidth = 1;
|
||||
ctx.strokeStyle = gradient;
|
||||
let waveform = dancer.getWaveform();
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(0, h / 2);
|
||||
for (let i = 0, l = waveform.length; i < l && i < count; i++) {
|
||||
ctx.lineTo(i * ( spacing + width ), ( h / 2 ) + waveform[i] * ( h / 2 ));
|
||||
}
|
||||
ctx.stroke();
|
||||
ctx.closePath();
|
||||
} else if (currentVisName === 'Bars') {
|
||||
let width = 4,
|
||||
count = 128;
|
||||
|
||||
gradient.addColorStop(1, '#0f0');
|
||||
gradient.addColorStop(0.6, '#ff0');
|
||||
gradient.addColorStop(0.2, '#F12B24');
|
||||
|
||||
ctx.fillStyle = gradient;
|
||||
let spectrum = dancer.getSpectrum();
|
||||
for (let i = 0, l = spectrum.length; i < l && i < count; i++) {
|
||||
ctx.fillRect(i * ( spacing + width ), h, width, -spectrum[i] * h - 60);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -1,165 +0,0 @@
|
|||
<div class="row" id="step1">
|
||||
<div id="player-area" class="col-xs-12 {{if (eq "None" currentVisName) "display-icon"}}" {{action "playerAreaPlay"}}>
|
||||
<canvas id="visualization"></canvas>
|
||||
|
||||
<div id="artwork">
|
||||
<img src={{largeArtworkPic}}>
|
||||
</div>
|
||||
|
||||
{{paper-icon playerAreaClickIcon id="play-notification"}}
|
||||
|
||||
<div id="player-controls">
|
||||
{{range-slider start=seekPosition min=0 max=100 connect=filledConnect id="seek-slider" on-change="seekChanged"}}
|
||||
|
||||
{{#if playQueueNotEmpty}}
|
||||
<span {{action "previous"}}>{{paper-icon "skip-previous" class="player-control-icon"}}</span><!--
|
||||
-->{{/if}}<!--
|
||||
--><span {{action "play"}}>{{paper-icon playingIcon class="player-control-icon"}}</span><!--
|
||||
-->{{#if playQueueMultiple}}<!--
|
||||
--><span {{action "next" true}}>{{paper-icon "skip-next" action="" class="player-control-icon"}}</span><!--
|
||||
-->{{/if}}
|
||||
|
||||
<div id="player-time-controls">{{timeElapsedTxt}} / {{timeTotalTxt}}</div>
|
||||
|
||||
{{#paper-menu as |menu|}}
|
||||
{{#menu.trigger}}
|
||||
{{#paper-button iconButton=true}}
|
||||
{{paper-icon "remove-red-eye" class="player-control-icon"}}
|
||||
{{/paper-button}}
|
||||
{{/menu.trigger}}
|
||||
{{#menu.content width=2 as |content|}}
|
||||
{{#each visNames as |name|}}
|
||||
{{#content.menu-item onClick=(action "setVisName" name)}}
|
||||
{{name}}
|
||||
|
||||
{{#if (eq currentVisName name)}}
|
||||
{{paper-icon "check" classNames=dimmerOnClass}}
|
||||
{{/if}}
|
||||
{{/content.menu-item}}
|
||||
{{/each}}
|
||||
{{/menu.content}}
|
||||
{{/paper-menu}}
|
||||
|
||||
{{#if scUrl}}
|
||||
<a href={{scUrl}} class="sound-cloud-link"{{action "gotoSCURL" scUrl}}>
|
||||
<img src="assets/images/sc-white.png" class="hidden-xs" />
|
||||
<img src="assets/images/sc-white-sm.png" class="visible-xs-inline" />
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="playlist" class="col-xs-12">
|
||||
<input id="file-input" type="file" accept="audio/*" multiple="true"/>
|
||||
|
||||
<div id="play-list-controls">
|
||||
{{#paper-menu as |menu|}}
|
||||
{{#menu.trigger}}
|
||||
{{#paper-button iconButton=false}}
|
||||
{{paper-icon "playlist add" class="player-control-icon"}} Add new music
|
||||
{{/paper-button}}
|
||||
{{/menu.trigger}}
|
||||
{{#menu.content width=3 as |content|}}
|
||||
{{#content.menu-item onClick="addLocalAudio"}}
|
||||
{{paper-icon "attachment" class=shuffleClass}} Local file
|
||||
{{/content.menu-item}}
|
||||
{{#content.menu-item onClick="toggleIsShowingAddSoundCloudModal"}}
|
||||
{{paper-icon "cloud" class=shuffleClass}} SoundCloud
|
||||
{{/content.menu-item}}
|
||||
{{/menu.content}}
|
||||
{{/paper-menu}}
|
||||
|
||||
<span {{action "shuffleChanged"}}>{{paper-icon "shuffle" class=shuffleClass}}</span>
|
||||
<span {{action "repeatChanged"}}>{{paper-icon repeatIcon class=repeatClass}}</span>
|
||||
</div>
|
||||
|
||||
<div id="play-list-area" class="{{playListAreaClass}} ps-container ps-theme-default ps-active-y" {{action "addLocalAudio"}}>
|
||||
{{#if playQueueEmpty}}
|
||||
<div id="dragHere">
|
||||
Add your music files here
|
||||
</div>
|
||||
{{paper-icon "library-music" class=dimmerOnClass}}
|
||||
{{/if}}
|
||||
|
||||
{{#each playQueue as |item index|}}
|
||||
<div class="playlist-item track{{index}} {{if (eq index playQueuePointer) "active"}} {{if dragging "hidden"}}" {{action "goToSong" index true bubbles=false}}>
|
||||
{{#if item.picture}}
|
||||
<img class="album-art" src={{item.picture}}>
|
||||
{{else}}
|
||||
<img class="album-art" src="assets/images/missingArtwork.png">
|
||||
{{/if}}
|
||||
|
||||
<div class="song-info">
|
||||
{{#if item.title}}
|
||||
<div class="song-title">{{item.title}}</div>
|
||||
<div class="song-artist">
|
||||
{{#if item.artistUrl}}
|
||||
<a href="#" {{action "gotoURL" item.artistUrl bubbles=false}}>{{item.artist}}</a>
|
||||
{{else}}
|
||||
{{item.artist}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{else}}
|
||||
{{item.fileName}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<span class="audio-remove-button" {{action "removeAudio" index bubbles=false}}>{{paper-icon "close" classNames="close"}}</span>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="slide-toggle" class="text-center row" {{action "slideTogglePlayerBottom"}}>
|
||||
<div class="col-xs-offset-5 col-xs-2">
|
||||
{{paper-icon beatDetectionAreaArrowIcon id="beat-detection-area-arrow-icon"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="player-bottom" class="row {{if dimmerOn "dimmerOn"}}">
|
||||
<div id="beat-area" class="col-xs-12">
|
||||
{{#if usingBeatPreferences}}
|
||||
<span id="save-beat-preferences-star">
|
||||
{{paper-icon "star" class=dimmerOnClass}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="row" id="beat-option-row">
|
||||
<div class="beat-option col-xs-4">
|
||||
<span class="option-description">
|
||||
Hue Range
|
||||
</span>
|
||||
|
||||
{{range-slider start=hueRange orientation="vertical" step=beatOptions.hueRange.step range=beatOptions.hueRange.range connect=hueRangeConnect on-change="hueRangeChanged" pips=beatOptions.hueRange.pips}}
|
||||
</div>
|
||||
|
||||
<div class="beat-option col-xs-4">
|
||||
<span data-toggle="tooltip" data-placement="top" data-title="The minimum (off-beat) and maximum (on-beat) brightness of the lights" class="option-description bootstrap-tooltip">
|
||||
Brightness Range
|
||||
</span>
|
||||
|
||||
{{range-slider start=brightnessRange orientation="vertical" step=beatOptions.brightnessRange.step range=beatOptions.brightnessRange.range on-change="brightnessRangeChanged" pips=beatOptions.brightnessRange.pips}}
|
||||
</div>
|
||||
|
||||
<div id="sensitivity-settings" class="beat-option col-xs-4">
|
||||
<span class="option-description">
|
||||
Sensitivity
|
||||
</span>
|
||||
|
||||
{{range-slider start=threshold orientation="vertical" step=beatOptions.threshold.step range=beatOptions.threshold.range on-change="thresholdChanged" pips=beatOptions.threshold.pips}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="beat-option col-xs-6">
|
||||
{{paper-checkbox value=flashingTransitions onChange=(action (mut flashingTransitions)) label="Flashing Transitions"}}
|
||||
</div>
|
||||
|
||||
<div class="beat-option col-xs-6">
|
||||
{{paper-checkbox value=colorloopMode onChange=(action (mut colorloopMode)) label="Colorloop"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{music-tab/add-soundcloud-sound-modal action="handleNewSoundCloudURL" isShowingModal=isShowingAddSoundCloudModal}}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
import Resolver from 'ember-resolver';
|
||||
|
||||
export default Resolver;
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
import Ember from 'ember';
|
||||
import config from './config/environment';
|
||||
|
||||
const Router = Ember.Router.extend({
|
||||
location: config.locationType,
|
||||
rootURL: config.rootURL
|
||||
});
|
||||
|
||||
Router.map(function() {
|
||||
});
|
||||
|
||||
export default Router;
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
@import 'huegasm-variables';
|
||||
|
||||
@import 'bootstrap'; // used to take out bootstrap scss modules that we don't need
|
||||
@import 'paper';
|
||||
|
||||
@import 'bridge-finder';
|
||||
@import 'common';
|
||||
@import 'dimmer';
|
||||
@import 'introjs';
|
||||
@import 'hue-controls';
|
||||
@import 'light-group';
|
||||
@import 'music-tab';
|
||||
@import 'noui-slider';
|
||||
|
||||
[data-ember-action] {
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
-webkit-tap-highlight-color {
|
||||
rgba: (0, 0, 0, 0);
|
||||
}
|
||||
|
||||
body, button {
|
||||
font-family: 'Raleway', sans-serif;
|
||||
}
|
||||
|
||||
.full-width {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
md-dialog {
|
||||
p {
|
||||
word-break: break-word;
|
||||
}
|
||||
}
|
||||
|
||||
.alert {
|
||||
margin-bottom: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
button.md-warn {
|
||||
background: $secondaryThemeColor;
|
||||
}
|
||||
|
||||
.ps-scrollbar-y-rail {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
56
mobile/app/styles/bootstrap.scss
vendored
|
|
@ -1,56 +0,0 @@
|
|||
/*!
|
||||
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
// Core variables and mixins
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins";
|
||||
|
||||
// Reset and dependencies
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/normalize";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/print";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/glyphicons";
|
||||
|
||||
// Core CSS
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/scaffolding";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/type";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/code";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/grid";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/tables";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/forms";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/buttons";
|
||||
|
||||
// Components
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/component-animations";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/dropdowns";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/button-groups";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/input-groups";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/navs";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/navbar";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/breadcrumbs";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/pagination";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/pager";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/labels";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/badges";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/jumbotron";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/thumbnails";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/alerts";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/progress-bars";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/media";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/list-group";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/panels";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/responsive-embed";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/wells";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/close";
|
||||
|
||||
// Components w/ JavaScript
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/modals";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/tooltip";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/popovers";
|
||||
//@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/carousel";
|
||||
|
||||
// Utility classes
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/utilities";
|
||||
@import "bower_components/bootstrap-sass/assets/stylesheets/bootstrap/responsive-utilities";
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#press-bridge-button-img {
|
||||
width: 200px;
|
||||
margin: 0 auto 30px auto;
|
||||
display: inherit;
|
||||
}
|
||||
|
||||
#bridge-button-group {
|
||||
width: 150px;
|
||||
margin: 30px auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#bridge-input md-input-container{
|
||||
max-width: 200px;
|
||||
margin: 30px auto 20px;
|
||||
}
|
||||
|
||||
#bridge-finder {
|
||||
text-align: center;
|
||||
padding: 20px 15px 0;
|
||||
font-size: 16px;
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
#bridge-finder .md-bar {
|
||||
background-color: $secondaryThemeColor !important;
|
||||
}
|
||||
|
||||
.bridge-finder-bottom {
|
||||
margin-top: 30px;
|
||||
width: 100%;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
.text-left {
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.relative {
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
.no-text-decoration {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
div.dimmerOn {
|
||||
color: $whitish !important;
|
||||
background: $blackish !important;
|
||||
}
|
||||
|
||||
html.dimmerOn {
|
||||
color: white;
|
||||
background: $blackish;
|
||||
}
|
||||
|
||||
body.dimmerOn {
|
||||
color: $whitish;
|
||||
background: $blackish;
|
||||
md-dialog {
|
||||
background-color: rgba(0, 0, 0, 0.9) !important;
|
||||
}
|
||||
md-input-container {
|
||||
label {
|
||||
color: #3f51b5 !important;
|
||||
}
|
||||
.md-input {
|
||||
color: $whitish !important;
|
||||
border-color: #3f51b5 !important;
|
||||
}
|
||||
}
|
||||
.md-track {
|
||||
background: $whitish;
|
||||
}
|
||||
.color {
|
||||
border: 1px solid white;
|
||||
}
|
||||
.playlist-item, .ember-basic-dropdown-content md-menu-content {
|
||||
color: $whitish;
|
||||
background-color: $dimmerOnButtonColor;
|
||||
}
|
||||
.ember-basic-dropdown-content a {
|
||||
color: $whitish;
|
||||
}
|
||||
.playlist-item {
|
||||
&.active {
|
||||
background: darken($dimmerOnButtonColor, 15%) !important;
|
||||
}
|
||||
.audio-remove-button .paper-icon {
|
||||
color: $whitish !important;
|
||||
}
|
||||
}
|
||||
.light-inactive::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.hue-light {
|
||||
-webkit-filter: drop-shadow(0 0 5px #228DFF);
|
||||
fill: $whitish;
|
||||
path {
|
||||
fill: $whitish;
|
||||
}
|
||||
}
|
||||
.md-container {
|
||||
color: $whitish;
|
||||
}
|
||||
.add-new-music:hover {
|
||||
background: darken($dimmerOnButtonColor, 5%);
|
||||
}
|
||||
.md-bar {
|
||||
background-color: darken(white, 60%) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.paper-icon.dimmerOn {
|
||||
text-shadow: $glowingText;
|
||||
opacity: 0.9 !important;
|
||||
}
|
||||
|
||||
#dimmer-container {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
padding: 5px 10px;
|
||||
position: relative;
|
||||
bottom: 5px;
|
||||
}
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
#lights-tab {
|
||||
padding: 0;
|
||||
margin-top: 5vh;
|
||||
.paper-icon {
|
||||
line-height: 0.8 !important;
|
||||
}
|
||||
}
|
||||
|
||||
#hue-controls {
|
||||
max-width: 1200px;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
md-progress-circular {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
|
||||
#navigation {
|
||||
padding: 15px 0 4vh;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
.ember-basic-dropdown-trigger {
|
||||
z-index: 3;
|
||||
text-align: right;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: -10px;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
.navigation-item {
|
||||
font-size: 20px;
|
||||
padding: 0 10px 0 10px;
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.color {
|
||||
border: 1px solid rgb(164, 164, 164);
|
||||
}
|
||||
|
||||
.color-row .md-list-item-inner {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
#color-picker {
|
||||
padding: 5px;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.3);
|
||||
color: #FFFFFF;
|
||||
position: absolute;
|
||||
width: 266px;
|
||||
height: 266px;
|
||||
right: 6px;
|
||||
top: -9px;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.color-content {
|
||||
box-shadow: none !important;
|
||||
md-menu-content, md-menu-item {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
#loop-addition {
|
||||
position: absolute;
|
||||
left: 33px;
|
||||
top: 15px;
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
#huegasm-content {
|
||||
height: 80%;
|
||||
max-height: 500px;
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
$playerHeight: 400px;
|
||||
$playerDefaultIconColor: #BBBBBB;
|
||||
$secondaryThemeColor: #F12B24;
|
||||
$glowingText: 0 0 2px #fff, 0 0 4px #fff, 0 0 20px #228DFF;
|
||||
$dimmerOnButtonColor: #404040;
|
||||
$blackish: #242424;
|
||||
$whitish: #e0e0e0;
|
||||
$paperThemeColor: #3f51b5;
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#settings.introjs-fixParent {
|
||||
position: inherit !important;
|
||||
}
|
||||
|
||||
.introjs-tooltip {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.introjs-skipbutton {
|
||||
color: $secondaryThemeColor;
|
||||
}
|
||||
|
||||
.introjs-bullets ul li a.active {
|
||||
position: relative;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
top: -2px;
|
||||
}
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
.light-group {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.hue-light {
|
||||
width: 35px;
|
||||
}
|
||||
|
||||
.toggleable-light {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
border-radius: 30%;
|
||||
border: 2px solid $whitish;
|
||||
margin: 0 2px;
|
||||
display: flex;
|
||||
height: 50px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.light-inactive {
|
||||
border-color: rgba($secondaryThemeColor, 0.4);
|
||||
}
|
||||
|
||||
.light-inactive::before {
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
content: "\e014";
|
||||
font-family: 'Glyphicons Halflings';
|
||||
font-size: 40px;
|
||||
color: rgba($secondaryThemeColor, 0.6);
|
||||
}
|
||||
|
||||
.light-active {
|
||||
border-color: rgba(green, 0.4);
|
||||
.hue-light {
|
||||
transition-duration: 0.3s;
|
||||
transition-property: transform;
|
||||
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.remove-button {
|
||||
margin: 10px 0 10px 60px;
|
||||
}
|
||||
|
||||
.light-text {
|
||||
padding: 0 7px;
|
||||
&.light-inactive::before {
|
||||
left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.light-text-content {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
max-width: 100px;
|
||||
}
|
||||
|
|
@ -1,360 +0,0 @@
|
|||
.row {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#music-tab {
|
||||
padding: 0;
|
||||
margin: 10px 0 20px;
|
||||
}
|
||||
|
||||
#slide-toggle {
|
||||
font-size: 22px;
|
||||
color: $playerDefaultIconColor;
|
||||
background: #730B07;
|
||||
div .paper-icon {
|
||||
color: inherit !important;
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
#player-controls {
|
||||
transition: all 0.2s ease-in-out;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 15px 10px;
|
||||
width: 100%;
|
||||
color: white !important;
|
||||
z-index: 20;
|
||||
background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
|
||||
.ember-basic-dropdown-trigger {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 10px;
|
||||
}
|
||||
md-menu-item > .md-button md-icon {
|
||||
margin: auto 0 5px 10px;
|
||||
}
|
||||
.play-arrow, .pause, .replay {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
#player-time-controls {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
display: inline-block;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.player-control-icon {
|
||||
color: $playerDefaultIconColor !important;
|
||||
transition-duration: 0.1s;
|
||||
margin-right: 10px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.player-control-icon.active {
|
||||
color: $secondaryThemeColor !important;
|
||||
}
|
||||
|
||||
#play-notification {
|
||||
position: relative;
|
||||
color: white !important;
|
||||
background: black;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
opacity: 0;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
#player-area {
|
||||
height: $playerHeight;
|
||||
background-color: black;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#playlist {
|
||||
height: $playerHeight;
|
||||
background-color: #1E1E1E;
|
||||
padding: 0 5px 0 5px;
|
||||
}
|
||||
|
||||
#player-area * .noUi-origin {
|
||||
background-color: $blackish;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#player-area * .noUi-base {
|
||||
background-color: $blackish;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#volume-bar {
|
||||
width: 5em;
|
||||
height: 0.5em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#player-area * .noUi-handle::after, #player-area * .noUi-handle::before {
|
||||
content: none;
|
||||
}
|
||||
|
||||
#seek-slider {
|
||||
margin-bottom: 15px;
|
||||
transition-duration: 0.2s;
|
||||
height: 8px;
|
||||
.noUi-handle {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
}
|
||||
|
||||
#seek-slider * .noUi-handle {
|
||||
border: none;
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
border-radius: 50%;
|
||||
top: -4px;
|
||||
left: -6px;
|
||||
opacity: 0;
|
||||
transition-duration: 0.1s;
|
||||
background-color: $secondaryThemeColor !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#play-list-controls {
|
||||
min-height: 40px;
|
||||
margin-top: 5px;
|
||||
border-bottom: 1px solid #3a3a3a;
|
||||
position: relative;
|
||||
font-size: 20px;
|
||||
button .player-control-icon {
|
||||
margin: 0 5px 1px 3px;
|
||||
}
|
||||
.ember-basic-dropdown-trigger {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
color: $whitish;
|
||||
.paper-button {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#play-list-area {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 350px;
|
||||
margin: 0 auto;
|
||||
border-radius: 5px;
|
||||
transition: 0.1s all ease-in-out;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
#dragHere {
|
||||
position: absolute;
|
||||
top: 27%;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
[md-font-icon="library-music"] {
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
font-size: 100px;
|
||||
opacity: 0.5;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.song-artist {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#file-input {
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.playlist-item {
|
||||
margin-right: 5px;
|
||||
border-bottom: 1px solid rgba(128, 128, 128, 0.3);
|
||||
border-top: 1px solid rgba(128,128,128,0.3);
|
||||
height: 62px;
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
padding: 0 20px 0 5px;
|
||||
position: relative;
|
||||
color: $blackish;
|
||||
background: darken(white, 5%);
|
||||
.close {
|
||||
font-size: 18px;
|
||||
}
|
||||
.album-art {
|
||||
height: 60px;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.song-info {
|
||||
.song-title {
|
||||
max-height: 40px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.song-artist {
|
||||
max-height: 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
.audio-remove-button {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.playlist-item.active {
|
||||
background: darken(white, 15%) !important;
|
||||
border-top: 1px solid $secondaryThemeColor;
|
||||
border-bottom: 1px solid $secondaryThemeColor;
|
||||
}
|
||||
|
||||
.playlist-item:hover {
|
||||
background: darken(white, 10%);
|
||||
}
|
||||
|
||||
#beat-area {
|
||||
position: relative;
|
||||
padding: 0;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#beat-option-button-group {
|
||||
margin: 20px 0 10px 0;
|
||||
}
|
||||
|
||||
.beat-option {
|
||||
padding: 5px 0;
|
||||
text-align: center;
|
||||
md-switch {
|
||||
margin: 0;
|
||||
}
|
||||
.option-description {
|
||||
display: inline-flex;
|
||||
font-size: 20px;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
button {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#player-bottom {
|
||||
color: $blackish;
|
||||
border: 1px solid black;
|
||||
width: 100%;
|
||||
background: white;
|
||||
border-bottom-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
.md-label {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#add-music-choices {
|
||||
min-width: initial;
|
||||
right: 0;
|
||||
left: initial;
|
||||
width: 100px;
|
||||
top: 25px;
|
||||
}
|
||||
|
||||
.add-new-music {
|
||||
padding: 0 5px 0 10px;
|
||||
font-size: 16px;
|
||||
border-radius: 5px;
|
||||
background: #f8f8f8;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.sound-cloud-link {
|
||||
position: absolute;
|
||||
right: 55px;
|
||||
bottom: 22px;
|
||||
}
|
||||
|
||||
#visualization {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#save-beat-preferences-star {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
z-index: 1000;
|
||||
left: 5px;
|
||||
md-icon {
|
||||
color: $secondaryThemeColor !important;
|
||||
font-size: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.visualizers-menu {
|
||||
left: -135px;
|
||||
}
|
||||
|
||||
.display-icon {
|
||||
background: url(images/huegasm.png) center center no-repeat;
|
||||
background-size: 80px 80px;
|
||||
}
|
||||
|
||||
#artwork {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
img {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
max-height: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
.keyboard-arrow-down {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.visualizers-menu .paper-icon {
|
||||
margin-left: 10px;
|
||||
position: relative;
|
||||
top: -4px;
|
||||
}
|
||||
|
||||
.close {
|
||||
font-size: 18px !important;
|
||||
color: rgb(51, 51, 51);
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.ember-notify-default.ember-notify-cn {
|
||||
top: 0;
|
||||
bottom: initial;
|
||||
}
|
||||
|
||||
#soundcloud-tutorial {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media(max-width: 500px) {
|
||||
#sensitivity-settings .noUi-value-vertical {
|
||||
display: none;
|
||||
}
|
||||
.option-description {
|
||||
height: 55px;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
.noUi-value-vertical {
|
||||
margin-top: -10px;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.noUi-value-vertical, .noUi-pips {
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
.noUi-vertical .noUi-handle {
|
||||
border: 1px solid #A3A0A0;
|
||||
width: 26px;
|
||||
}
|
||||
|
||||
.noUi-vertical .noUi-handle:after, .noUi-vertical .noUi-handle:before{
|
||||
background: grey;
|
||||
}
|
||||
|
||||
.noUi-connect {
|
||||
background-color: $secondaryThemeColor;
|
||||
}
|
||||
|
||||
.noUi-horizontal .noUi-handle {
|
||||
width: 0.4em;
|
||||
height: 1.3em;
|
||||
left: -0.071em;
|
||||
top: -0.550em;
|
||||
transition-duration: 0.1s;
|
||||
background: $playerDefaultIconColor !important;
|
||||
}
|
||||
|
||||
.noUi-target {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.noUi-base {
|
||||
background-color: #ADADAD;
|
||||
border: 1px solid #797979;
|
||||
}
|
||||
|
||||
.noUi-vertical {
|
||||
height: 200px;
|
||||
margin: 15px auto 10px;
|
||||
}
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
@import 'ember-paper';
|
||||
|
||||
md-checkbox .md-icon, .md-off, .md-on {
|
||||
border-color: inherit !important;
|
||||
}
|
||||
|
||||
md-checkbox.md-default-theme.md-checked .md-icon {
|
||||
background: $secondaryThemeColor;
|
||||
}
|
||||
|
||||
md-checkbox .md-label {
|
||||
width: 125px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.md-button {
|
||||
font-size: 13px;
|
||||
flex-direction: unset;
|
||||
span {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.ember-basic-dropdown-trigger {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
md-progress-circular {
|
||||
margin: 0 auto 20px auto !important;
|
||||
}
|
||||
|
||||
md-progress-linear {
|
||||
margin-bottom: 50px !important;
|
||||
}
|
||||
|
||||
md-slider.md-default-theme .md-thumb:after {
|
||||
border-color: $secondaryThemeColor;
|
||||
background-color: $secondaryThemeColor;
|
||||
}
|
||||
|
||||
md-icon {
|
||||
color: rgba(0, 0, 0, 0.54) !important;
|
||||
}
|
||||
|
||||
md-switch.md-default-theme.md-checked .md-thumb {
|
||||
background-color: $secondaryThemeColor;
|
||||
}
|
||||
|
||||
md-list-item {
|
||||
margin-bottom: 2vh;
|
||||
}
|
||||
|
||||
.md-thumb-text {
|
||||
user-select: none;
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"name": "huegasm",
|
||||
"dependencies": {
|
||||
"JavaScript-ID3-Reader": "https://github.com/aadsm/JavaScript-ID3-Reader.git",
|
||||
"bootstrap-sass": "^3.3.5",
|
||||
"hammer.js": "^2.0.8",
|
||||
"intro.js": "^2.1.0",
|
||||
"locallyjs": "^0.3.2",
|
||||
"matchMedia": "^0.3.0",
|
||||
"velocity": "^1.3.1",
|
||||
"perfect-scrollbar": "^0.7.0"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
/* jshint node: true */
|
||||
|
||||
module.exports = function(environment) {
|
||||
var ENV = {
|
||||
modulePrefix: 'huegasm_mobile',
|
||||
podModulePrefix: 'huegasm_mobile/pods',
|
||||
environment,
|
||||
rootURL: '',
|
||||
locationType: 'hash',
|
||||
EmberENV: {
|
||||
FEATURES: {
|
||||
// Here you can enable experimental features on an ember canary build
|
||||
// e.g. 'with-controller': true
|
||||
}
|
||||
},
|
||||
|
||||
APP: {
|
||||
// Here you can pass flags/options to your application instance
|
||||
// when it is created
|
||||
}
|
||||
};
|
||||
|
||||
if (environment === 'development') {
|
||||
// ENV.APP.LOG_RESOLVER = true;
|
||||
// ENV.APP.LOG_ACTIVE_GENERATION = true;
|
||||
// ENV.APP.LOG_TRANSITIONS = true;
|
||||
// ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
|
||||
// ENV.APP.LOG_VIEW_LOOKUPS = true;
|
||||
}
|
||||
|
||||
if (environment === 'test') {
|
||||
// Testem prefers this...
|
||||
ENV.locationType = 'none';
|
||||
|
||||
// keep test console output quieter
|
||||
ENV.APP.LOG_ACTIVE_GENERATION = false;
|
||||
ENV.APP.LOG_VIEW_LOOKUPS = false;
|
||||
|
||||
ENV.APP.rootElement = '#ember-testing';
|
||||
}
|
||||
|
||||
if (environment === 'production') {
|
||||
|
||||
}
|
||||
|
||||
return ENV;
|
||||
};
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
/* global require, module */
|
||||
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
|
||||
var Funnel = require('broccoli-funnel');
|
||||
|
||||
module.exports = function(defaults) {
|
||||
var app = new EmberApp(defaults);
|
||||
var extraAssets = new Funnel('bower_components/bootstrap-sass/assets/fonts/bootstrap/', {
|
||||
srcDir: '/',
|
||||
include: ['**'],
|
||||
destDir: '/fonts/bootstrap'
|
||||
});
|
||||
|
||||
app.import('vendor/dancer.js');
|
||||
app.import('vendor/cie-rgb-converter.js');
|
||||
|
||||
app.import('bower_components/intro.js/intro.js');
|
||||
app.import('bower_components/intro.js/introjs.css');
|
||||
app.import('bower_components/intro.js/themes/introjs-nassim.css');
|
||||
app.import('bower_components/JavaScript-ID3-Reader/dist/id3-minimized.js');
|
||||
app.import('bower_components/locallyjs/dist/locally.min.js');
|
||||
app.import('bower_components/velocity/velocity.js');
|
||||
app.import('bower_components/perfect-scrollbar/js/perfect-scrollbar.js');
|
||||
app.import('bower_components/perfect-scrollbar/css/perfect-scrollbar.css');
|
||||
|
||||
return app.toTree(extraAssets);
|
||||
};
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget id="com.hoboman313.huegasm" version="1.2.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<name>Huegasm</name>
|
||||
<content src="index.html" />
|
||||
<plugin name="cordova-plugin-inappbrowser" spec="~1.6.1" />
|
||||
<plugin name="cordova-plugin-splashscreen" spec="~4.0.1" />
|
||||
<plugin name="cordova-plugin-whitelist" spec="~1.3.1" />
|
||||
<access origin="*" />
|
||||
<allow-intent href="http://*/*" />
|
||||
<allow-intent href="https://*/*" />
|
||||
<allow-intent href="tel:*" />
|
||||
<allow-intent href="sms:*" />
|
||||
<allow-intent href="mailto:*" />
|
||||
<allow-intent href="geo:*" />
|
||||
<allow-navigation href="http://*/*" />
|
||||
<allow-navigation href="https://*/*" />
|
||||
<preference name="ShowSplashScreenSpinner" value="false" />
|
||||
<engine name="android" spec="~6.1.2" />
|
||||
<platform name="android">
|
||||
<allow-intent href="market:*" />
|
||||
<splash density="port-ldpi" src="res/screen/android/port-ldpi.png" />
|
||||
<splash density="land-ldpi" src="res/screen/android/land-ldpi.png" />
|
||||
<splash density="port-mdpi" src="res/screen/android/port-mdpi.png" />
|
||||
<splash density="land-mdpi" src="res/screen/android/land-mdpi.png" />
|
||||
<splash density="port-hdpi" src="res/screen/android/port-hdpi.png" />
|
||||
<splash density="land-hdpi" src="res/screen/android/land-hdpi.png" />
|
||||
<splash density="port-xhdpi" src="res/screen/android/port-xhdpi.png" />
|
||||
<splash density="land-xhdpi" src="res/screen/android/land-xhdpi.png" />
|
||||
<splash density="port-xxhdpi" src="res/screen/android/port-xxhdpi.png" />
|
||||
<splash density="land-xxhdpi" src="res/screen/android/land-xxhdpi.png" />
|
||||
<splash density="port-xxxhdpi" src="res/screen/android/port-xxxhdpi.png" />
|
||||
<splash density="land-xxxhdpi" src="res/screen/android/land-xxxhdpi.png" />
|
||||
<icon density="ldpi" src="res/icon/android/ldpi.png" />
|
||||
<icon density="mdpi" src="res/icon/android/mdpi.png" />
|
||||
<icon density="hdpi" src="res/icon/android/hdpi.png" />
|
||||
<icon density="xhdpi" src="res/icon/android/xhdpi.png" />
|
||||
<icon density="xxhdpi" src="res/icon/android/xxhdpi.png" />
|
||||
<icon density="xxxhdpi" src="res/icon/android/xxxhdpi.png" />
|
||||
</platform>
|
||||
</widget>
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
<!--
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
-->
|
||||
# Cordova Hooks
|
||||
|
||||
Cordova Hooks represent special scripts which could be added by application and plugin developers or even by your own build system to customize cordova commands. See Hooks Guide for more details: http://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html#Hooks%20Guide.
|
||||
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
|
@ -1,599 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 612 759.0723267" enable-background="new 0 0 612 759.0723267" xml:space="preserve">
|
||||
<g>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="4.9999762" y1="376.5135803" x2="607.9945679" y2="376.5135803">
|
||||
<stop offset="0" style="stop-color:#EB2227"/>
|
||||
<stop offset="0.5" style="stop-color:#FCEE21"/>
|
||||
<stop offset="1" style="stop-color:#29ABE2"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M581.9107056,97.315155c-8.1942749-16.6652756-19.1679688-31.0324631-34.4998779-41.7709007
|
||||
c-6.6992798-4.692318-13.7386475-8.8071861-21.5976562-11.3221931c-0.203064-0.103054-0.4064941-0.2064056-0.6095581-0.3097572
|
||||
c-0.9022217-0.3022461-1.8048096-0.6044922-2.7073364-0.9067383c-0.3199463-0.124382-0.6398926-0.2484665-0.9602051-0.3728485
|
||||
c-2.7091064-0.8133011-5.4181519-1.6263008-8.1281738-2.4398994c-3.1871033-0.812397-6.3742065-1.6244965-9.5613098-2.4365921
|
||||
c-0.2472534-0.1018524-0.4945068-0.203701-0.7417908-0.3055496c-0.4071045-0.0411606-0.8139038-0.082325-1.2210083-0.1234856
|
||||
c-0.1523132-0.0823212-0.3043213-0.164341-0.456665-0.2466621c-0.4509583-0.0414619-0.9016113-0.0832214-1.3522949-0.1246834
|
||||
c-0.2247314-0.0931358-0.4494629-0.1865768-0.6744995-0.280014c-0.4365234-0.0504723-0.8733826-0.1012497-1.3102112-0.1520233
|
||||
c-0.0955505-0.0441666-0.1914062-0.0883293-0.2869263-0.1324959c-0.5627441-0.0730057-1.1257629-0.1463165-1.6885071-0.2193222
|
||||
c-0.2845154-0.0832253-0.5687256-0.1664467-0.8529358-0.2496681c-0.4005127-0.0336494-0.8009949-0.0670013-1.2011719-0.1006508
|
||||
c-0.2295532-0.1291885-0.4458618-0.3349915-0.6904297-0.3767548c-4.5177612-0.7697334-9.0316162-1.5680122-13.5617065-2.2599335
|
||||
c-3.8597717-0.5894661-7.7391052-1.0518494-11.6094055-1.5704136c-3.6969604-0.5386944-7.3939209-1.0773888-11.0908508-1.6163845
|
||||
c-3.2835388-0.4055977-6.5671082-0.8117962-9.850647-1.2173958c-0.2000732-0.0486717-0.400177-0.0973434-0.6002808-0.1460152
|
||||
c-0.1982727-0.0691013-0.3965759-0.1388035-0.5951843-0.2079067c-1.8179626-0.1790638-3.6359558-0.3578262-5.4539185-0.5365906
|
||||
c-0.3647461-0.0895329-0.7294922-0.1790638-1.0942383-0.2685966c-0.7408752-0.0444641-1.4820862-0.0883293-2.2229614-0.1327953
|
||||
c-0.3503113-0.0841236-0.7009277-0.1682472-1.051239-0.2523727c-0.7171631-0.0267391-1.4346313-0.0537777-2.1517944-0.0805187
|
||||
c-0.3755493-0.0943394-0.7510986-0.1883774-1.1269531-0.2824154c-1.0166931-0.0688019-2.0331116-0.1376038-3.0498047-0.2064056
|
||||
c-0.188385-0.0360527-0.3767395-0.071806-0.5648193-0.1078587c-0.593689-0.0219326-1.1870728-0.0435638-1.780426-0.0654964
|
||||
c-3.0179443-0.2538738-6.0359192-0.5077477-9.0538635-0.7616234c-0.6862183-0.0760117-1.3721313-0.1523247-2.0580444-0.2286358
|
||||
c-0.4031677-0.044466-0.8060608-0.088932-1.209259-0.1333981c-1.3742371-0.0865269-2.7481689-0.1727543-4.1221008-0.2589817
|
||||
c-0.5462036-0.0498734-1.0924072-0.1000481-1.6386108-0.1502209c-2.8674316-0.1243839-5.7345581-0.2487679-8.6016846-0.3731499
|
||||
c-2.2671509-0.1568317-4.5342712-0.3139629-6.8014221-0.471096c-0.8811951-0.1108627-1.762085-0.2217255-2.6430054-0.3325901
|
||||
c-3.2829285-0.1333961-6.5655823-0.2664928-9.8482056-0.399889c-2.4612427-0.1559296-4.9221802-0.3115597-7.3830872-0.4674892
|
||||
c-1.088501-0.114769-2.1767273-0.2295399-3.2652283-0.3440075c-6.036499-0.2929325-12.072998-0.585865-18.1083069-0.8784962
|
||||
c-1.1966553-0.1126652-2.3936157-0.2250309-3.5903015-0.3373966c-3.1609497-0.1898804-6.3215942-0.3797607-9.4825745-0.5693398
|
||||
c-0.389679-0.0949402-0.7793579-0.2725029-1.1690063-0.2725029c-7.2818604,0.0012016-14.563385,0.023735-21.8452148,0.0414619
|
||||
c-11.3543396,0.0006008-22.7089844,0.0012016-34.0633545,0.001503
|
||||
c-10.8078308,0.2721996-21.6159668,0.5441017-32.4241028,0.8163033c-4.9260559,0.1345978-9.8524323,0.2691975-14.7784882,0.4040947
|
||||
c-0.6787109-0.0291424-1.3598022-0.1108627-2.0358124-0.0790157c-8.8979187,0.4188175-17.7949371,0.8532581-26.6922607,1.2840939
|
||||
c-4.1043549,0.2655907-8.2089996,0.5308819-12.3133545,0.7961731c-0.138504,0.0012016-0.2770081,0.0024052-0.4155121,0.0033054
|
||||
c-1.2291107,0.1367016-2.4582214,0.2731037-3.6876373,0.4098053c-1.5058136,0.1315937-3.0116425,0.2634869-4.5174561,0.3950825
|
||||
c-0.1358032,0.005106-0.2716064,0.0102139-0.4076996,0.0153217c-4.1247864,0.3662395-8.2498779,0.732481-12.3749542,1.0987206
|
||||
c-3.2625122,0.2908287-6.5250244,0.5816574-9.7872314,0.8721867c-0.2637939,0.0411606-0.5272827,0.0826206-0.7910614,0.1237812
|
||||
c-0.8361359,0.0594883-1.6725769,0.1189766-2.5090027,0.1787643c-0.2634888,0.063694-0.5269775,0.127388-0.7907715,0.191082
|
||||
c-0.5528107,0.0582848-1.1056366,0.116272-1.6584473,0.1745567c-3.7077637,0.4119072-7.423645,0.7616234-11.1203003,1.2555523
|
||||
c-2.8743286,0.3836651-5.7249451,0.9469967-8.5863647,1.4304085c-0.5576172,0.0321484-1.1149445,0.0645962-1.6725616,0.0967426
|
||||
c-0.2682953,0.0892315-0.5368958,0.1787643-0.805481,0.2679958c-0.537796,0.0402584-1.075592,0.0805187-1.6133881,0.1210785
|
||||
c-0.2944336,0.1030521-0.588562,0.2064037-0.8829956,0.3097572c-4.359726,0.8319263-8.7197571,1.6638527-13.0794907,2.4957809
|
||||
c-0.2718964,0.0102158-0.5435028,0.0204277-0.8151016,0.0306435c-0.2827148,0.1117668-0.5654297,0.2238312-0.847847,0.3358955
|
||||
c-4.642746,1.067173-9.2854919,2.134346-13.9279404,3.2018204c-8.4133072,2.202549-16.4817047,5.3085289-24.2295303,9.2536469
|
||||
c-0.2535782,0.0850258-0.5224686,0.1397057-0.758316,0.2598839c-8.7960739,4.478405-16.9825478,9.8827744-24.3566208,16.4459534
|
||||
c-2.7280235,2.4278755-5.1474915,5.2027702-7.7078667,7.8196297c-1.3369713,1.4445267-2.7577667,2.8205566-3.9976959,4.3441086
|
||||
c-12.6138,15.4974518-19.3488312,33.4774628-21.2887917,53.1420593c-0.9187546,9.31073-0.3160667,18.7428436,1.6548405,28.0415497
|
||||
c2.3479614,11.0773468,5.59515,21.8235931,10.6140499,31.9737549c4.0136185,8.1170654,8.2838173,16.1070557,12.4404449,24.1535187
|
||||
c1.0602646,2.2115631,2.0538292,4.4582672,3.1919098,6.6292725c6.1044006,11.6451721,12.2027931,23.2942505,18.3886185,34.8964691
|
||||
c3.6533813,6.8530884,7.4648056,13.6217957,11.2053223,20.4283142c0.8382339,1.623291,1.6683578,3.2514038,2.5168076,4.8695984
|
||||
c5.1129456,9.7499695,10.0552292,19.5293884,13.115242,30.2209473c2.0979919,7.3299255,5.1850433,14.3771057,7.8301468,21.5504761
|
||||
c0.0679016,0.2686157,0.1358032,0.5372009,0.2040024,0.8060913c0.1123657,0.3572388,0.225029,0.714447,0.3373947,1.0716858
|
||||
c0.1634445,0.519165,0.3367996,1.035614,0.4885254,1.5581055c3.6305542,12.5281677,7.3166885,25.0404053,10.8586121,37.5938416
|
||||
c1.3348694,4.7322693,2.3347397,9.5594788,3.4875412,14.3434448c0.1054535,0.4437561,0.210907,0.8875122,0.3163681,1.3315735
|
||||
c0.0360489,0.377655,0.0721054,0.7553101,0.1081543,1.1332703c0.1087646,0.2854004,0.2172241,0.5705261,0.3259811,0.855957
|
||||
c-0.0318451,0.1324768-0.011116,0.2559814,0.0621948,0.3710327c0.113266,0.4813232,0.2262344,0.9632263,0.3395004,1.4448242
|
||||
c0.0249329,0.2025146,0.0501709,0.4049988,0.0754089,0.6075134c0.1072617,0.4533691,0.2142181,0.9070435,0.3214798,1.3606873
|
||||
c-0.059494,0.1063843-0.0414658,0.197113,0.0540771,0.272522c0.0378571,0.468689,0.0333481,0.9451904,0.1195755,1.4045715
|
||||
c0.846344,4.5153503,1.7780228,9.015686,2.5501633,13.5436707c1.4460297,8.4836121,2.8779373,16.9711304,4.1689453,25.4790649
|
||||
c0.8448486,5.5681152,1.458046,11.1722717,2.1253281,16.7662354c0.4909363,4.114563,0.9334869,8.2354431,1.3387756,12.359314
|
||||
c0.3857727,3.9237976,0.7354889,7.8520813,1.0284271,11.7839661c0.4392395,5.8937988,0.7841492,11.7947998,1.2263947,17.6882935
|
||||
c0.4539795,6.0500183,0.9818573,12.094635,1.4676666,18.1422729c0.5185699,6.4595032,1.8702698,12.7186584,4.4522705,18.6857605
|
||||
c0.1234894,0.2827148,0.2466583,0.5654297,0.3701477,0.8481445l-0.0057068,0.0065918
|
||||
c1.8008575,5.1646118,4.4062958,9.9353638,7.9431152,14.0562134c2.9809875,3.4725342,6.4619293,6.5157471,9.7211304,9.7487793
|
||||
c0.5017395,0.4485474,0.962616,0.9562988,1.5115356,1.3360596c3.3012543,2.2839966,6.4721375,4.6863403,8.5028381,9.3185425
|
||||
c-0.2024994,1.5545044-0.2301483,4.0331421-0.8806,6.3363647c-2.0805664,7.3647461-2.6856689,14.800415-1.7813263,22.3851318
|
||||
c0.261673,2.192627,0.8397369,4.4606323,0.5314789,6.5866089c-0.993866,6.8494873-1.4003601,13.6611328-0.1333923,20.5021973
|
||||
c0.5275726,2.8482056,1.3703156,5.6615601,1.6298981,8.5305176c0.3668365,4.052063,0.0444641,8.1747437,0.5245667,12.206665
|
||||
c0.7159576,6.0161133,2.474762,11.7797852,5.6062775,17.0462646c0.3557281,0.7303467,0.6621704,1.489563,1.0743866,2.1863403
|
||||
c5.5302429,9.3449707,14.1322327,15.9039307,21.4528351,23.6256104
|
||||
c4.6682739,5.4893799,10.0714417,10.1264648,16.1776581,13.9480591c0.4122009,0.2511597,0.8244019,0.5026855,1.236618,0.7538452
|
||||
l0.0405579,0.0459595c0.5332794,0.2958984,1.0662689,0.5915527,1.5995636,0.8875122
|
||||
c1.5839386,0.8944092,3.1816864,1.765686,4.7466888,2.6925659c0.9037323,0.5350952,1.9324493,1.0055542,2.5955353,1.7728882
|
||||
c2.0685425,2.3927612,3.9898834,4.913147,5.9682922,7.3840332c-0.0077972,0.1625366,0.0682068,0.2496338,0.2286377,0.2616577
|
||||
l0.1135712,0.1334229c0.103653,0.1084595,0.2076111,0.2172241,0.311264,0.3256836l0.0940399,0.1135254
|
||||
c0.0973358,0.1063843,0.1949921,0.2127075,0.2926331,0.3187866l0.0787048,0.0925293
|
||||
c0.1099701,0.1132812,0.219635,0.2262573,0.3292999,0.3392334l0.0699921,0.0705566
|
||||
c0.1135712,0.116272,0.2268372,0.2322388,0.3404083,0.3485107l0.0558777,0.0621948
|
||||
c0.1174774,0.1190186,0.2349548,0.2379761,0.3527222,0.3569336l0.0573883,0.0543823
|
||||
c0.1174622,0.1159668,0.2349396,0.2319336,0.352417,0.3479004l0.0636902,0.0631104
|
||||
c0.1153717,0.1123657,0.2307434,0.2247314,0.3464203,0.3370972l0.0838165,0.0718384
|
||||
c0.1090546,0.0988159,0.2184296,0.1976929,0.3274841,0.296814l0.1315918,0.1075439
|
||||
c0.0952454,0.0907593,0.1904755,0.1814575,0.2854156,0.2722168c0.0162354,0.0823364,0.0661011,0.1240845,0.1499329,0.1253052
|
||||
c0.0952301,0.0775146,0.1904755,0.1552734,0.2857208,0.2327881c6.710083,6.1113281,14.3761902,10.3809204,23.3546295,12.1213989
|
||||
c0.2160187,0.026123,0.4317474,0.0523071,0.6474609,0.0784302c0.3289795,0.1246948,0.6576691,0.2493286,0.9863586,0.3740234
|
||||
c5.8850861,0.940979,11.7701569,1.882019,17.6549225,2.8233032c1.2050781,0.1472168,2.4077454,0.3950806,3.6158447,0.4266357
|
||||
c10.1558838,0.2661743,20.3129578,0.4926758,30.4691162,0.7306519c8.3409119-0.1339722,16.6815186-0.2683105,25.0223999-0.4025879
|
||||
c3.4494019-0.2667847,6.8987732-0.5335693,10.348175-0.800415c0.519165-0.1087036,1.0383301-0.2177734,1.5574951-0.3265381
|
||||
c4.1037598-0.8145142,8.207489-1.6287231,12.311554-2.4429321c3.5590515-1.1635742,7.1184082-2.3272095,10.6777344-3.4905396
|
||||
c0.1427307-0.0829468,0.2854309-0.1652222,0.4278259-0.2478638l-0.0135193,0.0098877
|
||||
c3.4124451-1.9230957,6.824585-3.8462524,10.2369995-5.7693481c3.1059875-2.7073364,6.2122803-5.414917,9.3185425-8.1221924
|
||||
c2.3876343-2.8647461,4.775238-5.7297363,7.2791443-8.7338867c2.3903198-1.3042603,5.0038757-2.7304077,7.6174316-4.1566162
|
||||
c3.5599365-2.7058105,7.1202087-5.4116211,10.6801453-8.1176758c0.7895813-0.7457275,1.6181946-1.4547729,2.3623962-2.2437134
|
||||
c2.8569031-3.0287476,5.6266785-6.1422729,8.5412903-9.1142578c4.0178223-4.0974121,7.8031006-8.3565063,10.5046997-13.4715576
|
||||
c0.1303711-0.2127075,0.2607727-0.4257202,0.3911743-0.6387329c0.1895752-0.3845825,0.3791504-0.769165,0.5684204-1.1536865
|
||||
c0.4702148-0.8205566,1.0203247-1.6062012,1.3979797-2.4672852c4.2059021-9.5823364,6.7232971-19.5810547,7.3329163-30.043396
|
||||
c0.0057068-0.1264648,0.0114136-0.2526855,0.0171204-0.3791504c0.0062866-0.2839355,0.0122986-0.5678101,0.0186157-0.8517456
|
||||
c-0.0003052-0.3989868-0.0003052-0.7979736-0.0006104-1.1969604c-0.0072021-0.4224243-0.0144043-0.845459-0.0216064-1.2681885
|
||||
c0.8571472-1.7050171,1.7557678-3.3905029,2.5639648-5.1186523c3.7720642-8.0680542,5.5245361-16.5198364,4.8605652-25.4475098
|
||||
c-0.3331909-4.4802246-0.5383911-8.8925171,0.1499329-13.4529419c0.6885986-4.56073,0.4221191-9.3924561-0.2148132-13.9961548
|
||||
c-0.9292908-6.71521-1.230011-6.6734009,2.7199097-10.8757324c10.1315308-6.4009399,17.4836731-15.2432861,22.7573547-25.9108276
|
||||
c0.1676331-0.2938232,0.3512268-0.579834,0.5005188-0.8826904c5.257782-10.6516113,6.0596619-22.2258606,7.0436096-33.7736816
|
||||
c0.3268738-3.8354492,0.5462036-7.7346191,1.4364014-11.4559021c1.7371826-7.2637939,3.9126892-14.42276,5.9064331-21.6252747
|
||||
c0.4999084-1.6088867,1.0377197-3.2069397,1.4925842-4.8284302c1.4208069-5.0645752,2.8103333-10.1375427,4.2122192-15.2072144
|
||||
c0.0991516-0.1601562,0.197998-0.3199768,0.2968445-0.4798279c0.0312195-0.2713013,0.0621948-0.5426025,0.0931396-0.8135986
|
||||
c0.0937195-0.2601624,0.1880493-0.5203552,0.2817993-0.7802429c0.0510864-0.2592773,0.1021423-0.51828,0.1532288-0.7772522
|
||||
c0.0856323-0.1604309,0.1715393-0.3205566,0.2574768-0.4807129c0.0441589-0.2760925,0.0883179-0.5522156,0.1325073-0.8280029
|
||||
c0.0603943-0.1255798,0.1210632-0.2511902,0.1817627-0.3764648c1.8161621-6.3681946,3.6470642-12.7324829,5.4455261-19.1054688
|
||||
c3.1871033-11.2939453,6.3546753-22.5933228,9.5303345-33.8905945
|
||||
c10.9544678-29.8664246,21.9086304-59.7331848,32.9472046-89.8297424
|
||||
c-3.8946533-0.1751709-7.5531616-0.3761597-11.2143555-0.4972534c-7.6369629-0.2523499-15.2753906-0.462677-22.913269-0.690094
|
||||
c-7.2490845-0.0015259-14.4984741-0.0027161-21.7475586-0.0039062c-4.9293823,0.0005798-9.8590393,0.0014954-14.7887268,0.0020752
|
||||
c-7.7949829-0.0026855-15.5899963-0.0050964-23.3852844-0.0078125c-3.2844238,0.0003052-6.5694885,0.0009155-9.8539124,0.0012207
|
||||
c-3.0113525,0.0006104-6.0227051,0.0011902-9.0340271,0.0014954c-6.428894-0.0003052-12.8577576-0.0006104-19.2866516-0.0011902
|
||||
c-4.6514587,0.0003052-9.3026123,0.0003052-13.954071,0.0005798c-4.1046448,0-8.2093201,0-12.3139648,0
|
||||
c-3.4202271,0-6.8404846,0-10.2610168,0c-3.4199524,0-6.8399048,0-10.2598572,0
|
||||
c-6.2918701-0.0005798-12.5837402-0.0014954-18.8759155-0.0021057c-5.0627747,0.0003052-10.125824,0.0009155-15.1889038,0.0015259
|
||||
c-5.343689-0.0054016-10.6876526-0.0102234-16.0316467-0.015625c-10.5575562,0-21.1148376,0-31.7529297,0
|
||||
c0.125885,0.8965149,0.1932068,1.575531,0.3190918,2.2437134c4.5910645,24.3653259,9.1779175,48.731842,13.7909241,73.0929871
|
||||
c1.1801453,6.2314758,2.4461975,12.4467468,3.6729126,18.6695251c0.7808533,0.1060486,1.5617065,0.3043518,2.342865,0.304657
|
||||
c36.8460388,0.0147095,73.6923523,0.0122986,110.5383911,0.0116882c0.7859802,0,1.5722351,0,2.5765991,0
|
||||
c-1.2125854,3.1763-2.3368225,6.0803833-3.4307556,8.9958801c-1.3787231,3.6738281-2.7325134,7.3569641-4.0971375,11.0355835
|
||||
c-0.2616882,1.1122437-0.5233765,2.2241821-0.7850647,3.3361206c-0.0925293,0.1508179-0.1850586,0.3016357-0.2778931,0.4524536
|
||||
c-0.0444641,0.3971863-0.088623,0.7943726-0.1331177,1.1915588c-0.0898132,0.1493225-0.1793518,0.298645-0.2694702,0.4482727
|
||||
c-0.0273438,0.3247681-0.0546875,0.6495361-0.0823364,0.9743347c-0.1111755,0.2208252-0.2223206,0.4419556-0.3338013,0.6630554
|
||||
c-0.0339355,0.3019714-0.0681763,0.6039124-0.1024475,0.9061584c-0.0733032,0.1033325-0.1466064,0.2070007-0.2199097,0.3106384
|
||||
c-0.0570984,0.3223877-0.1144714,0.6447754-0.1718445,0.9674377c-0.0958557,0.2259216-0.1919861,0.4518738-0.288147,0.6781006
|
||||
c-0.0600891,0.2785034-0.1204834,0.5570068-0.1805725,0.8355408c-0.0651855,0.1276855-0.1303711,0.2556763-0.1955872,0.3833618
|
||||
c-0.0654907,0.298645-0.1309814,0.59729-0.1964722,0.8959045c-0.0540771,0.015625-0.1469116,0.0204468-0.1547241,0.0489807
|
||||
c-0.0246582,0.088623-0.0171204,0.1859741-0.0222473,0.280304c-0.0775146,0.3016663-0.1556396,0.6029968-0.2331543,0.9046326
|
||||
c-0.0510559,0.0159302-0.1420898,0.025238-0.1459961,0.0489807c-0.0138245,0.0844421,0.0018005,0.1736755,0.006012,0.2613831
|
||||
c-0.0907288,0.3064575-0.1817627,0.612915-0.2727966,0.9196777c-0.150238,0.3953552-0.3004456,0.7910461-0.4506836,1.1864319
|
||||
c-1.1969604,3.4283447-2.3936157,6.85672-3.5903015,10.2853699c-0.0769043,0.1255798-0.0823059,0.2544861-0.0162048,0.3860779
|
||||
c-0.9394836,5.6089783-1.8789673,11.2182312-2.8184509,16.8275146c-0.0381775,1.0906067-0.0766296,2.1815186-0.1150818,3.2721252
|
||||
c-0.0943298,0.6849976-0.18927,1.3700256-0.2836304,2.0550232c-0.0483704,1.2267151-0.0967407,2.4537048-0.1448059,3.6804199
|
||||
c-0.0835266,0.5510254-0.1673279,1.1023254-0.2511597,1.6533508c-0.0513916,1.066864-0.1030579,2.133728-0.1544189,3.2006226
|
||||
c-0.0790405,0.4359436-0.1580505,0.871582-0.2370605,1.3072205c-0.0592041,1.0921021-0.1183777,2.1842346-0.1778564,3.2763367
|
||||
c-0.0724182,0.4143066-0.1445312,0.8286133-0.2172241,1.2429199c-0.0625,1.2077942-0.1252747,2.415863-0.1877747,3.6236572
|
||||
c-0.0628052,0.2902222-0.1253052,0.5801392-0.1877747,0.8703613c-0.0667114,1.3754578-0.1333923,2.7511597-0.2001038,4.1268921
|
||||
c-0.0657959,0.405304-0.1312866,0.8106079-0.1970825,1.2159119c-0.0595093,0.8129883-0.1186829,1.6257019-0.1856689,2.5450439
|
||||
c-4.6496582,3.4454651-9.2356262,7.0640259-12.6000061,11.9558411l-0.1039429,0.1276855
|
||||
c-0.1400146,0.1982727-0.2797241,0.3962708-0.4194031,0.594574c-0.1760864,0.1982727-0.3521423,0.3965759-0.5281982,0.5948792
|
||||
c-0.3406982,0.3479004-0.6813965,0.6958313-1.0220947,1.0437317c-2.2067566,2.1947327-4.4135132,4.3894653-6.6202698,6.5845032
|
||||
c-4.915863,5.2860107-8.0840149,11.5105896-9.9113159,18.4552917c-0.414917,1.7870483-0.829834,3.5737915-1.2447205,5.3605347
|
||||
c-0.1195984,0.394165-0.2391663,0.7886353-0.3587341,1.1828613c-0.0231323,0.4277954-0.04599,0.855957-0.0691223,1.2840576
|
||||
c-0.1138611,0.5167847-0.2280273,1.0338135-0.3421936,1.5509033c-0.1565247,2.3804321-0.4608765,4.6911011-1.7302551,6.826355
|
||||
c-0.8235168,1.3856812-1.3718262,2.9455566-1.959198,4.460083c-3.4355469,8.8582764-4.5694275,17.9664917-3.0687256,27.3947144
|
||||
c0.3151855,1.9813843,0.2980652,4.0301514,0.2806396,6.0466919c-0.0414734,4.8095093-0.194397,9.6177979-0.2619934,14.4273071
|
||||
c-0.0327454,2.3419189,0.2848206,4.7193604-0.0186462,7.0198364c-0.4659729,3.5344238-1.3147278,7.0192261-2.032196,10.519104
|
||||
c-0.3998718,1.951355-0.8622742,3.8901367-1.2963867,5.8345947c-4.5114746,1.9228516-9.2608643,3.4389038-13.4625549,5.892334
|
||||
c-3.6071167,2.1063843-6.5887146,5.2841797-9.8470459,7.9881592c-1.8948669,2.4473877-3.7897644,4.8945312-5.8066406,7.4990234
|
||||
c-3.9460144,0-8.1005554-0.0420532-12.2535706,0.0168457c-2.2262878,0.03125-4.4501648,0.236145-6.6752625,0.3623657
|
||||
c-0.7399902-0.0577393-1.4793701-0.1481323-2.2205505-0.1682739c-6.5373535-0.1760864-13.0749817-0.3394775-18.6539307-0.4822388
|
||||
c-4.1680298-4.2947998-7.744812-7.9806519-11.3212891-11.6665039c-4.1427917-3.8345337-9.0174866-6.3912964-14.3206177-8.199646
|
||||
c-0.1658325-0.0931396-0.3313904-0.1865845-0.4972229-0.2800293c-0.2409668-0.0438843-0.4819031-0.0883179-0.7228699-0.1322021
|
||||
c-0.1676636-0.0934448-0.3352966-0.1865845-0.502655-0.2800293c-0.2592773-0.0348511-0.5185547-0.0697021-0.777832-0.1045532
|
||||
c-0.1550293-0.0991211-0.3103638-0.1982422-0.4656982-0.2971191c-0.0865173-0.0778198-0.1874695-0.1246948-0.3022461-0.1412354
|
||||
c-0.1427002-0.4434204-0.2851257-0.8865967-0.4275208-1.3300171c-0.0219421-0.4990234-0.0438538-0.9981079-0.0657959-1.4971313
|
||||
c-0.1243896-0.4293213-0.2487793-0.8586426-0.3731384-1.2879639c-0.0063171-0.2653198-0.0126343-0.5305786-0.0186462-0.7962036
|
||||
c-0.1264954-0.4260254-0.2529602-0.8517456-0.3797607-1.2774658c0.0123291-0.1018677,0.0129395-0.2037354,0.0018005-0.3058472
|
||||
c0.1168823-0.3100586,0.2337646-0.6204224,0.3506165-0.930481c0.0165405-0.3788452,0.0333557-0.7574463,0.0501709-1.1362915
|
||||
c0.1225891-0.4335327,0.2451782-0.8670654,0.3674622-1.3005981c0.0183105-0.5092773,0.0369568-1.0184937,0.0549622-1.527771
|
||||
c0.1201782-0.7081299,0.2400513-1.4162598,0.3599548-2.1244507c-0.0012207-3.2838135-0.0027161-6.5682373-0.0042114-9.8521118
|
||||
c-0.125-0.6951904-0.2499695-1.3901367-0.3749695-2.085083c0.1370239-0.9343872,0.2740173-1.8690186,0.4107056-2.8037109
|
||||
c0.1126709-0.3070679,0.225647-0.6138306,0.3385925-0.9208374c0.0246582-0.3734741,0.0492859-0.7466431,0.0739136-1.119812
|
||||
c0.1180725-0.4307861,0.236145-0.8613281,0.3545227-1.2918701c0.015625-0.3959961,0.03125-0.7919922,0.0471802-1.1879272
|
||||
c0.1204834-0.5591431,0.2412415-1.1182861,0.36203-1.6776733c0.0237427-0.7433472,0.0474854-1.4863281,0.0711975-2.2293091
|
||||
c0.0057068-2.4161987,0.0114136-4.8323364,0.0171509-7.2484741c-0.0318604-0.8007202-0.0637207-1.6016846-0.0958557-2.4026489
|
||||
c-0.1108704-0.454895-0.2220154-0.9100342-0.3328857-1.3649292c-0.0291443-0.4933472-0.0579834-0.9863281-0.0871277-1.4793701
|
||||
c-0.1117859-0.3112793-0.2238464-0.6225586-0.3356018-0.9337769c-0.5684509-2.1655884-1.1371765-4.3311768-1.7059174-6.4967651
|
||||
c-0.5501099-1.5220947-0.9767456-3.1035767-1.6788788-4.552063c-1.0695648-2.2076416-1.3576965-4.4197998-1.2372131-6.8897095
|
||||
c0.5296783-10.8493042-0.9767456-21.3155518-5.9626007-31.1737061c-4.6172028-9.1286621-12.082016-15.8354492-18.929718-23.0881348
|
||||
c-2.9431305-2.7060852-5.8862762-5.4124756-9.0577545-8.3285828c-0.6618805-8.6022949-1.3507843-17.5521851-2.0393982-26.5020752
|
||||
c-0.1297913-0.8749084-0.2598877-1.7500916-0.3899841-2.6249695c-0.0150146-0.2235413-0.0297394-0.4467773-0.0447693-0.6702881
|
||||
c0.0129242-0.1688538,0.0258484-0.3377075,0.0387573-0.5065613c0.0063171-0.3764648,0.012619-0.7528992,0.0192413-1.1290588
|
||||
c-0.1309967-0.8995361-0.2613983-1.7987671-0.3920898-2.6982727c-0.0216217-0.1893005-0.0432587-0.3788757-0.0648956-0.5681458
|
||||
c0.1099701-0.1171875,0.11026-0.2346497,0.0009003-0.3521118c0.0201416-0.56604,0.0402679-1.1320801,0.0603943-1.6981201
|
||||
c-0.1345978-0.7658081-0.2691956-1.5313416-0.4040985-2.296875c-0.0162201-0.1826782-0.0324402-0.3650513-0.0486755-0.547699
|
||||
c0.0324554-0.0414734,0.0943451-0.0844421,0.0919495-0.1238098c-0.006012-0.0985413-0.040863-0.1955872-0.0643005-0.2932129
|
||||
c0.0117188-0.4167175,0.0234375-0.8331299,0.0351562-1.2498474c-0.0946503-0.5209656-0.1889801-1.0422363-0.2836304-1.5635071
|
||||
c-0.0273285-0.7102356-0.0543671-1.4208069-0.0817108-2.1313477c-0.0766144-0.4326477-0.1529236-0.8652649-0.2298431-1.2979126
|
||||
c-0.0751038-0.2796936-0.1502228-0.5591125-0.2253265-0.8385315c0.1051483-0.109375,0.1138611-0.2259216,0.0258331-0.3497314
|
||||
c0.0183258-0.280304,0.0366516-0.5603027,0.0546875-0.8406372c-0.0964508-0.4125061-0.1928864-0.824707-0.2896271-1.236908
|
||||
c-0.0483856-0.6648865-0.0964508-1.3297729-0.1448212-1.9943542c-0.0874329-0.2920227-0.1751556-0.5840454-0.2625885-0.8760681
|
||||
c-0.0270386-0.5444031-0.053772-1.0891113-0.0805206-1.6338196c-0.0847168-0.2662048-0.1694489-0.532074-0.2541656-0.7982788
|
||||
c-0.0402679-0.5537109-0.0805206-1.1071472-0.1204834-1.6608582c-0.1051483-0.3863525-0.2106171-0.7727356-0.3157654-1.1590881
|
||||
c-0.034256-0.5699463-0.0688019-1.1395874-0.1030579-1.7095337c-0.0910339-0.2779236-0.1817627-0.5561218-0.2731018-0.8340454
|
||||
c-0.0405579-0.558197-0.0814209-1.1161194-0.1222687-1.6743469c-0.0676117-0.1796875-0.1355133-0.3590393-0.2033997-0.5386963
|
||||
c-0.0637054-0.6372375-0.1270905-1.2747803-0.1904907-1.9120178c0.0177307-0.0615845,0.0697021-0.1445312,0.046875-0.1811829
|
||||
c-0.0585938-0.0940247-0.1502228-0.1679382-0.2283325-0.2499695l-0.0147247-0.069397
|
||||
c-0.9953766-6.4243774-1.8314972-12.8778992-3.0179596-19.2668152
|
||||
c-2.7643738-14.8848572-5.5653992-29.7654724-8.6170044-44.5932617c-1.5650024-7.602417-3.7002563-15.0876465-5.5777283-22.6257629
|
||||
c-0.0144196-0.1931763,0.0090179-0.3986816-0.0492706-0.5774536c-5.6573334-17.3184204-11.3209839-34.6347656-16.9843445-51.951416
|
||||
c-0.2166138-0.4963074-0.4329376-0.9923401-0.6495514-1.488678c-0.0201263-0.182373-0.0399628-0.3644409-0.0600891-0.5471191
|
||||
c-0.1144714-0.2199097-0.229248-0.4398499-0.3437042-0.6597595c-0.0219421-0.1889954-0.0441742-0.377655-0.0664062-0.5666504
|
||||
c0.0294495-0.054657,0.097641-0.1339722,0.0811157-0.1604309c-0.0612793-0.0991516-0.1505127-0.1808472-0.2292328-0.2691956
|
||||
c-0.088623-0.3100586-0.1769562-0.6204224-0.2652893-0.9307556l0.0727081-0.0817261l-0.1243896-0.0348511
|
||||
c-0.0624847-0.1929016-0.1249847-0.3857727-0.1874695-0.5786743c-0.0625-0.1598206-0.1249847-0.3196716-0.1874847-0.4794922
|
||||
c-0.0901337-0.2932434-0.1805573-0.5864563-0.2706909-0.8796997l0.0429535-0.15802l-0.1688385-0.0778198
|
||||
c-0.1997986-0.5846558-0.3998871-1.169342-0.5999908-1.7539978c-0.0700073-0.12677-0.1403046-0.2535706-0.2103119-0.3803711
|
||||
c-0.1829681-0.4085999-0.3659363-0.8171997-0.5489044-1.2254944c-0.6585693-1.4003601-1.2967072-2.8106384-1.9793243-4.1990051
|
||||
c-4.0866241-8.3114319-8.1834564-16.6180878-12.2767029-24.9259491c-1.1098328-2.2845612-2.2196655-4.5691376-3.3292084-6.8536987
|
||||
c-0.1108551-0.22052-0.2217255-0.4410553-0.3325806-0.6615753l0.050766-0.1024475l-0.1180725-0.0603943l-0.0399628-0.1249847
|
||||
c-0.1237793-0.242157-0.2472534-0.4846191-0.371048-0.7267761c-3.3505402-6.9958038-6.6752319-14.003952-10.0618286-20.9820404
|
||||
c-1.9000092-3.9144745-3.9018555-7.7793732-5.8577423-11.6665039c0.0432587-0.1297913,0.0066071-0.2304382-0.1093597-0.302536
|
||||
c-0.104248-0.1874847-0.2082062-0.3749542-0.3121643-0.5627289c-2.0586395-4.1193848-4.0677032-8.2648926-6.1867218-12.3530273
|
||||
c-4.0247345-7.7655487-8.1128616-15.4983521-12.1748505-23.2443695l-0.0360565-0.0024109
|
||||
c-0.1475143-0.2827148-0.2950363-0.5654297-0.4425507-0.8478394l0.0276413,0.0312347
|
||||
c-0.1463165-0.2836151-0.2926331-0.5678253-0.4389496-0.8517456l0.0258408,0.0387573
|
||||
c-0.157135-0.3295898-0.3145676-0.6588745-0.4720001-0.9881592l0.035759-0.1204834l-0.1000519-0.0763092
|
||||
c-0.1195755-0.210907-0.239151-0.4221191-0.3590317-0.6333313c-2.2154617-4.4231262-4.5496063-8.7918701-6.6097412-13.2861938
|
||||
c-1.7125244-3.7357178-9.724144-19.2325592-9.724144-19.2325592l57.8896713-7.838562
|
||||
c4.6048889-0.540802,9.2097778-1.0815964,13.8146667-1.6223907c1.3492889-0.1294937,2.698288-0.2589874,4.0472717-0.388176
|
||||
c0.4326324-0.0657959,0.864975-0.1315918,1.2973175-0.1973877c0.8075867-0.0543823,1.6151733-0.1087646,2.42276-0.163147
|
||||
c0.4287415-0.0702972,0.8574677-0.1403046,1.2859039-0.2106094c0.9542084-0.0465698,1.9081116-0.0934372,2.8620148-0.1403046
|
||||
c0.4239349-0.0748138,0.8478546-0.1496201,1.2714844-0.2241287c1.0785828-0.0525818,2.1571808-0.1048584,3.2357635-0.157135
|
||||
c0.5612335-0.0841217,1.122757-0.1679459,1.6842804-0.2520676c0.3956909-0.0703049,0.7916718-0.1406097,1.1873627-0.2109146
|
||||
c0.6826019,0.0270386,1.3652039,0.0540771,2.047821,0.0814209c0.833725-0.0964432,1.66745-0.1925812,2.5014801-0.2887268
|
||||
c1.217392-0.0357513,2.4347992-0.0715027,3.6524811-0.1069565c1.106842-0.1207809,2.2136688-0.2415543,3.3205109-0.3623352
|
||||
c1.0830841-0.0087128,2.1658936-0.0174255,3.2489777-0.0258408c1.1149445-0.0997467,2.2301941-0.1991882,3.3454437-0.2986374
|
||||
c1.481781-0.0324478,2.963562-0.0651932,4.4453583-0.097641c1.113739-0.1054611,2.227478-0.2106171,3.341217-0.3157654
|
||||
c1.3535004-0.0249405,2.7066956-0.0498734,4.0601959-0.0748138c1.3787231-0.111763,2.7577667-0.223526,4.136795-0.3352966
|
||||
c1.3576965-0.0207291,2.7154083-0.0414581,4.07341-0.0621872c1.506424-0.1087646,3.0131378-0.2175217,4.5198669-0.3262863
|
||||
l0.0222321-0.0282364c1.4977112-0.0234375,2.9954071-0.0465698,4.4934235-0.0697021
|
||||
c1.2831879-0.0958405,2.5663757-0.1913834,3.8498688-0.2872238c1.9979553-0.0381622,3.9956055-0.0763168,5.9935455-0.114769
|
||||
c0.4113007-0.0003052,0.8229065-0.0009079,1.2342224-0.0012054c2.1003876-0.097641,4.2007904-0.1949844,6.3008881-0.2926331
|
||||
c7.8803101-0.0384521,15.7606506-0.0772095,23.6409607-0.1159668c19.5137634,0.1201782,39.0278625,0.2403488,58.5458374,0.360527
|
||||
c2.7436523,0.0829239,5.4873047,0.1658478,8.2309265,0.2487717c4.1578369,0.2259293,8.315979,0.451561,12.4735107,0.6772003
|
||||
c0.8099976,0.1078568,1.6193848,0.2157135,2.4293823,0.3235703c1.2218933,0.0345535,2.4437866,0.0688019,3.6665955,0.1033554
|
||||
c0.8322449,0.0994492,1.6644592,0.1991959,2.4969788,0.2986374c1.0906067,0.0315475,2.1815186,0.0627975,3.2721252,0.0943451
|
||||
c0.8184204,0.1000443,1.6365356,0.2003937,2.4546204,0.3007431c1.119751,0.0327454,2.239502,0.0654907,3.3589478,0.0982437
|
||||
c0.7946777,0.099144,1.5893555,0.1985931,2.3840332,0.2977371c1.1095276,0.0258408,2.2187805,0.0516739,3.3283081,0.0775146
|
||||
c0.8039856,0.1033554,1.6079712,0.2067032,2.4119568,0.3103561c1.2399292,0.0375595,2.4801636,0.0748138,3.7203674,0.1123657
|
||||
c0.6700134,0.0871277,1.3399963,0.1739578,2.0099792,0.2610855c1.3910522,0.0390625,2.7821045,0.0781174,4.1728516,0.1168747
|
||||
c0.9503174,0.096138,1.9002991,0.1925812,2.8503113,0.2887268c1.2378235,0.0456619,2.475647,0.0910339,3.7134705,0.1366959
|
||||
c0.5056458,0.0591888,1.0115967,0.1186752,1.5172424,0.1778641c1.4111633,0.0706024,2.8223572,0.1412125,4.2332458,0.2118149
|
||||
c0.3683472,0.0480728,0.736969,0.096138,1.1053162,0.1442108c1.2693787,0.0967407,2.5384521,0.1940842,3.8075256,0.2908325
|
||||
c0.3085632,0.0378571,0.6170959,0.0757065,0.925354,0.1135635c0.7240601,0.0093155,1.4484253,0.018631,2.1725159,0.0279465
|
||||
c3.3418274,0.3854675,6.6836548,0.7709351,10.0254822,1.1564026c2.407135,0.2914276,4.8143005,0.5834579,7.2214355,0.8751907
|
||||
c0.3226929,0.1000443,0.6453552,0.2003937,0.9680481,0.3007431c3.6984253,0.4116058,7.3974915,0.8232117,11.0959473,1.2348175
|
||||
c3.2700195,0.4762039,6.5400391,0.9524078,9.8103638,1.4286118c3.8465881,0.5924683,7.6931458,1.1849442,11.5397339,1.7777176
|
||||
c8.2120056,1.6749649,16.4240112,3.3499374,24.6360168,5.02491c0.5708313,0.2193298,1.1281738,0.4852142,1.714325,0.6504669
|
||||
c5.6146851,1.5833282,8.6497498,5.4277954,10.5783081,10.8348694c2.0895691,5.8583374,4.9320679,11.4480896,7.4461975,17.1549988
|
||||
c0.0814209,0.1865692,0.1628418,0.3731537,0.2445679,0.559433l-0.024353,0.1790619l0.1685181,0.0943298
|
||||
c0.0718384,0.1730652,0.1436157,0.3461151,0.2151489,0.5188751c0.0630493,0.1078491,0.1261597,0.2157135,0.1889648,0.3235779
|
||||
l0.0285645,0.0492706c0.298645,0.0150146,0.5975342,0.0300446,0.8961792,0.0450592
|
||||
c2.8202515-0.975235,5.6402588-1.9501801,8.4605103-2.925415c0.2033691-0.1018524,0.4071045-0.2036896,0.6104736-0.305542
|
||||
l0.1270752,0.0492706l0.1141968-0.0736084c1.0377197-0.4071045,2.0754395-0.8139038,3.112915-1.2207031
|
||||
c0.1790161-0.0210266,0.3583984-0.0420685,0.5374756-0.0630951c0.8361206-0.2899323,1.671936-0.5798492,2.5081177-0.8697815
|
||||
c0.2962036-0.0958405,0.5927734-0.1919861,0.8892822-0.2878265l0.1370239,0.0429688l0.0669556-0.1424103
|
||||
c0.1835938-0.0396576,0.3668823-0.0796204,0.5507202-0.119278c0.1989136-0.107254,0.3980713-0.2145233,0.59729-0.3217773
|
||||
c0.2061157-0.0330505,0.4122314-0.0661011,0.6182861-0.0991364c0.1349487-0.087738,0.2698364-0.1751709,0.4050293-0.2625885
|
||||
c5.8967896-2.0547333,11.7990112-4.0944366,17.6897583-6.1672058c11.1503906-3.9234772,22.2955933-7.8616943,33.4399414-11.8029022
|
||||
c2.40802-0.8517456,4.8025513-1.7413635,7.2199707-2.6195526c-0.578064-3.6488953-1.2297363-7.0484009-1.6377563-10.4770584
|
||||
C589.0128784,114.8970795,586.1394653,105.9159393,581.9107056,97.315155z"/>
|
||||
<path fill="#020202" d="M585.5040283,70.8890839c-5.5371704-7.9040565-11.895752-15.1249046-19.2791748-21.4059677
|
||||
c-7.6116943-6.4751472-15.7001953-12.2400475-24.7017822-16.6259155
|
||||
c-13.9264526-6.7852058-28.9044189-10.135746-43.9707642-13.0593586
|
||||
c-9.8352966-1.9087143-19.7433167-3.459301-29.6459045-4.9951658c-6.4411926-0.9992733-12.9292603-1.7002068-19.3999023-2.5041924
|
||||
c-5.8691711-0.729476-11.7368164-1.4805832-17.6174011-2.105505c-5.2141724-0.5540171-10.440094-1.0224075-15.6708069-1.3934546
|
||||
c-6.5289307-0.4632835-13.0698547-0.7580185-19.6020813-1.1807418c-7.4738464-0.4834127-14.9425354-1.0407343-22.4154663-1.540071
|
||||
c-4.2783203-0.2854209-8.5587158-0.5513129-12.8409424-0.7697349c-8.5016479-0.4335394-17.0014648-1.0347261-25.5088196-1.1876516
|
||||
c-11.4198303-0.2049019-22.8465881-0.1024508-34.2697144-0.0372548
|
||||
c-12.9815674,0.0742097-25.9631042,0.2301393-38.9443359,0.3950825c-6.1410675,0.0778151-12.2812195,0.256278-18.4216766,0.3941813
|
||||
c-6.0040436,0.1351995-12.0084076,0.2770085-18.0127563,0.4161139c-0.1367035,0.003305-0.2737122,0.0021033-0.4101105,0.0105157
|
||||
c-8.2204132,0.5206676-16.4402466,1.0494475-24.6612701,1.5608015c-4.5565186,0.2833176-9.1256561,0.4155126-13.6698456,0.8307252
|
||||
c-8.6140137,0.7874613-17.2229004,1.648531-25.8167725,2.6303787c-8.6410522,0.9869556-17.3037262,1.9021044-25.8789673,3.3204966
|
||||
c-8.6653748,1.4334135-17.2460327,3.3962088-25.8450089,5.2147894
|
||||
c-15.1444321,3.2033234-29.7796173,7.988781-43.1421204,15.8694038
|
||||
c-12.8024788,7.5501328-24.5630226,16.5075417-34.0792542,28.1539154
|
||||
C21.9263363,74.84021,14.0877771,87.8409805,10.2847691,102.9160156
|
||||
c-2.0454159,8.1083527-4.1569295,16.328476-4.8539577,24.6149979c-0.7967749,9.4660568-0.5690389,19.0600967,1.3667154,28.5321732
|
||||
c2.9864039,14.6135559,6.9856009,28.8776855,13.730547,42.2341766
|
||||
c6.5610752,12.9929657,13.2837887,25.9054108,20.0143147,38.8118439c4.7800484,9.1668091,9.6724625,18.27565,14.550457,27.3913727
|
||||
c3.3712692,6.2997131,6.8936653,12.5197754,10.1850166,18.860321c3.7576447,7.2391663,8.0272369,14.3152161,10.8456955,21.9179382
|
||||
c6.0809708,16.4020691,11.446579,33.0724487,16.9744339,49.6764526
|
||||
c6.2687454,18.8299561,9.9254303,38.2896423,13.4910889,57.7538452c1.4811859,8.0855408,2.5597763,16.2473755,3.7233963,24.3884888
|
||||
c0.9911575,6.9327087,1.988327,13.8699341,2.7136002,20.8330078c0.7057419,6.7774048,1.0353241,13.5926514,1.5920486,20.386261
|
||||
c0.7339783,8.9571228,1.753685,17.8973999,2.2229767,26.8674316c0.3506165,6.7058716,1.4349136,13.2351074,2.8584137,19.7679443
|
||||
c3.4725189,15.9351807,11.4072189,29.1847534,23.611824,39.9225464c1.831192,1.6110229,3.7819672,3.0858765,5.6417084,4.5947266
|
||||
c-0.0546722,0.376709-0.0697021,0.652832-0.1363983,0.9157104c-2.0261841,7.9945068-2.7310181,16.0626221-1.6193848,24.2803345
|
||||
c0.3049469,2.2559814,0.408905,4.6051636,0.1484222,6.8587646c-0.7469025,6.4568481-0.9364777,12.8911133,0.0859222,19.321228
|
||||
c0.427536,2.6880493,1.5818329,5.3704224,1.4667664,8.0142822c-0.3247833,7.4515991,0.8352356,14.6565552,2.4522095,21.8665771
|
||||
c2.2737579,10.1387329,6.6734467,19.3400879,13.5181427,26.9954224
|
||||
c7.7261963,8.6416016,16.0124054,16.828125,24.5269623,24.7020874c4.9134521,4.5439453,10.7474518,8.0960693,16.1941833,12.0576782
|
||||
c1.3637085,0.9917603,3.0509949,1.6230469,4.2107086,2.7947388c3.7816772,3.8201294,7.1559601,8.0668945,11.1115875,11.6848145
|
||||
c7.4509888,6.8143921,16.0791168,11.6178589,25.963089,14.1226807c12.3836517,3.1381226,24.899826,5.6582031,37.674942,5.8252563
|
||||
c17.4302063,0.2280273,34.8685303-0.1646118,52.302948-0.3286743c1.6938782-0.0162354,3.409729-0.164978,5.0744629-0.4741211
|
||||
c6.1572876-1.1434937,12.3259888-2.2503052,18.4382019-3.605896c18.2074585-4.0391846,33.2076721-13.1669312,44.3754272-28.2915039
|
||||
c0.4185181-0.5669556,1.0924072-1.001709,1.7305603-1.3417969c7.155365-3.8150024,13.7059021-8.4815063,19.4350586-14.2109375
|
||||
c4.0487671-4.0484619,7.7646484-8.4280396,11.7851868-12.5059814c5.659729-5.7405396,10.3075867-12.2358398,13.8314819-19.40979
|
||||
c4.817627-9.8076782,6.5671082-20.5740356,8.7185669-31.1781616c0.4996338-2.4633789,0.1802673-5.2280273,1.177124-7.428772
|
||||
c2.381012-5.2568359,3.846283-10.7357178,5.1381836-16.3011475c1.3901672-5.989624,2.4425964-11.9924927,1.6257019-18.1975098
|
||||
c-0.3343811-2.541748-0.697937-5.1922607-0.3382874-7.69104c0.9259644-6.4334106,1.5469666-12.8340454,0.5843506-18.6100464
|
||||
c4.6130066-4.7674561,9.0892944-8.9832764,13.0758972-13.6196899c4.7626038-5.5386963,8.816803-11.6547852,11.6349487-18.4279785
|
||||
c5.1958618-12.4870605,7.1838989-25.6620483,7.995697-39.0783386c0.2088013-3.4476013,0.6324158-6.9333191,1.4478149-10.282074
|
||||
c1.4830017-6.0905762,3.3199158-12.0958252,5.0324402-18.1299438
|
||||
c5.3406372-18.8167419,10.6765137-37.6343689,16.0454712-56.4427185c2.4329834-8.5235596,4.65625-17.1213379,7.484314-25.5136108
|
||||
c3.3430176-9.9197388,7.2623291-19.6441956,10.8868408-29.4698792
|
||||
c6.3805542-17.2965088,12.7628174-34.5927124,19.0652466-51.9177551c1.7597046-4.8380432,2.87854-9.750885,0.894104-14.907074
|
||||
c-1.8248901-4.7409973-4.8647461-8.1351013-9.7824097-9.5892334c-8.2129517-2.4284973-16.7674561-2.3437805-25.1416626-2.3702087
|
||||
c-79.6192322-0.2508545-159.2393494-0.2349548-238.8594666-0.2088013
|
||||
c-4.5024414,0.0014954-8.9390869,0.9145508-12.5972595,4.0046082c-4.249176,3.589386-6.0731812,8.5163574-5.5494995,13.6340942
|
||||
c0.8220215,8.0380554,2.6616211,15.9745483,4.1286926,23.943512c2.2710571,12.3364868,4.5132446,24.6792908,6.9119873,36.9911499
|
||||
c2.4621277,12.6369324,4.9561157,25.2720642,7.781189,37.8299866c0.5398865,2.3990479,2.3695984,4.7457886,4.1587219,6.5742798
|
||||
c3.3908081,3.466217,8.0401611,4.2981567,12.6393433,4.3128662c29.2766724,0.0949402,58.5536499,0.0483704,87.8306274,0.0483704
|
||||
c0.777832,0,1.5559692,0,2.6796265,0c-1.3432617,4.287323-2.3374329,8.3378906-3.8657837,12.1757507
|
||||
c-4.9416809,12.4110107-7.3413391,25.3321533-8.2510681,38.5892029c-0.3956909,5.7691345-0.8045959,11.537323-1.2357178,17.3040161
|
||||
c-0.1138916,1.5229492-0.6279297,2.8473206-1.9303589,3.8378601c-1.1356812,0.8638-2.2121582,1.8300171-3.1954956,2.8644409
|
||||
c-2.9969177,3.1537476-5.9208374,6.3771973-8.9066467,9.5417786c-1.0773926,1.1419678-2.3545837,2.1063843-3.3610535,3.3030701
|
||||
c-7.1742859,8.528656-12.5717468,17.9631958-14.7145081,29.055542c-0.7096252,3.6741333-1.3850403,7.3734741-2.4185486,10.9628906
|
||||
c-1.5406799,5.3511353-3.5834045,10.5608521-5.0489502,15.9297485c-1.8077698,6.6217651-2.5519714,13.3814697-1.6665649,20.2799072
|
||||
c0.3779602,2.9440308,0.4194336,5.9458008,0.4164124,8.9210815c-0.0042114,4.569397-0.6528625,9.1932373-0.1361084,13.6914673
|
||||
c0.4428711,3.8562012,0.135498,7.4350586-0.8833008,11.0668335c-9.0015564,4.3044434-17.1279602,9.7905273-23.4135132,17.4536133
|
||||
c-8.058197,0-15.9147644,0-23.826355,0c-5.5061951-6.8654175-12.5635986-11.8140259-20.0578613-16.138855
|
||||
c0-4.381958-0.0162354-8.6621094,0.0111084-12.9415894c0.0069275-1.0809937,0.0345459-2.1851196,0.25177-3.2376099
|
||||
c1.1654358-5.6420288,2.0874939-11.4264526,1.182251-17.0612183c-1.1825562-7.3599854-3.3451233-14.5628052-5.0846863-21.8334961
|
||||
c-0.125-0.5228271-0.3599548-1.0548706-0.3352966-1.5731201c0.3482056-7.3428345-0.682312-14.5129395-2.1607971-21.7001343
|
||||
c-2.1833191-10.6155396-6.1260376-20.3841553-13.252243-28.5826416
|
||||
c-5.8643494-6.7470398-12.1850739-13.0971985-18.2738495-19.6507874c-0.4605713-0.4957275-0.9226532-1.1903381-0.9806366-1.8291016
|
||||
c-0.6630859-7.322998-1.2216034-14.6556091-1.8612518-21.9807129c-0.6165161-7.0582886-1.0076904-14.1520691-2.0102692-21.1568909
|
||||
c-1.7530823-12.2481689-3.8835144-24.4428406-5.8829651-36.6552429
|
||||
c-3.7942963-23.1767883-8.3508148-46.2087402-14.7505646-68.808075
|
||||
c-4.0397491-14.2653198-8.8032684-28.3317871-13.4775696-42.4096375
|
||||
c-2.6799469-8.0704956-5.561203-16.0974426-8.8498535-23.9350891c-2.8902588-6.8891602-6.4745483-13.4868927-9.7508698-20.2141113
|
||||
c-8.0179291-16.4639893-15.9364014-32.9772339-24.0871277-49.375412
|
||||
c-5.4485321-10.9610596-11.2362671-21.7532806-16.8533478-32.6311188
|
||||
c-2.7102966-5.2481384-5.3767242-10.5191193-8.2522736-16.1509247c3.7411194-0.7814484,7.2220459-1.7041016,10.7624817-2.2136536
|
||||
c13.4042664-1.9294586,26.8073273-3.8964539,40.2512512-5.510437c9.0487366-1.0863953,18.1593781-1.6947937,27.2543945-2.3461609
|
||||
c7.5372009-0.5398865,15.0909424-0.858963,22.6398773-1.2212982c6.4682465-0.3106537,12.9379883-0.62883,19.4107208-0.7907562
|
||||
c8.7383881-0.2184296,17.4803925-0.3749542,26.2214813-0.4077148c16.6217041-0.0621796,33.2443237-0.0399475,49.866333,0
|
||||
c3.473114,0.0084229,6.9456482,0.2373505,10.4178467,0.3797607c9.7355652,0.399292,19.4720154,0.7760468,29.2051697,1.2237091
|
||||
c4.3504333,0.1997986,8.6954346,0.5305786,13.040741,0.8316345c7.1959229,0.4990234,14.3897095,1.0323181,21.5859375,1.5316467
|
||||
c4.41922,0.3064575,8.8582458,0.4206238,13.2588501,0.8956299c9.4089661,1.0151978,18.8113403,2.114212,28.1932678,3.3544464
|
||||
c10.5089111,1.3892517,21.0111694,2.8527069,31.4789124,4.5183563c5.643219,0.8977203,11.2083435,2.2857666,15.9496155,3.2733307
|
||||
c3.5656738,7.8568878,6.5863342,14.8196564,9.8809814,21.6502228c1.7843323,3.6993561,4.6409607,6.6394958,8.4715881,8.2700043
|
||||
c4.8627014,2.0697479,9.8277893,1.7092133,14.7460632-0.0411682c8.8522339-3.1507416,17.7177124-6.2654419,26.5699463-9.4167786
|
||||
c14.8839722-5.2992249,29.7664185-10.6035461,44.6392212-15.9340057c3.0570068-1.0957184,6.1452637-2.0409088,8.7711792-4.1887817
|
||||
c4.5276489-3.7038574,6.1193848-8.7777405,6.100769-14.136734c-0.0167847-4.778244-1.1837158-9.5637054-1.9655151-14.3260345
|
||||
C603.1114502,101.4510498,595.7578125,85.5260696,585.5040283,70.8890839z M584.5657349,137.5315552
|
||||
c-11.1443481,3.9412079-22.2895508,7.879425-33.4399414,11.8029022
|
||||
c-5.8907471,2.0727692-11.7929688,4.1124725-17.6897583,6.1672058c-0.1351929,0.0874176-0.2700806,0.1748505-0.4050293,0.2625885
|
||||
c-0.2060547,0.0330353-0.4121704,0.0660858-0.6182861,0.0991364c-0.1992188,0.107254-0.3983765,0.2145233-0.59729,0.3217773
|
||||
c-0.1838379,0.0396576-0.3671265,0.0796204-0.5507202,0.119278l-0.0669556,0.1424103l-0.1370239-0.0429688
|
||||
c-0.2965088,0.0958405-0.5930786,0.1919861-0.8892822,0.2878265c-0.8361816,0.2899323-1.6719971,0.5798492-2.5081177,0.8697815
|
||||
c-0.1790771,0.0210266-0.3584595,0.0420685-0.5374756,0.0630951c-1.0374756,0.4067993-2.0751953,0.8135986-3.112915,1.2207031
|
||||
l-0.1141968,0.0736084l-0.1270752-0.0492706c-0.2033691,0.1018524-0.4071045,0.2036896-0.6104736,0.305542
|
||||
c-2.8202515,0.975235-5.6402588,1.9501801-8.4605103,2.925415c-0.298645-0.0150146-0.5975342-0.0300446-0.8961792-0.0450592
|
||||
l-0.0285645-0.0492706c-0.0628052-0.1078644-0.1259155-0.2157288-0.1889648-0.3235779
|
||||
c-0.0715332-0.17276-0.1433105-0.3458099-0.2151489-0.5188751l-0.1685181-0.0943298l0.024353-0.1790619
|
||||
c-0.0817261-0.1862793-0.163147-0.3728638-0.2445679-0.559433c-2.5141296-5.7069092-5.3566284-11.2966614-7.4461975-17.1549988
|
||||
c-1.9285583-5.407074-4.963623-9.2515411-10.5783081-10.8348694c-0.5861511-0.1652527-1.1434937-0.4311371-1.714325-0.6504669
|
||||
c-8.2120056-1.6749725-16.4240112-3.3499451-24.6360168-5.02491c-3.8465881-0.5927734-7.6931458-1.1852493-11.5397339-1.7777176
|
||||
c-3.2703247-0.4762039-6.5403442-0.9524078-9.8103638-1.4286118c-3.6984558-0.4116058-7.397522-0.8232117-11.0959473-1.2348175
|
||||
c-0.3226929-0.1003494-0.6453552-0.2006989-0.9680481-0.3007431c-2.407135-0.2917328-4.8143005-0.5837631-7.2214355-0.8751907
|
||||
c-3.3418274-0.3854675-6.6836548-0.7709351-10.0254822-1.1564026c-0.7240906-0.0093155-1.4484558-0.018631-2.1725159-0.0279465
|
||||
c-0.3082581-0.0378571-0.6167908-0.0757065-0.925354-0.1135635c-1.2690735-0.0967484-2.538147-0.1940918-3.8075256-0.2908325
|
||||
c-0.3683472-0.0480728-0.736969-0.096138-1.1053162-0.1442108c-1.4108887-0.0706024-2.8220825-0.1412125-4.2332458-0.2118149
|
||||
c-0.5056458-0.0591888-1.0115967-0.1186752-1.5172424-0.1778641c-1.2378235-0.0456619-2.475647-0.0910339-3.7134705-0.1366959
|
||||
c-0.9500122-0.0961456-1.8999939-0.1925888-2.8503113-0.2887268c-1.3907471-0.0387573-2.7817993-0.0778122-4.1728516-0.1168747
|
||||
c-0.6699829-0.0871277-1.3399658-0.1739578-2.0099792-0.2610855c-1.2402039-0.0375519-2.4804382-0.0748062-3.7203674-0.1123657
|
||||
c-0.8039856-0.103653-1.6079712-0.2070007-2.4119568-0.3103561c-1.1095276-0.0258408-2.2187805-0.0516739-3.3283081-0.0775146
|
||||
c-0.7946777-0.099144-1.5893555-0.1985931-2.3840332-0.2977371c-1.1194458-0.032753-2.2391968-0.0654984-3.3589478-0.0982437
|
||||
c-0.8180847-0.1003494-1.6362-0.2006989-2.4546204-0.3007431c-1.0906067-0.0315475-2.1815186-0.0627975-3.2721252-0.0943451
|
||||
c-0.8325195-0.0994415-1.6647339-0.1991882-2.4969788-0.2986374c-1.2228088-0.0345535-2.4447021-0.0688019-3.6665955-0.1033554
|
||||
c-0.8099976-0.1078568-1.6193848-0.2157135-2.4293823-0.3235703c-4.1575317-0.2256393-8.3156738-0.4512711-12.4735107-0.6772003
|
||||
c-2.7436218-0.0829239-5.4872742-0.1658478-8.2309265-0.2487717c-19.5179749-0.1201782-39.032074-0.2403488-58.5458374-0.360527
|
||||
c-7.8803101,0.0387573-15.7606506,0.0775146-23.6409607,0.1159668c-2.1000977,0.0976486-4.2005005,0.1949921-6.3008881,0.2926331
|
||||
c-0.4113159,0.0002975-0.8229218,0.0009003-1.2342224,0.0012054c-1.9979401,0.0384521-3.9955902,0.0766068-5.9935455,0.114769
|
||||
c-1.283493,0.0958405-2.5666809,0.1913834-3.8498688,0.2872238c-1.4980164,0.0231323-2.9957123,0.0462646-4.4934235,0.0697021
|
||||
l-0.0222321,0.0282364c-1.5067291,0.1087646-3.013443,0.2175217-4.5198669,0.3262863
|
||||
c-1.3580017,0.0207291-2.7157135,0.0414581-4.07341,0.0621872c-1.3790283,0.1117706-2.7580719,0.2235336-4.136795,0.3352966
|
||||
c-1.3535004,0.0249405-2.7066956,0.0498734-4.0601959,0.0748138c-1.113739,0.1051483-2.227478,0.2103043-3.341217,0.3157654
|
||||
c-1.4817963,0.0324478-2.9635773,0.0651932-4.4453583,0.097641c-1.1152496,0.0994492-2.2304993,0.1988907-3.3454437,0.2986374
|
||||
c-1.0830841,0.0084152-2.1658936,0.017128-3.2489777,0.0258408c-1.106842,0.1207809-2.2136688,0.2415543-3.3205109,0.3623352
|
||||
c-1.2176819,0.0354538-2.4350891,0.0712051-3.6524811,0.1069565c-0.8340302,0.0961456-1.6677551,0.1922836-2.5014801,0.2887268
|
||||
c-0.6826172-0.0273438-1.3652191-0.0543823-2.047821-0.0814209c-0.3956909,0.0703049-0.7916718,0.1406097-1.1873627,0.2109146
|
||||
c-0.5615234,0.0841217-1.1230469,0.1679459-1.6842804,0.2520676c-1.0785828,0.0522766-2.1571808,0.1045532-3.2357635,0.157135
|
||||
c-0.4236298,0.0745087-0.8475494,0.1493149-1.2714844,0.2241287c-0.9539032,0.0468674-1.9078064,0.0937347-2.8620148,0.1403046
|
||||
c-0.4284363,0.0703049-0.8571625,0.1403122-1.2859039,0.2106094c-0.8075867,0.0543823-1.6151733,0.1087646-2.42276,0.163147
|
||||
c-0.4323425,0.0657959-0.8646851,0.1315918-1.2973175,0.1973877c-1.3489838,0.1291885-2.6979828,0.2586823-4.0472717,0.388176
|
||||
c-4.6048889,0.5407944-9.2097778,1.0815887-13.8146667,1.6223907l-57.8896713,7.838562
|
||||
c0,0,8.0116196,15.4968414,9.724144,19.2325592c2.0601349,4.4943237,4.3942795,8.8630676,6.6097412,13.2861938
|
||||
c0.1198807,0.2112122,0.2394562,0.4224243,0.3590317,0.6333313l0.1000519,0.0763092l-0.035759,0.1204834
|
||||
c0.1574326,0.3292847,0.3148651,0.6585693,0.4720001,0.9881592l-0.0258408-0.0387573
|
||||
c0.1463165,0.2839203,0.2926331,0.5681305,0.4389496,0.8517456l-0.0276413-0.0312347
|
||||
c0.1475143,0.2824097,0.2950363,0.5651245,0.4425507,0.8478394l0.0360565,0.0024109
|
||||
c4.0619888,7.7460175,8.150116,15.4788208,12.1748505,23.2443695c2.1190186,4.0881348,4.1280823,8.2336426,6.1867218,12.3530273
|
||||
c0.1039581,0.1877747,0.2079163,0.3752441,0.3121643,0.5627289c0.1159668,0.0720978,0.1526184,0.1727448,0.1093597,0.302536
|
||||
c1.9558868,3.8871307,3.9577332,7.7520294,5.8577423,11.6665039c3.3865967,6.9780884,6.7112885,13.9862366,10.0618286,20.9820404
|
||||
c0.1237946,0.242157,0.2472687,0.4846191,0.371048,0.7267761l0.0399628,0.1249847l0.1180725,0.0603943l-0.050766,0.1024475
|
||||
c0.1108551,0.22052,0.2217255,0.4410553,0.3325806,0.6615753c1.1095428,2.2845612,2.2193756,4.5691376,3.3292084,6.8536987
|
||||
c4.0932465,8.3078613,8.1900787,16.6145172,12.2767029,24.9259491c0.6826172,1.3883667,1.320755,2.798645,1.9793243,4.1990051
|
||||
c0.1829681,0.4082947,0.3659363,0.8168945,0.5489044,1.2254944c0.0700073,0.1268005,0.1403046,0.2536011,0.2103119,0.3803711
|
||||
c0.2001038,0.5846558,0.4001923,1.169342,0.5999908,1.7539978l0.1688385,0.0778198l-0.0429535,0.15802
|
||||
c0.0901337,0.2932434,0.1805573,0.5864563,0.2706909,0.8796997c0.0625,0.1598206,0.1249847,0.3196716,0.1874847,0.4794922
|
||||
c0.0624847,0.1929016,0.1249847,0.3857727,0.1874695,0.5786743l0.1243896,0.0348511l-0.0727081,0.0817261
|
||||
c0.0883331,0.3103333,0.1766663,0.620697,0.2652893,0.9307556c0.0787201,0.0883484,0.1679535,0.1700439,0.2292328,0.2691956
|
||||
c0.0165253,0.0264587-0.0516663,0.1057739-0.0811157,0.1604309c0.0222321,0.1889954,0.0444641,0.377655,0.0664062,0.5666504
|
||||
c0.1144562,0.2199097,0.2292328,0.4398499,0.3437042,0.6597595c0.0201263,0.1826782,0.0399628,0.3647461,0.0600891,0.5471191
|
||||
c0.2166138,0.4963379,0.4329376,0.9923706,0.6495514,1.488678c5.6633606,17.3166504,11.3270111,34.6329956,16.9843445,51.951416
|
||||
c0.0582886,0.178772,0.0348511,0.3842773,0.0492706,0.5774536c1.8774719,7.5381165,4.0127258,15.0233459,5.5777283,22.6257629
|
||||
c3.0516052,14.8277893,5.8526306,29.7084045,8.6170044,44.5932617c1.1864624,6.388916,2.022583,12.8424377,3.0179596,19.2668152
|
||||
l0.0147247,0.069397c0.0781097,0.0820312,0.1697388,0.1559448,0.2283325,0.2499695
|
||||
c0.0228271,0.0366516-0.0291443,0.1195984-0.046875,0.1811829c0.0634003,0.6372375,0.1267853,1.2747803,0.1904907,1.9120178
|
||||
c0.0678864,0.179657,0.135788,0.3590088,0.2033997,0.5386963c0.0408478,0.5582275,0.0817108,1.1161499,0.1222687,1.6743469
|
||||
c0.0913391,0.2779236,0.1820679,0.5561218,0.2731018,0.8340454c0.034256,0.5699463,0.0688019,1.1395874,0.1030579,1.7095337
|
||||
c0.1051483,0.3863525,0.2106171,0.7727356,0.3157654,1.1590881c0.0399628,0.5537109,0.0802155,1.1071472,0.1204834,1.6608582
|
||||
c0.0847168,0.2662048,0.1694489,0.532074,0.2541656,0.7982788c0.0267487,0.5447083,0.0534821,1.0894165,0.0805206,1.6338196
|
||||
c0.0874329,0.2920227,0.1751556,0.5840454,0.2625885,0.8760681c0.0483704,0.6645813,0.0964355,1.3294678,0.1448212,1.9943542
|
||||
c0.0967407,0.4122009,0.1931763,0.8244019,0.2896271,1.236908c-0.0180359,0.2803345-0.0363617,0.5603333-0.0546875,0.8406372
|
||||
c0.088028,0.1238098,0.0793152,0.2403564-0.0258331,0.3497314c0.0751038,0.2794189,0.1502228,0.5588379,0.2253265,0.8385315
|
||||
c0.0769196,0.4326477,0.1532288,0.8652649,0.2298431,1.2979126c0.0273438,0.7105408,0.0543823,1.4211121,0.0817108,2.1313477
|
||||
c0.0946503,0.5212708,0.1889801,1.0425415,0.2836304,1.5635071c-0.0117188,0.4167175-0.0234375,0.8331299-0.0351562,1.2498474
|
||||
c0.0234375,0.0976257,0.0582886,0.1946716,0.0643005,0.2932129c0.0023956,0.0393677-0.059494,0.0823364-0.0919495,0.1238098
|
||||
c0.0162354,0.1826477,0.0324554,0.3650208,0.0486755,0.547699c0.134903,0.7655334,0.2695007,1.5310669,0.4040985,2.296875
|
||||
c-0.0201263,0.56604-0.0402527,1.1320801-0.0603943,1.6981201c0.1093597,0.1174622,0.1090698,0.2349243-0.0009003,0.3521118
|
||||
c0.021637,0.18927,0.0432739,0.3788452,0.0648956,0.5681458c0.1306915,0.8995056,0.2610931,1.7987366,0.3920898,2.6982727
|
||||
c-0.0066223,0.3761597-0.0129242,0.752594-0.0192413,1.1290588c-0.0129089,0.1688538-0.0258331,0.3377075-0.0387573,0.5065613
|
||||
c0.0150299,0.2235107,0.0297546,0.4467468,0.0447693,0.6702881c0.1300964,0.8748779,0.2601929,1.750061,0.3899841,2.6249695
|
||||
c0.6886139,8.9498901,1.3775177,17.8997803,2.0393982,26.5020752c3.1714783,2.9161072,6.114624,5.6224976,9.0577545,8.3285828
|
||||
c6.847702,7.2526855,14.3125153,13.9594727,18.929718,23.0881348c4.9858551,9.8581543,6.4922791,20.3244019,5.9626007,31.1737061
|
||||
c-0.1204834,2.4699097,0.1676483,4.6820679,1.2372131,6.8897095c0.7021332,1.4484863,1.1287689,3.0299683,1.6788788,4.552063
|
||||
c0.5687408,2.1655884,1.1374664,4.3311768,1.7059174,6.4967651c0.1117554,0.3112183,0.2238159,0.6224976,0.3356018,0.9337769
|
||||
c0.0291443,0.493042,0.0579834,0.9860229,0.0871277,1.4793701c0.1108704,0.454895,0.2220154,0.9100342,0.3328857,1.3649292
|
||||
c0.032135,0.8009644,0.0639954,1.6019287,0.0958557,2.4026489c-0.0057373,2.4161377-0.0114441,4.8322754-0.0171509,7.2484741
|
||||
c-0.0237122,0.742981-0.0474548,1.4859619-0.0711975,2.2293091c-0.1207886,0.5593872-0.2415466,1.1185303-0.36203,1.6776733
|
||||
c-0.0159302,0.3959351-0.0315552,0.7919312-0.0471802,1.1879272c-0.1183777,0.430542-0.2364502,0.861084-0.3545227,1.2918701
|
||||
c-0.0246277,0.3731689-0.0492554,0.7463379-0.0739136,1.119812c-0.1129456,0.3070068-0.2259216,0.6137695-0.3385925,0.9208374
|
||||
c-0.1366882,0.9346924-0.2736816,1.8693237-0.4107056,2.8037109c0.125,0.6949463,0.2499695,1.3898926,0.3749695,2.085083
|
||||
c0.0014954,3.2838745,0.0029907,6.5682983,0.0042114,9.8521118c-0.1199036,0.7081909-0.2397766,1.4163208-0.3599548,2.1244507
|
||||
c-0.0180054,0.5092773-0.0366516,1.0184937-0.0549622,1.527771c-0.1222839,0.4335327-0.244873,0.8670654-0.3674622,1.3005981
|
||||
c-0.0168152,0.3788452-0.0336304,0.7574463-0.0501709,1.1362915c-0.1168518,0.3100586-0.2337341,0.6204224-0.3506165,0.930481
|
||||
c0.0111389,0.1021118,0.0105286,0.2039795-0.0018005,0.3058472c0.1268005,0.4257202,0.2532654,0.8514404,0.3797607,1.2774658
|
||||
c0.006012,0.265625,0.0123291,0.5308838,0.0186462,0.7962036c0.1243591,0.4293213,0.2487488,0.8586426,0.3731384,1.2879639
|
||||
c0.0219421,0.4990234,0.0438538,0.9981079,0.0657959,1.4971313c0.142395,0.4434204,0.2848206,0.8865967,0.4275208,1.3300171
|
||||
c0.1147766,0.0165405,0.2157288,0.0634155,0.3022461,0.1412354c0.1553345,0.098877,0.3106689,0.197998,0.4656982,0.2971191
|
||||
c0.2592773,0.0348511,0.5185547,0.0697021,0.777832,0.1045532c0.1673584,0.0934448,0.3349915,0.1865845,0.502655,0.2800293
|
||||
c0.2409668,0.0438843,0.4819031,0.0883179,0.7228699,0.1322021c0.1658325,0.0934448,0.3313904,0.1868896,0.4972229,0.2800293
|
||||
c5.3031311,1.8083496,10.1778259,4.3651123,14.3206177,8.199646c3.5764771,3.6858521,7.1532593,7.3717041,11.3212891,11.6665039
|
||||
c5.578949,0.1427612,12.1165771,0.3061523,18.6539307,0.4822388c0.7411804,0.0201416,1.4805603,0.1105347,2.2205505,0.1682739
|
||||
c2.2250977-0.1262207,4.4489746-0.3311157,6.6752625-0.3623657c4.1530151-0.0588989,8.3075562-0.0168457,12.2535706-0.0168457
|
||||
c2.0168762-2.6044922,3.9117737-5.0516357,5.8066406-7.4990234c3.2583313-2.7039795,6.2399292-5.8817749,9.8470459-7.9881592
|
||||
c4.2016907-2.4534302,8.9510803-3.9694824,13.4625549-5.892334c0.4341125-1.944458,0.8965149-3.8832397,1.2963867-5.8345947
|
||||
c0.7174683-3.4998779,1.5662231-6.9846802,2.032196-10.519104c0.3034668-2.3004761-0.0140991-4.6779175,0.0186462-7.0198364
|
||||
c0.0675964-4.8095093,0.22052-9.6177979,0.2619934-14.4273071c0.0174255-2.0165405,0.0345459-4.0653076-0.2806396-6.0466919
|
||||
c-1.5007019-9.4282227-0.3668213-18.536438,3.0687256-27.3947144c0.5873718-1.5145264,1.1356812-3.0744019,1.959198-4.460083
|
||||
c1.2693787-2.1352539,1.5737305-4.4459229,1.7302551-6.826355c0.1141663-0.5170898,0.2283325-1.0341187,0.3421936-1.5509033
|
||||
c0.0231323-0.4281006,0.04599-0.8562622,0.0691223-1.2840576c0.1195679-0.3942261,0.2391357-0.7886963,0.3587341-1.1828613
|
||||
c0.4148865-1.7867432,0.8298035-3.5734863,1.2447205-5.3605347c1.827301-6.9447021,4.9954529-13.169281,9.9113159-18.4552917
|
||||
c2.2067566-2.1950378,4.4135132-4.3897705,6.6202698-6.5845032c0.3406982-0.3479004,0.6813965-0.6958313,1.0220947-1.0437317
|
||||
c0.1760559-0.1983032,0.3521118-0.3966064,0.5281982-0.5948792c0.139679-0.1983032,0.2793884-0.3963013,0.4194031-0.594574
|
||||
l0.1039429-0.1276855c3.3643799-4.8918152,7.9503479-8.510376,12.6000061-11.9558411
|
||||
c0.0669861-0.919342,0.1261597-1.7320557,0.1856689-2.5450439c0.0657959-0.405304,0.1312866-0.8106079,0.1970825-1.2159119
|
||||
c0.0667114-1.3757324,0.1333923-2.7514343,0.2001038-4.1268921c0.0624695-0.2902222,0.1249695-0.5801392,0.1877747-0.8703613
|
||||
c0.0625-1.2077942,0.1252747-2.415863,0.1877747-3.6236572c0.0726929-0.4143066,0.1448059-0.8286133,0.2172241-1.2429199
|
||||
c0.0594788-1.0921021,0.1186523-2.1842346,0.1778564-3.2763367c0.07901-0.4356384,0.15802-0.8712769,0.2370605-1.3072205
|
||||
c0.0513611-1.0668945,0.1030273-2.1337585,0.1544189-3.2006226c0.0838318-0.5510254,0.1676331-1.1023254,0.2511597-1.6533508
|
||||
c0.0480652-1.2267151,0.0964355-2.4537048,0.1448059-3.6804199c0.0943604-0.6849976,0.1893005-1.3700256,0.2836304-2.0550232
|
||||
c0.0384521-1.0906067,0.0769043-2.1815186,0.1150818-3.2721252c0.9394836-5.6092834,1.8789673-11.2185364,2.8184509-16.8275146
|
||||
c-0.0661011-0.1315918-0.0606995-0.260498,0.0162048-0.3860779c1.1966858-3.4286499,2.3933411-6.8570251,3.5903015-10.2853699
|
||||
c0.150238-0.3953857,0.3004456-0.7910767,0.4506836-1.1864319c0.0910339-0.3067627,0.1820679-0.6132202,0.2727966-0.9196777
|
||||
c-0.0042114-0.0877075-0.0198364-0.1769409-0.006012-0.2613831c0.0039062-0.0237427,0.0949402-0.0330505,0.1459961-0.0489807
|
||||
c0.0775146-0.3016357,0.1556396-0.6029663,0.2331543-0.9046326c0.005127-0.0943298-0.0024109-0.1916809,0.0222473-0.280304
|
||||
c0.0078125-0.0285339,0.100647-0.0333557,0.1547241-0.0489807c0.0654907-0.2986145,0.1309814-0.5972595,0.1964722-0.8959045
|
||||
c0.0652161-0.1276855,0.1304016-0.2556763,0.1955872-0.3833618c0.0600891-0.2785339,0.1204834-0.5570374,0.1805725-0.8355408
|
||||
c0.0961609-0.2262268,0.1922913-0.452179,0.288147-0.6781006c0.057373-0.3226624,0.1147461-0.64505,0.1718445-0.9674377
|
||||
c0.0733032-0.1036377,0.1466064-0.2073059,0.2199097-0.3106384c0.0342712-0.3022461,0.068512-0.604187,0.1024475-0.9061584
|
||||
c0.1114807-0.2210999,0.2226257-0.4422302,0.3338013-0.6630554c0.0276489-0.3247986,0.0549927-0.6495667,0.0823364-0.9743347
|
||||
c0.0901184-0.1496277,0.179657-0.2989502,0.2694702-0.4482727c0.0444946-0.3971863,0.0886536-0.7943726,0.1331177-1.1915588
|
||||
c0.0928345-0.1508179,0.1853638-0.3016357,0.2778931-0.4524536c0.2616882-1.1119385,0.5233765-2.223877,0.7850647-3.3361206
|
||||
c1.364624-3.6786194,2.7184143-7.3617554,4.0971375-11.0355835c1.0939331-2.9154968,2.2181702-5.8195801,3.4307556-8.9958801
|
||||
c-1.004364,0-1.7906189,0-2.5765991,0c-36.8460388,0.0006104-73.6923523,0.0030212-110.5383911-0.0116882
|
||||
c-0.7811584-0.0003052-1.5620117-0.1986084-2.342865-0.304657c-1.2267151-6.2227783-2.4927673-12.4380493-3.6729126-18.6695251
|
||||
c-4.6130066-24.361145-9.1998596-48.7276611-13.7909241-73.0929871c-0.125885-0.6681824-0.1932068-1.3471985-0.3190918-2.2437134
|
||||
c10.638092,0,21.1953735,0,31.7529297,0c5.3439941,0.0054016,10.6879578,0.0102234,16.0316467,0.015625
|
||||
c5.0630798-0.0006104,10.1261292-0.0012207,15.1889038-0.0015259c6.2921753,0.0006104,12.5840454,0.0015259,18.8759155,0.0021057
|
||||
c3.4199524,0,6.8399048,0,10.2598572,0c3.4205322,0,6.8407898,0,10.2610168,0c4.1046448,0,8.2093201,0,12.3139648,0
|
||||
c4.6514587-0.0002747,9.3026123-0.0002747,13.954071-0.0005798c6.428894,0.0005798,12.8577576,0.000885,19.2866516,0.0011902
|
||||
c3.011322-0.0003052,6.0226746-0.000885,9.0340271-0.0014954c3.2844238-0.0003052,6.5694885-0.0009155,9.8539124-0.0012207
|
||||
c7.7952881,0.0027161,15.5903015,0.005127,23.3852844,0.0078125c4.9296875-0.0005798,9.8593445-0.0014954,14.7887268-0.0020752
|
||||
c7.2490845,0.0011902,14.4984741,0.0023804,21.7475586,0.0039062c7.6378784,0.227417,15.2763062,0.4377441,22.913269,0.690094
|
||||
c3.6611938,0.1210938,7.3197021,0.3220825,11.2143555,0.4972534
|
||||
c-11.0385742,30.0965576-21.9927368,59.9633179-32.9472046,89.8297424
|
||||
c-3.1756592,11.2972717-6.3432312,22.5966492-9.5303345,33.8905945c-1.7984619,6.3729858-3.629364,12.7372742-5.4455261,19.1054688
|
||||
c-0.0606995,0.1252747-0.1213684,0.250885-0.1817627,0.3764648c-0.0441895,0.2757874-0.0883484,0.5519104-0.1325073,0.8280029
|
||||
c-0.0859375,0.1601562-0.1718445,0.320282-0.2574768,0.4807129c-0.0510864,0.2589722-0.1021423,0.5179749-0.1532288,0.7772522
|
||||
c-0.09375,0.2598877-0.1880798,0.5200806-0.2817993,0.7802429c-0.0309448,0.2709961-0.0619202,0.5422974-0.0931396,0.8135986
|
||||
c-0.0988464,0.1598511-0.1976929,0.3196716-0.2968445,0.4798279c-1.401886,5.0696716-2.7914124,10.1426392-4.2122192,15.2072144
|
||||
c-0.4548645,1.6214905-0.9926758,3.2195435-1.4925842,4.8284302c-1.9937439,7.2025146-4.1692505,14.3614807-5.9064331,21.6252747
|
||||
c-0.8901978,3.721283-1.1095276,7.6204529-1.4364014,11.4559021c-0.9839478,11.547821-1.7858276,23.1220703-7.0436096,33.7736816
|
||||
c-0.149292,0.3028564-0.3328857,0.5888672-0.5005188,0.8826904c-5.2736816,10.6675415-12.625824,19.5098877-22.7573547,25.9108276
|
||||
c-3.9499207,4.2023315-3.6492004,4.1605225-2.7199097,10.8757324c0.6369324,4.6036987,0.9034119,9.4354248,0.2148132,13.9961548
|
||||
c-0.688324,4.5604248-0.4831238,8.9727173-0.1499329,13.4529419c0.6639709,8.9276733-1.088501,17.3794556-4.8605652,25.4475098
|
||||
c-0.808197,1.7281494-1.7068176,3.4136353-2.5639648,5.1186523c0.0072021,0.4227295,0.0144043,0.8457642,0.0216064,1.2681885
|
||||
c0.0003052,0.3989868,0.0003052,0.7979736,0.0006104,1.1969604c-0.0063171,0.2839355-0.0123291,0.5678101-0.0186157,0.8517456
|
||||
c-0.0057068,0.1264648-0.0114136,0.2526855-0.0171204,0.3791504c-0.6096191,10.4623413-3.1270142,20.4610596-7.3329163,30.043396
|
||||
c-0.377655,0.861084-0.9277649,1.6467285-1.3979797,2.4672852c-0.18927,0.3845215-0.3788452,0.769104-0.5684204,1.1536865
|
||||
c-0.1304016,0.2130127-0.2608032,0.4260254-0.3911743,0.6387329c-2.7015991,5.1150513-6.4868774,9.3741455-10.5046997,13.4715576
|
||||
c-2.9146118,2.9719849-5.6843872,6.0855103-8.5412903,9.1142578c-0.7442017,0.7889404-1.5728149,1.4979858-2.3623962,2.2437134
|
||||
c-3.5599365,2.7060547-7.1202087,5.4118652-10.6801453,8.1176758c-2.6135559,1.4262085-5.2271118,2.852356-7.6174316,4.1566162
|
||||
c-2.5039062,3.0041504-4.89151,5.8691406-7.2791443,8.7338867c-3.1062622,2.7072754-6.2125549,5.414856-9.3185425,8.1221924
|
||||
c-3.4124146,1.9230957-6.8245544,3.8462524-10.2369995,5.7693481l0.0135193-0.0098877
|
||||
c-0.142395,0.0826416-0.2850952,0.164917-0.4278259,0.2478638c-3.5593262,1.1633301-7.1186829,2.3269653-10.6777344,3.4905396
|
||||
c-4.1040649,0.814209-8.2077942,1.628418-12.311554,2.4429321c-0.519165,0.1087646-1.0383301,0.2178345-1.5574951,0.3265381
|
||||
c-3.4494019,0.2668457-6.8987732,0.5336304-10.348175,0.800415c-8.3408813,0.1342773-16.681488,0.2686157-25.0223999,0.4025879
|
||||
c-10.1561584-0.2379761-20.3132324-0.4644775-30.4691162-0.7306519c-1.2080994-0.0315552-2.4107666-0.2794189-3.6158447-0.4266357
|
||||
c-5.8847656-0.9412842-11.7698364-1.8823242-17.6549225-2.8233032c-0.3286896-0.1246948-0.6573792-0.2493286-0.9863586-0.3740234
|
||||
c-0.2157135-0.026123-0.4314423-0.0523071-0.6474609-0.0784302c-8.9784393-1.7404785-16.6445465-6.0100708-23.3546295-12.1213989
|
||||
c-0.0952454-0.0775146-0.1904907-0.1552734-0.2857208-0.2327881c-0.0838318-0.0012207-0.1336975-0.0429688-0.1499329-0.1253052
|
||||
c-0.0949402-0.0907593-0.1901703-0.1814575-0.2854156-0.2722168l-0.1315918-0.1075439
|
||||
c-0.1090546-0.0991211-0.2184296-0.197998-0.3274841-0.296814l-0.0838165-0.0718384
|
||||
c-0.1156769-0.1123657-0.2310486-0.2247314-0.3464203-0.3370972l-0.0636902-0.0631104
|
||||
c-0.1174774-0.1159668-0.2349548-0.2319336-0.352417-0.3479004l-0.0573883-0.0543823
|
||||
c-0.1177673-0.1189575-0.2352448-0.237915-0.3527222-0.3569336l-0.0558777-0.0621948
|
||||
c-0.1135712-0.116272-0.2268372-0.2322388-0.3404083-0.3485107l-0.0699921-0.0705566
|
||||
c-0.1096649-0.1129761-0.2193298-0.2259521-0.3292999-0.3392334l-0.0787048-0.0925293
|
||||
c-0.097641-0.1060791-0.1952972-0.2124023-0.2926331-0.3187866l-0.0940399-0.1135254
|
||||
c-0.103653-0.1084595-0.2076111-0.2172241-0.311264-0.3256836l-0.1135712-0.1334229
|
||||
c-0.1604309-0.0120239-0.2364349-0.0991211-0.2286377-0.2616577c-1.9784088-2.4708862-3.8997498-4.991272-5.9682922-7.3840332
|
||||
c-0.6630859-0.767334-1.691803-1.237793-2.5955353-1.7728882c-1.5650024-0.9268799-3.1627502-1.7981567-4.7466888-2.6925659
|
||||
c-0.5332947-0.2959595-1.0662842-0.5916138-1.5995636-0.8875122l-0.0405579-0.0459595
|
||||
c-0.4122162-0.2511597-0.8244171-0.5026855-1.236618-0.7538452c-6.1062164-3.8215942-11.5093842-8.4586792-16.1776581-13.9480591
|
||||
c-7.3206024-7.7216797-15.9225922-14.2806396-21.4528351-23.6256104c-0.4122162-0.6967773-0.7186584-1.4559937-1.0743866-2.1863403
|
||||
c-3.1315155-5.2664795-4.8903198-11.0301514-5.6062775-17.0462646c-0.4801025-4.0319214-0.1577301-8.1546021-0.5245667-12.206665
|
||||
c-0.2595825-2.8689575-1.1023254-5.682312-1.6298981-8.5305176c-1.2669678-6.8410645-0.8604736-13.65271,0.1333923-20.5021973
|
||||
c0.3082581-2.1259766-0.2698059-4.3939819-0.5314789-6.5866089c-0.9043427-7.5847168-0.2992401-15.0203857,1.7813263-22.3851318
|
||||
c0.6504517-2.3032227,0.6781006-4.7818604,0.8806-6.3363647c-2.0307007-4.6322021-5.2015839-7.0345459-8.5028381-9.3185425
|
||||
c-0.5489197-0.3797607-1.0097961-0.8875122-1.5115356-1.3360596c-3.259201-3.2330322-6.7401428-6.2762451-9.7211304-9.7487793
|
||||
c-3.5368195-4.1208496-6.1422577-8.8916016-7.9431152-14.0562134l0.0057068-0.0065918
|
||||
c-0.1234894-0.2827148-0.2466583-0.5654297-0.3701477-0.8481445c-2.5820007-5.9671021-3.9337006-12.2262573-4.4522705-18.6857605
|
||||
c-0.4858093-6.0476379-1.0136871-12.0922546-1.4676666-18.1422729c-0.4422455-5.8934937-0.7871552-11.7944946-1.2263947-17.6882935
|
||||
c-0.2929382-3.9318848-0.6426544-7.8601685-1.0284271-11.7839661c-0.4052887-4.1238708-0.8478394-8.244751-1.3387756-12.359314
|
||||
c-0.6672821-5.5939636-1.2804794-11.1981201-2.1253281-16.7662354c-1.291008-8.5079346-2.7229156-16.9954529-4.1689453-25.4790649
|
||||
c-0.7721405-4.5279846-1.7038193-9.0283203-2.5501633-13.5436707c-0.0862274-0.4593811-0.0817184-0.9358826-0.1195755-1.4045715
|
||||
c-0.0955429-0.0754089-0.1135712-0.1661377-0.0540771-0.272522c-0.1072617-0.4536438-0.2142181-0.9073181-0.3214798-1.3606873
|
||||
c-0.025238-0.2025146-0.0504761-0.4049988-0.0754089-0.6075134c-0.113266-0.4815979-0.2262344-0.963501-0.3395004-1.4448242
|
||||
c-0.0733109-0.1150513-0.0940399-0.2385559-0.0621948-0.3710327c-0.108757-0.2854309-0.2172165-0.5705566-0.3259811-0.855957
|
||||
c-0.0360489-0.3779602-0.0721054-0.7556152-0.1081543-1.1332703c-0.1054611-0.4440613-0.2109146-0.8878174-0.3163681-1.3315735
|
||||
c-1.1528015-4.7839661-2.1526718-9.6111755-3.4875412-14.3434448
|
||||
c-3.5419235-12.5534363-7.2280579-25.0656738-10.8586121-37.5938416c-0.1517258-0.5224915-0.3250809-1.0389404-0.4885254-1.5581055
|
||||
c-0.1123657-0.3572388-0.225029-0.714447-0.3373947-1.0716858c-0.0681992-0.2688904-0.1361008-0.5374756-0.2040024-0.8060913
|
||||
c-2.6451035-7.1733704-5.7321548-14.2205505-7.8301468-21.5504761
|
||||
c-3.0600128-10.6915588-8.0022964-20.4709778-13.115242-30.2209473c-0.8484497-1.6181946-1.6785736-3.2463074-2.5168076-4.8695984
|
||||
c-3.7405167-6.8065186-7.5519409-13.5752258-11.2053223-20.4283142
|
||||
c-6.1858253-11.6022186-12.2842178-23.251297-18.3886185-34.8964691c-1.1380806-2.1710052-2.1316452-4.4177094-3.1919098-6.6292725
|
||||
c-4.1566277-8.046463-8.4268265-16.0364532-12.4404449-24.1535187
|
||||
c-5.0188999-10.1501617-8.2660885-20.8964081-10.6140499-31.9737549
|
||||
c-1.9709072-9.2987061-2.573595-18.7308197-1.6548405-28.0415497c1.9399605-19.6645966,8.6749916-37.6446075,21.2887917-53.1420593
|
||||
c1.2399292-1.5235519,2.6607246-2.8995819,3.9976959-4.3441086c2.5603752-2.6168594,4.9798431-5.3917542,7.7078667-7.8196297
|
||||
c7.374073-6.563179,15.5605469-11.9675484,24.3566208-16.4459534c0.2358475-0.1201782,0.5047379-0.1748581,0.758316-0.2598839
|
||||
c7.7478256-3.945118,15.8162231-7.0510979,24.2295303-9.2536469c4.6424484-1.0674744,9.2851944-2.1346474,13.9279404-3.2018204
|
||||
c0.2824173-0.1120644,0.5651321-0.2241287,0.847847-0.3358955c0.2715988-0.0102158,0.5432053-0.0204277,0.8151016-0.0306435
|
||||
c4.3597336-0.8319283,8.7197647-1.6638546,13.0794907-2.4957809c0.2944336-0.1033535,0.588562-0.2067051,0.8829956-0.3097572
|
||||
c0.537796-0.0405598,1.075592-0.0808201,1.6133881-0.1210785c0.2685852-0.0892315,0.5371857-0.1787643,0.805481-0.2679958
|
||||
c0.5576172-0.0321465,1.1149445-0.0645943,1.6725616-0.0967426c2.8614197-0.4834118,5.7120361-1.0467434,8.5863647-1.4304085
|
||||
c3.6966553-0.4939289,7.4125366-0.8436451,11.1203003-1.2555523c0.5528107-0.0582848,1.1056366-0.116272,1.6584473-0.1745567
|
||||
c0.2637939-0.063694,0.5272827-0.127388,0.7907715-0.191082c0.8364258-0.0597878,1.6728668-0.119276,2.5090027-0.1787643
|
||||
c0.2637787-0.0411606,0.5272675-0.0826206,0.7910614-0.1237812c3.262207-0.2905293,6.5247192-0.581358,9.7872314-0.8721867
|
||||
c4.1250763-0.3662395,8.2501678-0.732481,12.3749542-1.0987206c0.1360931-0.0051079,0.2718964-0.0102158,0.4076996-0.0153217
|
||||
c1.5058136-0.1315956,3.0116425-0.2634888,4.5174561-0.3950825c1.2294159-0.1367016,2.4585266-0.2731037,3.6876373-0.4098053
|
||||
c0.138504-0.0009003,0.2770081-0.0021038,0.4155121-0.0033054c4.1043549-0.2652912,8.2089996-0.5305824,12.3133545-0.7961731
|
||||
c8.8973236-0.4308357,17.794342-0.8652763,26.6922607-1.2840939c0.6760101-0.031847,1.3571014,0.0498734,2.0358124,0.0790157
|
||||
c4.9260559-0.1348972,9.8524323-0.2694969,14.7784882-0.4040947c10.808136-0.2722015,21.616272-0.5441036,32.4241028-0.8163033
|
||||
c11.3543701-0.0003014,22.7090149-0.0009022,34.0633545-0.001503c7.2818298-0.0177269,14.5633545-0.0402603,21.8452148-0.0414619
|
||||
c0.3896484,0,0.7793274,0.1775627,1.1690063,0.2725029c3.1609802,0.189579,6.3216248,0.3794594,9.4825745,0.5693398
|
||||
c1.1966858,0.1123657,2.3936462,0.2247314,3.5903015,0.3373966c6.0353088,0.2926311,12.0718079,0.5855637,18.1083069,0.8784962
|
||||
c1.088501,0.1144676,2.1767273,0.2292385,3.2652283,0.3440075c2.460907,0.1559296,4.9218445,0.3115597,7.3830872,0.4674892
|
||||
c3.2826233,0.1333961,6.5652771,0.2664928,9.8482056,0.399889c0.8809204,0.1108646,1.7618103,0.2217274,2.6430054,0.3325901
|
||||
c2.2671509,0.1571331,4.5342712,0.3142643,6.8014221,0.471096c2.8671265,0.124382,5.7342529,0.2487659,8.6016846,0.3731499
|
||||
c0.5462036,0.0501728,1.0924072,0.1003475,1.6386108,0.1502209c1.3739319,0.0862274,2.7478638,0.1724548,4.1221008,0.2589817
|
||||
c0.4031982,0.044466,0.8060913,0.088932,1.209259,0.1333981c0.6859131,0.0763111,1.3718262,0.1526241,2.0580444,0.2286358
|
||||
c3.0179443,0.2538757,6.0359192,0.5077496,9.0538635,0.7616234c0.5933533,0.0219326,1.1867371,0.0435638,1.780426,0.0654964
|
||||
c0.1880798,0.0360527,0.3764343,0.071806,0.5648193,0.1078587c1.0166931,0.0688019,2.0331116,0.1376038,3.0498047,0.2064056
|
||||
c0.3758545,0.094038,0.7514038,0.188076,1.1269531,0.2824154c0.7171631,0.026741,1.4346313,0.0537796,2.1517944,0.0805187
|
||||
c0.3503113,0.0841255,0.7009277,0.1682491,1.051239,0.2523727c0.7408752,0.044466,1.4820862,0.0883312,2.2229614,0.1327953
|
||||
c0.3647461,0.0895329,0.7294922,0.1790638,1.0942383,0.2685966c1.8179626,0.1787643,3.6359558,0.3575268,5.4539185,0.5365906
|
||||
c0.1986084,0.0691032,0.3969116,0.1388054,0.5951843,0.2079067c0.2001038,0.0486717,0.4002075,0.0973434,0.6002808,0.1460152
|
||||
c3.2835388,0.4055996,6.5671082,0.8117981,9.850647,1.2173958c3.6969299,0.5389957,7.3938904,1.0776901,11.0908508,1.6163845
|
||||
c3.8703003,0.5185642,7.7496338,0.9809475,11.6094055,1.5704136c4.5300903,0.6919212,9.0439453,1.4902,13.5617065,2.2599335
|
||||
c0.2445679,0.0417633,0.4608765,0.2475662,0.6904297,0.3767548c0.400177,0.0336494,0.8006592,0.0670013,1.2011719,0.1006508
|
||||
c0.2842102,0.0832214,0.5684204,0.1664429,0.8529358,0.2496681c0.5627441,0.0730057,1.1257629,0.1463165,1.6885071,0.2193222
|
||||
c0.09552,0.0441666,0.1913757,0.0883293,0.2869263,0.1324959c0.4368286,0.0507736,0.8736877,0.1015511,1.3102112,0.1520233
|
||||
c0.2250366,0.0934372,0.4497681,0.1868782,0.6744995,0.280014c0.4506836,0.0414619,0.9013367,0.0832214,1.3522949,0.1246834
|
||||
c0.1523438,0.0823212,0.3043518,0.164341,0.456665,0.2466621c0.4071045,0.0411606,0.8139038,0.082325,1.2210083,0.1234856
|
||||
c0.2472839,0.1018486,0.4945374,0.2036972,0.7417908,0.3055496c3.1871033,0.8120956,6.3742065,1.6241951,9.5613098,2.4365921
|
||||
c2.710022,0.8135986,5.4190674,1.6265984,8.1281738,2.4398994c0.3203125,0.124382,0.6402588,0.2484665,0.9602051,0.3728485
|
||||
c0.9025269,0.3022461,1.8051147,0.6044922,2.7073364,0.9067383c0.203064,0.1033516,0.4064941,0.2067032,0.6095581,0.3097572
|
||||
c7.8590088,2.515007,14.8983765,6.6298752,21.5976562,11.3221931
|
||||
c15.3319092,10.7384377,26.305603,25.1056252,34.4998779,41.7709007
|
||||
c4.2287598,8.6007843,7.1021729,17.5819244,8.2372437,27.1197891c0.40802,3.4286575,1.0596924,6.8281631,1.6377563,10.4770584
|
||||
C589.3682861,135.7901917,586.9737549,136.6798096,584.5657349,137.5315552z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 68 KiB |
|
|
@ -1,228 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 17.9 612 759.1" style="enable-background:new 0 17.9 612 759.1;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:url(#SVGID_1_);}
|
||||
.st1{fill:#020202;}
|
||||
</style>
|
||||
<g>
|
||||
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="203.6162" y1="340.0756" x2="419.5191" y2="340.0756" gradientTransform="matrix(1 0 0 1 0 5.8553)">
|
||||
<stop offset="0" style="stop-color:#EB2227"/>
|
||||
<stop offset="0.5" style="stop-color:#FCEE21"/>
|
||||
<stop offset="1" style="stop-color:#29ABE2"/>
|
||||
</linearGradient>
|
||||
<path class="st0" d="M410.2,247.2c-3-5.9-6.8-10.9-12.3-14.8c-2.4-1.7-4.9-3.1-7.8-4c-0.1-0.1-0.1-0.1-0.2-0.1
|
||||
c-0.4-0.1-0.6-0.2-1-0.3c-0.1-0.1-0.2-0.1-0.4-0.1c-1-0.3-1.9-0.6-2.9-0.9c-1.1-0.3-2.3-0.6-3.5-0.9c-0.1-0.1-0.2-0.1-0.3-0.1
|
||||
c-0.1,0-0.3,0-0.4-0.1c-0.1,0-0.1-0.1-0.1-0.1c-0.1,0-0.4,0-0.5-0.1c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.3,0-0.5-0.1
|
||||
c0,0-0.1,0-0.1-0.1c-0.2,0-0.4-0.1-0.6-0.1c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.3,0-0.4,0c-0.1-0.1-0.1-0.1-0.3-0.1
|
||||
c-1.6-0.3-3.2-0.6-4.9-0.8c-1.4-0.2-2.8-0.4-4.2-0.6c-1.3-0.2-2.7-0.4-4-0.6c-1.2-0.1-2.3-0.3-3.5-0.4c-0.1,0-0.1,0-0.2-0.1
|
||||
c-0.1,0-0.1-0.1-0.2-0.1c-0.6-0.1-1.3-0.1-2-0.2c-0.1,0-0.3-0.1-0.4-0.1c-0.3,0-0.6,0-0.8-0.1c-0.1,0-0.3-0.1-0.4-0.1
|
||||
c-0.3,0-0.5,0-0.8,0c-0.1,0-0.3-0.1-0.4-0.1c-0.4,0-0.7-0.1-1.1-0.1c-0.1,0-0.1,0-0.2-0.1c-0.2,0-0.4,0-0.6,0
|
||||
c-1.1-0.1-2.2-0.1-3.2-0.3c-0.2,0-0.5-0.1-0.7-0.1c-0.1,0-0.3,0-0.4-0.1c-0.5,0-1-0.1-1.5-0.1c-0.2,0-0.4,0-0.6-0.1
|
||||
c-1.1-0.1-2-0.1-3.1-0.1c-0.8-0.1-1.6-0.1-2.5-0.1c-0.3-0.1-0.6-0.1-0.9-0.1c-1.2-0.1-2.3-0.1-3.5-0.1c-0.8-0.1-1.8-0.1-2.6-0.1
|
||||
c-0.4-0.1-0.8-0.1-1.2-0.1c-2.2-0.1-4.3-0.2-6.5-0.3c-0.4-0.1-0.8-0.1-1.3-0.1c-1.1-0.1-2.3-0.1-3.4-0.2c-0.1,0-0.3-0.1-0.4-0.1
|
||||
c-2.6,0-5.2,0-7.8,0c-4.1,0-8.1,0-12.2,0c-3.9,0.1-7.8,0.2-11.6,0.3c-1.8,0.1-3.5,0.1-5.3,0.1c-0.2,0-0.5-0.1-0.7,0
|
||||
c-3.2,0.1-6.4,0.3-9.5,0.4c-1.5,0.1-3,0.2-4.4,0.3c-0.1,0-0.1,0-0.1,0c-0.4,0.1-0.8,0.1-1.3,0.1c-0.6,0.1-1.1,0.1-1.6,0.1
|
||||
c-0.1,0-0.1,0-0.1,0c-1.5,0.1-3,0.3-4.4,0.4c-1.2,0.1-2.3,0.2-3.5,0.3c-0.1,0-0.2,0-0.3,0.1c-0.3,0-0.6,0.1-0.9,0.1
|
||||
c-0.1,0-0.2,0.1-0.3,0.1c-0.2,0-0.4,0.1-0.6,0.1c-1.3,0.1-2.7,0.3-4,0.4c-1.1,0.1-2,0.4-3.1,0.5c-0.2,0-0.4,0-0.6,0
|
||||
c-0.1,0-0.2,0.1-0.3,0.1c-0.2,0-0.4,0-0.6,0.1c-0.1,0.1-0.2,0.1-0.3,0.1c-1.6,0.3-3.1,0.6-4.7,0.9c-0.1,0-0.2,0-0.3,0
|
||||
c-0.1,0.1-0.2,0.1-0.3,0.1c-1.7,0.4-3.3,0.7-5,1.2c-3,0.8-5.9,1.9-8.7,3.2c-0.1,0-0.2,0.1-0.3,0.1c-3.2,1.6-6.1,3.5-8.7,5.8
|
||||
c-1,0.9-1.8,1.9-2.8,2.7c-0.5,0.5-1,1-1.4,1.5c-4.5,5.5-6.9,11.8-7.6,18.8c-0.4,3.3-0.1,6.6,0.6,9.9c0.8,3.9,2,7.7,3.8,11.3
|
||||
c1.4,2.9,3,5.7,4.4,8.6c0.4,0.8,0.7,1.6,1.1,2.4c2.2,4.1,4.4,8.2,6.6,12.3c1.3,2.4,2.7,4.8,4,7.2c0.3,0.6,0.6,1.2,0.9,1.7
|
||||
c1.8,3.5,3.6,6.9,4.7,10.7c0.8,2.6,1.8,5.1,2.8,7.6c0,0.1,0.1,0.2,0.1,0.3c0.1,0.1,0.1,0.3,0.1,0.4c0.1,0.2,0.1,0.4,0.1,0.6
|
||||
c1.3,4.5,2.6,8.9,3.9,13.3c0.5,1.7,0.8,3.4,1.3,5c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.3,0.1,0.4c0.1,0.1,0.1,0.2,0.1,0.3
|
||||
c0,0.1,0,0.1,0,0.1c0.1,0.1,0.1,0.4,0.1,0.5c0,0.1,0,0.1,0,0.2c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.1,0,0.1c0,0.1,0,0.4,0.1,0.5
|
||||
c0.3,1.6,0.6,3.2,0.9,4.8c0.5,3,1.1,6,1.5,9c0.3,1.9,0.5,4,0.8,5.9c0.1,1.4,0.4,2.9,0.5,4.4c0.1,1.4,0.3,2.8,0.4,4.2
|
||||
c0.1,2.1,0.3,4.2,0.4,6.3c0.1,2.2,0.4,4.2,0.5,6.4c0.2,2.3,0.6,4.5,1.6,6.6c0.1,0.1,0.1,0.2,0.1,0.3l0,0c0.6,1.8,1.6,3.5,2.8,5
|
||||
c1.1,1.2,2.3,2.3,3.5,3.5c0.2,0.1,0.4,0.4,0.6,0.5c1.2,0.8,2.3,1.7,3,3.3c-0.1,0.6-0.1,1.4-0.3,2.2c-0.8,2.6-1,5.3-0.6,7.9
|
||||
c0.1,0.8,0.3,1.6,0.2,2.3c-0.4,2.4-0.5,4.8-0.1,7.3c0.2,1,0.5,2,0.6,3c0.1,1.4,0,2.9,0.2,4.3c0.3,2.2,0.9,4.2,2,6
|
||||
c0.1,0.3,0.2,0.5,0.4,0.8c2,3.3,5.1,5.6,7.7,8.4c1.7,1.9,3.6,3.6,5.8,5c0.1,0.1,0.3,0.1,0.4,0.3l0,0c0.2,0.1,0.4,0.2,0.6,0.3
|
||||
c0.6,0.3,1.1,0.6,1.7,0.9c0.4,0.2,0.7,0.4,0.9,0.6c0.7,0.9,1.4,1.7,2.1,2.6c0,0.1,0,0.1,0.1,0.1l0.1,0.1c0.1,0.1,0.1,0.1,0.1,0.1
|
||||
v0.1c0,0.1,0.1,0.1,0.1,0.1l0,0c0.1,0.1,0.1,0.1,0.1,0.1l0,0c0.1,0.1,0.1,0.1,0.1,0.1l0,0c0.1,0.1,0.1,0.1,0.1,0.1l0,0
|
||||
c0.1,0.1,0.1,0.1,0.1,0.1l0,0c0.1,0.1,0.1,0.1,0.1,0.1l0,0c0.1,0,0.1,0.1,0.1,0.1l0.1,0.1l0.1,0.1c0,0,0,0.1,0.1,0.1l0.1,0.1
|
||||
c2.4,2.2,5.2,3.7,8.4,4.3c0.1,0,0.1,0,0.2,0c0.1,0.1,0.2,0.1,0.4,0.1c2.1,0.4,4.2,0.6,6.4,1c0.4,0.1,0.8,0.1,1.3,0.1
|
||||
c3.7,0.1,7.3,0.1,10.9,0.3c3-0.1,6-0.1,9-0.1c1.3-0.1,2.5-0.2,3.7-0.3c0.2-0.1,0.4-0.1,0.6-0.1c1.5-0.3,3-0.6,4.4-0.9
|
||||
c1.3-0.4,2.5-0.8,3.8-1.2c0.1,0,0.1-0.1,0.1-0.1l0,0c1.2-0.6,2.5-1.4,3.7-2c1.1-0.9,2.3-1.9,3.3-2.9c0.8-1,1.7-2,2.6-3.1
|
||||
c0.8-0.4,1.8-0.9,2.8-1.4c1.3-0.9,2.5-1.9,3.8-2.9c0.3-0.3,0.6-0.5,0.8-0.8c1-1.1,2-2.2,3-3.2c1.4-1.4,2.8-3,3.7-4.8
|
||||
c0.1-0.1,0.1-0.1,0.1-0.2c0.1-0.1,0.1-0.3,0.2-0.4c0.1-0.3,0.4-0.6,0.5-0.9c1.5-3.4,2.4-6.9,2.6-10.7c0-0.1,0-0.1,0-0.1
|
||||
s0-0.2,0-0.3c0-0.1,0-0.3,0-0.4c0-0.1,0-0.3,0-0.4c0.3-0.6,0.6-1.2,0.9-1.8c1.3-2.9,2-5.8,1.8-9c-0.1-1.6-0.2-3.2,0.1-4.8
|
||||
c0.2-1.6,0.1-3.3-0.1-5c-0.4-2.4-0.4-2.4,1-3.8c3.6-2.2,6.3-5.4,8.1-9.1c0.1-0.1,0.1-0.2,0.2-0.3c1.9-3.7,2.2-7.8,2.5-12
|
||||
c0.1-1.4,0.2-2.7,0.5-4c0.6-2.6,1.4-5.1,2.1-7.6c0.2-0.6,0.4-1.2,0.6-1.7c0.5-1.8,1-3.6,1.5-5.4c0.1-0.1,0.1-0.1,0.1-0.1
|
||||
c0-0.1,0-0.2,0-0.3c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0.1-0.1,0.1-0.1c0-0.1,0-0.2,0.1-0.3c0-0.1,0.1-0.1,0.1-0.1
|
||||
c0.6-2.2,1.3-4.5,2-6.8c1.1-4,2.3-8,3.4-12c4-10.6,7.8-21.1,11.8-31.8c-1.4-0.1-2.7-0.1-4-0.1c-2.8-0.1-5.5-0.1-8.2-0.2
|
||||
c-2.6,0-5.2,0-7.8,0c-1.8,0-3.5,0-5.3,0c-2.8,0-5.6,0-8.4,0c-1.2,0-2.3,0-3.5,0c-1.1,0-2.2,0-3.2,0c-2.3,0-4.6,0-6.9,0
|
||||
c-1.7,0-3.3,0-5,0c-1.5,0-3,0-4.4,0c-1.2,0-2.5,0-3.7,0s-2.5,0-3.7,0c-2.3,0-4.5,0-6.8,0c-1.8,0-3.6,0-5.4,0c-1.9,0-3.8,0-5.7,0
|
||||
c-3.8,0-7.5,0-11.4,0c0.1,0.3,0.1,0.6,0.1,0.8c1.6,8.6,3.3,17.2,4.9,25.9c0.4,2.2,0.8,4.4,1.3,6.6c0.3,0.1,0.6,0.1,0.8,0.1
|
||||
c13.2,0,26.4,0,39.6,0c0.3,0,0.6,0,0.9,0c-0.4,1.2-0.8,2.2-1.2,3.2c-0.5,1.3-1,2.6-1.5,3.9c-0.1,0.4-0.2,0.8-0.3,1.2
|
||||
c0,0.1-0.1,0.1-0.1,0.1c0,0.1,0,0.3-0.1,0.4c0,0.1-0.1,0.1-0.1,0.1c0,0.1,0,0.2,0,0.4c-0.1,0.1-0.1,0.1-0.1,0.2
|
||||
c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.1-0.1,0.1c0,0.1-0.1,0.2-0.1,0.4c0,0.1-0.1,0.1-0.1,0.2c0,0.1-0.1,0.2-0.1,0.3
|
||||
c0,0.1-0.1,0.1-0.1,0.1s-0.1,0.2-0.1,0.3h-0.1v0.1c0,0.1-0.1,0.2-0.1,0.3h-0.1v0.1c0,0.1-0.1,0.2-0.1,0.4c-0.1,0.1-0.1,0.3-0.1,0.4
|
||||
c-0.4,1.2-0.8,2.4-1.3,3.7c0,0.1,0,0.1,0,0.1c-0.4,2-0.7,4-1,6c0,0.4,0,0.8-0.1,1.2c0,0.2-0.1,0.5-0.1,0.7c0,0.4,0,0.9-0.1,1.3
|
||||
c0,0.2-0.1,0.4-0.1,0.6c0,0.4-0.1,0.7-0.1,1.2c0,0.1-0.1,0.3-0.1,0.4c0,0.4-0.1,0.8-0.1,1.2c0,0.1-0.1,0.3-0.1,0.4
|
||||
c0,0.4-0.1,0.9-0.1,1.3c0,0.1-0.1,0.2-0.1,0.3c0,0.5-0.1,1-0.1,1.4c0,0.1-0.1,0.3-0.1,0.4c0,0.3-0.1,0.6-0.1,0.9
|
||||
c-1.7,1.2-3.3,2.5-4.5,4.2l-0.1,0.1c-0.1,0.1-0.1,0.1-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.2-0.4,0.4
|
||||
c-0.8,0.8-1.6,1.6-2.4,2.3c-1.8,1.9-2.9,4.1-3.5,6.6c-0.1,0.6-0.3,1.3-0.4,1.9c-0.1,0.1-0.1,0.3-0.1,0.4c0,0.1,0,0.3,0,0.4
|
||||
c-0.1,0.2-0.1,0.4-0.1,0.6c-0.1,0.9-0.1,1.7-0.6,2.4c-0.3,0.5-0.5,1-0.7,1.6c-1.2,3.2-1.6,6.3-1.1,9.7c0.1,0.7,0.1,1.4,0.1,2.2
|
||||
c0,1.7-0.1,3.4-0.1,5.1c0,0.9,0.1,1.7,0,2.4c-0.1,1.2-0.5,2.4-0.7,3.7c-0.1,0.7-0.3,1.4-0.5,2.1c-1.6,0.6-3.3,1.2-4.8,2.1
|
||||
c-1.3,0.7-2.3,1.9-3.5,2.8c-0.7,0.9-1.3,1.7-2,2.7c-1.4,0-2.9,0-4.4,0c-0.8,0-1.6,0.1-2.4,0.1c-0.3,0-0.6-0.1-0.8-0.1
|
||||
c-2.3-0.1-4.7-0.1-6.7-0.1c-1.5-1.5-2.8-2.8-4-4.1c-1.5-1.4-3.2-2.2-5.2-2.9c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.1,0-0.3-0.1
|
||||
c-0.1,0-0.1-0.1-0.2-0.1s-0.2,0-0.3-0.1c-0.1,0-0.1-0.1-0.1-0.1s-0.1-0.1-0.1-0.1c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.1,0-0.4,0-0.5
|
||||
c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.2,0-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.1,0-0.1c0.1-0.1,0.1-0.2,0.1-0.4
|
||||
c0-0.1,0-0.3,0-0.4c0.1-0.1,0.1-0.3,0.1-0.4c0-0.2,0-0.4,0-0.6c0.1-0.2,0.1-0.5,0.1-0.7c0-1.2,0-2.3,0-3.5
|
||||
c-0.1-0.2-0.1-0.5-0.1-0.7c0.1-0.4,0.1-0.6,0.1-1c0.1-0.1,0.1-0.2,0.1-0.4c0-0.1,0-0.3,0-0.4c0.1-0.1,0.1-0.3,0.1-0.4
|
||||
c0-0.1,0-0.3,0-0.4c0.1-0.2,0.1-0.4,0.1-0.6c0-0.3,0-0.5,0-0.8c0-0.9,0-1.7,0-2.6c0-0.3,0-0.6,0-0.9c-0.1-0.1-0.1-0.3-0.1-0.5
|
||||
c0-0.1,0-0.4,0-0.5c-0.1-0.1-0.1-0.2-0.1-0.4c-0.2-0.8-0.4-1.5-0.6-2.3c-0.2-0.5-0.4-1.1-0.6-1.6c-0.4-0.8-0.5-1.6-0.4-2.4
|
||||
c0.2-3.8-0.4-7.6-2.1-11c-1.6-3.2-4.3-5.6-6.8-8.1c-1.1-0.9-2.1-1.9-3.2-3c-0.2-3-0.5-6.2-0.7-9.4c-0.1-0.3-0.1-0.6-0.1-0.9
|
||||
c0-0.1,0-0.1,0-0.2c0-0.1,0-0.1,0-0.1c0-0.1,0-0.3,0-0.4c-0.1-0.3-0.1-0.6-0.1-0.9c0-0.1,0-0.1,0-0.2c0.1-0.1,0.1-0.1,0-0.1
|
||||
c0-0.2,0-0.4,0-0.6c-0.1-0.3-0.1-0.6-0.1-0.8c0-0.1,0-0.1,0-0.2c0,0,0,0,0-0.1v-0.1c0-0.1,0-0.3,0-0.4c0-0.2-0.1-0.4-0.1-0.6
|
||||
c0-0.2,0-0.5,0-0.7c0-0.1-0.1-0.3-0.1-0.4c0-0.1-0.1-0.2-0.1-0.3c0.1-0.1,0.1-0.1,0-0.1c0-0.1,0-0.2,0-0.3c0-0.1-0.1-0.3-0.1-0.4
|
||||
c0-0.2,0-0.5-0.1-0.7c0-0.1-0.1-0.2-0.1-0.3c0-0.2,0-0.4,0-0.6c0-0.1-0.1-0.2-0.1-0.3c0-0.2,0-0.4-0.1-0.6
|
||||
c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.4-0.1-0.6c0-0.1-0.1-0.2-0.1-0.3c0-0.2,0-0.4-0.1-0.6c0-0.1-0.1-0.1-0.1-0.2
|
||||
c0-0.2-0.1-0.4-0.1-0.6v-0.1l-0.1-0.1l0,0c-0.4-2.3-0.6-4.5-1.1-6.8c-1-5.3-2-10.5-3.1-15.8c-0.6-2.7-1.3-5.3-2-8
|
||||
c0-0.1,0-0.1,0-0.2c-2-6.1-4-12.2-6.1-18.4c-0.1-0.1-0.1-0.4-0.2-0.5c0-0.1,0-0.1,0-0.2c-0.1-0.1-0.1-0.1-0.1-0.2
|
||||
c0-0.1,0-0.1,0-0.2v-0.1l-0.1-0.1c0-0.1-0.1-0.2-0.1-0.4l0,0h-0.1c0-0.1-0.1-0.1-0.1-0.2c0-0.1-0.1-0.1-0.1-0.1
|
||||
c0-0.1-0.1-0.2-0.1-0.3v-0.1h-0.1c-0.1-0.2-0.1-0.4-0.2-0.6c0-0.1-0.1-0.1-0.1-0.1c-0.1-0.1-0.1-0.3-0.2-0.4
|
||||
c-0.2-0.5-0.5-1-0.7-1.5c-1.5-3-3-5.9-4.4-8.8c-0.4-0.8-0.8-1.6-1.2-2.4c-0.1-0.1-0.1-0.1-0.1-0.2v-0.1h-0.1v-0.1
|
||||
c-0.1-0.1-0.1-0.1-0.1-0.3c-1.2-2.4-2.4-5-3.6-7.4c-0.7-1.4-1.4-2.7-2.1-4.1c0-0.1,0-0.1-0.1-0.1c-0.1-0.1-0.1-0.1-0.1-0.2
|
||||
c-0.7-1.4-1.5-3-2.2-4.4c-1.4-2.7-2.9-5.5-4.4-8.2l0,0c-0.1-0.1-0.1-0.2-0.1-0.3l0,0c-0.1-0.1-0.1-0.2-0.1-0.3l0,0
|
||||
c-0.1-0.1-0.1-0.2-0.1-0.4v-0.1H245c-0.1-0.1-0.1-0.1-0.1-0.2c-0.8-1.6-1.6-3.1-2.4-4.7c-0.6-1.3-3.5-6.8-3.5-6.8l20.7-2.8
|
||||
c1.6-0.2,3.3-0.4,4.9-0.6c0.5-0.1,1-0.1,1.5-0.1c0.1,0,0.3-0.1,0.5-0.1c0.3,0,0.6-0.1,0.8-0.1c0.1,0,0.3-0.1,0.5-0.1
|
||||
c0.4,0,0.7,0,1.1-0.1c0.1,0,0.3-0.1,0.4-0.1c0.4,0,0.8-0.1,1.1-0.1c0.2,0,0.4-0.1,0.6-0.1c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.5,0,0.7,0
|
||||
c0.3,0,0.6-0.1,0.9-0.1c0.4,0,0.8,0,1.3-0.1c0.4-0.1,0.8-0.1,1.2-0.1c0.4,0,0.8,0,1.1,0c0.4,0,0.8-0.1,1.2-0.1c0.6,0,1.1,0,1.6,0
|
||||
c0.4-0.1,0.8-0.1,1.2-0.1c0.5,0,1,0,1.5,0c0.5-0.1,1-0.1,1.5-0.1c0.5,0,1,0,1.5,0c0.6-0.1,1.1-0.1,1.6-0.1l0,0c0.6,0,1.1,0,1.6,0
|
||||
c0.5,0,0.9-0.1,1.4-0.1c0.7,0,1.4,0,2.1-0.1c0.1,0,0.3,0,0.4,0c0.8,0,1.5-0.1,2.3-0.1c2.8,0,5.6,0,8.5-0.1c7,0.1,14,0.1,21,0.1
|
||||
c1,0,2,0.1,3,0.1c1.5,0.1,3,0.1,4.4,0.2c0.3,0.1,0.6,0.1,0.8,0.1c0.4,0,0.8,0,1.3,0.1c0.3,0,0.6,0.1,0.9,0.1c0.4,0,0.8,0,1.2,0
|
||||
c0.3,0,0.6,0.1,0.8,0.1c0.4,0,0.8,0,1.2,0c0.3,0,0.6,0.1,0.8,0.1c0.4,0,0.8,0,1.2,0c0.3,0.1,0.6,0.1,0.8,0.1c0.4,0,0.9,0,1.3,0.1
|
||||
c0.2,0,0.5,0.1,0.7,0.1c0.5,0,1,0,1.5,0.1c0.4,0,0.7,0.1,1,0.1c0.4,0,0.9,0,1.3,0.1c0.2,0,0.4,0.1,0.6,0.1c0.5,0,1,0.1,1.5,0.1
|
||||
c0.1,0,0.3,0,0.4,0.1c0.4,0,0.9,0.1,1.3,0.1c0.1,0,0.2,0,0.4,0.1c0.3,0,0.5,0,0.8,0c1.2,0.1,2.4,0.3,3.6,0.4
|
||||
c0.8,0.1,1.7,0.2,2.6,0.3c0.1,0,0.2,0.1,0.4,0.1c1.3,0.1,2.7,0.3,4,0.4c1.2,0.1,2.3,0.4,3.5,0.5c1.4,0.2,2.8,0.4,4.2,0.6
|
||||
c3,0.6,5.9,1.2,8.8,1.8c0.2,0.1,0.4,0.1,0.6,0.2c2,0.6,3.1,1.9,3.8,3.8c0.8,2.1,1.8,4,2.7,6c0,0.1,0.1,0.1,0.1,0.2v0.1h0.1
|
||||
c0,0.1,0.1,0.1,0.1,0.2c0,0.1,0.1,0.1,0.1,0.1l0,0c0.1,0,0.2,0,0.4,0c1-0.4,2-0.7,3-1c0.1-0.1,0.1-0.1,0.2-0.1h0.1h0.1
|
||||
c0.4-0.1,0.8-0.3,1.1-0.4c0.1,0,0.1,0,0.2,0c0.3-0.1,0.6-0.2,0.9-0.3c0.1,0,0.2-0.1,0.4-0.1h0.1v-0.1c0.1,0,0.1,0,0.2-0.1
|
||||
c0.1-0.1,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0s0.1-0.1,0.1-0.1c2.1-0.7,4.2-1.4,6.4-2.2c4-1.4,8-2.8,12-4.2c0.8-0.3,1.7-0.6,2.6-0.9
|
||||
c-0.2-1.3-0.4-2.5-0.6-3.7C412.7,253.4,411.7,250.2,410.2,247.2z"/>
|
||||
<path class="st1" d="M411.5,237.8c-2-2.8-4.2-5.3-6.9-7.6c-2.8-2.3-5.6-4.3-8.8-5.9c-5-2.4-10.4-3.6-15.7-4.6
|
||||
c-3.5-0.6-7.1-1.2-10.6-1.8c-2.3-0.4-4.7-0.6-6.9-0.9c-2.1-0.3-4.2-0.5-6.3-0.7c-1.8-0.2-3.7-0.4-5.6-0.5c-2.3-0.1-4.7-0.3-7-0.4
|
||||
c-2.7-0.1-5.4-0.4-8-0.6c-1.6-0.1-3-0.2-4.6-0.3c-3-0.1-6.1-0.4-9.1-0.4c-4.1-0.1-8.2-0.1-12.3,0c-4.7,0-9.3,0.1-14,0.1
|
||||
c-2.2,0-4.4,0.1-6.6,0.1c-2.1,0.1-4.3,0.1-6.4,0.1c-0.1,0-0.1,0-0.1,0c-3,0.2-5.9,0.4-8.8,0.6c-1.6,0.1-3.2,0.1-4.9,0.3
|
||||
c-3.1,0.3-6.1,0.6-9.2,0.9c-3.1,0.4-6.2,0.6-9.2,1.2c-3.1,0.5-6.2,1.2-9.2,1.9c-5.4,1.2-10.7,2.8-15.5,5.6
|
||||
c-4.6,2.7-8.8,5.8-12.2,9.9c-3.5,4.2-6.3,8.9-7.7,14.2c-0.7,2.9-1.5,5.8-1.8,8.7c-0.3,3.4-0.2,6.8,0.5,10.1
|
||||
c1.1,5.2,2.5,10.2,4.9,14.9c2.3,4.6,4.7,9.1,7.2,13.8c1.7,3.2,3.5,6.5,5.2,9.7c1.2,2.2,2.5,4.5,3.7,6.7c1.3,2.6,2.9,5,3.9,7.8
|
||||
c2.2,5.8,4.1,11.7,6.1,17.6c2.3,6.7,3.5,13.5,4.8,20.5c0.6,2.9,0.9,5.8,1.3,8.6c0.4,2.4,0.7,4.9,1,7.3c0.3,2.4,0.4,4.8,0.6,7.2
|
||||
c0.3,3.2,0.6,6.3,0.8,9.5c0.1,2.4,0.5,4.7,1.1,7c1.3,5.6,4.1,10.3,8.5,14.1c0.6,0.6,1.3,1.1,2,1.7c0,0.1,0,0.2-0.1,0.3
|
||||
c-0.7,2.8-1,5.7-0.6,8.6c0.1,0.8,0.1,1.7,0.1,2.4c-0.3,2.3-0.4,4.5,0,6.8c0.1,0.9,0.6,1.9,0.5,2.8c-0.1,2.7,0.3,5.2,0.8,7.7
|
||||
c0.8,3.6,2.4,6.8,4.9,9.6c2.8,3,5.7,6,8.7,8.7c1.8,1.6,3.9,2.9,5.8,4.2c0.5,0.4,1.1,0.6,1.5,1c1.3,1.4,2.5,2.9,4,4.1
|
||||
c2.7,2.4,5.8,4.1,9.3,5c4.4,1.1,8.9,2,13.5,2.1c6.2,0.1,12.5-0.1,18.7-0.1c0.6,0,1.2-0.1,1.8-0.1c2.2-0.4,4.4-0.8,6.6-1.3
|
||||
c6.5-1.4,11.9-4.7,15.9-10c0.1-0.2,0.4-0.4,0.6-0.5c2.5-1.4,4.9-3,7-5c1.5-1.4,2.8-3,4.2-4.4c2-2,3.7-4.3,4.9-6.8
|
||||
c1.7-3.5,2.3-7.3,3.1-11c0.2-0.9,0.1-1.9,0.4-2.6c0.8-1.9,1.4-3.8,1.8-5.8c0.5-2.1,0.8-4.2,0.6-6.4c-0.1-0.9-0.3-1.9-0.1-2.7
|
||||
c0.4-2.3,0.6-4.5,0.2-6.6c1.6-1.7,3.2-3.2,4.7-4.8c1.7-1.9,3.2-4.1,4.2-6.6c1.8-4.4,2.5-9.1,2.9-13.8c0.1-1.2,0.2-2.4,0.5-3.7
|
||||
c0.6-2.2,1.2-4.2,1.8-6.4c1.9-6.6,3.8-13.3,5.7-19.9c0.8-3,1.7-6,2.7-9c1.2-3.5,2.6-7,3.9-10.4c2.3-6.1,4.6-12.2,6.8-18.4
|
||||
c0.6-1.7,1.1-3.5,0.4-5.3c-0.6-1.7-1.8-2.9-3.5-3.4c-3-0.9-6-0.9-9-0.9c-28.5-0.1-57-0.1-85.5-0.1c-1.6,0-3.2,0.3-4.5,1.4
|
||||
c-1.6,1.3-2.2,3-2,4.8c0.3,2.8,1,5.6,1.5,8.5c0.8,4.4,1.6,8.7,2.5,13.1c0.8,4.5,1.8,8.9,2.8,13.4c0.2,0.9,0.8,1.7,1.5,2.3
|
||||
c1.2,1.2,2.9,1.5,4.5,1.5c10.5,0,21,0,31.5,0c0.3,0,0.6,0,1,0c-0.5,1.5-0.8,3-1.4,4.3c-1.8,4.4-2.6,8.9-3,13.7
|
||||
c-0.1,2-0.3,4.1-0.4,6.1c-0.1,0.5-0.2,1-0.7,1.4c-0.4,0.3-0.8,0.6-1.1,1c-1.1,1.1-2.1,2.2-3.2,3.4c-0.4,0.4-0.8,0.7-1.2,1.2
|
||||
c-2.5,3-4.5,6.3-5.3,10.3c-0.3,1.3-0.5,2.6-0.8,3.9c-0.6,1.9-1.3,3.7-1.8,5.6c-0.6,2.4-0.9,4.8-0.6,7.2c0.1,1,0.1,2.1,0.1,3.2
|
||||
c0,1.6-0.2,3.2-0.1,4.8c0.1,1.4,0.1,2.7-0.3,3.9c-3.2,1.5-6.1,3.5-8.4,6.2c-2.9,0-5.7,0-8.5,0c-2-2.4-4.5-4.2-7.2-5.7
|
||||
c0-1.6,0-3.1,0-4.6c0-0.4,0-0.8,0.1-1.2c0.4-2,0.8-4,0.4-6c-0.4-2.6-1.2-5.2-1.8-7.7c-0.1-0.2-0.1-0.4-0.1-0.6
|
||||
c0.1-2.6-0.2-5.1-0.8-7.7c-0.8-3.7-2.2-7.2-4.7-10.1c-2.1-2.4-4.4-4.6-6.6-7c-0.1-0.1-0.4-0.4-0.4-0.6c-0.2-2.6-0.4-5.2-0.6-7.8
|
||||
c-0.2-2.5-0.4-5-0.7-7.5c-0.6-4.3-1.4-8.6-2.1-13c-1.3-8.2-3-16.3-5.3-24.3c-1.5-5-3.2-10-4.8-15c-1-2.9-2-5.7-3.2-8.5
|
||||
c-1.1-2.4-2.3-4.8-3.5-7.1c-2.9-5.8-5.7-11.7-8.6-17.5c-2-3.9-4-7.7-6.1-11.5c-1-1.9-1.9-3.7-3-5.7c1.3-0.3,2.6-0.6,3.9-0.8
|
||||
c4.8-0.6,9.6-1.4,14.4-1.9c3.2-0.4,6.5-0.6,9.7-0.9c2.7-0.2,5.4-0.3,8.1-0.4c2.3-0.1,4.7-0.2,7-0.3c3.1-0.1,6.3-0.1,9.4-0.1
|
||||
c5.9,0,11.9,0,17.9,0c1.3,0,2.5,0.1,3.7,0.1c3.5,0.1,7,0.3,10.4,0.4c1.6,0.1,3.1,0.2,4.7,0.3c2.6,0.1,5.2,0.4,7.8,0.6
|
||||
c1.6,0.1,3.2,0.1,4.7,0.3c3.4,0.4,6.7,0.7,10.1,1.2c3.7,0.5,7.5,1,11.3,1.6c2,0.3,4,0.8,5.7,1.2c1.3,2.8,2.3,5.3,3.5,7.6
|
||||
c0.6,1.3,1.7,2.4,3,3c1.8,0.7,3.5,0.6,5.3,0c3.2-1.1,6.4-2.2,9.5-3.3c5.4-1.9,10.7-3.7,16-5.6c1.1-0.4,2.2-0.7,3.2-1.5
|
||||
c1.6-1.3,2.2-3.1,2.2-5c0-1.7-0.4-3.4-0.7-5C417.8,248.6,415.1,243,411.5,237.8z M411.1,261.4c-4,1.4-8,2.8-12,4.2
|
||||
c-2.1,0.7-4.2,1.4-6.4,2.2c-0.1,0-0.1,0.1-0.1,0.1c-0.1,0-0.1,0-0.2,0c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2,0.1v0.1h-0.1
|
||||
c-0.1,0-0.2,0.1-0.4,0.1c-0.3,0.1-0.6,0.2-0.9,0.3c-0.1,0-0.1,0-0.2,0c-0.4,0.1-0.8,0.3-1.1,0.4h-0.1h-0.1
|
||||
c-0.1,0.1-0.1,0.1-0.2,0.1c-1,0.4-2,0.7-3,1c-0.1,0-0.2,0-0.4,0l0,0c0-0.1-0.1-0.1-0.1-0.1c0-0.1-0.1-0.1-0.1-0.2h-0.1v-0.1
|
||||
c0-0.1-0.1-0.1-0.1-0.2c-0.9-2-1.9-4-2.7-6c-0.7-1.9-1.8-3.2-3.8-3.8c-0.2-0.1-0.4-0.1-0.6-0.2c-3-0.6-5.9-1.2-8.8-1.8
|
||||
c-1.4-0.2-2.8-0.4-4.2-0.6c-1.2-0.1-2.3-0.4-3.5-0.5c-1.3-0.1-2.7-0.3-4-0.4c-0.1,0-0.2-0.1-0.4-0.1c-0.8-0.1-1.7-0.2-2.6-0.3
|
||||
c-1.2-0.1-2.4-0.3-3.6-0.4c-0.3,0-0.5,0-0.8,0c-0.1,0-0.2,0-0.4-0.1c-0.4,0-0.9-0.1-1.3-0.1c-0.1,0-0.3,0-0.4-0.1
|
||||
c-0.5,0-1-0.1-1.5-0.1c-0.2,0-0.4-0.1-0.6-0.1c-0.4,0-0.9,0-1.3-0.1c-0.4,0-0.7-0.1-1-0.1c-0.5,0-1,0-1.5-0.1
|
||||
c-0.2,0-0.5-0.1-0.7-0.1c-0.4,0-0.9,0-1.3-0.1c-0.3-0.1-0.6-0.1-0.8-0.1c-0.4,0-0.8,0-1.2,0c-0.3,0-0.6-0.1-0.8-0.1
|
||||
c-0.4,0-0.8,0-1.2,0c-0.3,0-0.6-0.1-0.8-0.1c-0.4,0-0.8,0-1.2,0c-0.3,0-0.6-0.1-0.9-0.1c-0.4,0-0.8,0-1.3-0.1
|
||||
c-0.3-0.1-0.6-0.1-0.8-0.1c-1.5-0.1-3-0.1-4.4-0.2c-1,0-2-0.1-3-0.1c-7-0.1-14-0.1-21-0.1c-2.8,0-5.6,0-8.5,0.1
|
||||
c-0.8,0-1.5,0.1-2.3,0.1c-0.1,0-0.3,0-0.4,0c-0.7,0-1.4,0-2.1,0.1c-0.5,0-0.9,0.1-1.4,0.1c-0.6,0-1.1,0-1.6,0l0,0
|
||||
c-0.6,0.1-1.1,0.1-1.6,0.1c-0.5,0-1,0-1.5,0c-0.5,0.1-1,0.1-1.5,0.1c-0.5,0-1,0-1.5,0c-0.4,0.1-0.8,0.1-1.2,0.1c-0.6,0-1.1,0-1.6,0
|
||||
c-0.4,0-0.8,0.1-1.2,0.1c-0.4,0-0.8,0-1.1,0c-0.4,0.1-0.8,0.1-1.2,0.1c-0.4,0-0.8,0-1.3,0.1c-0.3,0-0.6,0.1-0.9,0.1
|
||||
c-0.2,0-0.5,0-0.7,0c-0.1,0-0.3,0.1-0.4,0.1c-0.2,0-0.4,0.1-0.6,0.1c-0.4,0-0.8,0.1-1.1,0.1c-0.1,0-0.3,0.1-0.4,0.1
|
||||
c-0.4,0-0.7,0-1.1,0.1c-0.1,0-0.3,0.1-0.5,0.1c-0.3,0-0.6,0.1-0.8,0.1c-0.1,0-0.3,0.1-0.5,0.1c-0.5,0.1-1,0.1-1.5,0.1
|
||||
c-1.6,0.2-3.3,0.4-4.9,0.6l-20.7,2.8c0,0,2.9,5.5,3.5,6.8c0.7,1.6,1.6,3.2,2.4,4.7c0.1,0.1,0.1,0.1,0.1,0.2h0.1v0.1
|
||||
c0.1,0.1,0.1,0.2,0.1,0.4l0,0c0.1,0.1,0.1,0.2,0.1,0.3l0,0c0.1,0.1,0.1,0.2,0.1,0.3l0,0c1.5,2.7,2.9,5.5,4.4,8.2
|
||||
c0.8,1.4,1.5,2.9,2.2,4.4c0.1,0.1,0.1,0.1,0.1,0.2c0.1,0,0.1,0.1,0.1,0.1c0.7,1.4,1.4,2.7,2.1,4.1c1.2,2.4,2.4,5,3.6,7.4
|
||||
c0.1,0.1,0.1,0.1,0.1,0.3v0.1h0.1v0.1c0.1,0.1,0.1,0.1,0.1,0.2c0.4,0.8,0.8,1.6,1.2,2.4c1.5,3,3,5.9,4.4,8.8c0.2,0.5,0.5,1,0.7,1.5
|
||||
c0.1,0.1,0.1,0.3,0.2,0.4c0,0.1,0.1,0.1,0.1,0.1c0.1,0.2,0.1,0.4,0.2,0.6h0.1v0.1c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.1,0.1,0.1
|
||||
c0,0.1,0.1,0.1,0.1,0.2h0.1l0,0c0,0.1,0.1,0.2,0.1,0.4l0.1,0.1v0.1c0,0.1,0,0.1,0,0.2c0.1,0.1,0.1,0.1,0.1,0.2c0,0.1,0,0.1,0,0.2
|
||||
c0.1,0.1,0.1,0.4,0.2,0.5c2,6.1,4,12.2,6.1,18.4c0,0.1,0,0.1,0,0.2c0.7,2.7,1.4,5.3,2,8c1.1,5.3,2.1,10.5,3.1,15.8
|
||||
c0.4,2.2,0.7,4.5,1.1,6.8l0,0l0.1,0.1v0.1c0,0.2,0.1,0.4,0.1,0.6c0,0.1,0.1,0.1,0.1,0.2c0,0.2,0,0.4,0.1,0.6c0,0.1,0.1,0.2,0.1,0.3
|
||||
c0,0.2,0,0.4,0.1,0.6c0.1,0.1,0.1,0.3,0.1,0.4c0,0.2,0,0.4,0.1,0.6c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.4,0,0.6c0,0.1,0.1,0.2,0.1,0.3
|
||||
c0,0.2,0,0.5,0.1,0.7c0,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.2,0,0.3c0,0.1,0,0.1,0,0.1s0.1,0.2,0.1,0.3c0,0.1,0.1,0.3,0.1,0.4
|
||||
c0,0.2,0,0.5,0,0.7c0,0.2,0.1,0.4,0.1,0.6c0,0.1,0,0.3,0,0.4v0.1c0,0,0,0,0,0.1c0,0.1,0,0.1,0,0.2c0.1,0.3,0.1,0.6,0.1,0.8
|
||||
c0,0.2,0,0.4,0,0.6c0.1,0.1,0.1,0.1,0,0.1c0,0.1,0,0.1,0,0.2c0.1,0.3,0.1,0.6,0.1,0.9c0,0.1,0,0.3,0,0.4c0,0.1,0,0.1,0,0.1
|
||||
c0,0.1,0,0.1,0,0.2c0.1,0.3,0.1,0.6,0.1,0.9c0.2,3.2,0.5,6.3,0.7,9.4c1.1,1,2.2,2,3.2,3c2.5,2.6,5.2,5,6.8,8.1
|
||||
c1.8,3.5,2.3,7.2,2.1,11c-0.1,0.9,0.1,1.7,0.4,2.4c0.3,0.5,0.4,1.1,0.6,1.6c0.2,0.8,0.4,1.5,0.6,2.3c0.1,0.1,0.1,0.2,0.1,0.4
|
||||
c0,0.1,0,0.4,0,0.5c0.1,0.1,0.1,0.3,0.1,0.5c0,0.3,0,0.6,0,0.9c0,0.9,0,1.7,0,2.6c0,0.3,0,0.5,0,0.8c-0.1,0.2-0.1,0.4-0.1,0.6
|
||||
c0,0.1,0,0.3,0,0.4c-0.1,0.1-0.1,0.3-0.1,0.4c0,0.1,0,0.3,0,0.4c-0.1,0.1-0.1,0.2-0.1,0.4c-0.1,0.4-0.1,0.6-0.1,1
|
||||
c0.1,0.2,0.1,0.5,0.1,0.7c0,1.2,0,2.3,0,3.5c-0.1,0.2-0.1,0.5-0.1,0.7c0,0.2,0,0.4,0,0.6c-0.1,0.1-0.1,0.3-0.1,0.4
|
||||
c0,0.1,0,0.3,0,0.4c-0.1,0.1-0.1,0.2-0.1,0.4c0,0.1,0,0.1,0,0.1c0.1,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.2,0,0.3
|
||||
c0.1,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.4,0,0.5c0.1,0.1,0.1,0.3,0.1,0.5c0.1,0,0.1,0,0.1,0.1c0.1,0,0.1,0.1,0.1,0.1
|
||||
c0.1,0,0.2,0,0.3,0.1c0.1,0,0.1,0.1,0.2,0.1s0.1,0,0.3,0.1c0.1,0,0.1,0.1,0.2,0.1c1.9,0.6,3.7,1.5,5.2,2.9c1.3,1.3,2.5,2.6,4,4.1
|
||||
c2,0.1,4.3,0.1,6.7,0.1c0.3,0,0.6,0.1,0.8,0.1c0.8-0.1,1.6-0.1,2.4-0.1c1.5,0,3,0,4.4,0c0.7-0.9,1.4-1.8,2-2.7
|
||||
c1.2-0.9,2.3-2.1,3.5-2.8c1.5-0.9,3.2-1.4,4.8-2.1c0.1-0.7,0.4-1.4,0.5-2.1c0.3-1.2,0.6-2.4,0.7-3.7c0.1-0.8,0-1.7,0-2.4
|
||||
c0-1.7,0.1-3.4,0.1-5.1c0-0.7,0-1.4-0.1-2.2c-0.6-3.3-0.1-6.6,1.1-9.7c0.2-0.5,0.4-1.1,0.7-1.6c0.4-0.7,0.6-1.6,0.6-2.4
|
||||
c0.1-0.2,0.1-0.4,0.1-0.6c0-0.1,0-0.3,0-0.4c0.1-0.1,0.1-0.3,0.1-0.4c0.1-0.6,0.3-1.3,0.4-1.9c0.6-2.4,1.8-4.7,3.5-6.6
|
||||
c0.8-0.8,1.6-1.6,2.4-2.3c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.1-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.1-0.2l0.1-0.1c1.2-1.7,2.8-3,4.5-4.2
|
||||
c0-0.4,0.1-0.6,0.1-0.9c0-0.1,0.1-0.3,0.1-0.4c0-0.5,0.1-1,0.1-1.4c0-0.1,0.1-0.2,0.1-0.3c0-0.4,0.1-0.9,0.1-1.3
|
||||
c0-0.1,0.1-0.3,0.1-0.4c0-0.4,0.1-0.8,0.1-1.2c0-0.1,0.1-0.3,0.1-0.4c0-0.4,0.1-0.7,0.1-1.2c0-0.2,0.1-0.4,0.1-0.6
|
||||
c0-0.4,0-0.9,0.1-1.3c0-0.2,0.1-0.5,0.1-0.7c0-0.4,0-0.8,0.1-1.2c0.4-2,0.7-4,1-6c0-0.1,0-0.1,0-0.1c0.4-1.2,0.8-2.4,1.3-3.7
|
||||
c0.1-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.2,0.1-0.4v-0.1c0,0,0,0,0.1,0c0-0.1,0.1-0.2,0.1-0.3v-0.1h0.1c0-0.1,0.1-0.2,0.1-0.3
|
||||
s0.1-0.1,0.1-0.1c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0.1-0.2,0.1-0.4c0-0.1,0.1-0.1,0.1-0.1s0-0.2,0.1-0.3
|
||||
c0.1-0.1,0.1-0.1,0.1-0.2c0-0.1,0-0.2,0-0.4c0-0.1,0.1-0.1,0.1-0.1c0-0.1,0-0.3,0.1-0.4c0-0.1,0.1-0.1,0.1-0.1
|
||||
c0.1-0.4,0.2-0.8,0.3-1.2c0.5-1.3,1-2.6,1.5-3.9c0.4-1,0.8-2.1,1.2-3.2c-0.4,0-0.6,0-0.9,0c-13.2,0-26.4,0-39.6,0
|
||||
c-0.3,0-0.6-0.1-0.8-0.1c-0.4-2.2-0.9-4.4-1.3-6.6c-1.6-8.6-3.3-17.2-4.9-25.9c-0.1-0.2-0.1-0.5-0.1-0.8c3.8,0,7.6,0,11.4,0
|
||||
c1.9,0,3.8,0,5.7,0c1.8,0,3.6,0,5.4,0c2.3,0,4.5,0,6.8,0c1.2,0,2.5,0,3.7,0s2.5,0,3.7,0c1.5,0,3,0,4.4,0c1.7,0,3.3,0,5,0
|
||||
c2.3,0,4.6,0,6.9,0c1.1,0,2.2,0,3.2,0c1.2,0,2.3,0,3.5,0c2.8,0,5.6,0,8.4,0c1.8,0,3.5,0,5.3,0c2.6,0,5.2,0,7.8,0
|
||||
c2.8,0.1,5.5,0.1,8.2,0.2c1.3,0.1,2.6,0.1,4,0.1c-4,10.7-7.9,21.2-11.8,31.8c-1.1,4-2.3,8-3.4,12c-0.6,2.2-1.3,4.5-2,6.8
|
||||
c0,0.1-0.1,0.1-0.1,0.1s0,0.2-0.1,0.3c0,0.1-0.1,0.1-0.1,0.1c0,0.1-0.1,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3
|
||||
c-0.1,0.1-0.1,0.1-0.1,0.1c-0.5,1.8-1,3.6-1.5,5.4c-0.1,0.6-0.4,1.2-0.6,1.7c-0.7,2.5-1.5,5.1-2.1,7.6c-0.4,1.3-0.4,2.7-0.5,4
|
||||
c-0.4,4.1-0.6,8.2-2.5,12c-0.1,0.1-0.1,0.2-0.2,0.3c-1.9,3.7-4.5,6.9-8.1,9.1c-1.4,1.5-1.3,1.4-1,3.8c0.2,1.7,0.4,3.3,0.1,5
|
||||
c-0.2,1.6-0.1,3.2-0.1,4.8c0.2,3.2-0.4,6.1-1.8,9c-0.3,0.6-0.6,1.2-0.9,1.8c0,0.1,0,0.3,0,0.4c0,0.1,0,0.3,0,0.4c0,0.1,0,0.2,0,0.3
|
||||
c0,0.1,0,0.1,0,0.1c-0.2,3.7-1.1,7.3-2.6,10.7c-0.1,0.3-0.4,0.6-0.5,0.9c-0.1,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.1,0.1-0.1,0.2
|
||||
c-1,1.8-2.3,3.3-3.7,4.8c-1.1,1.1-2,2.2-3,3.2c-0.3,0.3-0.6,0.5-0.8,0.8c-1.3,0.9-2.5,1.9-3.8,2.9c-0.9,0.5-1.9,1-2.8,1.4
|
||||
c-0.9,1.1-1.8,2.1-2.6,3.1c-1.1,0.9-2.3,1.9-3.3,2.9c-1.2,0.6-2.5,1.4-3.7,2l0,0c-0.1,0-0.1,0.1-0.1,0.1c-1.3,0.4-2.5,0.8-3.8,1.2
|
||||
c-1.5,0.3-3,0.6-4.4,0.9c-0.2,0.1-0.4,0.1-0.6,0.1c-1.3,0.1-2.5,0.2-3.7,0.3c-3,0.1-6,0.1-9,0.1c-3.7-0.1-7.3-0.1-10.9-0.3
|
||||
c-0.4,0-0.8-0.1-1.3-0.1c-2.1-0.4-4.2-0.6-6.4-1c-0.1-0.1-0.2-0.1-0.4-0.1c-0.1,0-0.1,0-0.2,0c-3.2-0.6-5.9-2.2-8.4-4.3l-0.1-0.1
|
||||
c0,0-0.1,0-0.1-0.1l-0.1-0.1l-0.1-0.1c-0.1,0-0.1-0.1-0.1-0.1l0,0c-0.1-0.1-0.1-0.1-0.1-0.1l0,0c-0.1-0.1-0.1-0.1-0.1-0.1l0,0
|
||||
c-0.1-0.1-0.1-0.1-0.1-0.1l0,0c-0.1-0.1-0.1-0.1-0.1-0.1l0,0c-0.1-0.1-0.1-0.1-0.1-0.1l0,0c0-0.1-0.1-0.1-0.1-0.1v-0.1
|
||||
c-0.1-0.1-0.1-0.1-0.1-0.1l-0.1-0.1c-0.1,0-0.1,0-0.1-0.1c-0.7-0.9-1.4-1.8-2.1-2.6c-0.2-0.3-0.6-0.4-0.9-0.6
|
||||
c-0.6-0.4-1.1-0.6-1.7-0.9c-0.2-0.1-0.4-0.2-0.6-0.3l0,0c-0.1-0.1-0.3-0.1-0.4-0.3c-2.2-1.4-4.1-3-5.8-5c-2.6-2.7-5.7-5-7.7-8.4
|
||||
c-0.1-0.2-0.3-0.5-0.4-0.8c-1.1-1.9-1.8-3.9-2-6c-0.1-1.4-0.1-2.9-0.2-4.3c-0.1-1-0.4-2-0.6-3c-0.4-2.4-0.3-4.8,0.1-7.3
|
||||
c0.1-0.7-0.1-1.6-0.2-2.3c-0.4-2.7-0.1-5.3,0.6-7.9c0.2-0.8,0.2-1.7,0.3-2.2c-0.7-1.7-1.8-2.5-3-3.3c-0.2-0.1-0.4-0.3-0.6-0.5
|
||||
c-1.2-1.2-2.4-2.2-3.5-3.5c-1.3-1.4-2.2-3.2-2.8-5l0,0c-0.1-0.1-0.1-0.2-0.1-0.3c-0.9-2.1-1.4-4.3-1.6-6.6
|
||||
c-0.1-2.2-0.4-4.2-0.5-6.4c-0.1-2.1-0.3-4.2-0.4-6.3c-0.1-1.4-0.2-2.8-0.4-4.2c-0.1-1.4-0.3-3-0.5-4.4c-0.2-1.9-0.4-4-0.8-5.9
|
||||
c-0.5-3-1-6-1.5-9c-0.3-1.6-0.6-3.2-0.9-4.8c0-0.1,0-0.4-0.1-0.5c0,0-0.1-0.1,0-0.1c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.1,0-0.1,0-0.2
|
||||
c-0.1-0.1-0.1-0.4-0.1-0.5c0-0.1,0-0.1,0-0.1c-0.1-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3-0.1-0.4c-0.1-0.1-0.1-0.3-0.1-0.5
|
||||
c-0.4-1.7-0.8-3.4-1.3-5c-1.3-4.5-2.6-8.9-3.9-13.3c-0.1-0.2-0.1-0.4-0.1-0.6c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1-0.1-0.2-0.1-0.3
|
||||
c-0.9-2.5-2-5-2.8-7.6c-1.1-3.8-2.9-7.3-4.7-10.7c-0.3-0.6-0.6-1.2-0.9-1.7c-1.3-2.4-2.7-4.8-4-7.2c-2.2-4.1-4.4-8.2-6.6-12.3
|
||||
c-0.4-0.8-0.8-1.6-1.1-2.4c-1.5-2.9-3-5.7-4.4-8.6c-1.8-3.6-3-7.4-3.8-11.3c-0.7-3.3-0.9-6.6-0.6-9.9c0.7-7,3.1-13.3,7.6-18.8
|
||||
c0.4-0.5,1-1,1.4-1.5c0.9-0.9,1.8-1.9,2.8-2.7c2.6-2.3,5.6-4.2,8.7-5.8c0.1-0.1,0.2-0.1,0.3-0.1c2.8-1.4,5.6-2.5,8.7-3.2
|
||||
c1.7-0.4,3.3-0.7,5-1.2c0.1-0.1,0.2-0.1,0.3-0.1c0.1,0,0.2,0,0.3,0c1.6-0.3,3.1-0.6,4.7-0.9c0.1-0.1,0.2-0.1,0.3-0.1
|
||||
c0.2,0,0.4,0,0.6-0.1c0.1,0,0.2-0.1,0.3-0.1c0.2,0,0.4,0,0.6,0c1.1-0.1,2-0.4,3.1-0.5c1.3-0.1,2.7-0.3,4-0.4c0.2,0,0.4-0.1,0.6-0.1
|
||||
c0.1,0,0.2-0.1,0.3-0.1c0.3,0,0.6-0.1,0.9-0.1c0.1,0,0.2,0,0.3-0.1c1.2-0.1,2.3-0.2,3.5-0.3c1.5-0.1,3-0.3,4.4-0.4
|
||||
c0.1,0,0.1,0,0.1,0c0.6-0.1,1.1-0.1,1.6-0.1c0.4-0.1,0.8-0.1,1.3-0.1c0.1,0,0.1,0,0.1,0c1.5-0.1,3-0.2,4.4-0.3
|
||||
c3.2-0.1,6.4-0.3,9.5-0.4c0.2,0,0.5,0,0.7,0c1.8-0.1,3.5-0.1,5.3-0.1c3.9-0.1,7.8-0.2,11.6-0.3c4.1,0,8.1,0,12.2,0
|
||||
c2.6,0,5.2,0,7.8,0c0.1,0,0.3,0.1,0.4,0.1c1.1,0.1,2.3,0.1,3.4,0.2c0.4,0.1,0.8,0.1,1.3,0.1c2.2,0.1,4.3,0.2,6.5,0.3
|
||||
c0.4,0.1,0.8,0.1,1.2,0.1c0.8,0.1,1.8,0.1,2.6,0.1c1.2,0.1,2.3,0.1,3.5,0.1c0.3,0.1,0.6,0.1,0.9,0.1c0.8,0.1,1.6,0.1,2.5,0.1
|
||||
c1.1,0.1,2,0.1,3.1,0.1c0.2,0,0.4,0,0.6,0.1c0.5,0,1,0.1,1.5,0.1c0.1,0,0.3,0,0.4,0.1c0.2,0,0.5,0.1,0.7,0.1
|
||||
c1.1,0.1,2.2,0.1,3.2,0.3c0.2,0,0.4,0,0.6,0c0.1,0,0.1,0,0.2,0.1c0.4,0,0.7,0.1,1.1,0.1c0.1,0,0.3,0.1,0.4,0.1c0.3,0,0.5,0,0.8,0
|
||||
c0.1,0,0.3,0.1,0.4,0.1c0.3,0,0.6,0,0.8,0.1c0.1,0,0.3,0.1,0.4,0.1c0.6,0.1,1.3,0.1,2,0.2c0.1,0,0.1,0.1,0.2,0.1
|
||||
c0.1,0,0.1,0,0.2,0.1c1.2,0.1,2.3,0.3,3.5,0.4c1.3,0.2,2.7,0.4,4,0.6c1.4,0.2,2.8,0.4,4.2,0.6c1.6,0.2,3.2,0.5,4.9,0.8
|
||||
c0.1,0,0.1,0.1,0.3,0.1c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1c0.2,0,0.4,0.1,0.6,0.1c0,0,0.1,0,0.1,0.1c0.1,0,0.3,0,0.5,0.1
|
||||
c0.1,0,0.1,0.1,0.2,0.1c0.1,0,0.4,0,0.5,0.1c0.1,0,0.1,0.1,0.1,0.1c0.1,0,0.3,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0.1
|
||||
c1.1,0.3,2.3,0.6,3.5,0.9c1,0.3,2,0.6,2.9,0.9c0.1,0.1,0.2,0.1,0.4,0.1c0.4,0.1,0.6,0.2,1,0.3c0.1,0.1,0.1,0.1,0.2,0.1
|
||||
c2.8,0.9,5.4,2.4,7.8,4c5.5,3.8,9.4,8.9,12.3,14.8c1.5,3,2.5,6.2,3,9.6c0.1,1.2,0.4,2.4,0.6,3.7C412.8,260.8,412,261.1,411.1,261.4
|
||||
z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
"name": "huegasm_mobile",
|
||||
"version": "1.0.0",
|
||||
"description": "Huegasm is a free web application for managing and synchronizing your Philips Hue lights with the beat of your music.",
|
||||
"private": true,
|
||||
"directories": {
|
||||
"doc": "doc",
|
||||
"test": "tests"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "ember server",
|
||||
"build": "ember cordova:build --platform=android --environment=production --release",
|
||||
"build-test": "ember cordova:build --platform=android",
|
||||
"cordova": "ember cdv:serve --platform=android"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
},
|
||||
"author": "Egor Philippov",
|
||||
"devDependencies": {
|
||||
"broccoli-asset-rev": "^2.2.0",
|
||||
"ember-cli": "^2.11.0",
|
||||
"ember-cli-app-version": "^3.0.0",
|
||||
"ember-cli-babel": "^6.0.0",
|
||||
"ember-cli-dependency-checker": "^2.0.0",
|
||||
"ember-cli-htmlbars": "^2.0.0",
|
||||
"ember-cli-htmlbars-inline-precompile": "^0.4.0",
|
||||
"ember-cli-inject-live-reload": "^1.3.1",
|
||||
"ember-cli-nouislider": "^0.13.0",
|
||||
"ember-cli-release": "^1.0.0-beta.2",
|
||||
"ember-cli-sass": "^6.0.0",
|
||||
"ember-cli-shims": "^1.0.2",
|
||||
"ember-cli-sri": "^2.1.0",
|
||||
"ember-cli-uglify": "^1.2.0",
|
||||
"ember-cordova": "^0.4.0",
|
||||
"ember-export-application-global": "^2.0.0",
|
||||
"ember-inline-svg": "^0.1.7",
|
||||
"ember-load-initializers": "^1.0.0",
|
||||
"ember-notify": "^5.0.4",
|
||||
"ember-paper": "^1.0.0-alpha.19",
|
||||
"ember-resolver": "^4.0.0",
|
||||
"ember-source": "^2.11.0",
|
||||
"ember-truth-helpers": "^1.2.0",
|
||||
"loader.js": "^4.0.7"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="none" d="M9.9,14.2c2.5,2.3,5,3.6,5.7,2.9c0.6-0.7-0.9-3.1-3.3-5.4c-2.5-2.3-5-3.6-5.7-2.9C5.9,9.5,7.4,11.9,9.9,14.2z"
|
||||
/>
|
||||
<path fill="#010202" d="M2.6,20.6L2.6,20.6c0.2,0.8,0.9,1.3,1.6,1.5c0.6,0.1,1,0,2.6-0.2c1.3-0.2,2.9,0,3.5,0
|
||||
c-3.7-2.1-6.4-5.1-8-7.4c0.1,0.7,0.3,2.1,0.3,3.4C2.6,19.6,2.4,20,2.6,20.6z"/>
|
||||
<path fill="#010202" d="M1.6,11.1c0.2,0.7,4.1,8.2,12.1,11.3l3.9,0.7c-3-1.4-6.5-3.8-9.7-6.8C5,13.5,2.4,10.4,0.8,7.6
|
||||
C1,8.6,1.5,10.6,1.6,11.1z"/>
|
||||
<path fill="#010202" d="M14.9,8.6C7.8,1.9,2.1-0.5,0.4,1.3c-0.9,0.9-0.3,3,1.2,5.6C1.1,5.6,1,4.4,1.7,3.6c0.3-0.4,0.9-0.8,2-0.8
|
||||
c2.6,0,6.6,2.4,10.8,6.3c3.6,3.4,9,9.8,6.8,12.3c-0.3,0.3-0.8,0.7-1.8,0.7c-0.7,0-1.5-0.2-2.5-0.6c3.1,1.6,5.7,2.2,6.6,1.2
|
||||
C25.3,20.9,21.2,14.3,14.9,8.6z"/>
|
||||
<path fill="#010202" d="M9,15.1c4,3.6,8.3,6,10.5,6c0.5,0,0.8-0.1,1.1-0.4c1.2-1.4-2-6.3-6.8-10.9C9.5,5.8,5.8,3.9,3.7,3.9
|
||||
c-0.6,0-1,0.2-1.3,0.4C1.2,5.7,4.2,10.7,9,15.1z M6.5,8.8c0.6-0.7,3.2,0.6,5.7,2.9c2.5,2.3,4,4.7,3.3,5.4c-0.6,0.7-3.2-0.6-5.7-2.9
|
||||
C7.4,11.9,5.9,9.5,6.5,8.8z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M11.9,6.6c0.1,0,0.2,0,0.2,0c4.8,0.2,7.4,2.6,8.4,3.8H3.6C6.7,6.9,10.7,6.6,11.9,6.6z"/>
|
||||
<path fill="#010202" d="M0,17.4c1.2-3.4,4.2-5.5,4.9-5.9h14.3c3,1.9,4.4,4.8,4.9,5.9H0z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 529 B |
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M5.8,18.2L5.8,18.2L5.8,18.2c-0.7-0.7-1.3-1.4-1.8-2l-3.8,4.1c0,0-0.5,0.5,0.1,0.7c0.6,0.2,2.5,0.9,7.3,0.6
|
||||
c0.7,0,1.8-0.1,2.3-0.4C8.1,20.2,6.7,19,6,18.4L5.8,18.2z"/>
|
||||
<path fill="#010202" d="M1.9,5c-0.7,2.9-0.6,7.5,4.6,12.6c1.2,1.1,5,4.6,10.1,5.1c1.8,0.2,2.8,0,4.3-0.6c0,0,0,0,0,0
|
||||
c-3.3-0.4-8.1-3-11.8-6.6C5.2,11.9,2.6,8,1.9,5"/>
|
||||
<path fill="#010202" d="M17,8.1C11.6,2.9,5.3-0.1,3.4,1.8c-2.1,2,0.8,7.8,6.3,13.1c5.5,5.2,11.9,7.4,13.7,5.8
|
||||
C25.3,18.9,22.5,13.3,17,8.1 M20.3,17.6c-1.3,1.1-5.4-0.5-9.1-4c-3.7-3.6-5.9-7.4-4.5-8.9C7.9,3.5,12.2,5.5,16,9
|
||||
S21.6,16.5,20.3,17.6"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 924 B |
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M12,2.6c-7.5,0-9.4,0.7-9.4,0.7C2.8-0.1,12,0,12,0s9.2-0.1,9.4,3.2C21.4,3.2,19.7,2.6,12,2.6"/>
|
||||
<path fill="#010202" d="M5,8h14c0,0,1.7-3,2-4H3C3,4,3.8,6.2,5,8"/>
|
||||
<path fill="#010202" d="M11,9H6c0,0,3,1.5,3,8l0,1c0,0,0,1,1,1h1h2h1c1,0,1-1,1-1l0-1c0-6.5,3-8,3-8h-5H11z"/>
|
||||
<path fill="#010202" d="M12,24c-1,0-1-1-1-1c-1,0-1-1-1-1v-2h4v2c0,0,0,1-1,1C13,23,13,24,12,24"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 719 B |
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path d="M19.962,2.085C19.401,0.772,16.511,0,12.003,0C7.492,0,4.6,0.773,4.043,2.089C5.242,2.178,11.851,2.61,19.962,2.085z"/>
|
||||
<path d="M12,20.19L12,20.19c-0.233,0-0.486-0.016-0.741-0.034c-0.42-0.018-0.839-0.05-1.258-0.098c0.01,0.741,0.028,2.206,0,2.622
|
||||
c-0.018,0.284,0.518,0.614,1.032,0.745c0.428,0.111,0.569,0.345,0.652,0.485c0.014,0.023,0.033,0.055,0.038,0.06
|
||||
c0.001,0,0.063,0.03,0.277,0.031h0c0.214-0.002,0.276-0.031,0.277-0.031c0.005-0.006,0.024-0.037,0.037-0.06
|
||||
c0.084-0.14,0.224-0.374,0.652-0.485c0.514-0.131,1.05-0.461,1.032-0.745c-0.029-0.415-0.01-1.88,0-2.622
|
||||
c-0.42,0.048-0.84,0.08-1.261,0.098C12.484,20.175,12.231,20.19,12,20.19z"/>
|
||||
<path d="M19.996,3.084c-2.953,0.19-5.714,0.257-8.089,0.257c-4.095,0-7.043-0.19-7.898-0.253C3.968,4.201,4.084,4.666,5.32,6.025
|
||||
l0.479,0.526C7.508,8.427,8.483,9.511,8.642,10c0.157,0.481,0.454,2.341,0.454,5.936c0,2.228,0.179,2.777,0.448,3.066
|
||||
c1.629,0.243,3.291,0.243,4.918-0.001c0.268-0.289,0.447-0.84,0.447-3.065c0-3.595,0.297-5.454,0.454-5.936
|
||||
c0.159-0.489,1.134-1.573,2.843-3.449l0.479-0.526C19.923,4.664,20.037,4.2,19.996,3.084z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
|
@ -1,18 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g>
|
||||
<circle fill="none" cx="12" cy="5.3" r="0.9"/>
|
||||
<path fill="none" d="M12,8.7c-1.8,0-3.3,1.5-3.3,3.3s1.5,3.3,3.3,3.3s3.3-1.5,3.3-3.3S13.8,8.7,12,8.7z M12,14c-1.1,0-2-0.9-2-2
|
||||
s0.9-2,2-2s2,0.9,2,2S13.1,14,12,14z"/>
|
||||
<circle fill="none" cx="7.3" cy="7.3" r="0.9"/>
|
||||
<circle fill="none" cx="5.4" cy="12" r="0.9"/>
|
||||
<circle fill="#010202" cx="12" cy="12" r="2"/>
|
||||
<path fill="#010202" d="M24,12c0-6.6-5.4-12-12-12H12C5.4,0,0,5.4,0,12c0,6.6,5.4,12,12,12h0C18.6,24,24,18.6,24,12L24,12z M12,4.4
|
||||
c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9C11.1,4.8,11.5,4.4,12,4.4z M5.4,12.9c-0.5,0-0.9-0.4-0.9-0.9
|
||||
c0-0.5,0.4-0.9,0.9-0.9c0.5,0,0.9,0.4,0.9,0.9C6.3,12.5,5.9,12.9,5.4,12.9z M7.3,8.3c-0.5,0-0.9-0.4-0.9-0.9c0-0.5,0.4-0.9,0.9-0.9
|
||||
c0.5,0,0.9,0.4,0.9,0.9C8.2,7.8,7.8,8.3,7.3,8.3z M12,15.3c-1.8,0-3.3-1.5-3.3-3.3s1.5-3.3,3.3-3.3s3.3,1.5,3.3,3.3
|
||||
S13.8,15.3,12,15.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g>
|
||||
<circle fill="none" cx="6.7" cy="4.2" r="0.9"/>
|
||||
<circle fill="none" cx="11.9" cy="4.2" r="0.9"/>
|
||||
<circle fill="none" cx="17.2" cy="4.2" r="0.9"/>
|
||||
<path fill="none" d="M11.9,7.5c-2.5,0-4.6,2-4.6,4.6c0,2.5,2,4.6,4.6,4.6c2.5,0,4.6-2,4.6-4.6C16.5,9.6,14.5,7.5,11.9,7.5z
|
||||
M11.9,15.3c-1.8,0-3.3-1.5-3.3-3.3c0-1.8,1.5-3.3,3.3-3.3c1.8,0,3.3,1.5,3.3,3.3C15.2,13.9,13.7,15.3,11.9,15.3z"/>
|
||||
<path fill="#010202" d="M24,18V6c0-0.1,0-1.5-0.7-3C22.6,1.7,21.1,0,18,0H6C6,0,4.5,0,3.1,0.7C1.7,1.4,0,2.9,0,6V18
|
||||
c0,0.1,0,1.5,0.7,3C1.4,22.3,2.9,24,6,24H18c0.1,0,1.5,0,3-0.7C22.3,22.6,24,21.1,24,18z M11.9,3.3c0.5,0,0.9,0.4,0.9,0.9
|
||||
c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9C11,3.7,11.4,3.3,11.9,3.3z M5.8,4.2c0-0.5,0.4-0.9,0.9-0.9c0.5,0,0.9,0.4,0.9,0.9
|
||||
c0,0.5-0.4,0.9-0.9,0.9C6.2,5.1,5.8,4.7,5.8,4.2z M11.9,16.6c-2.5,0-4.6-2-4.6-4.6c0-2.5,2-4.6,4.6-4.6c2.5,0,4.6,2,4.6,4.6
|
||||
C16.5,14.6,14.5,16.6,11.9,16.6z M17.2,5.1c-0.5,0-0.9-0.4-0.9-0.9c0-0.5,0.4-0.9,0.9-0.9c0.5,0,0.9,0.4,0.9,0.9
|
||||
C18.1,4.7,17.7,5.1,17.2,5.1z"/>
|
||||
<circle fill="#010202" cx="11.9" cy="12.1" r="3.3"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 100 100" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#1D1D1B" d="M100,64.612C99.982,54.318,80.432,45.98,50.001,45.98c-30.188,0-50,8.346-50,18.646
|
||||
s22.592,18.646,50,18.646c27.397,0,49.981-8.339,49.999-18.633V64.612z"/>
|
||||
<path fill="#1D1D1B" d="M100,49.523V38.152c0-11.833-19.554-21.425-50-21.425c-30.183,0-50,9.592-50,21.425v11.371
|
||||
c8.333-7.483,27.217-11.875,50-11.875S91.667,42.04,100,49.523z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 701 B |
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 100 100" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#1D1D1B" d="M98.281,30.584L46.368,8.547c-0.204-0.088-0.413-0.167-0.621-0.167c-0.271,0-0.546,0.058-0.804,0.204
|
||||
L1.535,33.042c-1.042,0.588-1.533,2-1.533,3.408v16.9L40.843,30.33c1.504-0.85,3.2-1.3,4.904-1.3c1.329,0,2.633,0.267,3.867,0.788
|
||||
l50.379,21.321L100,37.567v-3.401C99.998,32.661,99.425,31.068,98.281,30.584z"/>
|
||||
<path fill="#1D1D1B" d="M100,62.9c-0.01-1.482-0.585-2.957-1.72-3.438L46.367,37.49c-0.204-0.083-0.412-0.129-0.621-0.129
|
||||
c-0.271,0-0.546,0.075-0.804,0.221L1.534,62.049c-2.162,1.221-2,6.017,0.237,6.879l47.958,18.5
|
||||
c0.188,0.075,0.379,0.108,0.571,0.108c0.217,0,0.438-0.046,0.646-0.138l47.362-21c1.13-0.5,1.692-1.982,1.691-3.463V62.9z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1,010 B |
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g id="Layer_2">
|
||||
<g>
|
||||
<path fill="#010202" d="M12,3.7c-6.4,0-11.7,4.8-12,7.8h24C23.7,8.4,18.4,3.7,12,3.7z"/>
|
||||
<path fill="#010202" d="M12,20.3c6.4,0,11.6-5,12-7.8H0C0.4,15.2,5.6,20.3,12,20.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 539 B |
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M4,3h16c0-1.657-1.343-3-3-3H7C5.343,0,4,1.343,4,3z"/>
|
||||
<path d="M18,23.016v-0.032C18,22.441,17.56,22,17.016,22H13V4h-2v18H6.985C6.441,22,6,22.441,6,22.984v0.032
|
||||
C6,23.559,6.441,24,6.985,24h10.031C17.56,24,18,23.559,18,23.016z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 580 B |
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M4.5,22.8c0.6,0.4,1.5,0.4,2.2-0.1c-1-0.6-2-1.4-2.8-2.2C3.7,21.4,3.9,22.3,4.5,22.8"/>
|
||||
<path fill="#010202" d="M17.9,7.5c4.4,5.4,6.5,10.9,4.8,12.3c-1.7,1.4-6.7-1.8-11-7.2C7.3,7.2,5.1,1.7,6.9,0.3
|
||||
C8.6-1.1,13.5,2.1,17.9,7.5"/>
|
||||
<path fill="#010202" d="M10,13.9c-2.2-2.8-4-5.7-5-8.2C4.2,3.7,4,2.1,4.2,1C1.6,3.9-1.6,9.5,3.1,17.8c2,3.3,6.6,6.1,11.6,6.2
|
||||
c2.5,0,4.8-0.7,6.7-1.8C17.9,22.1,13.2,17.9,10,13.9"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 755 B |
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path d="M10.495,24.005H9.499C9.223,24.005,9,23.78,9,23.504v-0.772c0-0.276,0.223-0.501,0.499-0.501h0.997
|
||||
c0.276,0,0.501,0.225,0.501,0.501v0.772C10.996,23.78,10.771,24.005,10.495,24.005z"/>
|
||||
<path d="M14.497,24.005h-0.997c-0.276,0-0.499-0.225-0.499-0.501v-0.772c0-0.276,0.223-0.501,0.499-0.501h0.997
|
||||
c0.276,0,0.501,0.225,0.501,0.501v0.772C14.998,23.78,14.773,24.005,14.497,24.005z"/>
|
||||
<g>
|
||||
<path d="M11.995,0.006C7.579,0.006,4,1.351,4,3.011c0,1.66,3.58,3.005,7.995,3.005c4.416,0,7.995-1.345,7.995-3.005
|
||||
C19.99,1.351,16.411,0.006,11.995,0.006z M11.995,4.715c-2.959,0-5.358-0.806-5.358-1.8c0-0.994,2.399-1.8,5.358-1.8
|
||||
c2.959,0,5.358,0.805,5.358,1.8C17.353,3.909,14.954,4.715,11.995,4.715z"/>
|
||||
</g>
|
||||
<path d="M12,12c-2.754,0-3.221-3.542-3.296-5.293c-1.55-0.262-2.939-0.702-3.91-1.332c0.122,1.703,0.448,5.096,1.191,6.524
|
||||
C6.825,13.515,8,15.216,8,15.216v5.135c0,0,1.229,1.631,4,1.65c2.771-0.019,4-1.65,4-1.65v-5.135c0,0,1.175-1.701,2.015-3.317
|
||||
c0.679-1.304,0.955-4.249,1.065-6.047c-1.048,0.468-2.373,0.785-3.785,0.968C15.215,8.602,14.691,12,12,12z"/>
|
||||
<path d="M12,11c0.464,0,0.848-0.152,1.161-0.469c0.791-0.802,1.059-2.424,1.129-3.607c-0.635,0.051-1.658,0.079-2.295,0.079
|
||||
c-0.889,0-1.411-0.052-2.284-0.152c0.071,1.188,0.347,2.855,1.158,3.674C11.186,10.846,11.531,11,12,11z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M10.495,24.005H9.499C9.223,24.005,9,23.78,9,23.504v-0.772c0-0.276,0.223-0.501,0.499-0.501h0.997
|
||||
c0.276,0,0.501,0.225,0.501,0.501v0.772C10.996,23.78,10.771,24.005,10.495,24.005z"/>
|
||||
<path fill="#010202" d="M15.495,24.005h-0.997c-0.276,0-0.499-0.225-0.499-0.501v-0.772c0-0.276,0.223-0.501,0.499-0.501h0.997
|
||||
c0.276,0,0.501,0.225,0.501,0.501v0.772C15.996,23.78,15.771,24.005,15.495,24.005z"/>
|
||||
<g>
|
||||
<path fill="#010202" d="M12.246-0.029c-5.419,0-9.814,1.411-9.814,3.149s4.394,3.149,9.814,3.149c5.417,0,9.812-1.411,9.812-3.149
|
||||
S17.664-0.029,12.246-0.029z M12.245,4.984c-4.466,0-8.087-0.833-8.087-1.865c0-1.029,3.621-1.864,8.087-1.864
|
||||
c4.468,0,8.089,0.835,8.089,1.864C20.334,4.151,16.713,4.984,12.245,4.984z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#010202" d="M2.98,5.396c0.958,5.965,3.812,8.333,3.994,8.504c0.196,0.182,0.775,1.018,0.775,1.771v5.191
|
||||
c0,0.148,2.064,1.22,3.5,1.22h2.487c1.589,0,3.012-1.076,3.012-1.22v-5.191c0-0.871,0.512-1.507,0.766-1.771
|
||||
c0.236-0.247,3.005-2.548,3.926-8.5c-2.026,1.271-5.699,1.869-9.226,1.869C8.683,7.269,5.005,6.67,2.98,5.396z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M18.9,0H5.1C4.9,0,4.8,0.1,4.8,0.3v23.4c0,0.2,0.1,0.3,0.3,0.3h13.9c0.2,0,0.3-0.1,0.3-0.3V0.3
|
||||
C19.2,0.1,19.1,0,18.9,0z M15,20.9C15,21,15,21,15,20.9l-6,0c0,0,0,0,0,0v-4.4h6V20.9z M15,15.1H9v-2.4h6V15.1z M15,11.3H9V9.1h6
|
||||
V11.3z M15,7.7H9V3.1c0,0,0,0,0,0H15c0,0,0,0,0,0V7.7z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 629 B |
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g id="Layer_2">
|
||||
<g>
|
||||
<path fill="#010202" d="M12,18.8c6.4,0,11.7-2.8,12-6.3H0C0.3,16.1,5.6,18.8,12,18.8z"/>
|
||||
<path fill="#010202" d="M12,5.2c-6.4,0-11.7,2.8-12,6.3h24C23.7,7.9,18.4,5.2,12,5.2z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 541 B |
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M10.7,17.4c-1.5,0.8-2.8,2.2-3.4,2.9c0.1,0.3,0.2,0.6-0.1,0.7c-0.6,0.5-1.6,0.2-2.6-0.6
|
||||
c-1-0.8-0.8-1.8-0.5-2.1c0.1-0.1,0.3-0.1,0.5-0.1c1.1-1.1,1.6-2.7,2-4.1c-3.2-3-4.4-5.6-4.8-7.3c-1.2,2.3-2,5-1.7,7.6
|
||||
c0.7,6.3,6.4,9,9.1,9.3c1.7,0.2,3.6,0,5.4-0.7c1.6-0.6,3.1-1.7,4.5-2.9c-0.2,0-0.4,0-0.6,0C16.9,20.3,14.3,19.7,10.7,17.4"/>
|
||||
<path fill="#010202" d="M11.2,11.8L11.2,11.8L11.2,11.8C7.5,9,5,5.6,4.3,3C3.8,3.7,3.3,4.4,2.7,5.2C2.7,5.3,2.6,5.5,2.5,5.6
|
||||
c0.1,1,0.6,4.9,6.7,9.6c6,4.6,9.6,4.5,11.2,3.7c0.1-0.1,0.1-0.1,0.2-0.2c0.6-0.6,1.1-1.3,1.6-2c-0.1,0-0.2,0-0.4,0
|
||||
C19.1,16.7,15.5,15.1,11.2,11.8"/>
|
||||
<path fill="#010202" d="M18.8,5.3C14.6,1.7,10.7,0,8.4,0C6.2,0,6.1,1.1,6.1,1.8c0.1,2,2.5,5.5,6.2,8.4c7.3,5.5,10.8,5,11.5,3.6
|
||||
C24.6,12.1,22.4,8.4,18.8,5.3 M19.1,11c-0.4,0.7-2.1,0.9-5.7-1.9c-1.9-1.5-2.9-2.9-3-4c0-0.3-0.1-1.1,1-1.1c1.2,0,3.1,0.8,5.2,2.7
|
||||
C17.7,7.5,19.7,9.6,19.1,11"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M16.6,0H0v5h16.9c0,0,6.1-0.4,7.1,4.7V5.1C24,5.1,24.2,0,16.6,0 M3,3H2V2h1V3z M8,3H7V2h1V3z M13,3h-1V2h1V3
|
||||
z M18,3h-1V2h1V3z M22,4.7L21.3,4L22,3.3L22.7,4L22,4.7z"/>
|
||||
<path fill="#010202" d="M7.2,19c0,0-6.2,0.4-7.2-4.7v4.6c0,0-0.1,5.1,7.4,5.1H24v-5H7.2z M2,20.7L1.3,20L2,19.3L2.7,20L2,20.7z
|
||||
M7,22H6v-1h1V22z M12,22h-1v-1h1V22z M17,22h-1v-1h1V22z M22,22h-1v-1h1V22z"/>
|
||||
<path fill="#010202" d="M5.4,15.4c-1.2,0.4-2,0.7-2.4,1.3c0,0-0.1,0.2-0.1,0.4c0,0,0,0,0,0c-0.2-0.1-0.3-0.2-0.5-0.4
|
||||
c-0.8-0.8-1.4-1.8-1.4-3c0-0.2,0-0.5,0.1-0.8c0.1-0.5,0.3-1,0.5-1.4c0,0,0,0,0,0c2.2-1.8,6.2-1.8,6.2-1.8L13,9.3
|
||||
c2.1-0.2,4.3-0.4,5.6-0.7C20,8.3,20.7,7.7,21,7l0,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0.1,0.1,0.3,0.3c1,0.8,1.7,2,1.7,3.4
|
||||
c0,0.1,0,0.3,0,0.4c0,0.4-0.1,0.8-0.3,1.2c0,0,0,0,0,0l0,0c-2.2,2-6.5,2-6.5,2S6.2,15.1,5.4,15.4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g>
|
||||
<circle fill="none" cx="12" cy="4.634" r="0.837"/>
|
||||
<path fill="none" d="M12,6.8c-2.867,0-5.2,2.332-5.2,5.2s2.333,5.2,5.2,5.2c2.868,0,5.2-2.332,5.2-5.2S14.868,6.8,12,6.8z
|
||||
M12,15.275c-1.807,0-3.276-1.469-3.276-3.275c0-1.807,1.469-3.276,3.276-3.276c1.806,0,3.276,1.469,3.276,3.276
|
||||
C15.276,13.806,13.806,15.275,12,15.275z"/>
|
||||
<circle cx="12" cy="12" r="3.276"/>
|
||||
<path d="M24,19V5c0-2.761-2.238-5-5-5H5C2.24,0,0.002,2.237,0,4.996v14.008C0.002,21.763,2.24,24,5,24h14
|
||||
C21.762,24,24,21.761,24,19z M12,3.798c0.462,0,0.837,0.375,0.837,0.836S12.462,5.471,12,5.471c-0.461,0-0.836-0.376-0.836-0.837
|
||||
S11.539,3.798,12,3.798z M12,17.2c-2.867,0-5.2-2.332-5.2-5.2S9.133,6.8,12,6.8c2.868,0,5.2,2.332,5.2,5.2S14.868,17.2,12,17.2z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1 KiB |
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<rect x="11" y="0.981" width="2" height="15.969"/>
|
||||
<path d="M22,18H2c-1.105,0-2,0.895-2,2s0.895,2,2,2h20c1.105,0,2-0.895,2-2S23.105,18,22,18z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 475 B |
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M21,18H3c-1.657,0-3,1.343-3,3v1h24v-1C24,19.343,22.657,18,21,18z"/>
|
||||
<rect x="11" y="0.981" width="2" height="15.969"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 469 B |
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<rect y="18" width="24" height="4.001"/>
|
||||
<rect x="11" y="0.982" width="2" height="16"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 418 B |
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M0,11.8h24c-2.4,1.5-7.6,4.2-12,4.2C7.6,16.1,2.4,13.3,0,11.8z"/>
|
||||
<path fill="#010202" d="M24,10.9H0c2.4-1,7.6-2.9,12-2.9C16.4,7.9,21.6,9.8,24,10.9z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 504 B |
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M12,15.1c-5,0-8.2-0.9-8.7-1.5c0.5-0.6,3.7-1.5,8.7-1.5c5,0,8.2,0.9,8.7,1.5C20.2,14.2,17,15.1,12,15.1z"/>
|
||||
<path fill="#010202" d="M22.2,13.8c0,0,0-0.1,0-0.1c0-2.8-9.2-2.9-10.2-2.9S1.8,10.8,1.8,13.6c0,0,0,0.1,0,0.1
|
||||
C0.6,13.3,0,12.7,0,12.2c0-1.3,4.7-3.3,12-3.3c7.3,0,12,1.9,12,3.3C24,12.7,23.4,13.3,22.2,13.8z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 664 B |
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<polygon points="7,5.001 7,14.001 0,14.001 0,15.001 24,15.001 24,14.001 17,14.001 17,5.001 "/>
|
||||
<path d="M5,17.001c0,1.657,1.343,3,3,3h8c1.657,0,3-1.343,3-3v-1H5V17.001z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 502 B |
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
|
||||
<path fill="#010202" d="M9.3,18.5c-0.5,0.4-0.9,0.9-1,1c-0.1,0.1-0.8,0.6-0.2,1c0.6,0.4,1.6,0.8,3.6,0.8c0.1,0,0.1,0,0.2,0
|
||||
c-0.4-0.3-0.7-0.6-1.1-0.9C10.3,19.7,9.7,19.1,9.3,18.5"/>
|
||||
<path fill="#010202" d="M22.3,13.1c-2-2.7-3.5-3.8-4.3-4.3c-0.1-0.1-0.4-0.3-0.1-0.3c0.3,0,1.8,0.2,1.8-1.5c0-1.7-2-3.9-4-4.9
|
||||
c-2-0.9-3.7-0.3-3.4,1.3C12.6,5,14,6.4,14.7,7c0.1,0.1,0.3,0.3-0.1,0.2c-0.4-0.1-2.1-0.5-3.4-0.1C10,7.4,9.6,8.1,9.5,8.3
|
||||
c0,0.1-0.1,0.2-0.3-0.1C9.1,8,8.4,5.8,5.7,4.3C4.2,3.4,1.8,2.7,0.5,4S1,8.3,2.1,9.2C3.3,10.1,5.9,12,8.3,11l0,0
|
||||
c-0.1,1.1-0.7,4.8,3.3,8.6c4,3.8,9.6,3.2,11.6,0.8l0,0C24.9,18.7,23.6,14.8,22.3,13.1 M22.6,20.1c-2.8,2.3-7.3-0.6-9.2-2.3
|
||||
C7,11.5,9.9,8,11.3,7.6c1.7-0.7,4.4,0.1,6.3,1.4c2,1.3,3.3,3,3.6,3.4C21.8,13,25.3,17.8,22.6,20.1"/>
|
||||
<path fill="#010202" d="M12.1,9.2c-1.1,0.4-3.4,3.2,1.7,8.3c1.5,1.3,5.2,3.6,7.4,1.8c2.2-1.8-0.6-5.7-1-6.3
|
||||
c-0.2-0.3-1.3-1.7-2.9-2.7C15.6,9.3,13.5,8.7,12.1,9.2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |