lissio 0.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +53 -0
- data/README.md +184 -0
- data/Rakefile +5 -0
- data/lib/lissio.rb +5 -0
- data/lib/lissio/server.rb +148 -0
- data/lissio.gemspec +27 -0
- data/opal/lissio.rb +26 -0
- data/opal/lissio/adapter.rb +45 -0
- data/opal/lissio/adapter/rest.rb +268 -0
- data/opal/lissio/adapter/storage.rb +167 -0
- data/opal/lissio/application.rb +66 -0
- data/opal/lissio/collection.rb +70 -0
- data/opal/lissio/component.rb +177 -0
- data/opal/lissio/component/alert.rb +110 -0
- data/opal/lissio/component/container.rb +56 -0
- data/opal/lissio/component/markdown.rb +332 -0
- data/opal/lissio/component/tooltip.rb +373 -0
- data/opal/lissio/model.rb +204 -0
- data/opal/lissio/router.rb +164 -0
- data/opal/lissio/version.rb +3 -0
- data/spec/route_spec.rb +65 -0
- data/spec/router_spec.rb +109 -0
- data/spec/spec_helper.rb +33 -0
- metadata +154 -0
@@ -0,0 +1,332 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
module Lissio; class Component
|
4
|
+
|
5
|
+
class Markdown < Component
|
6
|
+
def self.render(string, options = {}, &block)
|
7
|
+
`marked(#{@string.to_n}, #{@options.to_n}, #{@block.to_n})`
|
8
|
+
end
|
9
|
+
|
10
|
+
def initialize(string, options = {}, &block)
|
11
|
+
@string = string
|
12
|
+
@options = options
|
13
|
+
@block = block
|
14
|
+
end
|
15
|
+
|
16
|
+
def render
|
17
|
+
element.inner_html = Markdown.render(@string, @options, @block)
|
18
|
+
|
19
|
+
super
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end; end
|
24
|
+
|
25
|
+
# load https://github.com/chjj/marked
|
26
|
+
`eval(#{Base64.decode64(DATA.read)})`
|
27
|
+
|
28
|
+
__END__
|
29
|
+
|
30
|
+
KGZ1bmN0aW9uKCl7dmFyIGJsb2NrPXtuZXdsaW5lOi9eXG4rLyxjb2RlOi9eKCB7NH1bXlxuXStc
|
31
|
+
biopKy8sZmVuY2VzOm5vb3AsaHI6L14oICpbLSpfXSl7Myx9ICooPzpcbit8JCkvLGhlYWRpbmc6
|
32
|
+
L14gKigjezEsNn0pICooW15cbl0rPykgKiMqICooPzpcbit8JCkvLG5wdGFibGU6bm9vcCxsaGVh
|
33
|
+
ZGluZzovXihbXlxuXSspXG4gKig9fC0pezIsfSAqKD86XG4rfCQpLyxibG9ja3F1b3RlOi9eKCAq
|
34
|
+
PlteXG5dKyhcblteXG5dKykqXG4qKSsvLGxpc3Q6L14oICopKGJ1bGwpIFtcc1xTXSs/KD86aHJ8
|
35
|
+
XG57Mix9KD8hICkoPyFcMWJ1bGwgKVxuKnxccyokKS8saHRtbDovXiAqKD86Y29tbWVudHxjbG9z
|
36
|
+
ZWR8Y2xvc2luZykgKig/OlxuezIsfXxccyokKS8sZGVmOi9eICpcWyhbXlxdXSspXF06ICo8Pyhb
|
37
|
+
XlxzPl0rKT4/KD86ICtbIihdKFteXG5dKylbIildKT8gKig/OlxuK3wkKS8sdGFibGU6bm9vcCxw
|
38
|
+
YXJhZ3JhcGg6L14oKD86W15cbl0rXG4/KD8haHJ8aGVhZGluZ3xsaGVhZGluZ3xibG9ja3F1b3Rl
|
39
|
+
fHRhZ3xkZWYpKSspXG4qLyx0ZXh0Oi9eW15cbl0rL307YmxvY2suYnVsbGV0PS8oPzpbKistXXxc
|
40
|
+
ZCtcLikvO2Jsb2NrLml0ZW09L14oICopKGJ1bGwpIFteXG5dKig/OlxuKD8hXDFidWxsIClbXlxu
|
41
|
+
XSopKi87YmxvY2suaXRlbT1yZXBsYWNlKGJsb2NrLml0ZW0sImdtIikoL2J1bGwvZyxibG9jay5i
|
42
|
+
dWxsZXQpKCk7YmxvY2subGlzdD1yZXBsYWNlKGJsb2NrLmxpc3QpKC9idWxsL2csYmxvY2suYnVs
|
43
|
+
bGV0KSgiaHIiLC9cbisoPz0oPzogKlstKl9dKXszLH0gKig/OlxuK3wkKSkvKSgpO2Jsb2NrLl90
|
44
|
+
YWc9Iig/ISg/OiIrImF8ZW18c3Ryb25nfHNtYWxsfHN8Y2l0ZXxxfGRmbnxhYmJyfGRhdGF8dGlt
|
45
|
+
ZXxjb2RlIisifHZhcnxzYW1wfGtiZHxzdWJ8c3VwfGl8Ynx1fG1hcmt8cnVieXxydHxycHxiZGl8
|
46
|
+
YmRvIisifHNwYW58YnJ8d2JyfGluc3xkZWx8aW1nKVxcYilcXHcrKD8hOi98QClcXGIiO2Jsb2Nr
|
47
|
+
Lmh0bWw9cmVwbGFjZShibG9jay5odG1sKSgiY29tbWVudCIsLzwhLS1bXHNcU10qPy0tPi8pKCJj
|
48
|
+
bG9zZWQiLC88KHRhZylbXHNcU10rPzxcL1wxPi8pKCJjbG9zaW5nIiwvPHRhZyg/OiJbXiJdKiJ8
|
49
|
+
J1teJ10qJ3xbXiciPl0pKj8+LykoL3RhZy9nLGJsb2NrLl90YWcpKCk7YmxvY2sucGFyYWdyYXBo
|
50
|
+
PXJlcGxhY2UoYmxvY2sucGFyYWdyYXBoKSgiaHIiLGJsb2NrLmhyKSgiaGVhZGluZyIsYmxvY2su
|
51
|
+
aGVhZGluZykoImxoZWFkaW5nIixibG9jay5saGVhZGluZykoImJsb2NrcXVvdGUiLGJsb2NrLmJs
|
52
|
+
b2NrcXVvdGUpKCJ0YWciLCI8IitibG9jay5fdGFnKSgiZGVmIixibG9jay5kZWYpKCk7YmxvY2su
|
53
|
+
bm9ybWFsPW1lcmdlKHt9LGJsb2NrKTtibG9jay5nZm09bWVyZ2Uoe30sYmxvY2subm9ybWFsLHtm
|
54
|
+
ZW5jZXM6L14gKihgezMsfXx+ezMsfSkgKihcUyspPyAqXG4oW1xzXFNdKz8pXHMqXDEgKig/Olxu
|
55
|
+
K3wkKS8scGFyYWdyYXBoOi9eL30pO2Jsb2NrLmdmbS5wYXJhZ3JhcGg9cmVwbGFjZShibG9jay5w
|
56
|
+
YXJhZ3JhcGgpKCIoPyEiLCIoPyEiK2Jsb2NrLmdmbS5mZW5jZXMuc291cmNlLnJlcGxhY2UoIlxc
|
57
|
+
MSIsIlxcMiIpKyJ8IitibG9jay5saXN0LnNvdXJjZS5yZXBsYWNlKCJcXDEiLCJcXDMiKSsifCIp
|
58
|
+
KCk7YmxvY2sudGFibGVzPW1lcmdlKHt9LGJsb2NrLmdmbSx7bnB0YWJsZTovXiAqKFxTLipcfC4q
|
59
|
+
KVxuICooWy06XSsgKlx8Wy18IDpdKilcbigoPzouKlx8LiooPzpcbnwkKSkqKVxuKi8sdGFibGU6
|
60
|
+
L14gKlx8KC4rKVxuICpcfCggKlstOl0rWy18IDpdKilcbigoPzogKlx8LiooPzpcbnwkKSkqKVxu
|
61
|
+
Ki99KTtmdW5jdGlvbiBMZXhlcihvcHRpb25zKXt0aGlzLnRva2Vucz1bXTt0aGlzLnRva2Vucy5s
|
62
|
+
aW5rcz17fTt0aGlzLm9wdGlvbnM9b3B0aW9uc3x8bWFya2VkLmRlZmF1bHRzO3RoaXMucnVsZXM9
|
63
|
+
YmxvY2subm9ybWFsO2lmKHRoaXMub3B0aW9ucy5nZm0pe2lmKHRoaXMub3B0aW9ucy50YWJsZXMp
|
64
|
+
e3RoaXMucnVsZXM9YmxvY2sudGFibGVzfWVsc2V7dGhpcy5ydWxlcz1ibG9jay5nZm19fX1MZXhl
|
65
|
+
ci5ydWxlcz1ibG9jaztMZXhlci5sZXg9ZnVuY3Rpb24oc3JjLG9wdGlvbnMpe3ZhciBsZXhlcj1u
|
66
|
+
ZXcgTGV4ZXIob3B0aW9ucyk7cmV0dXJuIGxleGVyLmxleChzcmMpfTtMZXhlci5wcm90b3R5cGUu
|
67
|
+
bGV4PWZ1bmN0aW9uKHNyYyl7c3JjPXNyYy5yZXBsYWNlKC9cclxufFxyL2csIlxuIikucmVwbGFj
|
68
|
+
ZSgvXHQvZywiICAgICIpLnJlcGxhY2UoL1x1MDBhMC9nLCIgIikucmVwbGFjZSgvXHUyNDI0L2cs
|
69
|
+
IlxuIik7cmV0dXJuIHRoaXMudG9rZW4oc3JjLHRydWUpfTtMZXhlci5wcm90b3R5cGUudG9rZW49
|
70
|
+
ZnVuY3Rpb24oc3JjLHRvcCl7dmFyIHNyYz1zcmMucmVwbGFjZSgvXiArJC9nbSwiIiksbmV4dCxs
|
71
|
+
b29zZSxjYXAsYnVsbCxiLGl0ZW0sc3BhY2UsaSxsO3doaWxlKHNyYyl7aWYoY2FwPXRoaXMucnVs
|
72
|
+
ZXMubmV3bGluZS5leGVjKHNyYykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO2lm
|
73
|
+
KGNhcFswXS5sZW5ndGg+MSl7dGhpcy50b2tlbnMucHVzaCh7dHlwZToic3BhY2UifSl9fWlmKGNh
|
74
|
+
cD10aGlzLnJ1bGVzLmNvZGUuZXhlYyhzcmMpKXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVu
|
75
|
+
Z3RoKTtjYXA9Y2FwWzBdLnJlcGxhY2UoL14gezR9L2dtLCIiKTt0aGlzLnRva2Vucy5wdXNoKHt0
|
76
|
+
eXBlOiJjb2RlIix0ZXh0OiF0aGlzLm9wdGlvbnMucGVkYW50aWM/Y2FwLnJlcGxhY2UoL1xuKyQv
|
77
|
+
LCIiKTpjYXB9KTtjb250aW51ZX1pZihjYXA9dGhpcy5ydWxlcy5mZW5jZXMuZXhlYyhzcmMpKXtz
|
78
|
+
cmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTt0aGlzLnRva2Vucy5wdXNoKHt0eXBlOiJj
|
79
|
+
b2RlIixsYW5nOmNhcFsyXSx0ZXh0OmNhcFszXX0pO2NvbnRpbnVlfWlmKGNhcD10aGlzLnJ1bGVz
|
80
|
+
LmhlYWRpbmcuZXhlYyhzcmMpKXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTt0aGlz
|
81
|
+
LnRva2Vucy5wdXNoKHt0eXBlOiJoZWFkaW5nIixkZXB0aDpjYXBbMV0ubGVuZ3RoLHRleHQ6Y2Fw
|
82
|
+
WzJdfSk7Y29udGludWV9aWYodG9wJiYoY2FwPXRoaXMucnVsZXMubnB0YWJsZS5leGVjKHNyYykp
|
83
|
+
KXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtpdGVtPXt0eXBlOiJ0YWJsZSIsaGVh
|
84
|
+
ZGVyOmNhcFsxXS5yZXBsYWNlKC9eICp8ICpcfCAqJC9nLCIiKS5zcGxpdCgvICpcfCAqLyksYWxp
|
85
|
+
Z246Y2FwWzJdLnJlcGxhY2UoL14gKnxcfCAqJC9nLCIiKS5zcGxpdCgvICpcfCAqLyksY2VsbHM6
|
86
|
+
Y2FwWzNdLnJlcGxhY2UoL1xuJC8sIiIpLnNwbGl0KCJcbiIpfTtmb3IoaT0wO2k8aXRlbS5hbGln
|
87
|
+
bi5sZW5ndGg7aSsrKXtpZigvXiAqLSs6ICokLy50ZXN0KGl0ZW0uYWxpZ25baV0pKXtpdGVtLmFs
|
88
|
+
aWduW2ldPSJyaWdodCJ9ZWxzZSBpZigvXiAqOi0rOiAqJC8udGVzdChpdGVtLmFsaWduW2ldKSl7
|
89
|
+
aXRlbS5hbGlnbltpXT0iY2VudGVyIn1lbHNlIGlmKC9eICo6LSsgKiQvLnRlc3QoaXRlbS5hbGln
|
90
|
+
bltpXSkpe2l0ZW0uYWxpZ25baV09ImxlZnQifWVsc2V7aXRlbS5hbGlnbltpXT1udWxsfX1mb3Io
|
91
|
+
aT0wO2k8aXRlbS5jZWxscy5sZW5ndGg7aSsrKXtpdGVtLmNlbGxzW2ldPWl0ZW0uY2VsbHNbaV0u
|
92
|
+
c3BsaXQoLyAqXHwgKi8pfXRoaXMudG9rZW5zLnB1c2goaXRlbSk7Y29udGludWV9aWYoY2FwPXRo
|
93
|
+
aXMucnVsZXMubGhlYWRpbmcuZXhlYyhzcmMpKXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVu
|
94
|
+
Z3RoKTt0aGlzLnRva2Vucy5wdXNoKHt0eXBlOiJoZWFkaW5nIixkZXB0aDpjYXBbMl09PT0iPSI/
|
95
|
+
MToyLHRleHQ6Y2FwWzFdfSk7Y29udGludWV9aWYoY2FwPXRoaXMucnVsZXMuaHIuZXhlYyhzcmMp
|
96
|
+
KXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTt0aGlzLnRva2Vucy5wdXNoKHt0eXBl
|
97
|
+
OiJociJ9KTtjb250aW51ZX1pZihjYXA9dGhpcy5ydWxlcy5ibG9ja3F1b3RlLmV4ZWMoc3JjKSl7
|
98
|
+
c3JjPXNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7dGhpcy50b2tlbnMucHVzaCh7dHlwZToi
|
99
|
+
YmxvY2txdW90ZV9zdGFydCJ9KTtjYXA9Y2FwWzBdLnJlcGxhY2UoL14gKj4gPy9nbSwiIik7dGhp
|
100
|
+
cy50b2tlbihjYXAsdG9wKTt0aGlzLnRva2Vucy5wdXNoKHt0eXBlOiJibG9ja3F1b3RlX2VuZCJ9
|
101
|
+
KTtjb250aW51ZX1pZihjYXA9dGhpcy5ydWxlcy5saXN0LmV4ZWMoc3JjKSl7c3JjPXNyYy5zdWJz
|
102
|
+
dHJpbmcoY2FwWzBdLmxlbmd0aCk7YnVsbD1jYXBbMl07dGhpcy50b2tlbnMucHVzaCh7dHlwZToi
|
103
|
+
bGlzdF9zdGFydCIsb3JkZXJlZDpidWxsLmxlbmd0aD4xfSk7Y2FwPWNhcFswXS5tYXRjaCh0aGlz
|
104
|
+
LnJ1bGVzLml0ZW0pO25leHQ9ZmFsc2U7bD1jYXAubGVuZ3RoO2k9MDtmb3IoO2k8bDtpKyspe2l0
|
105
|
+
ZW09Y2FwW2ldO3NwYWNlPWl0ZW0ubGVuZ3RoO2l0ZW09aXRlbS5yZXBsYWNlKC9eICooWyorLV18
|
106
|
+
XGQrXC4pICsvLCIiKTtpZih+aXRlbS5pbmRleE9mKCJcbiAiKSl7c3BhY2UtPWl0ZW0ubGVuZ3Ro
|
107
|
+
O2l0ZW09IXRoaXMub3B0aW9ucy5wZWRhbnRpYz9pdGVtLnJlcGxhY2UobmV3IFJlZ0V4cCgiXiB7
|
108
|
+
MSwiK3NwYWNlKyJ9IiwiZ20iKSwiIik6aXRlbS5yZXBsYWNlKC9eIHsxLDR9L2dtLCIiKX1pZih0
|
109
|
+
aGlzLm9wdGlvbnMuc21hcnRMaXN0cyYmaSE9PWwtMSl7Yj1ibG9jay5idWxsZXQuZXhlYyhjYXBb
|
110
|
+
aSsxXSlbMF07aWYoYnVsbCE9PWImJiEoYnVsbC5sZW5ndGg+MSYmYi5sZW5ndGg+MSkpe3NyYz1j
|
111
|
+
YXAuc2xpY2UoaSsxKS5qb2luKCJcbiIpK3NyYztpPWwtMX19bG9vc2U9bmV4dHx8L1xuXG4oPyFc
|
112
|
+
cyokKS8udGVzdChpdGVtKTtpZihpIT09bC0xKXtuZXh0PWl0ZW0uY2hhckF0KGl0ZW0ubGVuZ3Ro
|
113
|
+
LTEpPT09IlxuIjtpZighbG9vc2UpbG9vc2U9bmV4dH10aGlzLnRva2Vucy5wdXNoKHt0eXBlOmxv
|
114
|
+
b3NlPyJsb29zZV9pdGVtX3N0YXJ0IjoibGlzdF9pdGVtX3N0YXJ0In0pO3RoaXMudG9rZW4oaXRl
|
115
|
+
bSxmYWxzZSk7dGhpcy50b2tlbnMucHVzaCh7dHlwZToibGlzdF9pdGVtX2VuZCJ9KX10aGlzLnRv
|
116
|
+
a2Vucy5wdXNoKHt0eXBlOiJsaXN0X2VuZCJ9KTtjb250aW51ZX1pZihjYXA9dGhpcy5ydWxlcy5o
|
117
|
+
dG1sLmV4ZWMoc3JjKSl7c3JjPXNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7dGhpcy50b2tl
|
118
|
+
bnMucHVzaCh7dHlwZTp0aGlzLm9wdGlvbnMuc2FuaXRpemU/InBhcmFncmFwaCI6Imh0bWwiLHBy
|
119
|
+
ZTpjYXBbMV09PT0icHJlInx8Y2FwWzFdPT09InNjcmlwdCJ8fGNhcFsxXT09PSJzdHlsZSIsdGV4
|
120
|
+
dDpjYXBbMF19KTtjb250aW51ZX1pZih0b3AmJihjYXA9dGhpcy5ydWxlcy5kZWYuZXhlYyhzcmMp
|
121
|
+
KSl7c3JjPXNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7dGhpcy50b2tlbnMubGlua3NbY2Fw
|
122
|
+
WzFdLnRvTG93ZXJDYXNlKCldPXtocmVmOmNhcFsyXSx0aXRsZTpjYXBbM119O2NvbnRpbnVlfWlm
|
123
|
+
KHRvcCYmKGNhcD10aGlzLnJ1bGVzLnRhYmxlLmV4ZWMoc3JjKSkpe3NyYz1zcmMuc3Vic3RyaW5n
|
124
|
+
KGNhcFswXS5sZW5ndGgpO2l0ZW09e3R5cGU6InRhYmxlIixoZWFkZXI6Y2FwWzFdLnJlcGxhY2Uo
|
125
|
+
L14gKnwgKlx8ICokL2csIiIpLnNwbGl0KC8gKlx8ICovKSxhbGlnbjpjYXBbMl0ucmVwbGFjZSgv
|
126
|
+
XiAqfFx8ICokL2csIiIpLnNwbGl0KC8gKlx8ICovKSxjZWxsczpjYXBbM10ucmVwbGFjZSgvKD86
|
127
|
+
ICpcfCAqKT9cbiQvLCIiKS5zcGxpdCgiXG4iKX07Zm9yKGk9MDtpPGl0ZW0uYWxpZ24ubGVuZ3Ro
|
128
|
+
O2krKyl7aWYoL14gKi0rOiAqJC8udGVzdChpdGVtLmFsaWduW2ldKSl7aXRlbS5hbGlnbltpXT0i
|
129
|
+
cmlnaHQifWVsc2UgaWYoL14gKjotKzogKiQvLnRlc3QoaXRlbS5hbGlnbltpXSkpe2l0ZW0uYWxp
|
130
|
+
Z25baV09ImNlbnRlciJ9ZWxzZSBpZigvXiAqOi0rICokLy50ZXN0KGl0ZW0uYWxpZ25baV0pKXtp
|
131
|
+
dGVtLmFsaWduW2ldPSJsZWZ0In1lbHNle2l0ZW0uYWxpZ25baV09bnVsbH19Zm9yKGk9MDtpPGl0
|
132
|
+
ZW0uY2VsbHMubGVuZ3RoO2krKyl7aXRlbS5jZWxsc1tpXT1pdGVtLmNlbGxzW2ldLnJlcGxhY2Uo
|
133
|
+
L14gKlx8ICp8ICpcfCAqJC9nLCIiKS5zcGxpdCgvICpcfCAqLyl9dGhpcy50b2tlbnMucHVzaChp
|
134
|
+
dGVtKTtjb250aW51ZX1pZih0b3AmJihjYXA9dGhpcy5ydWxlcy5wYXJhZ3JhcGguZXhlYyhzcmMp
|
135
|
+
KSl7c3JjPXNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7dGhpcy50b2tlbnMucHVzaCh7dHlw
|
136
|
+
ZToicGFyYWdyYXBoIix0ZXh0OmNhcFsxXS5jaGFyQXQoY2FwWzFdLmxlbmd0aC0xKT09PSJcbiI/
|
137
|
+
Y2FwWzFdLnNsaWNlKDAsLTEpOmNhcFsxXX0pO2NvbnRpbnVlfWlmKGNhcD10aGlzLnJ1bGVzLnRl
|
138
|
+
eHQuZXhlYyhzcmMpKXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTt0aGlzLnRva2Vu
|
139
|
+
cy5wdXNoKHt0eXBlOiJ0ZXh0Iix0ZXh0OmNhcFswXX0pO2NvbnRpbnVlfWlmKHNyYyl7dGhyb3cg
|
140
|
+
bmV3IEVycm9yKCJJbmZpbml0ZSBsb29wIG9uIGJ5dGU6ICIrc3JjLmNoYXJDb2RlQXQoMCkpfX1y
|
141
|
+
ZXR1cm4gdGhpcy50b2tlbnN9O3ZhciBpbmxpbmU9e2VzY2FwZTovXlxcKFtcXGAqe31cW1xdKCkj
|
142
|
+
K1wtLiFfPl0pLyxhdXRvbGluazovXjwoW14gPl0rKEB8OlwvKVteID5dKyk+Lyx1cmw6bm9vcCx0
|
143
|
+
YWc6L148IS0tW1xzXFNdKj8tLT58XjxcLz9cdysoPzoiW14iXSoifCdbXiddKid8W14nIj5dKSo/
|
144
|
+
Pi8sbGluazovXiE/XFsoaW5zaWRlKVxdXChocmVmXCkvLHJlZmxpbms6L14hP1xbKGluc2lkZSlc
|
145
|
+
XVxzKlxbKFteXF1dKilcXS8sbm9saW5rOi9eIT9cWygoPzpcW1teXF1dKlxdfFteXFtcXV0pKilc
|
146
|
+
XS8sc3Ryb25nOi9eX18oW1xzXFNdKz8pX18oPyFfKXxeXCpcKihbXHNcU10rPylcKlwqKD8hXCop
|
147
|
+
LyxlbTovXlxiXygoPzpfX3xbXHNcU10pKz8pX1xifF5cKigoPzpcKlwqfFtcc1xTXSkrPylcKig/
|
148
|
+
IVwqKS8sY29kZTovXihgKylccyooW1xzXFNdKj9bXmBdKVxzKlwxKD8hYCkvLGJyOi9eIHsyLH1c
|
149
|
+
big/IVxzKiQpLyxkZWw6bm9vcCx0ZXh0Oi9eW1xzXFNdKz8oPz1bXFw8IVxbXypgXXwgezIsfVxu
|
150
|
+
fCQpL307aW5saW5lLl9pbnNpZGU9Lyg/OlxbW15cXV0qXF18W15cW1xdXXxcXSg/PVteXFtdKlxd
|
151
|
+
KSkqLztpbmxpbmUuX2hyZWY9L1xzKjw/KFtcc1xTXSo/KT4/KD86XHMrWyciXShbXHNcU10qPylb
|
152
|
+
JyJdKT9ccyovO2lubGluZS5saW5rPXJlcGxhY2UoaW5saW5lLmxpbmspKCJpbnNpZGUiLGlubGlu
|
153
|
+
ZS5faW5zaWRlKSgiaHJlZiIsaW5saW5lLl9ocmVmKSgpO2lubGluZS5yZWZsaW5rPXJlcGxhY2Uo
|
154
|
+
aW5saW5lLnJlZmxpbmspKCJpbnNpZGUiLGlubGluZS5faW5zaWRlKSgpO2lubGluZS5ub3JtYWw9
|
155
|
+
bWVyZ2Uoe30saW5saW5lKTtpbmxpbmUucGVkYW50aWM9bWVyZ2Uoe30saW5saW5lLm5vcm1hbCx7
|
156
|
+
c3Ryb25nOi9eX18oPz1cUykoW1xzXFNdKj9cUylfXyg/IV8pfF5cKlwqKD89XFMpKFtcc1xTXSo/
|
157
|
+
XFMpXCpcKig/IVwqKS8sZW06L15fKD89XFMpKFtcc1xTXSo/XFMpXyg/IV8pfF5cKig/PVxTKShb
|
158
|
+
XHNcU10qP1xTKVwqKD8hXCopL30pO2lubGluZS5nZm09bWVyZ2Uoe30saW5saW5lLm5vcm1hbCx7
|
159
|
+
ZXNjYXBlOnJlcGxhY2UoaW5saW5lLmVzY2FwZSkoIl0pIiwifnxdKSIpKCksdXJsOi9eKGh0dHBz
|
160
|
+
PzpcL1wvW15cczxdK1tePC4sOjsiJylcXVxzXSkvLGRlbDovXn5+KD89XFMpKFtcc1xTXSo/XFMp
|
161
|
+
fn4vLHRleHQ6cmVwbGFjZShpbmxpbmUudGV4dCkoIl18Iiwifl18IikoInwiLCJ8aHR0cHM/Oi8v
|
162
|
+
fCIpKCl9KTtpbmxpbmUuYnJlYWtzPW1lcmdlKHt9LGlubGluZS5nZm0se2JyOnJlcGxhY2UoaW5s
|
163
|
+
aW5lLmJyKSgiezIsfSIsIioiKSgpLHRleHQ6cmVwbGFjZShpbmxpbmUuZ2ZtLnRleHQpKCJ7Mix9
|
164
|
+
IiwiKiIpKCl9KTtmdW5jdGlvbiBJbmxpbmVMZXhlcihsaW5rcyxvcHRpb25zKXt0aGlzLm9wdGlv
|
165
|
+
bnM9b3B0aW9uc3x8bWFya2VkLmRlZmF1bHRzO3RoaXMubGlua3M9bGlua3M7dGhpcy5ydWxlcz1p
|
166
|
+
bmxpbmUubm9ybWFsO3RoaXMucmVuZGVyZXI9dGhpcy5vcHRpb25zLnJlbmRlcmVyfHxuZXcgUmVu
|
167
|
+
ZGVyZXI7aWYoIXRoaXMubGlua3Mpe3Rocm93IG5ldyBFcnJvcigiVG9rZW5zIGFycmF5IHJlcXVp
|
168
|
+
cmVzIGEgYGxpbmtzYCBwcm9wZXJ0eS4iKX1pZih0aGlzLm9wdGlvbnMuZ2ZtKXtpZih0aGlzLm9w
|
169
|
+
dGlvbnMuYnJlYWtzKXt0aGlzLnJ1bGVzPWlubGluZS5icmVha3N9ZWxzZXt0aGlzLnJ1bGVzPWlu
|
170
|
+
bGluZS5nZm19fWVsc2UgaWYodGhpcy5vcHRpb25zLnBlZGFudGljKXt0aGlzLnJ1bGVzPWlubGlu
|
171
|
+
ZS5wZWRhbnRpY319SW5saW5lTGV4ZXIucnVsZXM9aW5saW5lO0lubGluZUxleGVyLm91dHB1dD1m
|
172
|
+
dW5jdGlvbihzcmMsbGlua3Msb3B0aW9ucyl7dmFyIGlubGluZT1uZXcgSW5saW5lTGV4ZXIobGlu
|
173
|
+
a3Msb3B0aW9ucyk7cmV0dXJuIGlubGluZS5vdXRwdXQoc3JjKX07SW5saW5lTGV4ZXIucHJvdG90
|
174
|
+
eXBlLm91dHB1dD1mdW5jdGlvbihzcmMpe3ZhciBvdXQ9IiIsbGluayx0ZXh0LGhyZWYsY2FwO3do
|
175
|
+
aWxlKHNyYyl7aWYoY2FwPXRoaXMucnVsZXMuZXNjYXBlLmV4ZWMoc3JjKSl7c3JjPXNyYy5zdWJz
|
176
|
+
dHJpbmcoY2FwWzBdLmxlbmd0aCk7b3V0Kz1jYXBbMV07Y29udGludWV9aWYoY2FwPXRoaXMucnVs
|
177
|
+
ZXMuYXV0b2xpbmsuZXhlYyhzcmMpKXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtp
|
178
|
+
ZihjYXBbMl09PT0iQCIpe3RleHQ9Y2FwWzFdLmNoYXJBdCg2KT09PSI6Ij90aGlzLm1hbmdsZShj
|
179
|
+
YXBbMV0uc3Vic3RyaW5nKDcpKTp0aGlzLm1hbmdsZShjYXBbMV0pO2hyZWY9dGhpcy5tYW5nbGUo
|
180
|
+
Im1haWx0bzoiKSt0ZXh0fWVsc2V7dGV4dD1lc2NhcGUoY2FwWzFdKTtocmVmPXRleHR9b3V0Kz10
|
181
|
+
aGlzLnJlbmRlcmVyLmxpbmsoaHJlZixudWxsLHRleHQpO2NvbnRpbnVlfWlmKGNhcD10aGlzLnJ1
|
182
|
+
bGVzLnVybC5leGVjKHNyYykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO3RleHQ9
|
183
|
+
ZXNjYXBlKGNhcFsxXSk7aHJlZj10ZXh0O291dCs9dGhpcy5yZW5kZXJlci5saW5rKGhyZWYsbnVs
|
184
|
+
bCx0ZXh0KTtjb250aW51ZX1pZihjYXA9dGhpcy5ydWxlcy50YWcuZXhlYyhzcmMpKXtzcmM9c3Jj
|
185
|
+
LnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtvdXQrPXRoaXMub3B0aW9ucy5zYW5pdGl6ZT9lc2Nh
|
186
|
+
cGUoY2FwWzBdKTpjYXBbMF07Y29udGludWV9aWYoY2FwPXRoaXMucnVsZXMubGluay5leGVjKHNy
|
187
|
+
Yykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO291dCs9dGhpcy5vdXRwdXRMaW5r
|
188
|
+
KGNhcCx7aHJlZjpjYXBbMl0sdGl0bGU6Y2FwWzNdfSk7Y29udGludWV9aWYoKGNhcD10aGlzLnJ1
|
189
|
+
bGVzLnJlZmxpbmsuZXhlYyhzcmMpKXx8KGNhcD10aGlzLnJ1bGVzLm5vbGluay5leGVjKHNyYykp
|
190
|
+
KXtzcmM9c3JjLnN1YnN0cmluZyhjYXBbMF0ubGVuZ3RoKTtsaW5rPShjYXBbMl18fGNhcFsxXSku
|
191
|
+
cmVwbGFjZSgvXHMrL2csIiAiKTtsaW5rPXRoaXMubGlua3NbbGluay50b0xvd2VyQ2FzZSgpXTtp
|
192
|
+
ZighbGlua3x8IWxpbmsuaHJlZil7b3V0Kz1jYXBbMF0uY2hhckF0KDApO3NyYz1jYXBbMF0uc3Vi
|
193
|
+
c3RyaW5nKDEpK3NyYztjb250aW51ZX1vdXQrPXRoaXMub3V0cHV0TGluayhjYXAsbGluayk7Y29u
|
194
|
+
dGludWV9aWYoY2FwPXRoaXMucnVsZXMuc3Ryb25nLmV4ZWMoc3JjKSl7c3JjPXNyYy5zdWJzdHJp
|
195
|
+
bmcoY2FwWzBdLmxlbmd0aCk7b3V0Kz10aGlzLnJlbmRlcmVyLnN0cm9uZyh0aGlzLm91dHB1dChj
|
196
|
+
YXBbMl18fGNhcFsxXSkpO2NvbnRpbnVlfWlmKGNhcD10aGlzLnJ1bGVzLmVtLmV4ZWMoc3JjKSl7
|
197
|
+
c3JjPXNyYy5zdWJzdHJpbmcoY2FwWzBdLmxlbmd0aCk7b3V0Kz10aGlzLnJlbmRlcmVyLmVtKHRo
|
198
|
+
aXMub3V0cHV0KGNhcFsyXXx8Y2FwWzFdKSk7Y29udGludWV9aWYoY2FwPXRoaXMucnVsZXMuY29k
|
199
|
+
ZS5leGVjKHNyYykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO291dCs9dGhpcy5y
|
200
|
+
ZW5kZXJlci5jb2Rlc3Bhbihlc2NhcGUoY2FwWzJdLHRydWUpKTtjb250aW51ZX1pZihjYXA9dGhp
|
201
|
+
cy5ydWxlcy5ici5leGVjKHNyYykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO291
|
202
|
+
dCs9dGhpcy5yZW5kZXJlci5icigpO2NvbnRpbnVlfWlmKGNhcD10aGlzLnJ1bGVzLmRlbC5leGVj
|
203
|
+
KHNyYykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO291dCs9dGhpcy5yZW5kZXJl
|
204
|
+
ci5kZWwodGhpcy5vdXRwdXQoY2FwWzFdKSk7Y29udGludWV9aWYoY2FwPXRoaXMucnVsZXMudGV4
|
205
|
+
dC5leGVjKHNyYykpe3NyYz1zcmMuc3Vic3RyaW5nKGNhcFswXS5sZW5ndGgpO291dCs9ZXNjYXBl
|
206
|
+
KHRoaXMuc21hcnR5cGFudHMoY2FwWzBdKSk7Y29udGludWV9aWYoc3JjKXt0aHJvdyBuZXcgRXJy
|
207
|
+
b3IoIkluZmluaXRlIGxvb3Agb24gYnl0ZTogIitzcmMuY2hhckNvZGVBdCgwKSl9fXJldHVybiBv
|
208
|
+
dXR9O0lubGluZUxleGVyLnByb3RvdHlwZS5vdXRwdXRMaW5rPWZ1bmN0aW9uKGNhcCxsaW5rKXt2
|
209
|
+
YXIgaHJlZj1lc2NhcGUobGluay5ocmVmKSx0aXRsZT1saW5rLnRpdGxlP2VzY2FwZShsaW5rLnRp
|
210
|
+
dGxlKTpudWxsO2lmKGNhcFswXS5jaGFyQXQoMCkhPT0iISIpe3JldHVybiB0aGlzLnJlbmRlcmVy
|
211
|
+
LmxpbmsoaHJlZix0aXRsZSx0aGlzLm91dHB1dChjYXBbMV0pKX1lbHNle3JldHVybiB0aGlzLnJl
|
212
|
+
bmRlcmVyLmltYWdlKGhyZWYsdGl0bGUsZXNjYXBlKGNhcFsxXSkpfX07SW5saW5lTGV4ZXIucHJv
|
213
|
+
dG90eXBlLnNtYXJ0eXBhbnRzPWZ1bmN0aW9uKHRleHQpe2lmKCF0aGlzLm9wdGlvbnMuc21hcnR5
|
214
|
+
cGFudHMpcmV0dXJuIHRleHQ7cmV0dXJuIHRleHQucmVwbGFjZSgvLS0vZywi4oCUIikucmVwbGFj
|
215
|
+
ZSgvKF58Wy1cdTIwMTQvKFxbeyJcc10pJy9nLCIkMeKAmCIpLnJlcGxhY2UoLycvZywi4oCZIiku
|
216
|
+
cmVwbGFjZSgvKF58Wy1cdTIwMTQvKFxbe1x1MjAxOFxzXSkiL2csIiQx4oCcIikucmVwbGFjZSgv
|
217
|
+
Ii9nLCLigJ0iKS5yZXBsYWNlKC9cLnszfS9nLCLigKYiKX07SW5saW5lTGV4ZXIucHJvdG90eXBl
|
218
|
+
Lm1hbmdsZT1mdW5jdGlvbih0ZXh0KXt2YXIgb3V0PSIiLGw9dGV4dC5sZW5ndGgsaT0wLGNoO2Zv
|
219
|
+
cig7aTxsO2krKyl7Y2g9dGV4dC5jaGFyQ29kZUF0KGkpO2lmKE1hdGgucmFuZG9tKCk+LjUpe2No
|
220
|
+
PSJ4IitjaC50b1N0cmluZygxNil9b3V0Kz0iJiMiK2NoKyI7In1yZXR1cm4gb3V0fTtmdW5jdGlv
|
221
|
+
biBSZW5kZXJlcigpe31SZW5kZXJlci5wcm90b3R5cGUuY29kZT1mdW5jdGlvbihjb2RlLGxhbmcp
|
222
|
+
e2lmKCFsYW5nKXtyZXR1cm4iPHByZT48Y29kZT4iK2VzY2FwZShjb2RlLHRydWUpKyJcbjwvY29k
|
223
|
+
ZT48L3ByZT4ifXJldHVybic8cHJlPjxjb2RlIGNsYXNzPSInKyJsYW5nLSIrbGFuZysnIj4nK2Vz
|
224
|
+
Y2FwZShjb2RlKSsiXG48L2NvZGU+PC9wcmU+XG4ifTtSZW5kZXJlci5wcm90b3R5cGUuYmxvY2tx
|
225
|
+
dW90ZT1mdW5jdGlvbihxdW90ZSl7cmV0dXJuIjxibG9ja3F1b3RlPlxuIitxdW90ZSsiPC9ibG9j
|
226
|
+
a3F1b3RlPlxuIn07UmVuZGVyZXIucHJvdG90eXBlLmh0bWw9ZnVuY3Rpb24oaHRtbCl7cmV0dXJu
|
227
|
+
IGh0bWx9O1JlbmRlcmVyLnByb3RvdHlwZS5oZWFkaW5nPWZ1bmN0aW9uKHRleHQsbGV2ZWwscmF3
|
228
|
+
LG9wdGlvbnMpe3JldHVybiI8aCIrbGV2ZWwrIj4iK3RleHQrIjwvaCIrbGV2ZWwrIj5cbiJ9O1Jl
|
229
|
+
bmRlcmVyLnByb3RvdHlwZS5ocj1mdW5jdGlvbigpe3JldHVybiI8aHI+XG4ifTtSZW5kZXJlci5w
|
230
|
+
cm90b3R5cGUubGlzdD1mdW5jdGlvbihib2R5LG9yZGVyZWQpe3ZhciB0eXBlPW9yZGVyZWQ/Im9s
|
231
|
+
IjoidWwiO3JldHVybiI8Iit0eXBlKyI+XG4iK2JvZHkrIjwvIit0eXBlKyI+XG4ifTtSZW5kZXJl
|
232
|
+
ci5wcm90b3R5cGUubGlzdGl0ZW09ZnVuY3Rpb24odGV4dCl7cmV0dXJuIjxsaT4iK3RleHQrIjwv
|
233
|
+
bGk+XG4ifTtSZW5kZXJlci5wcm90b3R5cGUucGFyYWdyYXBoPWZ1bmN0aW9uKHRleHQpe3JldHVy
|
234
|
+
biI8cD4iK3RleHQrIjwvcD5cbiJ9O1JlbmRlcmVyLnByb3RvdHlwZS50YWJsZT1mdW5jdGlvbiho
|
235
|
+
ZWFkZXIsYm9keSl7cmV0dXJuIjx0YWJsZT5cbiIrIjx0aGVhZD5cbiIraGVhZGVyKyI8L3RoZWFk
|
236
|
+
PlxuIisiPHRib2R5PlxuIitib2R5KyI8L3Rib2R5PlxuIisiPC90YWJsZT5cbiJ9O1JlbmRlcmVy
|
237
|
+
LnByb3RvdHlwZS50YWJsZXJvdz1mdW5jdGlvbihjb250ZW50KXtyZXR1cm4iPHRyPlxuIitjb250
|
238
|
+
ZW50KyI8L3RyPlxuIn07UmVuZGVyZXIucHJvdG90eXBlLnRhYmxlY2VsbD1mdW5jdGlvbihjb250
|
239
|
+
ZW50LGZsYWdzKXt2YXIgdHlwZT1mbGFncy5oZWFkZXI/InRoIjoidGQiO3ZhciB0YWc9ZmxhZ3Mu
|
240
|
+
YWxpZ24/IjwiK3R5cGUrJyBzdHlsZT0idGV4dC1hbGlnbjonK2ZsYWdzLmFsaWduKyciPic6Ijwi
|
241
|
+
K3R5cGUrIj4iO3JldHVybiB0YWcrY29udGVudCsiPC8iK3R5cGUrIj5cbiJ9O1JlbmRlcmVyLnBy
|
242
|
+
b3RvdHlwZS5zdHJvbmc9ZnVuY3Rpb24odGV4dCl7cmV0dXJuIjxzdHJvbmc+Iit0ZXh0KyI8L3N0
|
243
|
+
cm9uZz4ifTtSZW5kZXJlci5wcm90b3R5cGUuZW09ZnVuY3Rpb24odGV4dCl7cmV0dXJuIjxlbT4i
|
244
|
+
K3RleHQrIjwvZW0+In07UmVuZGVyZXIucHJvdG90eXBlLmNvZGVzcGFuPWZ1bmN0aW9uKHRleHQp
|
245
|
+
e3JldHVybiI8Y29kZT4iK3RleHQrIjwvY29kZT4ifTtSZW5kZXJlci5wcm90b3R5cGUuYnI9ZnVu
|
246
|
+
Y3Rpb24oKXtyZXR1cm4iPGJyPiJ9O1JlbmRlcmVyLnByb3RvdHlwZS5kZWw9ZnVuY3Rpb24odGV4
|
247
|
+
dCl7cmV0dXJuIjxkZWw+Iit0ZXh0KyI8L2RlbD4ifTtSZW5kZXJlci5wcm90b3R5cGUubGluaz1m
|
248
|
+
dW5jdGlvbihocmVmLHRpdGxlLHRleHQpe3ZhciBvdXQ9JzxhIGhyZWY9IicraHJlZisnIic7aWYo
|
249
|
+
dGl0bGUpe291dCs9JyB0aXRsZT0iJyt0aXRsZSsnIid9b3V0Kz0iPiIrdGV4dCsiPC9hPiI7cmV0
|
250
|
+
dXJuIG91dH07UmVuZGVyZXIucHJvdG90eXBlLmltYWdlPWZ1bmN0aW9uKGhyZWYsdGl0bGUsdGV4
|
251
|
+
dCl7dmFyIG91dD0nPGltZyBzcmM9IicraHJlZisnIiBhbHQ9IicrdGV4dCsnIic7aWYodGl0bGUp
|
252
|
+
e291dCs9JyB0aXRsZT0iJyt0aXRsZSsnIid9b3V0Kz0iPiI7cmV0dXJuIG91dH07ZnVuY3Rpb24g
|
253
|
+
UGFyc2VyKG9wdGlvbnMpe3RoaXMudG9rZW5zPVtdO3RoaXMudG9rZW49bnVsbDt0aGlzLm9wdGlv
|
254
|
+
bnM9b3B0aW9uc3x8bWFya2VkLmRlZmF1bHRzO3RoaXMub3B0aW9ucy5yZW5kZXJlcj10aGlzLm9w
|
255
|
+
dGlvbnMucmVuZGVyZXJ8fG5ldyBSZW5kZXJlcjt0aGlzLnJlbmRlcmVyPXRoaXMub3B0aW9ucy5y
|
256
|
+
ZW5kZXJlcn1QYXJzZXIucGFyc2U9ZnVuY3Rpb24oc3JjLG9wdGlvbnMscmVuZGVyZXIpe3ZhciBw
|
257
|
+
YXJzZXI9bmV3IFBhcnNlcihvcHRpb25zLHJlbmRlcmVyKTtyZXR1cm4gcGFyc2VyLnBhcnNlKHNy
|
258
|
+
Yyl9O1BhcnNlci5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oc3JjKXt0aGlzLmlubGluZT1uZXcg
|
259
|
+
SW5saW5lTGV4ZXIoc3JjLmxpbmtzLHRoaXMub3B0aW9ucyx0aGlzLnJlbmRlcmVyKTt0aGlzLnRv
|
260
|
+
a2Vucz1zcmMucmV2ZXJzZSgpO3ZhciBvdXQ9IiI7d2hpbGUodGhpcy5uZXh0KCkpe291dCs9dGhp
|
261
|
+
cy50b2soKX1yZXR1cm4gb3V0fTtQYXJzZXIucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1
|
262
|
+
cm4gdGhpcy50b2tlbj10aGlzLnRva2Vucy5wb3AoKX07UGFyc2VyLnByb3RvdHlwZS5wZWVrPWZ1
|
263
|
+
bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMudG9rZW5zLmxlbmd0aC0xXXx8MH07UGFy
|
264
|
+
c2VyLnByb3RvdHlwZS5wYXJzZVRleHQ9ZnVuY3Rpb24oKXt2YXIgYm9keT10aGlzLnRva2VuLnRl
|
265
|
+
eHQ7d2hpbGUodGhpcy5wZWVrKCkudHlwZT09PSJ0ZXh0Iil7Ym9keSs9IlxuIit0aGlzLm5leHQo
|
266
|
+
KS50ZXh0fXJldHVybiB0aGlzLmlubGluZS5vdXRwdXQoYm9keSl9O1BhcnNlci5wcm90b3R5cGUu
|
267
|
+
dG9rPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMudG9rZW4udHlwZSl7Y2FzZSJzcGFjZSI6e3JldHVy
|
268
|
+
biIifWNhc2UiaHIiOntyZXR1cm4gdGhpcy5yZW5kZXJlci5ocigpfWNhc2UiaGVhZGluZyI6e3Jl
|
269
|
+
dHVybiB0aGlzLnJlbmRlcmVyLmhlYWRpbmcodGhpcy5pbmxpbmUub3V0cHV0KHRoaXMudG9rZW4u
|
270
|
+
dGV4dCksdGhpcy50b2tlbi5kZXB0aCl9Y2FzZSJjb2RlIjp7cmV0dXJuIHRoaXMucmVuZGVyZXIu
|
271
|
+
Y29kZSh0aGlzLnRva2VuLnRleHQsdGhpcy50b2tlbi5sYW5nKX1jYXNlInRhYmxlIjp7dmFyIGhl
|
272
|
+
YWRlcj0iIixib2R5PSIiLGkscm93LGNlbGwsZmxhZ3MsajtjZWxsPSIiO2ZvcihpPTA7aTx0aGlz
|
273
|
+
LnRva2VuLmhlYWRlci5sZW5ndGg7aSsrKXtmbGFncz17aGVhZGVyOnRydWUsYWxpZ246dGhpcy50
|
274
|
+
b2tlbi5hbGlnbltpXX07Y2VsbCs9dGhpcy5yZW5kZXJlci50YWJsZWNlbGwodGhpcy5pbmxpbmUu
|
275
|
+
b3V0cHV0KHRoaXMudG9rZW4uaGVhZGVyW2ldKSx7aGVhZGVyOnRydWUsYWxpZ246dGhpcy50b2tl
|
276
|
+
bi5hbGlnbltpXX0pfWhlYWRlcis9dGhpcy5yZW5kZXJlci50YWJsZXJvdyhjZWxsKTtmb3IoaT0w
|
277
|
+
O2k8dGhpcy50b2tlbi5jZWxscy5sZW5ndGg7aSsrKXtyb3c9dGhpcy50b2tlbi5jZWxsc1tpXTtj
|
278
|
+
ZWxsPSIiO2ZvcihqPTA7ajxyb3cubGVuZ3RoO2orKyl7Y2VsbCs9dGhpcy5yZW5kZXJlci50YWJs
|
279
|
+
ZWNlbGwodGhpcy5pbmxpbmUub3V0cHV0KHJvd1tqXSkse2hlYWRlcjpmYWxzZSxhbGlnbjp0aGlz
|
280
|
+
LnRva2VuLmFsaWduW2pdfSl9Ym9keSs9dGhpcy5yZW5kZXJlci50YWJsZXJvdyhjZWxsKX1yZXR1
|
281
|
+
cm4gdGhpcy5yZW5kZXJlci50YWJsZShoZWFkZXIsYm9keSl9Y2FzZSJibG9ja3F1b3RlX3N0YXJ0
|
282
|
+
Ijp7dmFyIGJvZHk9IiI7d2hpbGUodGhpcy5uZXh0KCkudHlwZSE9PSJibG9ja3F1b3RlX2VuZCIp
|
283
|
+
e2JvZHkrPXRoaXMudG9rKCl9cmV0dXJuIHRoaXMucmVuZGVyZXIuYmxvY2txdW90ZShib2R5KX1j
|
284
|
+
YXNlImxpc3Rfc3RhcnQiOnt2YXIgYm9keT0iIixvcmRlcmVkPXRoaXMudG9rZW4ub3JkZXJlZDt3
|
285
|
+
aGlsZSh0aGlzLm5leHQoKS50eXBlIT09Imxpc3RfZW5kIil7Ym9keSs9dGhpcy50b2soKX1yZXR1
|
286
|
+
cm4gdGhpcy5yZW5kZXJlci5saXN0KGJvZHksb3JkZXJlZCl9Y2FzZSJsaXN0X2l0ZW1fc3RhcnQi
|
287
|
+
Ont2YXIgYm9keT0iIjt3aGlsZSh0aGlzLm5leHQoKS50eXBlIT09Imxpc3RfaXRlbV9lbmQiKXti
|
288
|
+
b2R5Kz10aGlzLnRva2VuLnR5cGU9PT0idGV4dCI/dGhpcy5wYXJzZVRleHQoKTp0aGlzLnRvaygp
|
289
|
+
fXJldHVybiB0aGlzLnJlbmRlcmVyLmxpc3RpdGVtKGJvZHkpfWNhc2UibG9vc2VfaXRlbV9zdGFy
|
290
|
+
dCI6e3ZhciBib2R5PSIiO3doaWxlKHRoaXMubmV4dCgpLnR5cGUhPT0ibGlzdF9pdGVtX2VuZCIp
|
291
|
+
e2JvZHkrPXRoaXMudG9rKCl9cmV0dXJuIHRoaXMucmVuZGVyZXIubGlzdGl0ZW0oYm9keSl9Y2Fz
|
292
|
+
ZSJodG1sIjp7dmFyIGh0bWw9IXRoaXMudG9rZW4ucHJlJiYhdGhpcy5vcHRpb25zLnBlZGFudGlj
|
293
|
+
P3RoaXMuaW5saW5lLm91dHB1dCh0aGlzLnRva2VuLnRleHQpOnRoaXMudG9rZW4udGV4dDtyZXR1
|
294
|
+
cm4gdGhpcy5yZW5kZXJlci5odG1sKGh0bWwpfWNhc2UicGFyYWdyYXBoIjp7cmV0dXJuIHRoaXMu
|
295
|
+
cmVuZGVyZXIucGFyYWdyYXBoKHRoaXMuaW5saW5lLm91dHB1dCh0aGlzLnRva2VuLnRleHQpKX1j
|
296
|
+
YXNlInRleHQiOntyZXR1cm4gdGhpcy5yZW5kZXJlci5wYXJhZ3JhcGgodGhpcy5wYXJzZVRleHQo
|
297
|
+
KSl9fX07ZnVuY3Rpb24gZXNjYXBlKGh0bWwsZW5jb2RlKXtyZXR1cm4gaHRtbC5yZXBsYWNlKCFl
|
298
|
+
bmNvZGU/LyYoPyEjP1x3KzspL2c6LyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5y
|
299
|
+
ZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpLnJlcGxhY2UoLycvZywi
|
300
|
+
JiMzOTsiKX1mdW5jdGlvbiByZXBsYWNlKHJlZ2V4LG9wdCl7cmVnZXg9cmVnZXguc291cmNlO29w
|
301
|
+
dD1vcHR8fCIiO3JldHVybiBmdW5jdGlvbiBzZWxmKG5hbWUsdmFsKXtpZighbmFtZSlyZXR1cm4g
|
302
|
+
bmV3IFJlZ0V4cChyZWdleCxvcHQpO3ZhbD12YWwuc291cmNlfHx2YWw7dmFsPXZhbC5yZXBsYWNl
|
303
|
+
KC8oXnxbXlxbXSlcXi9nLCIkMSIpO3JlZ2V4PXJlZ2V4LnJlcGxhY2UobmFtZSx2YWwpO3JldHVy
|
304
|
+
biBzZWxmfX1mdW5jdGlvbiBub29wKCl7fW5vb3AuZXhlYz1ub29wO2Z1bmN0aW9uIG1lcmdlKG9i
|
305
|
+
ail7dmFyIGk9MSx0YXJnZXQsa2V5O2Zvcig7aTxhcmd1bWVudHMubGVuZ3RoO2krKyl7dGFyZ2V0
|
306
|
+
PWFyZ3VtZW50c1tpXTtmb3Ioa2V5IGluIHRhcmdldCl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNP
|
307
|
+
d25Qcm9wZXJ0eS5jYWxsKHRhcmdldCxrZXkpKXtvYmpba2V5XT10YXJnZXRba2V5XX19fXJldHVy
|
308
|
+
biBvYmp9ZnVuY3Rpb24gbWFya2VkKHNyYyxvcHQsY2FsbGJhY2spe2lmKGNhbGxiYWNrfHx0eXBl
|
309
|
+
b2Ygb3B0PT09ImZ1bmN0aW9uIil7aWYoIWNhbGxiYWNrKXtjYWxsYmFjaz1vcHQ7b3B0PW51bGx9
|
310
|
+
b3B0PW1lcmdlKHt9LG1hcmtlZC5kZWZhdWx0cyxvcHR8fHt9KTt2YXIgaGlnaGxpZ2h0PW9wdC5o
|
311
|
+
aWdobGlnaHQsdG9rZW5zLHBlbmRpbmcsaT0wO3RyeXt0b2tlbnM9TGV4ZXIubGV4KHNyYyxvcHQp
|
312
|
+
fWNhdGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1wZW5kaW5nPXRva2Vucy5sZW5ndGg7dmFyIGRv
|
313
|
+
bmU9ZnVuY3Rpb24oKXt2YXIgb3V0LGVycjt0cnl7b3V0PVBhcnNlci5wYXJzZSh0b2tlbnMsb3B0
|
314
|
+
KX1jYXRjaChlKXtlcnI9ZX1vcHQuaGlnaGxpZ2h0PWhpZ2hsaWdodDtyZXR1cm4gZXJyP2NhbGxi
|
315
|
+
YWNrKGVycik6Y2FsbGJhY2sobnVsbCxvdXQpfTtyZXR1cm4gZG9uZSgpfXRyeXtpZihvcHQpb3B0
|
316
|
+
PW1lcmdlKHt9LG1hcmtlZC5kZWZhdWx0cyxvcHQpO3JldHVybiBQYXJzZXIucGFyc2UoTGV4ZXIu
|
317
|
+
bGV4KHNyYyxvcHQpLG9wdCl9Y2F0Y2goZSl7ZS5tZXNzYWdlKz0iXG5QbGVhc2UgcmVwb3J0IHRo
|
318
|
+
aXMgdG8gaHR0cHM6Ly9naXRodWIuY29tL2NoamovbWFya2VkLiI7aWYoKG9wdHx8bWFya2VkLmRl
|
319
|
+
ZmF1bHRzKS5zaWxlbnQpe3JldHVybiI8cD5BbiBlcnJvciBvY2N1cmVkOjwvcD48cHJlPiIrZXNj
|
320
|
+
YXBlKGUubWVzc2FnZSsiIix0cnVlKSsiPC9wcmU+In10aHJvdyBlfX1tYXJrZWQub3B0aW9ucz1t
|
321
|
+
YXJrZWQuc2V0T3B0aW9ucz1mdW5jdGlvbihvcHQpe21lcmdlKG1hcmtlZC5kZWZhdWx0cyxvcHQp
|
322
|
+
O3JldHVybiBtYXJrZWR9O21hcmtlZC5kZWZhdWx0cz17Z2ZtOnRydWUsdGFibGVzOnRydWUsYnJl
|
323
|
+
YWtzOmZhbHNlLHBlZGFudGljOmZhbHNlLHNhbml0aXplOmZhbHNlLHNtYXJ0TGlzdHM6ZmFsc2Us
|
324
|
+
c2lsZW50OmZhbHNlLHNtYXJ0eXBhbnRzOmZhbHNlLHJlbmRlcmVyOm5ldyBSZW5kZXJlcn07bWFy
|
325
|
+
a2VkLlBhcnNlcj1QYXJzZXI7bWFya2VkLnBhcnNlcj1QYXJzZXIucGFyc2U7bWFya2VkLlJlbmRl
|
326
|
+
cmVyPVJlbmRlcmVyO21hcmtlZC5MZXhlcj1MZXhlcjttYXJrZWQubGV4ZXI9TGV4ZXIubGV4O21h
|
327
|
+
cmtlZC5JbmxpbmVMZXhlcj1JbmxpbmVMZXhlcjttYXJrZWQuaW5saW5lTGV4ZXI9SW5saW5lTGV4
|
328
|
+
ZXIub3V0cHV0O21hcmtlZC5wYXJzZT1tYXJrZWQ7aWYodHlwZW9mIGV4cG9ydHM9PT0ib2JqZWN0
|
329
|
+
Iil7bW9kdWxlLmV4cG9ydHM9bWFya2VkfWVsc2UgaWYodHlwZW9mIGRlZmluZT09PSJmdW5jdGlv
|
330
|
+
biImJmRlZmluZS5hbWQpe2RlZmluZShmdW5jdGlvbigpe3JldHVybiBtYXJrZWR9KX1lbHNle3Ro
|
331
|
+
aXMubWFya2VkPW1hcmtlZH19KS5jYWxsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN8fCh0eXBlb2Yg
|
332
|
+
d2luZG93IT09InVuZGVmaW5lZCI/d2luZG93Omdsb2JhbCl9KCkpOw==
|
@@ -0,0 +1,373 @@
|
|
1
|
+
module Lissio; class Component
|
2
|
+
|
3
|
+
class Tooltip < Lissio::Component
|
4
|
+
DEFAULTS = {
|
5
|
+
placement: :top,
|
6
|
+
animate: true,
|
7
|
+
container: false,
|
8
|
+
delay: 0,
|
9
|
+
escape: true
|
10
|
+
}
|
11
|
+
|
12
|
+
def initialize(*args, &block)
|
13
|
+
if Lissio::Component === args.first
|
14
|
+
super(args.shift)
|
15
|
+
end
|
16
|
+
|
17
|
+
@options = DEFAULTS.merge(args.first)
|
18
|
+
@block = block
|
19
|
+
@enabled = true
|
20
|
+
|
21
|
+
render
|
22
|
+
end
|
23
|
+
|
24
|
+
def enabled?
|
25
|
+
@enabled
|
26
|
+
end
|
27
|
+
|
28
|
+
def enable
|
29
|
+
@enabled = true
|
30
|
+
end
|
31
|
+
|
32
|
+
def disable
|
33
|
+
@enabled = false
|
34
|
+
end
|
35
|
+
|
36
|
+
def shown?
|
37
|
+
element.has_class? :in
|
38
|
+
end
|
39
|
+
|
40
|
+
def register(element, trigger)
|
41
|
+
case trigger
|
42
|
+
when :click
|
43
|
+
element.on :click do
|
44
|
+
toggle
|
45
|
+
end
|
46
|
+
|
47
|
+
when :hover
|
48
|
+
element.on 'mouse:over' do
|
49
|
+
show
|
50
|
+
end
|
51
|
+
|
52
|
+
element.on 'mouse:out' do
|
53
|
+
hide
|
54
|
+
end
|
55
|
+
|
56
|
+
when :focus
|
57
|
+
element.on :focus do
|
58
|
+
show
|
59
|
+
end
|
60
|
+
|
61
|
+
element.on :blur do
|
62
|
+
hide
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
self
|
67
|
+
end
|
68
|
+
|
69
|
+
def show(content = @options[:content])
|
70
|
+
return unless enabled?
|
71
|
+
|
72
|
+
placement = @block ? block.call(self) : @options[:placement] || place
|
73
|
+
|
74
|
+
element.detach
|
75
|
+
element.style(top: 0, left: 0, display: 0)
|
76
|
+
element.add_class placement, :in
|
77
|
+
element.append_to container
|
78
|
+
|
79
|
+
element.at('.tooltip-inner').content = content
|
80
|
+
element.show()
|
81
|
+
|
82
|
+
apply(placement)
|
83
|
+
end
|
84
|
+
|
85
|
+
def hide
|
86
|
+
element.remove_class :in
|
87
|
+
end
|
88
|
+
|
89
|
+
def toggle
|
90
|
+
if shown?
|
91
|
+
hide
|
92
|
+
else
|
93
|
+
show
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def destroy
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
private
|
102
|
+
def container
|
103
|
+
if container = @options[:container]
|
104
|
+
if String === container
|
105
|
+
container = (parent ? parent.element : $document).at(container)
|
106
|
+
end
|
107
|
+
|
108
|
+
container
|
109
|
+
else
|
110
|
+
parent ? parent.element : $document.body
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
def along
|
115
|
+
if along = @options[:along]
|
116
|
+
if String === along
|
117
|
+
along = (parent ? parent.element : $document).at(along)
|
118
|
+
end
|
119
|
+
|
120
|
+
along
|
121
|
+
else
|
122
|
+
raise ArgumentError, "no parent or along"
|
123
|
+
|
124
|
+
parent.element
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def offset(placement)
|
129
|
+
along_position = along.position
|
130
|
+
along_size = along.size
|
131
|
+
size = element.size
|
132
|
+
|
133
|
+
case placement
|
134
|
+
when :bottom
|
135
|
+
Browser::Position.new(along_position.x + (along_size.width / 2) - (size.width / 2),
|
136
|
+
along_position.y + along_size.height)
|
137
|
+
|
138
|
+
when :top
|
139
|
+
Browser::Position.new(along_position.x + (along_size.width / 2) - (size.width / 2),
|
140
|
+
along_position.y - size.height)
|
141
|
+
|
142
|
+
when :left
|
143
|
+
Browser::Position.new(along_position.x - size.width,
|
144
|
+
along_position.y + (along_size.height / 2) - (size.height / 2))
|
145
|
+
|
146
|
+
when :right
|
147
|
+
Browser::Position.new(along_position.x + along_size.width,
|
148
|
+
along_position.y + (along_size.height / 2) - (size.height / 2))
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
def apply(placement)
|
153
|
+
position = offset(placement)
|
154
|
+
size = element.size
|
155
|
+
|
156
|
+
margin_top = element.style['margin-top'].to_u
|
157
|
+
margin_left = element.style['margin-left'].to_u
|
158
|
+
|
159
|
+
element.offset = position.x + margin_top, position.y + margin_left
|
160
|
+
end
|
161
|
+
|
162
|
+
def place
|
163
|
+
:top
|
164
|
+
end
|
165
|
+
|
166
|
+
tag class: :tooltip
|
167
|
+
|
168
|
+
html do
|
169
|
+
div.tooltip[:arrow]
|
170
|
+
div.tooltip[:inner]
|
171
|
+
end
|
172
|
+
|
173
|
+
css do
|
174
|
+
rule '.tooltip' do
|
175
|
+
position :absolute
|
176
|
+
z index: 9001
|
177
|
+
|
178
|
+
display :block
|
179
|
+
visibility :visible
|
180
|
+
|
181
|
+
font size: 12.px
|
182
|
+
line height: 1.4
|
183
|
+
|
184
|
+
opacity 0
|
185
|
+
|
186
|
+
rule '&.in' do
|
187
|
+
opacity 0.9
|
188
|
+
end
|
189
|
+
|
190
|
+
rule '&.top' do
|
191
|
+
margin top: -3.px
|
192
|
+
padding 5.px, 0
|
193
|
+
end
|
194
|
+
|
195
|
+
rule '&.right' do
|
196
|
+
margin left: 3.px
|
197
|
+
padding 0, 5.px
|
198
|
+
end
|
199
|
+
|
200
|
+
rule '&.bottom' do
|
201
|
+
margin top: 3.px
|
202
|
+
padding 5.px, 0
|
203
|
+
end
|
204
|
+
|
205
|
+
rule '&.left' do
|
206
|
+
margin left: -3.px
|
207
|
+
padding 0, 5.px
|
208
|
+
end
|
209
|
+
|
210
|
+
rule '.tooltip-inner' do
|
211
|
+
max width: 200.px
|
212
|
+
padding 3.px, 8.px
|
213
|
+
color '#fff'
|
214
|
+
|
215
|
+
text align: :center,
|
216
|
+
decoration: :none
|
217
|
+
|
218
|
+
background color: '#000'
|
219
|
+
border radius: 4.px
|
220
|
+
end
|
221
|
+
|
222
|
+
rule '.tooltip-arrow' do
|
223
|
+
position :absolute
|
224
|
+
width 0
|
225
|
+
height 0
|
226
|
+
|
227
|
+
border color: :transparent,
|
228
|
+
style: :solid
|
229
|
+
end
|
230
|
+
|
231
|
+
rule '&.top .tooltip-arrow' do
|
232
|
+
bottom 0
|
233
|
+
left 50.%
|
234
|
+
|
235
|
+
margin left: -5.px
|
236
|
+
border width: [5.px, 5.px, 0],
|
237
|
+
color: { top: '#000' }
|
238
|
+
end
|
239
|
+
|
240
|
+
rule '&.top-left .tooltip-arrow' do
|
241
|
+
bottom 0
|
242
|
+
left 5.px
|
243
|
+
|
244
|
+
border width: [5.px, 5.px, 0],
|
245
|
+
color: { top: '#000' }
|
246
|
+
end
|
247
|
+
|
248
|
+
rule '&.top-right .tooltip-arrow' do
|
249
|
+
bottom 0
|
250
|
+
right 5.px
|
251
|
+
|
252
|
+
border width: [5.px, 5.px, 0],
|
253
|
+
color: { top: '#000' }
|
254
|
+
end
|
255
|
+
|
256
|
+
rule '&.right .tooltip-arrow' do
|
257
|
+
top 50.%
|
258
|
+
left 0
|
259
|
+
|
260
|
+
margin top: -5.px
|
261
|
+
border width: [5.px, 5.px, 5.px, 0],
|
262
|
+
color: { right: '#000' }
|
263
|
+
end
|
264
|
+
|
265
|
+
rule '&.left .tooltip-arrow' do
|
266
|
+
top 50.%
|
267
|
+
right 0
|
268
|
+
|
269
|
+
margin top: -5.px
|
270
|
+
border width: [5.px, 0, 5.px, 5.px],
|
271
|
+
color: { left: '#000' }
|
272
|
+
end
|
273
|
+
|
274
|
+
rule '&.bottom .tooltip-arrow' do
|
275
|
+
top 0
|
276
|
+
left 50.%
|
277
|
+
|
278
|
+
margin left: -5.px
|
279
|
+
border width: [0, 5.px, 5.px],
|
280
|
+
color: { bottom: '#000' }
|
281
|
+
end
|
282
|
+
|
283
|
+
rule '&.bottom-left .tooltip-arrow' do
|
284
|
+
top 0
|
285
|
+
left 5.px
|
286
|
+
|
287
|
+
border width: [0, 5.px, 5.px],
|
288
|
+
color: { bottom: '#000' }
|
289
|
+
end
|
290
|
+
|
291
|
+
rule '&.bottom-right .tooltip-arrow' do
|
292
|
+
top 0
|
293
|
+
right 5.px
|
294
|
+
|
295
|
+
border width: [0, 5.px, 5.px],
|
296
|
+
color: { bottom: '#000' }
|
297
|
+
end
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
301
|
+
def self.customize(*args, &block)
|
302
|
+
if args.length == 1
|
303
|
+
options = args.first
|
304
|
+
else
|
305
|
+
name, options = args
|
306
|
+
end
|
307
|
+
|
308
|
+
name ||= "tooltip-custom-#{rand(10000)}"
|
309
|
+
options ||= {}
|
310
|
+
|
311
|
+
Class.new(self) {
|
312
|
+
tag class: [:tooltip, name]
|
313
|
+
|
314
|
+
css do
|
315
|
+
rule ".tooltip.#{name}" do
|
316
|
+
instance_exec(&block) if block
|
317
|
+
|
318
|
+
if value = options[:opacity]
|
319
|
+
rule '&.in' do
|
320
|
+
opacity value
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
324
|
+
if value = options[:foreground] || options[:fg]
|
325
|
+
rule '.tooltip-inner' do
|
326
|
+
color value
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
330
|
+
if value = options[:background] || options[:bg]
|
331
|
+
rule '.tooltip-inner' do
|
332
|
+
background color: value
|
333
|
+
end
|
334
|
+
|
335
|
+
rule '&.top .tooltip-arrow' do
|
336
|
+
border color: { top: value }
|
337
|
+
end
|
338
|
+
|
339
|
+
rule '&.top-right .tooltip-arrow' do
|
340
|
+
border color: { top: value }
|
341
|
+
end
|
342
|
+
|
343
|
+
rule '&.top-left .tooltip-arrow' do
|
344
|
+
border color: { top: value }
|
345
|
+
end
|
346
|
+
|
347
|
+
rule '&.right .tooltip-arrow' do
|
348
|
+
border color: { right: value }
|
349
|
+
end
|
350
|
+
|
351
|
+
rule '&.left .tooltip-arrow' do
|
352
|
+
border color: { right: value }
|
353
|
+
end
|
354
|
+
|
355
|
+
rule '&.bottom .tooltip-arrow' do
|
356
|
+
border color: { bottom: value }
|
357
|
+
end
|
358
|
+
|
359
|
+
rule '&.bottom-right .tooltip-arrow' do
|
360
|
+
border color: { bottom: value }
|
361
|
+
end
|
362
|
+
|
363
|
+
rule '&.bottom-left .tooltip-arrow' do
|
364
|
+
border color: { bottom: value }
|
365
|
+
end
|
366
|
+
end
|
367
|
+
end
|
368
|
+
end
|
369
|
+
}
|
370
|
+
end
|
371
|
+
end
|
372
|
+
|
373
|
+
end; end
|