Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Moecube Store
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Moecube Store
Commits
ab7decea
Commit
ab7decea
authored
Nov 02, 2012
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
temp
parent
5785e047
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
152 additions
and
94 deletions
+152
-94
assets/javascripts/decks.coffee
assets/javascripts/decks.coffee
+26
-32
assets/javascripts/decks.js
assets/javascripts/decks.js
+70
-53
decks/index.html
decks/index.html
+9
-9
locales/card.properties
locales/card.properties
+8
-0
locales/card_zh.properties
locales/card_zh.properties
+30
-0
locales/deck.properties
locales/deck.properties
+0
-0
vendor/javascripts/jquery.i18n.properties-min-1.0.9.js
vendor/javascripts/jquery.i18n.properties-min-1.0.9.js
+9
-0
No files found.
assets/javascripts/decks.coffee
View file @
ab7decea
...
...
@@ -47,7 +47,7 @@ class CardUsage extends Spine.Model
class
Deck
extends
Spine
.
Controller
events
:
"mouseenter .card"
:
"show"
key
:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-="
constructor
:
->
super
CardUsage
.
bind
(
"refresh change"
,
@
render
)
...
...
@@ -55,39 +55,33 @@ class Deck extends Spine.Controller
@
html
$
(
"#card_template"
).
tmpl
(
CardUsage
.
all
())
show
:
(
e
)
->
card
=
$
(
e
.
target
).
tmplItem
().
data
.
card
()
$
(
"#card_image"
).
attr
'src'
,
"http
s://raw.github.com/zh99998/ygopro-images/master
/
#{
card
.
id
}
.jpg"
$
(
"#card_image"
).
attr
'src'
,
"http
://images.my-card.in
/
#{
card
.
id
}
.jpg"
$
(
"#card_name"
).
html
card
.
name
$
(
"#card_card_type"
).
html
card
.
card_type
.
join
(
'·'
)
$
(
"#card_type"
).
html
card
.
type
$
(
"#card_attribute"
).
html
card
.
attribute
$
(
"#card_level"
).
html
card
.
level
$
(
"#card_atk"
).
html
card
.
atk
$
(
"#card_def"
).
html
card
.
def
$
(
"#card_card_type"
).
html
(
$
.
i18n
.
prop
'card_type.'
+
card_type
for
card_type
in
card
.
card_type
)
.
join
(
'·'
)
$
(
"#card_type"
).
html
if
card
.
type
then
$
.
i18n
.
prop
'type.'
+
card
.
type
else
""
$
(
"#card_attribute"
).
html
if
card
.
attribute
then
$
.
i18n
.
prop
'attribute.'
+
card
.
attribute
else
""
$
(
"#card_level"
).
html
card
.
level
if
card
.
level
$
(
"#card_atk"
).
html
card
.
atk
||
""
$
(
"#card_def"
).
html
card
.
def
||
""
$
(
"#card_description"
).
html
card
.
description
decode
=
(
str
)
->
key
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-="
result
=
0
for
char
in
str
result
<<=
6
result
+=
key
.
indexOf
(
char
)
result
name
=
$
.
url
().
param
(
'name'
)
cards_encoded
=
$
.
url
().
param
(
'cards'
)
$
(
'img#qrcode'
).
attr
(
'src'
,
'https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl='
+
encodeURIComponent
(
"http://my-card.in/decks/?name=
#{
name
}
&cards=
#{
cards_encoded
}
"
))
$
(
'#name'
).
html
(
name
)
$
(
document
).
ready
->
deck
=
[]
cards_id
=
[]
for
i
in
[
0
...
cards_encoded
.
length
]
by
5
decoded
=
decode
(
cards_encoded
.
substr
(
i
,
5
))
parse
:
(
str
)
->
card_usages
=
(
for
i
in
[
0
...
str
.
length
]
by
5
decoded
=
0
for
char
in
str
.
substr
(
i
,
5
)
decoded
=
(
decoded
<<
6
)
+
@
key
.
indexOf
(
char
)
card_id
=
decoded
&
0x07FFFFFF
side
=
decoded
>>
29
count
=
decoded
>>
27
&
0x3
id
=
decoded
&
0x07FFFFFF
cards_id
.
push
id
deck
.
push
{
card_id
:
id
,
count
:
count
,
side
:
side
}
{
card_id
:
card_id
,
side
:
side
,
count
:
count
}
)
Card
.
query
{
_id
:
{
$in
:
card_usage
.
card_id
for
card_usage
in
card_usages
}},
=>
CardUsage
.
refresh
card_usages
$
(
document
).
ready
->
name
=
$
.
url
().
param
(
'name'
)
cards_encoded
=
$
.
url
().
param
(
'cards'
)
$
(
'img#qrcode'
).
attr
(
'src'
,
'https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl='
+
encodeURIComponent
(
"http://my-card.in/decks/?name=
#{
name
}
&cards=
#{
cards_encoded
}
"
))
$
(
'#name'
).
html
(
name
)
a
=
new
Deck
(
el
:
$
(
"#deck"
))
Card
.
query
{
_id
:
{
$in
:
cards_id
}},
=>
CardUsage
.
refresh
deck
\ No newline at end of file
deck
=
new
Deck
(
el
:
$
(
"#deck"
))
deck
.
parse
cards_encoded
\ No newline at end of file
assets/javascripts/decks.js
View file @
ab7decea
// Generated by CoffeeScript 1.4.0
(
function
()
{
var
Card
,
CardUsage
,
Deck
,
cards_encoded
,
decode
,
locale
,
nam
e
,
var
Card
,
CardUsage
,
Deck
,
local
e
,
__hasProp
=
{}.
hasOwnProperty
,
__extends
=
function
(
child
,
parent
)
{
for
(
var
key
in
parent
)
{
if
(
__hasProp
.
call
(
parent
,
key
))
child
[
key
]
=
parent
[
key
];
}
function
ctor
()
{
this
.
constructor
=
child
;
}
ctor
.
prototype
=
parent
.
prototype
;
child
.
prototype
=
new
ctor
();
child
.
__super__
=
parent
.
prototype
;
return
child
;
},
__bind
=
function
(
fn
,
me
){
return
function
(){
return
fn
.
apply
(
me
,
arguments
);
};
};
...
...
@@ -133,6 +133,8 @@
"
mouseenter .card
"
:
"
show
"
};
Deck
.
prototype
.
key
=
"
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-=
"
;
function
Deck
()
{
this
.
render
=
__bind
(
this
.
render
,
this
);
Deck
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
...
...
@@ -144,70 +146,85 @@
};
Deck
.
prototype
.
show
=
function
(
e
)
{
var
card
;
var
card
,
card_type
;
card
=
$
(
e
.
target
).
tmplItem
().
data
.
card
();
$
(
"
#card_image
"
).
attr
(
'
src
'
,
"
http
s://raw.github.com/zh99998/ygopro-images/master
/
"
+
card
.
id
+
"
.jpg
"
);
$
(
"
#card_image
"
).
attr
(
'
src
'
,
"
http
://images.my-card.in
/
"
+
card
.
id
+
"
.jpg
"
);
$
(
"
#card_name
"
).
html
(
card
.
name
);
$
(
"
#card_card_type
"
).
html
(
card
.
card_type
.
join
(
'
·
'
));
$
(
"
#card_type
"
).
html
(
card
.
type
);
$
(
"
#card_attribute
"
).
html
(
card
.
attribute
);
$
(
"
#card_card_type
"
).
html
(((
function
()
{
var
_i
,
_len
,
_ref
,
_results
;
_ref
=
card
.
card_type
;
_results
=
[];
for
(
_i
=
0
,
_len
=
_ref
.
length
;
_i
<
_len
;
_i
++
)
{
card_type
=
_ref
[
_i
];
_results
.
push
(
$
.
i18n
.
prop
(
'
card_type.
'
+
card_type
));
}
return
_results
;
})()).
join
(
'
·
'
));
$
(
"
#card_type
"
).
html
(
card
.
type
?
$
.
i18n
.
prop
(
'
type.
'
+
card
.
type
)
:
""
);
$
(
"
#card_attribute
"
).
html
(
card
.
attribute
?
$
.
i18n
.
prop
(
'
attribute.
'
+
card
.
attribute
)
:
""
);
if
(
card
.
level
)
{
$
(
"
#card_level
"
).
html
(
card
.
level
);
$
(
"
#card_atk
"
).
html
(
card
.
atk
);
$
(
"
#card_def
"
).
html
(
card
.
def
);
return
$
(
"
#card_description
"
).
html
(
card
.
description
);
};
return
Deck
;
})(
Spine
.
Controller
);
decode
=
function
(
str
)
{
var
char
,
key
,
result
,
_i
,
_len
;
key
=
"
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-=
"
;
result
=
0
;
for
(
_i
=
0
,
_len
=
str
.
length
;
_i
<
_len
;
_i
++
)
{
char
=
str
[
_i
];
result
<<=
6
;
result
+=
key
.
indexOf
(
char
);
}
return
result
;
$
(
"
#card_atk
"
).
html
(
card
.
atk
||
""
);
$
(
"
#card_def
"
).
html
(
card
.
def
||
""
);
return
$
(
"
#card_description
"
).
html
(
card
.
description
);
};
name
=
$
.
url
().
param
(
'
name
'
);
cards_encoded
=
$
.
url
().
param
(
'
cards
'
);
$
(
'
img#qrcode
'
).
attr
(
'
src
'
,
'
https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl=
'
+
encodeURIComponent
(
"
http://my-card.in/decks/?name=
"
+
name
+
"
&cards=
"
+
cards_encoded
));
$
(
'
#name
'
).
html
(
name
);
$
(
document
).
ready
(
function
()
{
var
a
,
cards_id
,
count
,
deck
,
decoded
,
i
,
id
,
side
,
_i
,
_ref
,
Deck
.
prototype
.
parse
=
function
(
str
)
{
var
card_id
,
card_usage
,
card_usages
,
char
,
count
,
decoded
,
i
,
side
,
_this
=
this
;
deck
=
[];
cards_id
=
[];
for
(
i
=
_i
=
0
,
_ref
=
cards_encoded
.
length
;
_i
<
_ref
;
i
=
_i
+=
5
)
{
decoded
=
decode
(
cards_encoded
.
substr
(
i
,
5
));
card_usages
=
(
function
()
{
var
_i
,
_j
,
_len
,
_ref
,
_ref1
,
_results
;
_results
=
[];
for
(
i
=
_i
=
0
,
_ref
=
str
.
length
;
_i
<
_ref
;
i
=
_i
+=
5
)
{
decoded
=
0
;
_ref1
=
str
.
substr
(
i
,
5
);
for
(
_j
=
0
,
_len
=
_ref1
.
length
;
_j
<
_len
;
_j
++
)
{
char
=
_ref1
[
_j
];
decoded
=
(
decoded
<<
6
)
+
this
.
key
.
indexOf
(
char
);
}
card_id
=
decoded
&
0x07FFFFFF
;
side
=
decoded
>>
29
;
count
=
decoded
>>
27
&
0x3
;
id
=
decoded
&
0x07FFFFFF
;
cards_id
.
push
(
id
);
deck
.
push
({
card_id
:
id
,
count
:
count
,
side
:
side
_results
.
push
({
card_id
:
card_id
,
side
:
side
,
count
:
count
});
}
a
=
new
Deck
({
el
:
$
(
"
#deck
"
)
});
return
_results
;
}).
call
(
this
);
return
Card
.
query
({
_id
:
{
$in
:
cards_id
$in
:
(
function
()
{
var
_i
,
_len
,
_results
;
_results
=
[];
for
(
_i
=
0
,
_len
=
card_usages
.
length
;
_i
<
_len
;
_i
++
)
{
card_usage
=
card_usages
[
_i
];
_results
.
push
(
card_usage
.
card_id
);
}
return
_results
;
})()
}
},
function
()
{
return
CardUsage
.
refresh
(
deck
);
return
CardUsage
.
refresh
(
card_usages
);
});
};
return
Deck
;
})(
Spine
.
Controller
);
$
(
document
).
ready
(
function
()
{
var
cards_encoded
,
deck
,
name
;
name
=
$
.
url
().
param
(
'
name
'
);
cards_encoded
=
$
.
url
().
param
(
'
cards
'
);
$
(
'
img#qrcode
'
).
attr
(
'
src
'
,
'
https://chart.googleapis.com/chart?chs=200x200&cht=qr&chld=|0&chl=
'
+
encodeURIComponent
(
"
http://my-card.in/decks/?name=
"
+
name
+
"
&cards=
"
+
cards_encoded
));
$
(
'
#name
'
).
html
(
name
);
deck
=
new
Deck
({
el
:
$
(
"
#deck
"
)
});
return
deck
.
parse
(
cards_encoded
);
});
}).
call
(
this
);
decks/index.html
View file @
ab7decea
...
...
@@ -35,7 +35,7 @@
</head>
<body>
<div
class=
"main_div line"
>
<div
class=
"main_left floatleft line"
>
<div
id=
"card"
class=
"main_left floatleft line"
>
<div
id=
"card_name"
class=
"card_name"
>
第二型カトレア
</div>
<div
class=
"card_img line floatleft"
>
<img
id=
"card_image"
height=
"187px"
width=
"130px"
src=
"/assets/images/decks/24.jpg"
alt=
"card_name"
/>
...
...
@@ -84,11 +84,7 @@
</div>
</div>
<div
class=
"statistics floatleft frame_element"
>
<div><label
for=
""
>
卡片种族:
</label>
鸟兽
</div>
<div><label
for=
""
>
卡片种族:
</label>
鸟兽
</div>
<div><label
for=
""
>
卡片种族:
</label>
鸟兽
</div>
</div>
<!-- 修改 -->
<div
id=
"adjustment"
class=
"adjustment floatleft frame_element card_frame_focus"
>
[第二型カトレア]BF-疾风のゲイル[10/08/07]
<br/><br/><br/>
...
...
@@ -115,7 +111,6 @@
例:「神海龙
基希尔诺顿/神海竜ギシルノドン」2300/1800被这次效果把攻守『变成一半数值』1150/900后,场上表侧表示存在的3星以下的怪兽被送去墓地时自身效果发动,把攻击力『变成3000』3000/900,结束阶段时自身效果不再适用后是2300/900
<br/>
</div>
<!-- 修改 -->
</div>
<div
class=
"floatleft bottom_area"
>
<div
class=
"bottom_button_active floatleft"
>
效果
</div>
...
...
@@ -187,6 +182,7 @@
<script
src=
"/vendor/javascripts/jQuery-URL-Parser.js"
></script>
<script
src=
"/vendor/javascripts/jquery.tmpl.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery.mousewheel.js"
></script>
<script
src=
"/vendor/javascripts/jquery.i18n.properties-min-1.0.9.js"
></script>
<script
src=
"/vendor/javascripts/hScrollPane.js"
></script>
<script
src=
"/vendor/javascripts/jscroll.js"
></script>
<script
src=
"/vendor/javascripts/json2.js"
></script>
...
...
@@ -194,12 +190,16 @@
<script
src=
"/vendor/javascripts/spine/ajax.js"
></script>
<script
src=
"/vendor/javascripts/spine/relation.js"
></script>
<script
src=
"/assets/javascripts/public.js"
></script>
<script
src=
"/assets/javascripts/decks.js"
></script>
<script
src=
"/assets/javascripts/public.js"
></script>
<script
type=
"text/javascript"
>
jQuery
.
i18n
.
properties
({
name
:
'
card
'
,
path
:
'
/locales/
'
,
mode
:
'
map
'
,
cache
:
true
});
$
(
document
).
ready
(
function
()
{
$
(
"
#more_info
"
).
jscroll
({
W
:
"
12px
"
,
Btn
:{
btn
:
false
}});
...
...
locales/card.properties
0 → 100644
View file @
ab7decea
card_type
=
Card type
type
=
Type
attribute
=
Attribute
atk
=
ATK
def
=
DEF
level
=
Level
type.Aqua
=
Aqua
\ No newline at end of file
locales/card_zh.properties
0 → 100644
View file @
ab7decea
card_type
=
卡类
type
=
种族
attribute
=
属性
atk
=
攻击
def
=
防御
level
=
星阶
type.Aqua
=
水
type.Beast
=
兽
type["Beast-Warrior"]
=
兽战士
type.Creator_God
=
创造神
type.Dinosaur
=
恐龙
type["Divine-Beast"]
=
幻神兽
type.Dragon
=
龙
type.Fairy
=
天使
type.Fiend
=
恶魔
type.Fish
=
鱼
type.Insect
=
昆虫
type.Machine
=
机械
type.Plant
=
植物
type.Psychic
=
念动力
type.Pyro
=
炎
type.Reptile
=
爬虫
type.Rock
=
岩石
type["Sea_Serpent"]
=
海龙
type.Spellcaster
=
魔法使
type.Thunder
=
雷
type.Warrior
=
战士
type.Winged_Beast
=
鸟兽
type.Zombie
=
不死
\ No newline at end of file
locales/deck.properties
deleted
100644 → 0
View file @
5785e047
vendor/javascripts/jquery.i18n.properties-min-1.0.9.js
0 → 100644
View file @
ab7decea
(
function
(
k
){
function
n
(
c
,
a
){
k
.
ajax
({
url
:
c
,
async
:
!
1
,
cache
:
a
.
cache
,
contentType
:
"
text/plain;charset=
"
+
a
.
encoding
,
dataType
:
"
text
"
,
success
:
function
(
b
){
r
(
b
,
a
.
mode
)}})}
function
r
(
c
,
a
){
for
(
var
b
=
""
,
e
=
c
.
split
(
/
\n
/
),
d
=
/
(\{\d
+
\})
/g
,
q
=
/
\{(\d
+
)\}
/g
,
m
=
/
(\\
u.
{4})
/ig
,
f
=
0
;
f
<
e
.
length
;
f
++
)
if
(
e
[
f
]
=
e
[
f
].
replace
(
/^
\s\s
*/
,
""
).
replace
(
/
\s\s
*$/
,
""
),
e
[
f
].
length
>
0
&&
e
[
f
].
match
(
"
^#
"
)
!=
"
#
"
){
var
g
=
e
[
f
].
split
(
"
=
"
);
if
(
g
.
length
>
0
){
for
(
var
o
=
unescape
(
g
[
0
]).
replace
(
/^
\s\s
*/
,
""
).
replace
(
/
\s\s
*$/
,
""
),
h
=
g
.
length
==
1
?
""
:
g
[
1
];
h
.
match
(
/
\\
$/
)
==
"
\\
"
;)
h
=
h
.
substring
(
0
,
h
.
length
-
1
),
h
+=
e
[
++
f
].
replace
(
/
\s\s
*$/
,
""
);
for
(
var
l
=
2
;
l
<
g
.
length
;
l
++
)
h
+=
"
=
"
+
g
[
l
];
h
=
h
.
replace
(
/^
\s\s
*/
,
""
).
replace
(
/
\s\s
*$/
,
""
);
if
(
a
==
"
map
"
||
a
==
"
both
"
){
if
(
g
=
h
.
match
(
m
))
for
(
l
=
0
;
l
<
g
.
length
;
l
++
)
h
=
h
.
replace
(
g
[
l
],
s
(
g
[
l
]));
k
.
i18n
.
map
[
o
]
=
h
}
if
(
a
==
"
vars
"
||
a
==
"
both
"
)
if
(
h
=
h
.
replace
(
/"/g
,
'
\\
"
'
),
t
(
o
),
d
.
test
(
h
)){
for
(
var
g
=
h
.
split
(
d
),
l
=!
0
,
j
=
""
,
n
=
[],
p
=
0
;
p
<
g
.
length
;
p
++
)
if
(
d
.
test
(
g
[
p
])
&&
(
n
.
length
==
0
||
n
.
indexOf
(
g
[
p
])
==-
1
))
l
||
(
j
+=
"
,
"
),
j
+=
g
[
p
].
replace
(
q
,
"
v$1
"
),
n
.
push
(
g
[
p
]),
l
=!
1
;
b
+=
o
+
"
=function(
"
+
j
+
"
){
"
;
o
=
'
"
'
+
h
.
replace
(
q
,
'
"+v$1+"
'
)
+
'
"
'
;
b
+=
"
return
"
+
o
+
"
;};
"
}
else
b
+=
o
+
'
="
'
+
h
+
'
";
'
}}
eval
(
b
)}
function
t
(
c
){
if
(
/
\.
/
.
test
(
c
))
for
(
var
a
=
""
,
c
=
c
.
split
(
/
\.
/
),
b
=
0
;
b
<
c
.
length
;
b
++
)
b
>
0
&&
(
a
+=
"
.
"
),
a
+=
c
[
b
],
eval
(
"
typeof
"
+
a
+
'
== "undefined"
'
)
&&
eval
(
a
+
"
={};
"
)}
function
s
(
c
){
var
a
=
[],
c
=
parseInt
(
c
.
substr
(
2
),
16
);
c
>=
0
&&
c
<
Math
.
pow
(
2
,
16
)
&&
a
.
push
(
c
);
for
(
var
c
=
""
,
b
=
0
;
b
<
a
.
length
;
++
b
)
c
+=
String
.
fromCharCode
(
a
[
b
]);
return
c
}
k
.
i18n
=
{};
k
.
i18n
.
map
=
{};
k
.
i18n
.
properties
=
function
(
c
){
c
=
k
.
extend
({
name
:
"
Messages
"
,
language
:
""
,
path
:
""
,
mode
:
"
vars
"
,
cache
:
!
1
,
encoding
:
"
UTF-8
"
,
callback
:
null
},
c
);
if
(
c
.
language
===
null
||
c
.
language
==
""
)
c
.
language
=
k
.
i18n
.
browserLang
();
if
(
c
.
language
===
null
)
c
.
language
=
""
;
var
a
=
c
.
name
&&
c
.
name
.
constructor
==
Array
?
c
.
name
:[
c
.
name
];
for
(
i
=
0
;
i
<
a
.
length
;
i
++
)
n
(
c
.
path
+
a
[
i
]
+
"
.properties
"
,
c
),
c
.
language
.
length
>=
2
&&
n
(
c
.
path
+
a
[
i
]
+
"
_
"
+
c
.
language
.
substring
(
0
,
2
)
+
"
.properties
"
,
c
),
c
.
language
.
length
>=
5
&&
n
(
c
.
path
+
a
[
i
]
+
"
_
"
+
c
.
language
.
substring
(
0
,
5
)
+
"
.properties
"
,
c
);
c
.
callback
&&
c
.
callback
()};
k
.
i18n
.
prop
=
function
(
c
){
var
a
=
k
.
i18n
.
map
[
c
];
if
(
a
==
null
)
return
"
[
"
+
c
+
"
]
"
;
var
b
;
if
(
typeof
a
==
"
string
"
){
for
(
b
=
0
;(
b
=
a
.
indexOf
(
"
\\
"
,
b
))
!=-
1
;)
a
=
a
[
b
+
1
]
==
"
t
"
?
a
.
substring
(
0
,
b
)
+
"
\t
"
+
a
.
substring
(
b
++
+
2
):
a
[
b
+
1
]
==
"
r
"
?
a
.
substring
(
0
,
b
)
+
"
\r
"
+
a
.
substring
(
b
++
+
2
):
a
[
b
+
1
]
==
"
n
"
?
a
.
substring
(
0
,
b
)
+
"
\n
"
+
a
.
substring
(
b
++
+
2
):
a
[
b
+
1
]
==
"
f
"
?
a
.
substring
(
0
,
b
)
+
"
\
u000c
"
+
a
.
substring
(
b
++
+
2
):
a
[
b
+
1
]
==
"
\\
"
?
a
.
substring
(
0
,
b
)
+
"
\\
"
+
a
.
substring
(
b
++
+
2
):
a
.
substring
(
0
,
b
)
+
a
.
substring
(
b
+
1
);
var
e
=
[],
d
,
j
;
for
(
b
=
0
;
b
<
a
.
length
;)
if
(
a
[
b
]
==
"
'
"
)
if
(
b
==
a
.
length
-
1
)
a
=
a
.
substring
(
0
,
b
);
else
if
(
a
[
b
+
1
]
==
"
'
"
)
a
=
a
.
substring
(
0
,
b
)
+
a
.
substring
(
++
b
);
else
{
for
(
d
=
b
+
2
;(
d
=
a
.
indexOf
(
"
'
"
,
d
))
!=-
1
;)
if
(
d
==
a
.
length
-
1
||
a
[
d
+
1
]
!=
"
'
"
){
a
=
a
.
substring
(
0
,
b
)
+
a
.
substring
(
b
+
1
,
d
)
+
a
.
substring
(
d
+
1
);
b
=
d
-
1
;
break
}
else
a
=
a
.
substring
(
0
,
d
)
+
a
.
substring
(
++
d
);
d
==-
1
&&
(
a
=
a
.
substring
(
0
,
b
)
+
a
.
substring
(
b
+
1
))}
else
if
(
a
[
b
]
==
"
{
"
)
if
(
d
=
a
.
indexOf
(
"
}
"
,
b
+
1
),
d
==-
1
)
b
++
;
else
if
(
j
=
parseInt
(
a
.
substring
(
b
+
1
,
d
)),
!
isNaN
(
j
)
&&
j
>=
0
){
var
m
=
a
.
substring
(
0
,
b
);
m
!=
""
&&
e
.
push
(
m
);
e
.
push
(
j
);
b
=
0
;
a
=
a
.
substring
(
d
+
1
)}
else
b
=
d
+
1
;
else
b
++
;
a
!=
""
&&
e
.
push
(
a
);
a
=
e
;
k
.
i18n
.
map
[
c
]
=
e
}
if
(
a
.
length
==
0
)
return
""
;
if
(
a
.
lengh
==
1
&&
typeof
a
[
0
]
==
"
string
"
)
return
a
[
0
];
m
=
""
;
for
(
b
=
0
;
b
<
a
.
length
;
b
++
)
m
+=
typeof
a
[
b
]
==
"
string
"
?
a
[
b
]:
a
[
b
]
+
1
<
arguments
.
length
?
arguments
[
a
[
b
]
+
1
]:
"
{
"
+
a
[
b
]
+
"
}
"
;
return
m
};
k
.
i18n
.
browserLang
=
function
(){
var
c
=
navigator
.
language
||
navigator
.
userLanguage
,
c
=
c
.
toLowerCase
();
c
.
length
>
3
&&
(
c
=
c
.
substring
(
0
,
3
)
+
c
.
substring
(
3
).
toUpperCase
());
return
c
};
var
j
;
if
(
!
j
)
j
=
function
(
c
,
a
,
b
){
if
(
Object
.
prototype
.
toString
.
call
(
a
)
!==
"
[object RegExp]
"
)
return
typeof
j
.
_nativeSplit
==
"
undefined
"
?
c
.
split
(
a
,
b
):
j
.
_nativeSplit
.
call
(
c
,
a
,
b
);
var
e
=
[],
d
=
0
,
k
=
(
a
.
ignoreCase
?
"
i
"
:
""
)
+
(
a
.
multiline
?
"
m
"
:
""
)
+
(
a
.
sticky
?
"
y
"
:
""
),
a
=
RegExp
(
a
.
source
,
k
+
"
g
"
),
m
,
f
,
g
;
c
+=
""
;
j
.
_compliantExecNpcg
||
(
m
=
RegExp
(
"
^
"
+
a
.
source
+
"
$(?!
\\
s)
"
,
k
));
if
(
b
===
void
0
||+
b
<
0
)
b
=
Infinity
;
else
if
(
b
=
Math
.
floor
(
+
b
),
!
b
)
return
[];
for
(;
f
=
a
.
exec
(
c
);){
k
=
f
.
index
+
f
[
0
].
length
;
if
(
k
>
d
&&
(
e
.
push
(
c
.
slice
(
d
,
f
.
index
)),
!
j
.
_compliantExecNpcg
&&
f
.
length
>
1
&&
f
[
0
].
replace
(
m
,
function
(){
for
(
var
a
=
1
;
a
<
arguments
.
length
-
2
;
a
++
)
arguments
[
a
]
===
void
0
&&
(
f
[
a
]
=
void
0
)}),
f
.
length
>
1
&&
f
.
index
<
c
.
length
&&
Array
.
prototype
.
push
.
apply
(
e
,
f
.
slice
(
1
)),
g
=
f
[
0
].
length
,
d
=
k
,
e
.
length
>=
b
))
break
;
a
.
lastIndex
===
f
.
index
&&
a
.
lastIndex
++
}
d
===
c
.
length
?(
g
||!
a
.
test
(
""
))
&&
e
.
push
(
""
):
e
.
push
(
c
.
slice
(
d
));
return
e
.
length
>
b
?
e
.
slice
(
0
,
b
):
e
},
j
.
_compliantExecNpcg
=
/
()??
/
.
exec
(
""
)[
1
]
===
void
0
,
j
.
_nativeSplit
=
String
.
prototype
.
split
;
String
.
prototype
.
split
=
function
(
c
,
a
){
return
j
(
this
,
c
,
a
)}})(
jQuery
);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment