typespeed 0.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/dist/core.decorator.d.ts +18 -0
  4. package/dist/core.decorator.js +185 -0
  5. package/dist/core.decorator.js.map +1 -0
  6. package/dist/database.decorator.d.ts +24 -0
  7. package/dist/database.decorator.js +335 -0
  8. package/dist/database.decorator.js.map +1 -0
  9. package/dist/default/express-server.class.d.ts +15 -0
  10. package/dist/default/express-server.class.js +148 -0
  11. package/dist/default/express-server.class.js.map +1 -0
  12. package/dist/default/log-default.class.d.ts +6 -0
  13. package/dist/default/log-default.class.js +32 -0
  14. package/dist/default/log-default.class.js.map +1 -0
  15. package/dist/default/node-cache.class.d.ts +13 -0
  16. package/dist/default/node-cache.class.js +51 -0
  17. package/dist/default/node-cache.class.js.map +1 -0
  18. package/dist/default/pages/404.html +226 -0
  19. package/dist/default/pages/500.html +713 -0
  20. package/dist/default/read-write-db.class.d.ts +10 -0
  21. package/dist/default/read-write-db.class.js +66 -0
  22. package/dist/default/read-write-db.class.js.map +1 -0
  23. package/dist/default/redis.class.d.ts +5 -0
  24. package/dist/default/redis.class.js +32 -0
  25. package/dist/default/redis.class.js.map +1 -0
  26. package/dist/factory/cache-factory.class.d.ts +7 -0
  27. package/dist/factory/cache-factory.class.js +6 -0
  28. package/dist/factory/cache-factory.class.js.map +1 -0
  29. package/dist/factory/data-source-factory.class.d.ts +4 -0
  30. package/dist/factory/data-source-factory.class.js +6 -0
  31. package/dist/factory/data-source-factory.class.js.map +1 -0
  32. package/dist/factory/log-factory.class.d.ts +4 -0
  33. package/dist/factory/log-factory.class.js +6 -0
  34. package/dist/factory/log-factory.class.js.map +1 -0
  35. package/dist/factory/server-factory.class.d.ts +6 -0
  36. package/dist/factory/server-factory.class.js +9 -0
  37. package/dist/factory/server-factory.class.js.map +1 -0
  38. package/dist/route.decorator.d.ts +8 -0
  39. package/dist/route.decorator.js +87 -0
  40. package/dist/route.decorator.js.map +1 -0
  41. package/dist/typespeed.d.ts +12 -0
  42. package/dist/typespeed.js +39 -0
  43. package/dist/typespeed.js.map +1 -0
  44. package/package.json +39 -6
  45. package/src/core.decorator.ts +183 -0
  46. package/src/database.decorator.ts +342 -0
  47. package/src/default/express-server.class.ts +133 -0
  48. package/src/default/log-default.class.ts +19 -0
  49. package/src/default/node-cache.class.ts +39 -0
  50. package/src/default/pages/404.html +226 -0
  51. package/src/default/pages/500.html +713 -0
  52. package/src/default/read-write-db.class.ts +53 -0
  53. package/src/default/redis.class.ts +18 -0
  54. package/src/factory/cache-factory.class.ts +7 -0
  55. package/src/factory/data-source-factory.class.ts +4 -0
  56. package/src/factory/log-factory.class.ts +4 -0
  57. package/src/factory/server-factory.class.ts +6 -0
  58. package/src/route.decorator.ts +82 -0
  59. package/src/typespeed.ts +15 -0
  60. package/test/nodemon.json +6 -0
  61. package/test/package.json +18 -0
  62. package/test/src/aop-test.class.ts +29 -0
  63. package/test/src/config-development.json +15 -0
  64. package/test/src/config-production.json +15 -0
  65. package/test/src/config.json +46 -0
  66. package/test/src/custom-log.class.ts +26 -0
  67. package/test/src/entities/user-dto.class.ts +3 -0
  68. package/test/src/first-page.class.ts +46 -0
  69. package/test/src/main.ts +17 -0
  70. package/test/src/second-page.class.ts +43 -0
  71. package/test/src/test-database.class.ts +85 -0
  72. package/test/src/test-log.class.ts +9 -0
  73. package/test/src/test-orm.class.ts +74 -0
  74. package/test/src/user-model.class.ts +45 -0
  75. package/test/src/views/index.html +1 -0
  76. package/test/src/views/upload.html +14 -0
  77. package/test/static/favicon.ico +0 -0
  78. package/test/static/k.jpg +0 -0
  79. package/test/tsconfig.json +20 -0
  80. package/tsconfig.json +25 -0
@@ -0,0 +1,15 @@
1
+ import ServerFactory from "../factory/server-factory.class";
2
+ export default class ExpressServer extends ServerFactory {
3
+ view: string;
4
+ private static;
5
+ private favicon;
6
+ private compression;
7
+ private cookieConfig;
8
+ private session;
9
+ private redisConfig;
10
+ private redisClient;
11
+ getSever(): ServerFactory;
12
+ setMiddleware(middleware: any): void;
13
+ start(port: number): void;
14
+ private setDefaultMiddleware;
15
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const fs = require("fs");
13
+ const express = require("express");
14
+ const consolidate = require("consolidate");
15
+ const serveFavicon = require("serve-favicon");
16
+ const compression = require("compression");
17
+ const cookieParser = require("cookie-parser");
18
+ const expressSession = require("express-session");
19
+ const connectRedis = require("connect-redis");
20
+ const server_factory_class_1 = require("../factory/server-factory.class");
21
+ const route_decorator_1 = require("../route.decorator");
22
+ const core_decorator_1 = require("../core.decorator");
23
+ const redis_class_1 = require("./redis.class");
24
+ class ExpressServer extends server_factory_class_1.default {
25
+ getSever() {
26
+ const server = new ExpressServer();
27
+ server.app = express();
28
+ return server;
29
+ }
30
+ setMiddleware(middleware) {
31
+ this.middlewareList.push(middleware);
32
+ }
33
+ start(port) {
34
+ this.middlewareList.forEach(middleware => {
35
+ this.app.use(middleware);
36
+ });
37
+ this.setDefaultMiddleware();
38
+ this.app.listen(port, () => {
39
+ (0, core_decorator_1.log)("server start at port: " + port);
40
+ });
41
+ }
42
+ setDefaultMiddleware() {
43
+ this.app.use(express.urlencoded({ extended: true }));
44
+ this.app.use(express.json());
45
+ if (this.view) {
46
+ const viewConfig = this.view;
47
+ this.app.engine(viewConfig["suffix"], consolidate[viewConfig["engine"]]);
48
+ this.app.set('view engine', viewConfig["suffix"]);
49
+ this.app.set('views', process.cwd() + viewConfig["path"]);
50
+ }
51
+ if (this.session) {
52
+ const sessionConfig = this.session;
53
+ if (sessionConfig["trust proxy"] === 1) {
54
+ this.app.set('trust proxy', 1);
55
+ }
56
+ if (this.redisConfig) {
57
+ const RedisStore = connectRedis(expressSession);
58
+ sessionConfig["store"] = new RedisStore({ client: this.redisClient });
59
+ }
60
+ this.app.use(expressSession(sessionConfig));
61
+ }
62
+ if (this.static) {
63
+ const staticPath = process.cwd() + this.static;
64
+ this.app.use(express.static(staticPath));
65
+ }
66
+ if (this.favicon) {
67
+ const faviconPath = process.cwd() + this.favicon;
68
+ this.app.use(serveFavicon(faviconPath));
69
+ }
70
+ if (this.compression) {
71
+ this.app.use(compression(this.compression));
72
+ }
73
+ if (this.cookieConfig) {
74
+ this.app.use(cookieParser(this.cookieConfig["secret"] || undefined, this.cookieConfig["options"] || {}));
75
+ }
76
+ (0, route_decorator_1.setRouter)(this.app);
77
+ const errorPageDir = __dirname + "/pages";
78
+ this.app.use((req, res) => {
79
+ (0, core_decorator_1.error)("404 not found, for page: " + req.url);
80
+ res.status(404);
81
+ if (req.accepts('html')) {
82
+ res.type('html').send(fs.readFileSync(errorPageDir + "/404.html", "utf-8"));
83
+ }
84
+ else if (req.accepts('json')) {
85
+ res.json({ error: 'Not found' });
86
+ }
87
+ else {
88
+ res.type('txt').send('Not found');
89
+ }
90
+ });
91
+ this.app.use((err, req, res, next) => {
92
+ if (!err) {
93
+ next();
94
+ }
95
+ (0, core_decorator_1.error)(err);
96
+ res.status(err.status || 500);
97
+ if (req.accepts('html')) {
98
+ res.type('html').send(fs.readFileSync(errorPageDir + "/500.html", "utf-8"));
99
+ }
100
+ else if (req.accepts('json')) {
101
+ res.json({ error: 'Internal Server Error' });
102
+ }
103
+ else {
104
+ res.type('txt').send('Internal Server Error');
105
+ }
106
+ });
107
+ }
108
+ }
109
+ __decorate([
110
+ (0, core_decorator_1.value)("view"),
111
+ __metadata("design:type", String)
112
+ ], ExpressServer.prototype, "view", void 0);
113
+ __decorate([
114
+ (0, core_decorator_1.value)("static"),
115
+ __metadata("design:type", String)
116
+ ], ExpressServer.prototype, "static", void 0);
117
+ __decorate([
118
+ (0, core_decorator_1.value)("favicon"),
119
+ __metadata("design:type", String)
120
+ ], ExpressServer.prototype, "favicon", void 0);
121
+ __decorate([
122
+ (0, core_decorator_1.value)("compression"),
123
+ __metadata("design:type", Object)
124
+ ], ExpressServer.prototype, "compression", void 0);
125
+ __decorate([
126
+ (0, core_decorator_1.value)("cookie"),
127
+ __metadata("design:type", Object)
128
+ ], ExpressServer.prototype, "cookieConfig", void 0);
129
+ __decorate([
130
+ (0, core_decorator_1.value)("session"),
131
+ __metadata("design:type", Object)
132
+ ], ExpressServer.prototype, "session", void 0);
133
+ __decorate([
134
+ (0, core_decorator_1.value)("redis"),
135
+ __metadata("design:type", Object)
136
+ ], ExpressServer.prototype, "redisConfig", void 0);
137
+ __decorate([
138
+ core_decorator_1.autoware,
139
+ __metadata("design:type", redis_class_1.default)
140
+ ], ExpressServer.prototype, "redisClient", void 0);
141
+ __decorate([
142
+ core_decorator_1.bean,
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", []),
145
+ __metadata("design:returntype", server_factory_class_1.default)
146
+ ], ExpressServer.prototype, "getSever", null);
147
+ exports.default = ExpressServer;
148
+ //# sourceMappingURL=express-server.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express-server.class.js","sourceRoot":"","sources":["../../src/default/express-server.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import LogFactory from "../factory/log-factory.class";
2
+ export default class LogDefault extends LogFactory {
3
+ createLog(): LogFactory;
4
+ log(message?: any, ...optionalParams: any[]): void;
5
+ error(message?: any, ...optionalParams: any[]): void;
6
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const core_decorator_1 = require("../core.decorator");
13
+ const log_factory_class_1 = require("../factory/log-factory.class");
14
+ class LogDefault extends log_factory_class_1.default {
15
+ createLog() {
16
+ return new LogDefault();
17
+ }
18
+ log(message, ...optionalParams) {
19
+ console.log(message, ...optionalParams);
20
+ }
21
+ error(message, ...optionalParams) {
22
+ console.error(message, ...optionalParams);
23
+ }
24
+ }
25
+ __decorate([
26
+ core_decorator_1.bean,
27
+ __metadata("design:type", Function),
28
+ __metadata("design:paramtypes", []),
29
+ __metadata("design:returntype", log_factory_class_1.default)
30
+ ], LogDefault.prototype, "createLog", null);
31
+ exports.default = LogDefault;
32
+ //# sourceMappingURL=log-default.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-default.class.js","sourceRoot":"","sources":["../../src/default/log-default.class.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sDAAyC;AACzC,oEAAsD;AAEtD,MAAqB,UAAW,SAAQ,2BAAU;IAG9C,SAAS;QACL,OAAO,IAAI,UAAU,EAAE,CAAC;IAC5B,CAAC;IAEM,GAAG,CAAC,OAAa,EAAE,GAAG,cAAqB;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,OAAa,EAAE,GAAG,cAAqB;QAChD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IAC9C,CAAC;CAEJ;AAbG;IAAC,qBAAI;;;oCACQ,2BAAU;2CAEtB;AALL,6BAeC"}
@@ -0,0 +1,13 @@
1
+ import CacheFactory from "../factory/cache-factory.class";
2
+ export default class NodeCache extends CacheFactory {
3
+ private NodeCache;
4
+ private nodeCacheOptions;
5
+ private config;
6
+ constructor();
7
+ getNodeCache(): CacheFactory;
8
+ get(key: string): any;
9
+ set(key: string, value: any, expire?: number): void;
10
+ del(key: string): void;
11
+ has(key: string): boolean;
12
+ flush(): void;
13
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const cache_factory_class_1 = require("../factory/cache-factory.class");
13
+ const cache = require("node-cache");
14
+ const core_decorator_1 = require("../core.decorator");
15
+ class NodeCache extends cache_factory_class_1.default {
16
+ constructor() {
17
+ super();
18
+ this.nodeCacheOptions = this.config || { stdTTL: 3600 };
19
+ this.NodeCache = new cache();
20
+ }
21
+ getNodeCache() {
22
+ return new NodeCache();
23
+ }
24
+ get(key) {
25
+ return this.NodeCache.get(key);
26
+ }
27
+ set(key, value, expire) {
28
+ this.NodeCache.set(key, value, expire || this.nodeCacheOptions["stdTTL"]);
29
+ }
30
+ del(key) {
31
+ this.NodeCache.del(key);
32
+ }
33
+ has(key) {
34
+ return this.NodeCache.has(key);
35
+ }
36
+ flush() {
37
+ this.NodeCache.flushAll();
38
+ }
39
+ }
40
+ __decorate([
41
+ (0, core_decorator_1.value)("cache"),
42
+ __metadata("design:type", Object)
43
+ ], NodeCache.prototype, "config", void 0);
44
+ __decorate([
45
+ core_decorator_1.bean,
46
+ __metadata("design:type", Function),
47
+ __metadata("design:paramtypes", []),
48
+ __metadata("design:returntype", cache_factory_class_1.default)
49
+ ], NodeCache.prototype, "getNodeCache", null);
50
+ exports.default = NodeCache;
51
+ //# sourceMappingURL=node-cache.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-cache.class.js","sourceRoot":"","sources":["../../src/default/node-cache.class.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,wEAA0D;AAC1D,oCAAoC;AACpC,sDAAgD;AAEhD,MAAqB,SAAU,SAAQ,6BAAY;IAO/C;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;IACjC,CAAC;IAGM,YAAY;QACf,OAAO,IAAI,SAAS,EAAE,CAAC;IAC3B,CAAC;IAEM,GAAG,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACM,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,MAAe;QAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IACM,GAAG,CAAC,GAAW;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACM,GAAG,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;CAEJ;AA9BG;IAAC,IAAA,sBAAK,EAAC,OAAO,CAAC;;yCACS;AAQxB;IAAC,qBAAI;;;oCACkB,6BAAY;6CAElC;AAhBL,4BAkCC"}
@@ -0,0 +1,226 @@
1
+ <!--
2
+ The MIT License (MIT)
3
+
4
+ Copyright (c) 2022 by Genaro Colusso (https://codepen.io/genarocolusso/pen/XWbGMLp)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+
24
+ # 404paozinho
25
+
26
+ A Pen created on CodePen.io. Original URL: [https://codepen.io/genarocolusso/pen/XWbGMLp](https://codepen.io/genarocolusso/pen/XWbGMLp).
27
+
28
+ //All rights reserved
29
+ -->
30
+
31
+ <!DOCTYPE html>
32
+ <html lang="en">
33
+
34
+ <head>
35
+ <meta charset="UTF-8">
36
+ <title>404 Page Not Found</title>
37
+ <style>
38
+ .fundo {
39
+ animation: scales 3s alternate infinite;
40
+ transform-origin: center;
41
+ }
42
+
43
+ .pao-baixo {
44
+ animation: rotatepao 14s cubic-bezier(.1, .49, .41, .97) infinite;
45
+ transform-origin: center;
46
+ }
47
+
48
+ .pao-cima {
49
+ animation: rotatepao 7s 1s cubic-bezier(.1, .49, .41, .97) infinite;
50
+ transform-origin: center;
51
+ }
52
+
53
+ .olhos {
54
+ animation: olhos 2s alternate infinite;
55
+ transform-origin: center;
56
+ }
57
+
58
+ .left-sparks {
59
+ animation: left-sparks 4s alternate infinite;
60
+ transform-origin: 150px 156px;
61
+ }
62
+
63
+ .right-sparks {
64
+ animation: left-sparks 4s alternate infinite;
65
+ transform-origin: 310px 150px;
66
+ }
67
+
68
+ .olhos {
69
+ animation: olhos 2s alternate infinite;
70
+ transform-origin: center;
71
+ }
72
+
73
+ @keyframes scales {
74
+ from {
75
+ transform: scale(0.98)
76
+ }
77
+
78
+ to {
79
+ transform: scale(1)
80
+ }
81
+ }
82
+
83
+ @keyframes rotatepao {
84
+ 0% {
85
+ transform: rotate(0deg)
86
+ }
87
+
88
+ 50%,
89
+ 60% {
90
+ transform: rotate(-20deg)
91
+ }
92
+
93
+ 100% {
94
+ transform: rotate(0deg)
95
+ }
96
+
97
+ }
98
+
99
+ @keyframes olhos {
100
+ 0% {
101
+ transform: rotateX(0deg);
102
+ }
103
+
104
+ 100% {
105
+ transform: rotateX(30deg);
106
+ }
107
+ }
108
+
109
+ @keyframes left-sparks {
110
+ 0% {
111
+ opacity: 0;
112
+ }
113
+
114
+ }
115
+
116
+
117
+ .main {
118
+
119
+ min-height: 600px;
120
+ margin: 0px auto;
121
+ width: auto;
122
+ max-width: 460px;
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ }
127
+
128
+ .path {
129
+ stroke-dasharray: 300;
130
+ stroke-dashoffset: 300;
131
+ animation: dash 4s alternate infinite;
132
+ }
133
+
134
+ @keyframes dash {
135
+
136
+ 0%,
137
+ 30% {
138
+ fill: 4B4B62;
139
+ stroke-dashoffset: 0;
140
+ }
141
+
142
+ 80%,
143
+ 100% {
144
+ fill: transparent;
145
+ stroke-dashoffset: -200;
146
+ }
147
+
148
+
149
+ }
150
+ </style>
151
+
152
+ </head>
153
+
154
+ <body>
155
+ <!-- partial:index.partial.html -->
156
+ <div class="main">
157
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="470" height="290"
158
+ viewBox="0 0 470 290">
159
+ <defs>
160
+ <path class="fundo" id="prefix__a"
161
+ d="M5.063 128.67c-2.513 15.192 5.633 31.093 17.898 38.941 5.99 3.832 13.34 6.528 16.471 13.254 4.868 10.452-3.879 22.437-13.113 28.515-9.236 6.078-20.5 10.9-24.704 21.683-2.771 7.108-1.685 15.387 1.058 22.507 10.06 26.112 39.393 37.547 65.479 36.15 26.086-1.396 50.827-12.407 76.416-18.075 87.873-19.465 180.005 24.717 267.728 4.47 13.65-3.151 27.4-8.081 37.943-17.99 11.883-11.167 18.632-28.016 19.65-45.023.97-16.225-4.34-34.495-17.744-41.806-7.834-4.273-17.196-4.1-25.7-1.774-5.43 1.483-10.767 3.808-16.369 3.848-5.601.038-11.763-3-13.386-8.808-1.707-6.107 2.182-12.41 6.642-16.577 9.072-8.474 21.203-12.707 29.441-22.126 7.927-9.063 11.264-22.574 8.574-34.716-2.692-12.141-11.326-22.538-22.188-26.715-27.683-10.645-57.844 18.377-86.152 9.873-2.101-.63-4.312-1.605-5.418-3.641-1.08-1.988-.834-4.51-.214-6.716 3.468-12.348 16.939-20.21 17.528-33.102.32-7.008-3.504-13.564-8.325-18.251-33.126-32.2-81.125 6.102-114.9 18.194-55.542 19.884-112.157 36.49-167.849 55.963-20.81 7.275-44.91 18.606-48.766 41.922z" />
162
+ </defs>
163
+ <g fill="none" fill-rule="evenodd">
164
+ <path fill="#FFF" d="M0 0H1366V800H0z" transform="translate(-448 -157)" />
165
+ <g transform="translate(-448 -157) translate(448 157)">
166
+ <mask id="prefix__b" fill="#fff">
167
+ <use xlink:href="#prefix__a" />
168
+ </mask>
169
+ <use fill="#F6F6F7" xlink:href="#prefix__a" />
170
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M-14.199 211.2H481.36V301.2H-14.199z"
171
+ mask="url(#prefix__b)" />
172
+ <g class="paes">
173
+ <g class="pao-baixo">
174
+ <path fill="#FBB965"
175
+ d="M2.79 131.737s-2.073 3.155-2.479 6.868c-.406 3.713-.747 9.666 1.24 13.372 1.985 3.707 12.69 20.8 65.175 21.02 53.15.225 69.188-15.685 70.59-18.977 2.605-6.118 1.838-21.327.06-22.283-1.777-.956-44.044-3.204-72.446-4.057-28.402-.854-49.872-1.968-62.14 4.057"
176
+ transform="translate(161 68)" />
177
+ <path fill="#E6A95F"
178
+ d="M34.648 167.758c-8.863-1.526-23.515-6.939-30.292-14.218-6.775-7.28-2.096-8.803 3.508-5.387 5.605 3.415 24.569 11.557 54.124 12.263 29.555.706 61.424-6.946 72.2-17.053 0 0 2.705-1.47 2.768 1.509.062 2.98.428 7.948-2.769 10.507-3.196 2.558-34.805 23.526-99.54 12.379"
179
+ transform="translate(161 68)" />
180
+ <path fill="#FFDA7F"
181
+ d="M5.679 131.837c-6.522 1.646-.275 6.91 9.492 12.14 9.767 5.229 28.24 10.257 44.267 10.015 16.028-.243 37.48-.481 52.543-5.333 15.06-4.852 16.223-9.55 17.998-13.298 1.774-3.748-107.32-7.809-124.3-3.524"
182
+ transform="translate(161 68)" />
183
+ </g>
184
+ <g class="pao-cima">
185
+ <path fill="#FBB868"
186
+ d="M71.37 0C49.008.035-2.43.631 1.18 51.16c0 0-.018 10.84 62.825 10.84 62.844 0 72.591-9.633 73.721-11.173C142.284 44.623 147.583-.117 71.37 0"
187
+ transform="translate(161 68)" />
188
+ <path fill="#E6A95F"
189
+ d="M34.552 61c-7.628-1.006-23.98-2.904-27.586-5.506-3.606-2.604-7.448-2.895-5.39-10.826.842-3.242 7.976-.619 11.264.839 3.289 1.458 21.239 6.047 42.989 6.673 21.75.625 57.126-1.679 67.42-5.458 9.806-3.598 13.662-7.027 15.493-5.228 2.396 2.351 1.687 8.008-4.913 12.215-6.252 3.985-27.53 7.2-49.434 7.76-21.904.56-38.604 1.012-49.843-.469"
190
+ transform="translate(161 68)" />
191
+ <path fill="#FFEAD4"
192
+ d="M45.508 13.114c-.368.549-.54 1.598-.503 2.445.017.392.297.604.45.287.143-.297.222-.617.303-.978.087-.387.197-.735.238-1.15.042-.44-.257-.95-.488-.604M42.092 9.016c-.694.13-1.446.61-1.774 1.098-.168.248-.3.512-.317.792-.017.313.154.503.29.776.249.494 1.245.392 1.22-.162-.014-.274.33-.612.54-.817.367-.361.75-.62.923-1.075.154-.404-.413-.7-.882-.612M51.621 9.247c-.182-.409-.68-.325-.615.364.063.687.007 1.485.25 2.067.19.458.694.473.737-.25.043-.759-.109-1.592-.372-2.181M32.55 15.101c-1.206.547-1.849 1.662-1.414 2.552.188.384 1.21.504 1.46.077.188-.32.407-.629.616-.942.243-.363.63-.675.767-1.064.173-.486-.753-.93-1.43-.623M29.793 9.012c-.26-.108-.498.532-.62.942-.166.565-.205 1.033-.149 1.674.053.59.424.405.493-.048-.002.014.102-.302.138-.4.093-.247.18-.497.262-.76.113-.359.144-1.297-.124-1.408M38.384 6.056c-.737-.211-1.406.211-1.881.674-.53.514-.607 1.19-.39 1.829.167.5 1.09.632 1.326.096.127-.285.31-.53.533-.764.304-.32.72-.44.944-.848.237-.429-.053-.85-.532-.987M21.722 10.101c-.484-.28-1.16.08-1.542.378-.57.444-.957.924-1.152 1.628-.21.764.802 1.182 1.296.663.4-.42.901-.746 1.308-1.172.319-.334.594-1.205.09-1.497M23.513 15.078c-.385.414-.505 1.566-.513 2.381-.005.47.333.749.47.35.206-.592.422-1.34.517-2.047.082-.598-.253-.921-.474-.684M38.964 14.6c-.26-.324-1.293-.581-2.192-.6-.626-.012-.971.28-.65.452.459.244 1.155.57 2.063.547.56-.014.936-.205.78-.4M51.58 3.028c-.54-.1-.912.074-1.399.401-.45.304-.83.813-1.092 1.395-.344.76.386 1.437.866 1.076.662-.5 1.41-.857 1.914-1.641.255-.397.126-1.152-.29-1.23M66.234 9c-.923 0-2.062.305-2.227.708-.074.182.437.384.836.247.537-.185 1.29-.187 1.832-.364.59-.193.337-.591-.441-.591M60.589 9.375c-.101-.522-.482-.493-.556.048-.12.852.102 1.815.423 2.412.213.396.543.02.544-.494.002-.736-.283-1.302-.411-1.966M69.955 3.569c-.44-.473-1.713-.712-2.727-.479-.37.085-.24.315.044.396.601.173 1.168.408 1.848.503.49.069 1.042-.199.835-.42M73.956 10.626c-.231-.836-.735-1.255-1.316-1.507-.24-.104-.5-.147-.75-.1-.148.028-.273.063-.407.161-.032.022-.373.238-.223.161-.282.148-.382.791-.057.979.117.067.22.24.333.325.168.128.336.247.508.364.327.219.564.609.873.868.537.45 1.27-.42 1.04-1.251M66.549 15.017c-.83-.233-.486 2.056-.435 2.528.055.51.678.664.741.08.068-.628.42-2.405-.306-2.608M54.803 16.301c-.065-.347-.1-.709-.19-1.038-.107-.393-.44-.32-.532.052-.186.746-.052 2.313.405 2.636.225.16.545-.077.512-.623-.024-.375-.13-.676-.195-1.027M39.534 21.024c-.423.212-.58 1.352-.523 2.174.066.946.664 1.13.785.144.065-.538.22-1.041.203-1.612-.016-.528-.238-.82-.465-.706M15.946 21.201c-.04-.142-.134-.197-.214-.2-.311-.02-.464.621-.576 1.05-.124.468-.188.945-.14 1.461.053.562.486.699.57.088.053-.375.146-.754.233-1.107.108-.439.265-.815.127-1.292M14.918 16.274c-.067-.169-.25-.279-.46-.274-.571.015-1.05.232-1.55.61-.562.422-.976 1.023-.899 1.675.081.697.993.942 1.574.476.407-.326.746-.755 1.058-1.149.364-.462.441-.923.277-1.338M62.906 5.209c-.447-.277-1.34-.251-1.957-.083-.279.077-.57.172-.738.298-.069.051-.108.105-.15.16-.025.038-.037.076-.038.115.043.077.042.09-.003.037-.154.243.622.357.925.173.227-.051.444-.104.705-.13.521-.054 1.021-.089 1.286-.315.092-.078.088-.182-.03-.255M52.906 8.291c-.191-.24-.402-.204-.634-.28-.218-.073-.326.255-.245.491.117.34.438.509.697.497.26-.01.37-.472.182-.708M80.437 1.283c-.385-.22-.844-.327-1.272-.266-.497.071-.7.363-1.033.724-.356.388.07 1.143.54.93l-.065-.083c.095.05.192.08.295.09.177.032.31.074.477.16.373.189.702.503 1.023.78.348.301 1.738.788 1.586-.245-.141-.963-.789-1.652-1.551-2.09M78.955 8.082c-.134-.55-.259-1.126-.366-1.703-.102-.548-.457-.476-.541.05-.073.453-.057.877.01 1.331.083.548.286.874.512 1.17.11.144.276.048.357-.132.097-.215.088-.476.028-.716M87.395 8c-.77.016-1.317.338-2.032.43-.505.065-.477.525.046.56.713.047 1.359-.082 2.053-.14.468-.04 1.35.253 1.516-.164.191-.483-.906-.7-1.583-.685M81.958 14.767c-.103-.44-.306-.8-.377-1.279-.095-.644-.518-.678-.57.063-.07.998.19 1.845.53 2.34.293.426.566-.494.417-1.124M99.918 9.365c-.177-.18-.36-.23-.56-.337-.295-.16-.508.405-.225.646.181.155.805.626.863.04.012-.119-.003-.273-.078-.349M93.308 4.792c-.387-.436-.932-.682-1.466-.78-.809-.145-1.17 1.02-.47 1.477.65.427 1.772 2.34 2.503 1.097.376-.641-.178-1.356-.567-1.794M91.498 10.138c-.32.55-.428 1.334-.494 2.18-.043.546.266.928.442.494.21-.512.38-1.126.522-1.741.139-.605-.204-1.393-.47-.933M103.977 8.863c-.265-1.177-1.477-2.153-2.51-1.784-.548.195-.653 1.156-.104 1.442.294.153.53.397.762.655.326.36.549.611.988.784.564.223.992-.535.864-1.097M100.988 4.781c.03-.437-.169-.702-.568-.724-.906-.33-1.89.849-2.3 1.608-.47.873.538 1.63 1.223 1.22.683-.406 1.786-1.108 1.645-2.104M110.532 7.06c-.238-.218-.568.203-.463.619l.012.045c-.01.096-.001.204 0 .297 0 .14-.016.294-.025.434-.012.181-.043.357-.053.539-.013.245.016.45.06.612.091.33.32.515.53.304.108-.11.286-.37.335-.709.04-.276.058-.554.07-.836.024-.568-.189-1.052-.466-1.306M108.458 14.127c-.434-.548-.995-.921-1.662-1.103-.746-.203-1.116.933-.445 1.28.216.11.4.251.557.443.204.248.42.648.672.84.348.262.868.645 1.249.23.437-.478-.064-1.305-.37-1.69M117.71 13.184c-.282.276-.558.555-.852.815-.143.126-.333.256-.446.42-.108.156-.174.34-.284.489-.392.535.193 1.412.694.973.104-.091.318-.086.446-.134.16-.062.324-.11.486-.169.51-.186.872-.578 1.145-1.11.418-.816-.553-1.907-1.188-1.284M97.93 18.019c-.834-.165-1.209.791-.697 1.348.495.538 1.83 2.49 2.627 1.2.636-1.034-1.044-2.373-1.93-2.548M124.69 17.006c-.372.072-.428.396-.629.626-.202.23.139.496.376.3.22-.181.506-.403.559-.676.032-.168-.129-.285-.307-.25M115.979 19.839c-.079-.499-.153-.976-.264-1.445-.205-.86-.853-.174-.689.73.089.49.148.982.25 1.46.196.907.849.182.703-.745M78.957 24.496c.068-.31.05-.616-.02-.91-.077-.321-.14-.65-.183-1.002-.099-.82-.671-.76-.736.076-.056.71.019 1.361.23 1.918.132.348.265.461.467.377-.18.076.075.038.116.016.071-.038.117-.183.135-.33.01-.08.063-.472-.009-.145M61.924 22.403c-.057-.057-.16-.13-.189-.2-.132-.33-.73-.229-.735.1-.004.27.047.533.379.665.186.073.458.02.543-.14l.027-.053c.06-.114.083-.266-.025-.372M106.798 22.22c-.107-.292-.757-.304-.794.028-.032.293.107.618.488.731.229.068.532-.032.507-.257-.021-.186-.137-.329-.201-.502M70.884 28.197c-.13-.291-.716-.24-.83.025-.131.304-.034.606.41.754.101.033.24.034.334-.012.326-.16.181-.553.086-.767"
193
+ transform="translate(161 68)" />
194
+ <g class="olhos">
195
+ <path fill="#633"
196
+ d="M51.976 32.505c.27 2.748-1.735 5.197-4.476 5.47-2.748.274-5.199-1.732-5.476-4.48-.27-2.748 1.735-5.197 4.483-5.47 2.748-.274 5.192 1.733 5.469 4.48M93.976 28.505c.27 2.748-1.735 5.197-4.483 5.47-2.748.273-5.192-1.733-5.469-4.48-.27-2.748 1.735-5.197 4.483-5.47 2.748-.274 5.192 1.733 5.469 4.48M65.03 45.127c2.1-5.726 9.106-6.606 13.113-2.171.408.462-.277 1.204-.725.77-3.981-3.892-9.17-2.951-11.83 1.745-.187.333-.68-.002-.558-.344 "
197
+ transform="translate(161 68)" />
198
+
199
+ </g>
200
+ </g>
201
+ </g>
202
+ <g fill-rule="nonzero" stroke="#979797" stroke-linecap="round" stroke-width="1.8"
203
+ class="left-sparks">
204
+ <path d="M23.684 5.789L30 1.158" transform="rotate(-90 157 13)" />
205
+ <path d="M0 5.789L6.316 1.158" transform="rotate(-90 157 13) matrix(-1 0 0 1 6.316 0)" />
206
+ <path d="M15.789 4.632L15.789 0" transform="rotate(-90 157 13)" />
207
+ </g>
208
+ <g fill-rule="nonzero" stroke="#979797" stroke-linecap="round" stroke-width="1.8"
209
+ class="right-sparks">
210
+ <path d="M23.684 5.789L30 1.158" transform="matrix(0 -1 -1 0 318 170)" />
211
+ <path d="M0 5.789L6.316 1.158" transform="matrix(0 -1 -1 0 318 170) matrix(-1 0 0 1 6.316 0)" />
212
+ <path d="M15.789 4.632L15.789 0" transform="matrix(0 -1 -1 0 318 170)" />
213
+ </g>
214
+ <path fill="#4B4B62" class="path" fill-rule="nonzero" stroke="#4B4B62" stroke-width="2"
215
+ d="M198.754 186c1.56 0 2.246-.703 2.246-2.3v-41.4c0-1.597-.686-2.3-2.246-2.3h-9.608c-1.56 0-2.247.703-2.247 2.3v19.678h-5.802c-1.185 0-1.934-.83-1.934-2.172V142.3c0-1.597-.686-2.3-2.246-2.3h-9.67c-1.56 0-2.247.703-2.247 2.3v22.425c0 7.283 3.244 10.606 11.355 10.606H186.9v8.369c0 1.597.687 2.3 2.247 2.3h9.608zm32.277 1c15.3 0 18.969-5.248 18.969-13.056V152.12c0-7.808-3.67-13.12-18.969-13.12-15.3 0-19.031 5.312-19.031 13.12v21.824c0 7.808 3.732 13.056 19.031 13.056zm.969-12c-4.25 0-5-1.27-5-2.986v-17.091c0-1.652.75-2.923 5-2.923 4.313 0 5 1.27 5 2.923v17.09c0 1.716-.688 2.987-5 2.987zm62.754 11c1.56 0 2.246-.703 2.246-2.3v-41.4c0-1.597-.686-2.3-2.246-2.3h-9.608c-1.56 0-2.247.703-2.247 2.3v19.678h-5.802c-1.185 0-1.934-.83-1.934-2.172V142.3c0-1.597-.686-2.3-2.246-2.3h-9.67c-1.56 0-2.247.703-2.247 2.3v22.425c0 7.283 3.244 10.606 11.355 10.606H282.9v8.369c0 1.597.687 2.3 2.247 2.3h9.608z" />
216
+ </g>
217
+ </g>
218
+ </svg>
219
+
220
+
221
+ </div>
222
+ <!-- partial -->
223
+
224
+ </body>
225
+
226
+ </html>