Compare commits
3635 Commits
r3.0.0-alp
...
v3.0.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a549df459b | ||
|
|
d71ccf64b9 | ||
|
|
87d651af04 | ||
|
|
1970285066 | ||
|
|
bb50d5936f | ||
|
|
f5c80f40bd | ||
|
|
7c29fe974b | ||
|
|
adad57d481 | ||
|
|
aa5a08a377 | ||
|
|
3cc1dad2e0 | ||
|
|
877e881a52 | ||
|
|
0200ee4f48 | ||
|
|
4d0d2500a2 | ||
|
|
e9b4e42d84 | ||
|
|
0ec5201f3a | ||
|
|
66d5d1d277 | ||
|
|
f4585331f2 | ||
|
|
477c369f6c | ||
|
|
a1f714f7dc | ||
|
|
a185fc963d | ||
|
|
620a38d3e9 | ||
|
|
10d5073732 | ||
|
|
76f6961f83 | ||
|
|
c64c24d3dc | ||
|
|
6abb691224 | ||
|
|
b309c44020 | ||
|
|
1072f6dfa7 | ||
|
|
5c21f24df5 | ||
|
|
499ba4ac8f | ||
|
|
672fc681ec | ||
|
|
990a852d4f | ||
|
|
56a39e936f | ||
|
|
03beeafc21 | ||
|
|
dfc57e9db4 | ||
|
|
32e527458b | ||
|
|
c31d423717 | ||
|
|
a178712f6b | ||
|
|
5b8e85afbd | ||
|
|
02b4e7cced | ||
|
|
bb7a1c11f6 | ||
|
|
0007b5e3ec | ||
|
|
4cb4ab89db | ||
|
|
20402a6e71 | ||
|
|
5cc3983cdb | ||
|
|
a74da436d2 | ||
|
|
1924e2b9b3 | ||
|
|
196f6cccfd | ||
|
|
f8a748d7f4 | ||
|
|
56a1f053ff | ||
|
|
715966a8d1 | ||
|
|
709c17192a | ||
|
|
581b2d345d | ||
|
|
e6e8037269 | ||
|
|
aa8bbe4c7b | ||
|
|
b7757e6a1d | ||
|
|
0764ea99ee | ||
|
|
e0765240a2 | ||
|
|
b0698443ab | ||
|
|
cd8977fca1 | ||
|
|
ee33cbc525 | ||
|
|
304e7c7df7 | ||
|
|
03624b5f78 | ||
|
|
433fab0cbf | ||
|
|
3a7c80dfda | ||
|
|
8edcc7e161 | ||
|
|
f122778c6d | ||
|
|
740b398341 | ||
|
|
8536bb3d8f | ||
|
|
f06adff56c | ||
|
|
f6629fae6c | ||
|
|
e3deb03e71 | ||
|
|
25ba60db9f | ||
|
|
919fbe335f | ||
|
|
f9b6eabfef | ||
|
|
0272659118 | ||
|
|
c95ffe381b | ||
|
|
72675bf6ad | ||
|
|
5325af26d6 | ||
|
|
9d591ba7ef | ||
|
|
e64766f01f | ||
|
|
a60203f931 | ||
|
|
ca0a6473c8 | ||
|
|
5f81a3f745 | ||
|
|
d4ca02c92d | ||
|
|
2fc15a5bf0 | ||
|
|
6db054353f | ||
|
|
108b3266de | ||
|
|
ecf89b8e45 | ||
|
|
d288c5b4eb | ||
|
|
f3c764ce3c | ||
|
|
2ad11608ce | ||
|
|
ad1cec84a1 | ||
|
|
1c4926b591 | ||
|
|
933ef64db1 | ||
|
|
fb637aedca | ||
|
|
20ea1b5141 | ||
|
|
a1d20182fe | ||
|
|
3155d681be | ||
|
|
5227d01572 | ||
|
|
3d1e4db8ff | ||
|
|
b5617cd204 | ||
|
|
3bb90c5b4c | ||
|
|
b0c6fd7502 | ||
|
|
dade8e4e1a | ||
|
|
55c99db238 | ||
|
|
b901fba742 | ||
|
|
37d5a4af65 | ||
|
|
ae215c7c0b | ||
|
|
0475705a49 | ||
|
|
d4ebfac74a | ||
|
|
3408b8b835 | ||
|
|
88c8783271 | ||
|
|
e53d7e954b | ||
|
|
901af3c15f | ||
|
|
84fd853dc1 | ||
|
|
2cef7b98fd | ||
|
|
9af436b5a0 | ||
|
|
dc2bb57d18 | ||
|
|
14f40e6f47 | ||
|
|
a58aa0a40d | ||
|
|
41f193e8b9 | ||
|
|
8701942d40 | ||
|
|
261832c629 | ||
|
|
55811b3a11 | ||
|
|
09d5d31fc7 | ||
|
|
57f77bb444 | ||
|
|
c6cc15fdc8 | ||
|
|
1acc542bb6 | ||
|
|
09beba69ad | ||
|
|
eb01c72b55 | ||
|
|
f1276e86a1 | ||
|
|
8f9e2ea88d | ||
|
|
f2c18fafb8 | ||
|
|
45495869a5 | ||
|
|
90155ad519 | ||
|
|
b5da2d387b | ||
|
|
c12f47befa | ||
|
|
2993efb04f | ||
|
|
16b4c5c90e | ||
|
|
c2d0cab07a | ||
|
|
90c41523a2 | ||
|
|
d13d2fdc6a | ||
|
|
63aadc5c0f | ||
|
|
f9e04ad7d5 | ||
|
|
b43dd6db44 | ||
|
|
c2fe25ee26 | ||
|
|
065663b242 | ||
|
|
bf8520096e | ||
|
|
78aef2f58c | ||
|
|
ae2b3359f8 | ||
|
|
3626ff5b16 | ||
|
|
286284b0c4 | ||
|
|
7f64a09e3c | ||
|
|
09326519d3 | ||
|
|
c94b78144f | ||
|
|
ce721bc42f | ||
|
|
e0db06c39a | ||
|
|
95bef8d7d2 | ||
|
|
ef27ed7aef | ||
|
|
43e42d959d | ||
|
|
629558971d | ||
|
|
a4101d52cf | ||
|
|
336ee808de | ||
|
|
03b7d6ee92 | ||
|
|
7930d1a129 | ||
|
|
ef200e8b03 | ||
|
|
0fa60fc0c6 | ||
|
|
6aef5eed74 | ||
|
|
2b46c037d7 | ||
|
|
3436c7e6f9 | ||
|
|
298674d14f | ||
|
|
27f45d73ba | ||
|
|
ff4f4be8aa | ||
|
|
9ffed5bf5f | ||
|
|
74a9a155b1 | ||
|
|
c9ca219286 | ||
|
|
fb360c019e | ||
|
|
de3b315ad7 | ||
|
|
dfe3927a12 | ||
|
|
b4d2ab5c13 | ||
|
|
48cf5926b8 | ||
|
|
b0849cc85c | ||
|
|
e16de6f8af | ||
|
|
d891670950 | ||
|
|
d3b2b1cd9e | ||
|
|
1215f58241 | ||
|
|
eebf730b66 | ||
|
|
f7ec082411 | ||
|
|
0e05cd2263 | ||
|
|
40276ab6ba | ||
|
|
0b4b6e2a75 | ||
|
|
7fb2088a22 | ||
|
|
c038c0cb06 | ||
|
|
9495a8cec4 | ||
|
|
b5fefc9ab3 | ||
|
|
184118082e | ||
|
|
a769bba65e | ||
|
|
7940a2fc64 | ||
|
|
91e9b82fe1 | ||
|
|
60fe8efca1 | ||
|
|
17fba61bf2 | ||
|
|
cd1355a699 | ||
|
|
f22495871c | ||
|
|
d2b7ab697f | ||
|
|
cd7df92891 | ||
|
|
99aa9f207d | ||
|
|
a5bb4632e5 | ||
|
|
b63d0083f2 | ||
|
|
34e75e2653 | ||
|
|
6f665c1280 | ||
|
|
591a6cd9d2 | ||
|
|
2b268e284e | ||
|
|
62114a73e2 | ||
|
|
dd526b5581 | ||
|
|
3c981da304 | ||
|
|
ceec3c985d | ||
|
|
d40440e028 | ||
|
|
356f86d8f7 | ||
|
|
ff11ed2e1e | ||
|
|
169bdbc16f | ||
|
|
10f03374f3 | ||
|
|
07b16edaf7 | ||
|
|
2f004b1147 | ||
|
|
0c99e0a2ff | ||
|
|
a91e6e2442 | ||
|
|
cf5aada8cf | ||
|
|
c61e74f3dc | ||
|
|
016efd22d1 | ||
|
|
0377df5e06 | ||
|
|
447814e1a9 | ||
|
|
ea65836edd | ||
|
|
c5cf2ccd16 | ||
|
|
4beb48fa3d | ||
|
|
6455c920f6 | ||
|
|
d2cd0808a8 | ||
|
|
a1e814134b | ||
|
|
3ce6c295be | ||
|
|
6e322bdf0b | ||
|
|
b567b888b0 | ||
|
|
1f4ab82210 | ||
|
|
46396ad0f7 | ||
|
|
81eed8ea01 | ||
|
|
b6a7bc1248 | ||
|
|
f24bd65f40 | ||
|
|
c29b88c0e2 | ||
|
|
a780936805 | ||
|
|
3c16e03ae2 | ||
|
|
60f104c895 | ||
|
|
745da0cfc3 | ||
|
|
e2b2c7f3e0 | ||
|
|
5645a7e603 | ||
|
|
37f31c25df | ||
|
|
131f22efa5 | ||
|
|
0137987015 | ||
|
|
16d98c5506 | ||
|
|
09027316f5 | ||
|
|
090e3cbdd6 | ||
|
|
fec7d21f62 | ||
|
|
4fb82961df | ||
|
|
40eb21f445 | ||
|
|
e251527284 | ||
|
|
db4c7d5d74 | ||
|
|
a37199675c | ||
|
|
8e46c91bae | ||
|
|
155d204938 | ||
|
|
23ade59d2f | ||
|
|
846d75bf77 | ||
|
|
8731766f63 | ||
|
|
6f0947a697 | ||
|
|
4917cc8437 | ||
|
|
33dd1371c8 | ||
|
|
b43148982a | ||
|
|
0413dcb562 | ||
|
|
76145fde74 | ||
|
|
5590ae2a48 | ||
|
|
6be4638aa0 | ||
|
|
54e340f281 | ||
|
|
1427d5284f | ||
|
|
1e55c69a32 | ||
|
|
4178d3f434 | ||
|
|
ccfae72e8e | ||
|
|
26a81a05ce | ||
|
|
608e3c43b1 | ||
|
|
a603ad86e9 | ||
|
|
d033801a84 | ||
|
|
2dd6cfd651 | ||
|
|
dc9cb31c27 | ||
|
|
415b5ad85e | ||
|
|
fdc80c4f97 | ||
|
|
33ac759d35 | ||
|
|
b38858952f | ||
|
|
f8570137ed | ||
|
|
337def8089 | ||
|
|
8f50d0f097 | ||
|
|
e10bb6d3aa | ||
|
|
88f0f99fa3 | ||
|
|
43720fc81d | ||
|
|
0ed865efe4 | ||
|
|
c4b7a32751 | ||
|
|
08ec3480ed | ||
|
|
ce1da8b57a | ||
|
|
2b42e89580 | ||
|
|
aff32ab676 | ||
|
|
82341c779a | ||
|
|
00962d69f1 | ||
|
|
df9369e663 | ||
|
|
d45c4285c3 | ||
|
|
5e64e08d54 | ||
|
|
8383f761cf | ||
|
|
e08b2bd0bf | ||
|
|
b6af02a762 | ||
|
|
7e020e4d26 | ||
|
|
8b128ece81 | ||
|
|
2f50b9dc84 | ||
|
|
ce3209a439 | ||
|
|
c5dd7988c9 | ||
|
|
18bbf5bcec | ||
|
|
e85cc8b80e | ||
|
|
7516aab1ca | ||
|
|
c8999a5e52 | ||
|
|
a52dbbb09e | ||
|
|
0a537d5e86 | ||
|
|
a0d79fe98c | ||
|
|
ae5f5ee96d | ||
|
|
97cabd273a | ||
|
|
1ada9dfea5 | ||
|
|
6e91ee6bdd | ||
|
|
65dea74427 | ||
|
|
63bcf684f7 | ||
|
|
61ed9a106c | ||
|
|
9c91cb4fe4 | ||
|
|
21e960d6a5 | ||
|
|
86a4cad37e | ||
|
|
d4db171a3c | ||
|
|
3196afb4c7 | ||
|
|
28d2d96fc7 | ||
|
|
d36fcc1f69 | ||
|
|
2b71154bb2 | ||
|
|
318fc68159 | ||
|
|
73490be2b9 | ||
|
|
d49d96d651 | ||
|
|
0eb72667c9 | ||
|
|
ea22feed99 | ||
|
|
4735f66934 | ||
|
|
6bc11142e8 | ||
|
|
f0c1f03ae7 | ||
|
|
b674bfc55c | ||
|
|
77b5790c54 | ||
|
|
63c321b980 | ||
|
|
0ff229eb2c | ||
|
|
60a34ca1ea | ||
|
|
390b61762e | ||
|
|
ec81a77cdb | ||
|
|
df0912bdd3 | ||
|
|
37351c530c | ||
|
|
45350a34ed | ||
|
|
3d68a3550e | ||
|
|
1e52d30d59 | ||
|
|
498d05a44c | ||
|
|
2fc884a3d9 | ||
|
|
e6c4fd973a | ||
|
|
07a717d967 | ||
|
|
0a5ab24a0c | ||
|
|
5ff2fcacb8 | ||
|
|
b8b93d3349 | ||
|
|
1dfe571b76 | ||
|
|
1b35d0afbb | ||
|
|
80bb95e553 | ||
|
|
797b220b6c | ||
|
|
c372a5cc53 | ||
|
|
de2c8e9c8a | ||
|
|
acc974d664 | ||
|
|
295d4fbaa3 | ||
|
|
271caef342 | ||
|
|
64ccfdc805 | ||
|
|
7b09e04001 | ||
|
|
401acc77f3 | ||
|
|
a56e3766ab | ||
|
|
f98beb473b | ||
|
|
9fe5eff865 | ||
|
|
cb25267341 | ||
|
|
827ae44a5f | ||
|
|
81962f4860 | ||
|
|
3aaa0dd0f7 | ||
|
|
777fc2f961 | ||
|
|
de8ebfc342 | ||
|
|
996f193deb | ||
|
|
518571a031 | ||
|
|
89a0208904 | ||
|
|
e77a5b61d5 | ||
|
|
b2dc097650 | ||
|
|
6cb02724da | ||
|
|
ffe1ad5fe3 | ||
|
|
c358cb7cfe | ||
|
|
6df6a26764 | ||
|
|
ff4b85811d | ||
|
|
898ad63a8b | ||
|
|
9a68f27eae | ||
|
|
b2819a2332 | ||
|
|
cbe1650c79 | ||
|
|
c12cb94cf3 | ||
|
|
913038a124 | ||
|
|
0971dad122 | ||
|
|
b7ed585e31 | ||
|
|
d5e36d17a0 | ||
|
|
8284043bf9 | ||
|
|
e01c0148e4 | ||
|
|
d39a5cec75 | ||
|
|
d35c40f81f | ||
|
|
4d88d53146 | ||
|
|
ffc27719ea | ||
|
|
04092dac75 | ||
|
|
8e372f8db0 | ||
|
|
6552046aa0 | ||
|
|
5b5865d48e | ||
|
|
ff73f080b3 | ||
|
|
36387adf3f | ||
|
|
42865ab8c3 | ||
|
|
084b4cb22a | ||
|
|
f091c804d6 | ||
|
|
f9e0167b66 | ||
|
|
1333c733e0 | ||
|
|
7f9fd3db5e | ||
|
|
863e77e16e | ||
|
|
ebbbcea30b | ||
|
|
08dbffd763 | ||
|
|
edcb38232f | ||
|
|
911cb302e8 | ||
|
|
9f4a9e788c | ||
|
|
9c195eb314 | ||
|
|
0219ddc60f | ||
|
|
b4c3db273a | ||
|
|
52740a3904 | ||
|
|
8a7484c0de | ||
|
|
fa33eeb3c5 | ||
|
|
ace6c1d098 | ||
|
|
5f5b37f1b6 | ||
|
|
8b52adfce3 | ||
|
|
8b5b9a0b77 | ||
|
|
432d10a457 | ||
|
|
84be78b35a | ||
|
|
9d6d0e03c2 | ||
|
|
cdfed15d43 | ||
|
|
646dd18149 | ||
|
|
a8eb6ab336 | ||
|
|
0844af9ed0 | ||
|
|
ee112826bb | ||
|
|
6171ed7cdf | ||
|
|
3e95df495e | ||
|
|
52a0263310 | ||
|
|
2da724572a | ||
|
|
6f0f42040c | ||
|
|
5bee477734 | ||
|
|
ad8833cc57 | ||
|
|
8b9c3558ee | ||
|
|
8d60faeab7 | ||
|
|
eb19000a06 | ||
|
|
3327f9223b | ||
|
|
f1fa0fcfc6 | ||
|
|
7cf69d0f58 | ||
|
|
d4eefc22d9 | ||
|
|
d4d28e593d | ||
|
|
785c5a0339 | ||
|
|
637bd77531 | ||
|
|
a80e44a448 | ||
|
|
2940eb10fa | ||
|
|
4d7306bdda | ||
|
|
cdf896c776 | ||
|
|
c74f0ba0e3 | ||
|
|
eefb909c86 | ||
|
|
d9437e469d | ||
|
|
3ae526efc5 | ||
|
|
246ac7e3e6 | ||
|
|
4e21333503 | ||
|
|
2a531136fc | ||
|
|
e83ec2976f | ||
|
|
c2c8a9ed18 | ||
|
|
6c3c8332d9 | ||
|
|
27fed257ff | ||
|
|
ee91a99056 | ||
|
|
729be27662 | ||
|
|
7d5b1265b7 | ||
|
|
7fc274c750 | ||
|
|
e65ce68e03 | ||
|
|
917b6cda8f | ||
|
|
fa89c1c3a3 | ||
|
|
14dafbd26a | ||
|
|
08b579ccf4 | ||
|
|
85217cdbb2 | ||
|
|
6eab8a9194 | ||
|
|
00286de2c8 | ||
|
|
94ba7e807e | ||
|
|
5ae54133db | ||
|
|
91b0831c68 | ||
|
|
7cfca09632 | ||
|
|
92b852c512 | ||
|
|
36d22b7883 | ||
|
|
27ad19a613 | ||
|
|
eb3c8a8bfc | ||
|
|
a83df1ee30 | ||
|
|
bb758c7ee9 | ||
|
|
af45161ea2 | ||
|
|
58d90e31ff | ||
|
|
c8e7c9f64e | ||
|
|
1dce04b6ec | ||
|
|
938d74a785 | ||
|
|
d2e8b9f3bb | ||
|
|
a69f62e238 | ||
|
|
000e9ad82d | ||
|
|
dfbdd61701 | ||
|
|
979b7485b5 | ||
|
|
a139814b2f | ||
|
|
2ccec58878 | ||
|
|
a7426a82ff | ||
|
|
2253be7adc | ||
|
|
7ca5c50570 | ||
|
|
977f5cf5b2 | ||
|
|
0c42d04295 | ||
|
|
31a51cf398 | ||
|
|
091888aaca | ||
|
|
68b0f42e3c | ||
|
|
58fef69fac | ||
|
|
33f0024747 | ||
|
|
f3349fbf87 | ||
|
|
21fcbdd8c9 | ||
|
|
bb2ab4d71e | ||
|
|
71a6897223 | ||
|
|
af8e92c0bf | ||
|
|
4a18554353 | ||
|
|
fdea683242 | ||
|
|
d132d22f4d | ||
|
|
15395476a3 | ||
|
|
651bdcbd73 | ||
|
|
1df516e14d | ||
|
|
010f643f8f | ||
|
|
4d5a248803 | ||
|
|
176c873830 | ||
|
|
086bb47b8c | ||
|
|
b95e61cf5c | ||
|
|
4667dec7c3 | ||
|
|
d5c1e53e48 | ||
|
|
5a764ac5ab | ||
|
|
84f2030f4b | ||
|
|
049ceb2ada | ||
|
|
7f12ac90da | ||
|
|
b920f51010 | ||
|
|
d63067f18e | ||
|
|
56547681c3 | ||
|
|
4d619d71b1 | ||
|
|
43c40e14c8 | ||
|
|
50a322208a | ||
|
|
da31e62199 | ||
|
|
99eca3037d | ||
|
|
5886d0dec0 | ||
|
|
f0d9a451e5 | ||
|
|
8dde621e61 | ||
|
|
825c5290f6 | ||
|
|
5052bef4a5 | ||
|
|
e76ec3b292 | ||
|
|
a8f5dff9cf | ||
|
|
5df47634f3 | ||
|
|
b2b74a5ee6 | ||
|
|
3647f13e2e | ||
|
|
9050746d58 | ||
|
|
542cf80da9 | ||
|
|
b52b2223a6 | ||
|
|
6c30710d0c | ||
|
|
a15bacd963 | ||
|
|
ee17babc05 | ||
|
|
849e50517c | ||
|
|
4cd2a75900 | ||
|
|
f7be1c155e | ||
|
|
006364c791 | ||
|
|
69b36e7b7b | ||
|
|
f058d54277 | ||
|
|
474b4a444b | ||
|
|
54e1fd3a41 | ||
|
|
3835c299b5 | ||
|
|
6948fc4318 | ||
|
|
610eefb932 | ||
|
|
2f2b6dd510 | ||
|
|
8b38639082 | ||
|
|
3f851ad392 | ||
|
|
6e43692440 | ||
|
|
36dc0b88e1 | ||
|
|
b7e906fe09 | ||
|
|
e4b815d4d6 | ||
|
|
ffcd4e8cc2 | ||
|
|
932bc36d7a | ||
|
|
9aba98797a | ||
|
|
79c8f17e83 | ||
|
|
e9db2eefb9 | ||
|
|
164170e593 | ||
|
|
f68631d61c | ||
|
|
f5ce88789e | ||
|
|
15b649ecd4 | ||
|
|
b53ddf5b42 | ||
|
|
752ac584b0 | ||
|
|
babd133cf6 | ||
|
|
d5b7527f1f | ||
|
|
339c6d3b5b | ||
|
|
a9d56bb74b | ||
|
|
b3293a7e64 | ||
|
|
b76289acb8 | ||
|
|
9217f14761 | ||
|
|
d74519bb21 | ||
|
|
db4a128951 | ||
|
|
f78a668ce3 | ||
|
|
29e3794845 | ||
|
|
b5db7fd2a9 | ||
|
|
7e0bd6dca1 | ||
|
|
2b8e87f17f | ||
|
|
251ebbcbac | ||
|
|
ab0268a8f1 | ||
|
|
fd52fc8b74 | ||
|
|
69cd19f3fd | ||
|
|
80962b0bf9 | ||
|
|
f27e42068f | ||
|
|
235af49f0b | ||
|
|
d2d4e5e698 | ||
|
|
8c1f7f9b29 | ||
|
|
e4b5f309eb | ||
|
|
2ed5e2a3d7 | ||
|
|
2633d8784c | ||
|
|
542f478ca1 | ||
|
|
36e2e51899 | ||
|
|
dd44c0c960 | ||
|
|
af2fb1ad42 | ||
|
|
923bb3f36c | ||
|
|
1f0183cc03 | ||
|
|
e83e79626a | ||
|
|
5af738593e | ||
|
|
0cc844a169 | ||
|
|
3b3b5013ad | ||
|
|
04a0369d68 | ||
|
|
807bf757af | ||
|
|
cee014ec9e | ||
|
|
c5a5acbf89 | ||
|
|
46d8b81661 | ||
|
|
86f23aa615 | ||
|
|
784f3500f2 | ||
|
|
bcf38b1b21 | ||
|
|
9961e489cb | ||
|
|
1d9d67f524 | ||
|
|
bed7084200 | ||
|
|
1bf678bef2 | ||
|
|
e9d8401786 | ||
|
|
95f1871ac4 | ||
|
|
8d18f25296 | ||
|
|
079cd585e6 | ||
|
|
b52a4b084e | ||
|
|
5f7e53617b | ||
|
|
7ce7bb2187 | ||
|
|
b13256735e | ||
|
|
db85936de2 | ||
|
|
80cae77161 | ||
|
|
9f79d33486 | ||
|
|
dcd2853d2d | ||
|
|
6b94baf291 | ||
|
|
2cc4dd8985 | ||
|
|
e3810b5027 | ||
|
|
34260399e7 | ||
|
|
b508469d22 | ||
|
|
1e334bffdb | ||
|
|
7bf6fd59a0 | ||
|
|
3f751a5903 | ||
|
|
73fcff641e | ||
|
|
ea678ef195 | ||
|
|
78d20056f5 | ||
|
|
473a11c697 | ||
|
|
1b48572c6e | ||
|
|
34e75b3d9d | ||
|
|
0fa748699a | ||
|
|
8c61dbef8a | ||
|
|
fd6756e465 | ||
|
|
47056f6012 | ||
|
|
2bdae3d08a | ||
|
|
49120e4761 | ||
|
|
5efc692b9d | ||
|
|
1acdef835d | ||
|
|
7487f97436 | ||
|
|
09e5574350 | ||
|
|
a0a94414dd | ||
|
|
a1ffa170a9 | ||
|
|
643c981074 | ||
|
|
2ab1082737 | ||
|
|
6556726541 | ||
|
|
8c0406b390 | ||
|
|
0b4970ae46 | ||
|
|
c816d0105d | ||
|
|
f2dbf4c145 | ||
|
|
a313331098 | ||
|
|
fdb154f5d7 | ||
|
|
4e4e3c24b4 | ||
|
|
dacb747eb5 | ||
|
|
b8bc7b3a2a | ||
|
|
0fda88dca3 | ||
|
|
99b68ff6ba | ||
|
|
125b65e82d | ||
|
|
6052620acf | ||
|
|
40fdd8a637 | ||
|
|
8da1c95cf2 | ||
|
|
ffb68c951a | ||
|
|
12f1d97f82 | ||
|
|
051c0a8b46 | ||
|
|
6db8f0c29f | ||
|
|
3f1d74a0f5 | ||
|
|
84fc86f469 | ||
|
|
e9110923a4 | ||
|
|
2f7064f0e8 | ||
|
|
bedfb828d8 | ||
|
|
32555a606d | ||
|
|
b4800dc637 | ||
|
|
b795ddf430 | ||
|
|
1a80273d6f | ||
|
|
7682dbc235 | ||
|
|
6b10ea887e | ||
|
|
a0a3fa3bdf | ||
|
|
0b4e8bf6f1 | ||
|
|
7808ed9ce9 | ||
|
|
69f0de2739 | ||
|
|
6b9268fe56 | ||
|
|
72dc5f297d | ||
|
|
d092b2f645 | ||
|
|
fcd4413dc6 | ||
|
|
eb9208fd9a | ||
|
|
d20a8eac3f | ||
|
|
d894422b2d | ||
|
|
1499af397d | ||
|
|
c97588c1e2 | ||
|
|
7ee2747948 | ||
|
|
8ed6d760f7 | ||
|
|
58b4d73f3b | ||
|
|
2a47bf0775 | ||
|
|
2d971ed58f | ||
|
|
f4ab0cbac0 | ||
|
|
c599ceb43d | ||
|
|
6ea1482ecf | ||
|
|
b049094391 | ||
|
|
061fed50b7 | ||
|
|
fec4fd6d2f | ||
|
|
2ebfba2235 | ||
|
|
6dd504dcb2 | ||
|
|
975dd31012 | ||
|
|
b5b3e22db9 | ||
|
|
1e54947ebb | ||
|
|
6da95e49d2 | ||
|
|
0e7a545871 | ||
|
|
c6a1967cce | ||
|
|
da396039ce | ||
|
|
46267a9059 | ||
|
|
3461b026b6 | ||
|
|
47d9fd354b | ||
|
|
39cf993b39 | ||
|
|
1142d55565 | ||
|
|
d25ee8df0a | ||
|
|
699cfb3e31 | ||
|
|
c1ceb60f50 | ||
|
|
8c0e2d3c1a | ||
|
|
3769d220d9 | ||
|
|
310d0dc792 | ||
|
|
752a2acd11 | ||
|
|
2342f83a48 | ||
|
|
94c22055be | ||
|
|
6006d24232 | ||
|
|
8fb44e024b | ||
|
|
4f312f65f0 | ||
|
|
50b41f93f3 | ||
|
|
2d4b0cfc47 | ||
|
|
9ea44d10ce | ||
|
|
78504831e6 | ||
|
|
b1bc7317c7 | ||
|
|
e99075a452 | ||
|
|
588846fa44 | ||
|
|
c85fe457a7 | ||
|
|
969c32a883 | ||
|
|
541fb17773 | ||
|
|
71b91cd16a | ||
|
|
94fa3fb211 | ||
|
|
36826d2e0b | ||
|
|
b1da2c78f2 | ||
|
|
34c85d8ade | ||
|
|
4ad63725d9 | ||
|
|
54d388f8fa | ||
|
|
786d74ce88 | ||
|
|
2646ac8eb1 | ||
|
|
0b51772b8c | ||
|
|
e9984334a6 | ||
|
|
5514ede191 | ||
|
|
1f0c70fec3 | ||
|
|
979083bb21 | ||
|
|
ead127aaec | ||
|
|
86374d1fde | ||
|
|
5a39927846 | ||
|
|
a9ccbd2b1e | ||
|
|
4a96eaff60 | ||
|
|
f58c2b8873 | ||
|
|
81ea704043 | ||
|
|
f5b9687479 | ||
|
|
c599c649ab | ||
|
|
8d1f56a7cb | ||
|
|
2407ee1db9 | ||
|
|
422966668d | ||
|
|
e183a2daf1 | ||
|
|
d68a88da26 | ||
|
|
1a78c17713 | ||
|
|
31c2f79772 | ||
|
|
0c39109b36 | ||
|
|
a12bf20437 | ||
|
|
30736fbe88 | ||
|
|
2b51d6af00 | ||
|
|
0bf34a52ff | ||
|
|
0c047f094f | ||
|
|
f3948c8741 | ||
|
|
72ea0a10fc | ||
|
|
f93a404adf | ||
|
|
8354400e52 | ||
|
|
c2330b9786 | ||
|
|
adfe20dd12 | ||
|
|
43b8a72e62 | ||
|
|
bd247fa5d7 | ||
|
|
6532d6e8f8 | ||
|
|
be55ea5f88 | ||
|
|
8a7ae264e1 | ||
|
|
4b9451de81 | ||
|
|
bc36c2a366 | ||
|
|
f0b14521a4 | ||
|
|
0eb00ba86b | ||
|
|
cf8adffdb2 | ||
|
|
eb840777e8 | ||
|
|
18f9eeab12 | ||
|
|
de329b02d3 | ||
|
|
0960584cfc | ||
|
|
6b305cd146 | ||
|
|
91a61f3152 | ||
|
|
0724300685 | ||
|
|
712f451179 | ||
|
|
0b6e1e91c0 | ||
|
|
eaf6d7caef | ||
|
|
e789d9a6fe | ||
|
|
432c6d8af3 | ||
|
|
7de4a9e2cb | ||
|
|
1a3218266c | ||
|
|
5c517cde19 | ||
|
|
33bf2b746f | ||
|
|
fd5924dd13 | ||
|
|
2eba705ccc | ||
|
|
828c35d239 | ||
|
|
c859dd0e94 | ||
|
|
d81efbcd13 | ||
|
|
782616c1bb | ||
|
|
cd8a5fbe4d | ||
|
|
904578f694 | ||
|
|
1d8f81d637 | ||
|
|
578699970e | ||
|
|
07c20c93fc | ||
|
|
befd1fc5f8 | ||
|
|
986f6559b7 | ||
|
|
af7b410d14 | ||
|
|
e4ea8a750e | ||
|
|
5f3d018476 | ||
|
|
bfba52aef4 | ||
|
|
fe2f028777 | ||
|
|
b3f77b4d68 | ||
|
|
c6b961782a | ||
|
|
d82f1f8e02 | ||
|
|
9524a46f41 | ||
|
|
2a6979e15a | ||
|
|
1277b0ffd3 | ||
|
|
fd902008a2 | ||
|
|
9bf445c37f | ||
|
|
06ba19896c | ||
|
|
8fb729258d | ||
|
|
1cb70592d7 | ||
|
|
b2c822c9ca | ||
|
|
f1fac356dd | ||
|
|
3af6521ee3 | ||
|
|
0912c8f6ea | ||
|
|
e6c66d3678 | ||
|
|
387fcfbdb0 | ||
|
|
491482870b | ||
|
|
bd35cd89e6 | ||
|
|
511f79ebee | ||
|
|
84e98b4422 | ||
|
|
f22f1e1f04 | ||
|
|
c9c8fad01a | ||
|
|
ad945e6331 | ||
|
|
47a1ec3a00 | ||
|
|
0dad9f49c7 | ||
|
|
44d310bb6d | ||
|
|
d4d9cb6a3a | ||
|
|
5cd3ab06fc | ||
|
|
e4f2a7552e | ||
|
|
484c5b2fe3 | ||
|
|
16047ff852 | ||
|
|
8fdd178d0a | ||
|
|
1e24ec28be | ||
|
|
fe7b614f22 | ||
|
|
2bd0f8ae3e | ||
|
|
59910339cd | ||
|
|
ebcc6ab509 | ||
|
|
a5089a0e0c | ||
|
|
57814aba04 | ||
|
|
41ec0fd79b | ||
|
|
722bf3e0b2 | ||
|
|
864d4d95e5 | ||
|
|
573b15182c | ||
|
|
faf6722c84 | ||
|
|
ee1ac6b23c | ||
|
|
a97e3d036b | ||
|
|
d2d801d8a6 | ||
|
|
6afd711c66 | ||
|
|
1b22ea0677 | ||
|
|
4b9de0a93c | ||
|
|
e44aa1e14a | ||
|
|
c786b91f3c | ||
|
|
65a75399c2 | ||
|
|
8e1107070b | ||
|
|
61f5871e90 | ||
|
|
fead554a39 | ||
|
|
fc7c82e86c | ||
|
|
009f9328a8 | ||
|
|
0795b47043 | ||
|
|
7cadb6824e | ||
|
|
28738af844 | ||
|
|
0e75e971d9 | ||
|
|
cd500b2917 | ||
|
|
81d2e74abb | ||
|
|
add3cf2233 | ||
|
|
59df68fe68 | ||
|
|
9466101a47 | ||
|
|
ee9f50911c | ||
|
|
fb32a167b3 | ||
|
|
97ed71dfe2 | ||
|
|
4fc6c36724 | ||
|
|
779ea26f81 | ||
|
|
7fe684a6d4 | ||
|
|
3df49423ad | ||
|
|
5bb6dbfef3 | ||
|
|
5520cc530d | ||
|
|
a97e115100 | ||
|
|
c8038f7855 | ||
|
|
42a2f7aab9 | ||
|
|
b6ec5838f7 | ||
|
|
62e8803287 | ||
|
|
79718151b7 | ||
|
|
73f24cf7b0 | ||
|
|
35be1db6a5 | ||
|
|
fa31c99563 | ||
|
|
3e83809880 | ||
|
|
1b084dba06 | ||
|
|
0d235e7efc | ||
|
|
9c8227bb4f | ||
|
|
89141eec11 | ||
|
|
9bc92b2166 | ||
|
|
dc69e02438 | ||
|
|
76bddcf042 | ||
|
|
8e6b686f3d | ||
|
|
c84782bfc6 | ||
|
|
db322f9ade | ||
|
|
78ec21fb85 | ||
|
|
ca0b77d0e3 | ||
|
|
1d1dbb08c9 | ||
|
|
ed332dba19 | ||
|
|
1864f204f7 | ||
|
|
36a5a53ba2 | ||
|
|
d187849838 | ||
|
|
3cf87ced1e | ||
|
|
461a0d0615 | ||
|
|
79ade07fb7 | ||
|
|
e6d576c421 | ||
|
|
45ea10ede2 | ||
|
|
d80c327515 | ||
|
|
a2b24d86f9 | ||
|
|
20207fbdb5 | ||
|
|
d3f90418df | ||
|
|
60ea9d5826 | ||
|
|
6533aa4aba | ||
|
|
856a16b43e | ||
|
|
fde0350414 | ||
|
|
a0b71d22e4 | ||
|
|
01d4990a1b | ||
|
|
54fb2b4c20 | ||
|
|
e229aab76a | ||
|
|
d8c81773ca | ||
|
|
fc4364e373 | ||
|
|
cb2727544a | ||
|
|
af6f4fa77e | ||
|
|
bf9ea3368c | ||
|
|
3fe81e451a | ||
|
|
beefa6845f | ||
|
|
fe1f98899f | ||
|
|
0b4b6c44b5 | ||
|
|
983cf51a8c | ||
|
|
50e5ffc8d6 | ||
|
|
83e34bfc8d | ||
|
|
ec1ee5538a | ||
|
|
a4083f544e | ||
|
|
8bfa0f7ae9 | ||
|
|
58fc453378 | ||
|
|
64824170b4 | ||
|
|
64bd0fcbf6 | ||
|
|
fad3251545 | ||
|
|
9bca7b1509 | ||
|
|
4510510477 | ||
|
|
975e0c0576 | ||
|
|
47e2dd53ce | ||
|
|
5729ebbd79 | ||
|
|
8003c4ba5a | ||
|
|
6a7e688957 | ||
|
|
0ddcfb694b | ||
|
|
6f2292588f | ||
|
|
eb84072373 | ||
|
|
81c0c37eb9 | ||
|
|
20e51a5e34 | ||
|
|
9b1a5f512d | ||
|
|
8304a2c7aa | ||
|
|
2d0e6fd6bc | ||
|
|
355c0a1017 | ||
|
|
bd1107f785 | ||
|
|
01a246ca72 | ||
|
|
8ddd56fdfb | ||
|
|
b381536b2a | ||
|
|
ede84739c4 | ||
|
|
59e04c5371 | ||
|
|
88956c9f5c | ||
|
|
ec7fea090b | ||
|
|
ec7d193543 | ||
|
|
afdfb92198 | ||
|
|
c672eca749 | ||
|
|
a7d6730259 | ||
|
|
ece21e18fe | ||
|
|
aae425eb59 | ||
|
|
f429297a2f | ||
|
|
465e33e170 | ||
|
|
31cd8da6f6 | ||
|
|
a7175ae366 | ||
|
|
464bcce6a5 | ||
|
|
5caa0eb659 | ||
|
|
ae7d5ab9d5 | ||
|
|
aa10a542ae | ||
|
|
46f63f1358 | ||
|
|
d46d3a209e | ||
|
|
c86d7c40e2 | ||
|
|
700ebb860a | ||
|
|
e6becd3e92 | ||
|
|
f1efb502ca | ||
|
|
91197b5537 | ||
|
|
dbec07396e | ||
|
|
b179a27ade | ||
|
|
90e44c3979 | ||
|
|
d63fec80d1 | ||
|
|
6e3bcc7478 | ||
|
|
b48fd51561 | ||
|
|
a841c92053 | ||
|
|
b59eec7a83 | ||
|
|
b242756f03 | ||
|
|
fdbb9f8d9e | ||
|
|
4470480dc9 | ||
|
|
ee2098743d | ||
|
|
e96d56215b | ||
|
|
f5ba373208 | ||
|
|
59779bdcc5 | ||
|
|
d19ce18a31 | ||
|
|
9dc3dc6c11 | ||
|
|
a11c64934c | ||
|
|
fbc23499e4 | ||
|
|
2bcfa9ee00 | ||
|
|
fd733eca82 | ||
|
|
b12bed8949 | ||
|
|
c9b0d0bf0e | ||
|
|
e11d8bf717 | ||
|
|
8d5e46622c | ||
|
|
3681b3c669 | ||
|
|
5f0ea858ec | ||
|
|
a93e0b85df | ||
|
|
6dedac6ed8 | ||
|
|
408a75426b | ||
|
|
35768f8b48 | ||
|
|
b39ae367e7 | ||
|
|
8f6952c56c | ||
|
|
67d2cddb84 | ||
|
|
a926b15472 | ||
|
|
49369b8800 | ||
|
|
d43eb6dcb7 | ||
|
|
d81c8d6f92 | ||
|
|
2bf7dc5568 | ||
|
|
3bb2306f79 | ||
|
|
0b1a2325cd | ||
|
|
d3cc822f98 | ||
|
|
b77a29f2f4 | ||
|
|
ad0212ea69 | ||
|
|
0ed59f7be3 | ||
|
|
594cee01e4 | ||
|
|
5b1bbe15dd | ||
|
|
12c96510c1 | ||
|
|
35d5158454 | ||
|
|
f79ab25617 | ||
|
|
93e605b119 | ||
|
|
fbf2bae90e | ||
|
|
ca07b4ef47 | ||
|
|
b8a0112a91 | ||
|
|
20d74810ab | ||
|
|
95c717ad32 | ||
|
|
c4ec53bbdb | ||
|
|
4d03c0bfaa | ||
|
|
15eec2959c | ||
|
|
7fa3a38081 | ||
|
|
069f6cce1a | ||
|
|
e7fe809227 | ||
|
|
b709820777 | ||
|
|
f15694844d | ||
|
|
f95e0eb785 | ||
|
|
7732c19874 | ||
|
|
cf14d4e41d | ||
|
|
7b81bfab5c | ||
|
|
d9e293109e | ||
|
|
315c42f0a7 | ||
|
|
ef703c7147 | ||
|
|
875b5e1c0e | ||
|
|
a1b7d512eb | ||
|
|
f5481ac2f5 | ||
|
|
ff49b89f62 | ||
|
|
cfb3e7310f | ||
|
|
c2a97ced7d | ||
|
|
7b7ebb8609 | ||
|
|
cbc71686df | ||
|
|
ccf96ea415 | ||
|
|
701b2d63ef | ||
|
|
5c71ec4922 | ||
|
|
2db8ce566b | ||
|
|
55f56aaf03 | ||
|
|
e14d8add85 | ||
|
|
fd438f232b | ||
|
|
69385f4ff0 | ||
|
|
625007f364 | ||
|
|
c8985b9906 | ||
|
|
e4d85e27b1 | ||
|
|
dd3c39bb12 | ||
|
|
17e91feb52 | ||
|
|
1783776976 | ||
|
|
153cb307e0 | ||
|
|
9d3a4e3c6c | ||
|
|
d4f20192d4 | ||
|
|
a03bf6d447 | ||
|
|
0943bbf070 | ||
|
|
bde17b2ac8 | ||
|
|
114725a890 | ||
|
|
4205c01414 | ||
|
|
d7eb4db69e | ||
|
|
802d1644bb | ||
|
|
6295fa6088 | ||
|
|
76a6e08ec1 | ||
|
|
829381fd43 | ||
|
|
ac2a3cd1e8 | ||
|
|
8712509300 | ||
|
|
3019933cb6 | ||
|
|
86995a8cb4 | ||
|
|
12e610e374 | ||
|
|
fda2217166 | ||
|
|
cdc1039e23 | ||
|
|
7b3721fa3f | ||
|
|
b31385fcb6 | ||
|
|
a814dd11ca | ||
|
|
94d392c0c6 | ||
|
|
df975aa558 | ||
|
|
28c7ecc014 | ||
|
|
8b8563f0fd | ||
|
|
5a5d1dec40 | ||
|
|
a792a224f6 | ||
|
|
858fe14163 | ||
|
|
8fbfac52d4 | ||
|
|
3e905d804c | ||
|
|
514ebb752b | ||
|
|
0941f06c0b | ||
|
|
ecf9ace190 | ||
|
|
aa0002d880 | ||
|
|
8c7ff29470 | ||
|
|
409cde83bf | ||
|
|
1187466ebf | ||
|
|
6d96fbf44d | ||
|
|
ed5b8b6512 | ||
|
|
fafb7e487e | ||
|
|
d147d11b51 | ||
|
|
496c9c4250 | ||
|
|
b4c6a36a4f | ||
|
|
211e288f33 | ||
|
|
d53ad07279 | ||
|
|
2fc89b967a | ||
|
|
8328db26d4 | ||
|
|
f4fe0046b2 | ||
|
|
66f1826358 | ||
|
|
3178331bab | ||
|
|
5e710b4e57 | ||
|
|
d0d36193a7 | ||
|
|
1076c5cad1 | ||
|
|
77a658ddee | ||
|
|
128e174ee2 | ||
|
|
99042c956a | ||
|
|
cf659f0753 | ||
|
|
0c2a70f3a2 | ||
|
|
a19daf4b1d | ||
|
|
1add41033a | ||
|
|
35c20bea79 | ||
|
|
74bf8a7ecb | ||
|
|
5d36c2a55e | ||
|
|
02cee684a7 | ||
|
|
ee58e334a5 | ||
|
|
90738d559a | ||
|
|
b374d5c5b8 | ||
|
|
c6181ea9d1 | ||
|
|
d3320da7c6 | ||
|
|
0845c866d5 | ||
|
|
e560192c0f | ||
|
|
956bff0fe2 | ||
|
|
6275d8528e | ||
|
|
9612182f70 | ||
|
|
7981d86bcd | ||
|
|
abe0cd27f6 | ||
|
|
ec03be94d6 | ||
|
|
94393c0050 | ||
|
|
7071e6637b | ||
|
|
15db1eb416 | ||
|
|
30c0aa3cc2 | ||
|
|
8d55e14986 | ||
|
|
3877f87a26 | ||
|
|
0d0b19128f | ||
|
|
554e17ac22 | ||
|
|
87f147db60 | ||
|
|
951e874914 | ||
|
|
1ae13f152d | ||
|
|
19cb3c5835 | ||
|
|
43e4292ec9 | ||
|
|
0a5cc8812c | ||
|
|
e49464a573 | ||
|
|
6c5f1fbcce | ||
|
|
550da14781 | ||
|
|
198b05047e | ||
|
|
35b8fdc00c | ||
|
|
b3b9add06e | ||
|
|
f539eb140f | ||
|
|
77a8e91a2e | ||
|
|
fa0cc538f5 | ||
|
|
af4308f481 | ||
|
|
1bf4b9bf49 | ||
|
|
e6841b6088 | ||
|
|
8297f6a9da | ||
|
|
9d00b1b993 | ||
|
|
2f7fa8f442 | ||
|
|
4ee9605d61 | ||
|
|
162b245d7c | ||
|
|
3dc40f8cb6 | ||
|
|
9b1918c75c | ||
|
|
bd560bfb0f | ||
|
|
1dd5f7f7c8 | ||
|
|
fac8936688 | ||
|
|
7ae7c8e41e | ||
|
|
dfdec96ba7 | ||
|
|
82fa4861e7 | ||
|
|
72cf6e03cd | ||
|
|
3d4199193f | ||
|
|
d9c94c7012 | ||
|
|
f795adcd56 | ||
|
|
057cda42be | ||
|
|
c2228b1d19 | ||
|
|
600cb3a0ff | ||
|
|
bcda3aa3c2 | ||
|
|
2be40a1ae6 | ||
|
|
aa0a02b935 | ||
|
|
79c6787e52 | ||
|
|
ae3ab95b56 | ||
|
|
66457a7aaf | ||
|
|
d5e5749967 | ||
|
|
b64e899b92 | ||
|
|
0d3583bd8d | ||
|
|
d6dc1a2c6f | ||
|
|
a836d6924d | ||
|
|
9d57b53c0f | ||
|
|
5acc673c68 | ||
|
|
e9267e401c | ||
|
|
f1a9f76841 | ||
|
|
41811e6566 | ||
|
|
15fd9f7662 | ||
|
|
d7591594ca | ||
|
|
1a9d19a2fb | ||
|
|
580f7d2022 | ||
|
|
b06ef0290c | ||
|
|
27982ec5e7 | ||
|
|
0477101c28 | ||
|
|
10db521898 | ||
|
|
191b6fd051 | ||
|
|
c904ca1d90 | ||
|
|
6b9bc9d8e8 | ||
|
|
24e7a81ae5 | ||
|
|
53ecc8edb6 | ||
|
|
a1e1393f44 | ||
|
|
374d5f99f6 | ||
|
|
6f423726a9 | ||
|
|
65c922f580 | ||
|
|
e9843ced57 | ||
|
|
a537814169 | ||
|
|
09a88569a8 | ||
|
|
b98ff1619d | ||
|
|
e358321b92 | ||
|
|
2c40daea22 | ||
|
|
01c185ef57 | ||
|
|
8852e3198c | ||
|
|
bb294bf52f | ||
|
|
ff1b039615 | ||
|
|
e90776a099 | ||
|
|
f80cad531b | ||
|
|
c3378d0bd5 | ||
|
|
c36920774a | ||
|
|
1bf2d94968 | ||
|
|
287377c844 | ||
|
|
ffc357f4d4 | ||
|
|
44a28e3c16 | ||
|
|
e1305b4614 | ||
|
|
3ab00704d8 | ||
|
|
2ba5cf6167 | ||
|
|
20bd020c13 | ||
|
|
6b96cf4ed5 | ||
|
|
432a8d2e19 | ||
|
|
bf08e6afe3 | ||
|
|
5e5fc85238 | ||
|
|
36fee8013a | ||
|
|
1cb56d02ac | ||
|
|
029c7ea7f3 | ||
|
|
d9ba4e387c | ||
|
|
b3473c3cba | ||
|
|
dd1e0c616a | ||
|
|
72df83251d | ||
|
|
c0a50ce24b | ||
|
|
a1b1483d3e | ||
|
|
a466aa3d71 | ||
|
|
3d35ce75e4 | ||
|
|
e7bf44688d | ||
|
|
6dab67df75 | ||
|
|
2caf6307d4 | ||
|
|
984cac3832 | ||
|
|
3f49a4ce73 | ||
|
|
321837f157 | ||
|
|
d45734634a | ||
|
|
8c669ab540 | ||
|
|
c1c813e3fa | ||
|
|
b2a93dcda7 | ||
|
|
1ecdd675ab | ||
|
|
e2d9c77e08 | ||
|
|
22ac512507 | ||
|
|
d2fd695635 | ||
|
|
a06ba8d4aa | ||
|
|
f38e5f5f28 | ||
|
|
1ac93d09c9 | ||
|
|
45d9f6ce0b | ||
|
|
d4bdac715b | ||
|
|
92a30bcbf7 | ||
|
|
8d40308d6e | ||
|
|
0908490385 | ||
|
|
bf9cd0a675 | ||
|
|
0bd77d3caf | ||
|
|
b8dbac77bc | ||
|
|
06d873666f | ||
|
|
b210073ef0 | ||
|
|
5a02ab9524 | ||
|
|
b7b14420a4 | ||
|
|
8b5dccb742 | ||
|
|
a5cadacb78 | ||
|
|
f9710b6698 | ||
|
|
3bcd4bf833 | ||
|
|
1f6d9fc5ae | ||
|
|
6229c0a1d4 | ||
|
|
1877f92d46 | ||
|
|
8cc4ae8dbd | ||
|
|
ec02e09ce8 | ||
|
|
bfaed4d52d | ||
|
|
307e425891 | ||
|
|
01a0b9ff8d | ||
|
|
2000b0af78 | ||
|
|
31f0574983 | ||
|
|
73a2ab2de1 | ||
|
|
2211aec553 | ||
|
|
1192162792 | ||
|
|
9895c0f084 | ||
|
|
c00d748384 | ||
|
|
5d3a5ae68e | ||
|
|
f847b37261 | ||
|
|
828456d18e | ||
|
|
978041b68c | ||
|
|
665781ee03 | ||
|
|
fab0fe5e7a | ||
|
|
137f797bee | ||
|
|
683b5c34bf | ||
|
|
96c6cd0ab0 | ||
|
|
aac16a3ba1 | ||
|
|
424f8fcc6d | ||
|
|
2f3a85a86a | ||
|
|
66b08644fc | ||
|
|
a3b43f21e4 | ||
|
|
8a15c33b86 | ||
|
|
5fef6d554b | ||
|
|
8f361e35dd | ||
|
|
e4b50376f3 | ||
|
|
92469901f7 | ||
|
|
880f098f0f | ||
|
|
7ec456fa70 | ||
|
|
1293294d40 | ||
|
|
b865a7c0e1 | ||
|
|
0ea7c2cd50 | ||
|
|
a76eba34e8 | ||
|
|
e823e7fde3 | ||
|
|
f12355a17b | ||
|
|
54d22735f2 | ||
|
|
2a6f5a6396 | ||
|
|
6b02c7f639 | ||
|
|
b74c244088 | ||
|
|
df96c08e0e | ||
|
|
d994db46f6 | ||
|
|
67bf15b5dc | ||
|
|
ae9f03c8cb | ||
|
|
9cbd8de188 | ||
|
|
cf0fdff4e2 | ||
|
|
82e03ea508 | ||
|
|
9365c227ab | ||
|
|
519e2539cc | ||
|
|
83293651b7 | ||
|
|
0a4fd29c10 | ||
|
|
b1a123a927 | ||
|
|
189a859dde | ||
|
|
29009d27f3 | ||
|
|
1d8fefe683 | ||
|
|
972deebbc6 | ||
|
|
9be03b2e3a | ||
|
|
305be3c689 | ||
|
|
82aa5cc675 | ||
|
|
39af934e71 | ||
|
|
317294756a | ||
|
|
3820caade1 | ||
|
|
733da2dd70 | ||
|
|
85c9ca2000 | ||
|
|
4de5cda4a1 | ||
|
|
55730e9279 | ||
|
|
48e78533b9 | ||
|
|
2df03fbf96 | ||
|
|
d5f1a35f9a | ||
|
|
62b9aa0595 | ||
|
|
4981552fb1 | ||
|
|
e749715abd | ||
|
|
9576473072 | ||
|
|
8294ca9f57 | ||
|
|
4cddee2a0e | ||
|
|
7967edb8f0 | ||
|
|
8c6e5287b5 | ||
|
|
61afebb1ec | ||
|
|
0294691446 | ||
|
|
b99fac9901 | ||
|
|
09b4c4692a | ||
|
|
7ee2646a6b | ||
|
|
b235fe25ea | ||
|
|
b0d5f96b65 | ||
|
|
b5335b970d | ||
|
|
9ed5004aa6 | ||
|
|
d564b5170c | ||
|
|
279c358af2 | ||
|
|
c9569ed9e2 | ||
|
|
46b79d88f8 | ||
|
|
c4e7d4437c | ||
|
|
a77632a88c | ||
|
|
4df848fae0 | ||
|
|
3184fb02e5 | ||
|
|
d2ac206ca3 | ||
|
|
0581a49378 | ||
|
|
557390f2ad | ||
|
|
dc58d4e562 | ||
|
|
67f00b37e8 | ||
|
|
d02af43161 | ||
|
|
25ae9fe784 | ||
|
|
410b0793cf | ||
|
|
e15dbb61f6 | ||
|
|
900bc176ae | ||
|
|
ae29e70cfd | ||
|
|
d358e80937 | ||
|
|
6584ef985f | ||
|
|
617635ed80 | ||
|
|
bd876831ed | ||
|
|
cf5e9ecd4f | ||
|
|
86a5749b36 | ||
|
|
9d9c91bbf7 | ||
|
|
6ca2fef0a3 | ||
|
|
b78bcce8ab | ||
|
|
95826cd3c8 | ||
|
|
34ce9e478d | ||
|
|
68caa8141c | ||
|
|
c4731ff37b | ||
|
|
2a122f057c | ||
|
|
d3ad1a7506 | ||
|
|
92a34d380b | ||
|
|
66bda92597 | ||
|
|
3655d15f61 | ||
|
|
4bae4f3b90 | ||
|
|
9396df54c3 | ||
|
|
fd48b06dc0 | ||
|
|
13ed52d9e8 | ||
|
|
32833a15bb | ||
|
|
a9af504a19 | ||
|
|
1cccdfa9db | ||
|
|
8b6f71f7f6 | ||
|
|
297251661a | ||
|
|
d05530290f | ||
|
|
a570261886 | ||
|
|
b11c34261b | ||
|
|
381eef2cfb | ||
|
|
ff66a60e5e | ||
|
|
d973c40141 | ||
|
|
43a903d98b | ||
|
|
ed79da6c0c | ||
|
|
4b91065f00 | ||
|
|
082d126544 | ||
|
|
22a90232be | ||
|
|
ed986afe26 | ||
|
|
602f9642d4 | ||
|
|
55a43c9a98 | ||
|
|
ed211d5631 | ||
|
|
6762e70f4c | ||
|
|
71d3fc4921 | ||
|
|
c0ad472984 | ||
|
|
76a908d00c | ||
|
|
db8f476098 | ||
|
|
c715764680 | ||
|
|
04b91f3627 | ||
|
|
a7bb02b49c | ||
|
|
f09de84011 | ||
|
|
c0eb7bb1f6 | ||
|
|
5493543c1f | ||
|
|
0ccd1ef217 | ||
|
|
5c2b5f3c11 | ||
|
|
6e88d3ba3c | ||
|
|
32c2b5311e | ||
|
|
114b48dcfb | ||
|
|
16957c9833 | ||
|
|
6872beb88a | ||
|
|
760ee7c46f | ||
|
|
d367560faf | ||
|
|
84dcf24511 | ||
|
|
912ac29f31 | ||
|
|
b8a9aeb14e | ||
|
|
93087c7661 | ||
|
|
38bc0a28a6 | ||
|
|
e783703854 | ||
|
|
dc49cc4c2f | ||
|
|
3971425677 | ||
|
|
6e2f907e09 | ||
|
|
16f3d5879e | ||
|
|
7d9b09b4ac | ||
|
|
ddb2786394 | ||
|
|
6db824baa4 | ||
|
|
602fd7f13a | ||
|
|
db7ce8e657 | ||
|
|
644748860b | ||
|
|
efba141bf0 | ||
|
|
ddacc0aabd | ||
|
|
1e7266f6b5 | ||
|
|
e535a8360f | ||
|
|
fd0ef8f238 | ||
|
|
cef2cac0d3 | ||
|
|
f1d67f69c3 | ||
|
|
22fa0e305a | ||
|
|
f38054d737 | ||
|
|
1cfd185355 | ||
|
|
4e61f045e1 | ||
|
|
053d80180d | ||
|
|
0238fa54de | ||
|
|
f62b450cb7 | ||
|
|
3699510e63 | ||
|
|
6fe7a980f2 | ||
|
|
0bc8ff81e6 | ||
|
|
99ce67aedc | ||
|
|
479ec441ab | ||
|
|
c217c95e6d | ||
|
|
215344af71 | ||
|
|
93aef958e9 | ||
|
|
1c03886e1c | ||
|
|
eead07b0bb | ||
|
|
8d191ca4b8 | ||
|
|
478f8c43ca | ||
|
|
325534aa46 | ||
|
|
c29c292efd | ||
|
|
1fe9f25359 | ||
|
|
f4c5168cdf | ||
|
|
38bbe35e8d | ||
|
|
87014feb01 | ||
|
|
650370f740 | ||
|
|
c20f80ca91 | ||
|
|
b39496f380 | ||
|
|
0746715231 | ||
|
|
adfc56b14c | ||
|
|
f93ae0392a | ||
|
|
2ecd4013ea | ||
|
|
4e3221810a | ||
|
|
c4e125e972 | ||
|
|
a2603e424f | ||
|
|
c7600b2cbc | ||
|
|
c03ea3d0ee | ||
|
|
6b61f45379 | ||
|
|
d60bc61a72 | ||
|
|
6796b9735e | ||
|
|
97745f06ac | ||
|
|
4090b3f8b1 | ||
|
|
6493998a22 | ||
|
|
1ae0e845f8 | ||
|
|
47820440ed | ||
|
|
d882d00c65 | ||
|
|
02604745ca | ||
|
|
e1ba9c0322 | ||
|
|
e3c3170c39 | ||
|
|
51c201acd7 | ||
|
|
24ca534c54 | ||
|
|
a66a557978 | ||
|
|
9738c672d7 | ||
|
|
aabd8541c2 | ||
|
|
d65ae078ef | ||
|
|
b698c5bf7b | ||
|
|
2073d78582 | ||
|
|
daf4231d00 | ||
|
|
569811c52f | ||
|
|
1acfa35783 | ||
|
|
f9282c90e4 | ||
|
|
19758b6268 | ||
|
|
eb6dc88a9f | ||
|
|
9a0ea25f7e | ||
|
|
90bc88082a | ||
|
|
67522815eb | ||
|
|
8a6242be88 | ||
|
|
ba42abac68 | ||
|
|
c47dee7b8c | ||
|
|
fc2fece872 | ||
|
|
77b7abb96a | ||
|
|
946234ba27 | ||
|
|
c0e1c7051b | ||
|
|
60ef4f214e | ||
|
|
ac2b650c96 | ||
|
|
df423fda22 | ||
|
|
0aa0cfd54b | ||
|
|
857c28a88b | ||
|
|
ca639a057f | ||
|
|
48d3402044 | ||
|
|
1757a62905 | ||
|
|
16e5f238d2 | ||
|
|
dc1ad7bb83 | ||
|
|
16994f1774 | ||
|
|
e44dfb1c6c | ||
|
|
7fd4e1ba56 | ||
|
|
cd9b52572a | ||
|
|
b9af8232d0 | ||
|
|
7e40825869 | ||
|
|
af17797145 | ||
|
|
376bd6359b | ||
|
|
fe06c97a08 | ||
|
|
23777e5949 | ||
|
|
43d67736a8 | ||
|
|
72f64bd37a | ||
|
|
809fee8988 | ||
|
|
b9614d027d | ||
|
|
8d3811a79c | ||
|
|
8626da50ea | ||
|
|
8edefc3fee | ||
|
|
30503f5665 | ||
|
|
0221fd2216 | ||
|
|
afca110b49 | ||
|
|
aa70030a43 | ||
|
|
b60956baf6 | ||
|
|
029d978949 | ||
|
|
f2865e6dbf | ||
|
|
c9d6445c45 | ||
|
|
8e55cad4e0 | ||
|
|
8434250547 | ||
|
|
26d2f38929 | ||
|
|
ea0f8d1f8e | ||
|
|
756944a2e9 | ||
|
|
36f85f9afd | ||
|
|
a83b0768b2 | ||
|
|
4c6bd5bdf2 | ||
|
|
7035096fca | ||
|
|
dca4f261ec | ||
|
|
e81965d5b3 | ||
|
|
d11d2159d4 | ||
|
|
f3138d6039 | ||
|
|
1670b67bd8 | ||
|
|
a990f0921e | ||
|
|
2839aea6b1 | ||
|
|
3f74623e53 | ||
|
|
a17560ade3 | ||
|
|
c5de1db9e6 | ||
|
|
a0aad87adf | ||
|
|
df70731e0c | ||
|
|
e1c54266d9 | ||
|
|
712993da52 | ||
|
|
e36681db75 | ||
|
|
d2806df92b | ||
|
|
6052a8ef9f | ||
|
|
6ae1c2e874 | ||
|
|
cab8cf4fde | ||
|
|
e504f69503 | ||
|
|
6b0a7e9c30 | ||
|
|
e1f02f85d8 | ||
|
|
e773f5fc2b | ||
|
|
0311ecd68f | ||
|
|
8f79d070dc | ||
|
|
a2e76a1872 | ||
|
|
ce8bcfe319 | ||
|
|
0fa8692b1b | ||
|
|
8c9732c9da | ||
|
|
d437ec31e7 | ||
|
|
7efae6e00c | ||
|
|
a09f686d5d | ||
|
|
adf5cd3fd1 | ||
|
|
bc8c328483 | ||
|
|
8c3c304497 | ||
|
|
51d4d164b1 | ||
|
|
cd82cb2534 | ||
|
|
dab12456ae | ||
|
|
4183d9cdb8 | ||
|
|
65fffd9b1c | ||
|
|
e94a8d4a36 | ||
|
|
d10fb12f27 | ||
|
|
b46c38626b | ||
|
|
b5be628446 | ||
|
|
481a9b4078 | ||
|
|
913029f26d | ||
|
|
b95a19ba30 | ||
|
|
de8edd909e | ||
|
|
2c73d75309 | ||
|
|
a722f558fe | ||
|
|
85efa61823 | ||
|
|
a6b09c1b1c | ||
|
|
843a2e558c | ||
|
|
0a02409d64 | ||
|
|
df48e2de5c | ||
|
|
daecad22ae | ||
|
|
03d5f3f9d9 | ||
|
|
ad8c166a37 | ||
|
|
0f8d123319 | ||
|
|
07173c493e | ||
|
|
0a02785438 | ||
|
|
20bc49d744 | ||
|
|
1afaa9b6af | ||
|
|
335f24f398 | ||
|
|
9d07e6509f | ||
|
|
7740929036 | ||
|
|
a89bf0c329 | ||
|
|
6d32756adf | ||
|
|
ec748f254e | ||
|
|
a415b66e88 | ||
|
|
f67fa27c9e | ||
|
|
676792692e | ||
|
|
2d2140ebf4 | ||
|
|
cfaad0eff1 | ||
|
|
27ab7da5ee | ||
|
|
a89c9b17ef | ||
|
|
e4623af4df | ||
|
|
5bca792288 | ||
|
|
2d7c26e3e5 | ||
|
|
80fa2dd0ef | ||
|
|
61e221c504 | ||
|
|
ba1a35b59b | ||
|
|
8dab000db1 | ||
|
|
fef9ec155b | ||
|
|
507662af0b | ||
|
|
979d35b3b3 | ||
|
|
8aa6eb5cb7 | ||
|
|
71a372e0dc | ||
|
|
14fb455e1c | ||
|
|
430949046f | ||
|
|
5f7f388714 | ||
|
|
311ee5222d | ||
|
|
53d1171d14 | ||
|
|
d3952297db | ||
|
|
f0a27ceaf0 | ||
|
|
cb099cb453 | ||
|
|
7a6090df65 | ||
|
|
176a438a05 | ||
|
|
781593ea90 | ||
|
|
53963b0f6b | ||
|
|
4d02ecf1e8 | ||
|
|
7594f05c57 | ||
|
|
91c448d63d | ||
|
|
c658460c09 | ||
|
|
de247d7130 | ||
|
|
b83a547192 | ||
|
|
e14c46946e | ||
|
|
a823e1f776 | ||
|
|
b2d1b32674 | ||
|
|
f175528ac3 | ||
|
|
256237fee7 | ||
|
|
ce296aa1d1 | ||
|
|
25d6919337 | ||
|
|
7e81cbae08 | ||
|
|
15583865b6 | ||
|
|
ea2ba4e7ad | ||
|
|
12c9a4f563 | ||
|
|
9f1d985b8f | ||
|
|
1adfa15830 | ||
|
|
8e68134624 | ||
|
|
8ccd733e08 | ||
|
|
e03953dc61 | ||
|
|
1d06cee93d | ||
|
|
9a11cb87aa | ||
|
|
633920d0f7 | ||
|
|
9f2ce8f50e | ||
|
|
e403f10de5 | ||
|
|
f0b4a5a35e | ||
|
|
fb7ccc9d16 | ||
|
|
d2dbc27b0a | ||
|
|
1c23c8b674 | ||
|
|
35d1fe5d75 | ||
|
|
711917db62 | ||
|
|
30311f0b65 | ||
|
|
f445a7230b | ||
|
|
14ed09eb6f | ||
|
|
9bd9a1848e | ||
|
|
82dc4baff6 | ||
|
|
2704da9e4e | ||
|
|
f9105c18eb | ||
|
|
67cd0597bb | ||
|
|
63a0219f3d | ||
|
|
4260283497 | ||
|
|
61a217e8dd | ||
|
|
db40842487 | ||
|
|
07ef8e774d | ||
|
|
72d849563b | ||
|
|
3d8d8b0ce6 | ||
|
|
9c02b8e90c | ||
|
|
fb6a2867ff | ||
|
|
ac37980999 | ||
|
|
cb75fcad9f | ||
|
|
7ff95adbb1 | ||
|
|
3368576505 | ||
|
|
a49e169622 | ||
|
|
fbb817157b | ||
|
|
18aa1b8ae5 | ||
|
|
bd82e1aa1a | ||
|
|
4e65fefc00 | ||
|
|
81349d382b | ||
|
|
59ab8f0155 | ||
|
|
530d8b67a3 | ||
|
|
400b946354 | ||
|
|
6a93731fee | ||
|
|
366bdd295d | ||
|
|
409b458d30 | ||
|
|
3e12f57cf5 | ||
|
|
3d072a1af8 | ||
|
|
a60a03149e | ||
|
|
ea74809256 | ||
|
|
bbd461f181 | ||
|
|
d774d2007d | ||
|
|
91fc1a7663 | ||
|
|
e0ef5fc7ee | ||
|
|
0d84befe83 | ||
|
|
0c9f7eb616 | ||
|
|
4b9642f4b1 | ||
|
|
3a2133c130 | ||
|
|
b403c25646 | ||
|
|
d7591331ba | ||
|
|
2b2e7bf786 | ||
|
|
26fa8d9d53 | ||
|
|
10c41cd064 | ||
|
|
fb2878c200 | ||
|
|
a646753124 | ||
|
|
d91479df06 | ||
|
|
64021b130a | ||
|
|
06b1456499 | ||
|
|
2ba33b8cad | ||
|
|
a613b19360 | ||
|
|
0221f74e5c | ||
|
|
68bf12b5e1 | ||
|
|
d3981e2891 | ||
|
|
e487e1b215 | ||
|
|
78380feb30 | ||
|
|
2d6354bb92 | ||
|
|
353555f740 | ||
|
|
9d92b9ee37 | ||
|
|
c78754abba | ||
|
|
b9b7de97b3 | ||
|
|
a6b2992a5d | ||
|
|
cc1962917f | ||
|
|
15b73ca87e | ||
|
|
3fbbdb78d5 | ||
|
|
7052884913 | ||
|
|
e83c6065ae | ||
|
|
fe6d071709 | ||
|
|
bb53087541 | ||
|
|
1816d8d160 | ||
|
|
00186413f8 | ||
|
|
655bd0727f | ||
|
|
89cac657dc | ||
|
|
8d03fa1197 | ||
|
|
ac730dc1f3 | ||
|
|
936f86568e | ||
|
|
aa5358203e | ||
|
|
8d57f0c78b | ||
|
|
a898b9588e | ||
|
|
9ff7470f65 | ||
|
|
14f5e5aedc | ||
|
|
2a20693ffb | ||
|
|
559cad4cf3 | ||
|
|
16b0e73666 | ||
|
|
04b2247623 | ||
|
|
b0362b8c0a | ||
|
|
b2f17f9c62 | ||
|
|
d2c5422d09 | ||
|
|
c7dcee1406 | ||
|
|
b670a0d9da | ||
|
|
b5bcaea3a0 | ||
|
|
fd0a157a39 | ||
|
|
fac953a683 | ||
|
|
376e427e05 | ||
|
|
c18b2706fb | ||
|
|
a0bea641d1 | ||
|
|
bba1de2679 | ||
|
|
03cc533cb3 | ||
|
|
437359c778 | ||
|
|
22da054774 | ||
|
|
b9a4ae5e77 | ||
|
|
e508be66d9 | ||
|
|
a2b55b04e8 | ||
|
|
0814b2c5c6 | ||
|
|
7b69373985 | ||
|
|
61d13f9a39 | ||
|
|
75b40a60c0 | ||
|
|
cd647a1ebc | ||
|
|
0d1533eaca | ||
|
|
f790992a77 | ||
|
|
b805a76ae1 | ||
|
|
4e85322abb | ||
|
|
9067260a44 | ||
|
|
7ae65c32e1 | ||
|
|
39a5a8e291 | ||
|
|
06406d968f | ||
|
|
d577466de6 | ||
|
|
af6edadebe | ||
|
|
fe2fbe06c3 | ||
|
|
319f78fb94 | ||
|
|
0e673a492a | ||
|
|
c669dda2b1 | ||
|
|
498738d22a | ||
|
|
1c3b839a6f | ||
|
|
fec638e8be | ||
|
|
a3b18bf16e | ||
|
|
ff17eb53d4 | ||
|
|
292b851a74 | ||
|
|
a88541fd60 | ||
|
|
05b9922861 | ||
|
|
5a898884ec | ||
|
|
8194ba9f0a | ||
|
|
dbcfdbc76f | ||
|
|
62b44f3c73 | ||
|
|
2f07433593 | ||
|
|
e3faa76770 | ||
|
|
4e98e86b14 | ||
|
|
048dec1644 | ||
|
|
7c197252ed | ||
|
|
45ba000df5 | ||
|
|
b5cc35ee04 | ||
|
|
ea6500ecd0 | ||
|
|
d821f227ba | ||
|
|
b3487ad30e | ||
|
|
076f1ac194 | ||
|
|
16ef1c5b8a | ||
|
|
b8f04e0883 | ||
|
|
ca5960666d | ||
|
|
1560fbace3 | ||
|
|
ed09173730 | ||
|
|
c8f9b9cd7b | ||
|
|
7613eaeef1 | ||
|
|
d3be7d9d18 | ||
|
|
1d23229d98 | ||
|
|
15053cbe56 | ||
|
|
61741669f6 | ||
|
|
382b2707df | ||
|
|
0ed208b710 | ||
|
|
299d729936 | ||
|
|
467bcc8b62 | ||
|
|
85500fb616 | ||
|
|
351f4a57fb | ||
|
|
9842140495 | ||
|
|
3f7c40b1ad | ||
|
|
60825f0f99 | ||
|
|
fdad53c619 | ||
|
|
03e20ce6f1 | ||
|
|
26c8c954c3 | ||
|
|
97d38820fb | ||
|
|
d9fd459654 | ||
|
|
9fca2c407d | ||
|
|
7cf636147b | ||
|
|
d2281c4868 | ||
|
|
ba4d90bac1 | ||
|
|
ffc2277c68 | ||
|
|
cc4c0bda60 | ||
|
|
484b8f007e | ||
|
|
67d3b4527a | ||
|
|
726a04ce3e | ||
|
|
d0b0d0470b | ||
|
|
dc0dc32d6b | ||
|
|
b54547a4e1 | ||
|
|
009f7b53a1 | ||
|
|
7fb7a472b7 | ||
|
|
cd57d4639d | ||
|
|
22fb418236 | ||
|
|
812cb7fb12 | ||
|
|
dbc3109ddb | ||
|
|
01cc19af80 | ||
|
|
7f120ba685 | ||
|
|
26ed0f3f12 | ||
|
|
5c1502effb | ||
|
|
d524973fd3 | ||
|
|
aae8040e3a | ||
|
|
a9e980be0c | ||
|
|
116b107cb2 | ||
|
|
09e4c985a0 | ||
|
|
a31a28278d | ||
|
|
ea73388c56 | ||
|
|
ee53fa7174 | ||
|
|
db5986fcc1 | ||
|
|
0fc727f989 | ||
|
|
333ca47a19 | ||
|
|
dcf510fe48 | ||
|
|
e207e80257 | ||
|
|
32bf851957 | ||
|
|
f317016505 | ||
|
|
b355c1f412 | ||
|
|
b0cea7139b | ||
|
|
e9b934d041 | ||
|
|
bfd40bd43d | ||
|
|
1670b31142 | ||
|
|
60245a57d8 | ||
|
|
01c9448c3c | ||
|
|
429a2e455b | ||
|
|
91e834674c | ||
|
|
a7fe89c05d | ||
|
|
5c8fb35227 | ||
|
|
c75082c75d | ||
|
|
9a6c1feddc | ||
|
|
924e9c6fce | ||
|
|
ee7d46cea1 | ||
|
|
5abedf66d9 | ||
|
|
76454516f5 | ||
|
|
20d5a45b7d | ||
|
|
597894d050 | ||
|
|
ef42744c66 | ||
|
|
341ea92323 | ||
|
|
10b6b5f2c5 | ||
|
|
8bd6f80ef8 | ||
|
|
d5d005ba3f | ||
|
|
10f7bf1bcb | ||
|
|
c4ba8a85bc | ||
|
|
7df3c7506f | ||
|
|
0f71323c05 | ||
|
|
a05c426212 | ||
|
|
0ad6948a15 | ||
|
|
9442f2d209 | ||
|
|
5af671b5f7 | ||
|
|
732aa06f8b | ||
|
|
8b085514b1 | ||
|
|
7fb56579c5 | ||
|
|
7d2d68c011 | ||
|
|
d81fe5ac95 | ||
|
|
d211f65203 | ||
|
|
8402eee0c3 | ||
|
|
8e892a633d | ||
|
|
a2b9f1d0ac | ||
|
|
2c930d74b5 | ||
|
|
6ab88aad72 | ||
|
|
0fa66cc7e7 | ||
|
|
9f7ead5ef4 | ||
|
|
a85b82090d | ||
|
|
0c212fdcb5 | ||
|
|
68752729ab | ||
|
|
a9159ecac3 | ||
|
|
5b9bcbac1c | ||
|
|
4b7b95fc2f | ||
|
|
871820f2b5 | ||
|
|
16b817b830 | ||
|
|
d7c696fc76 | ||
|
|
4e602fdb8d | ||
|
|
59eaa89a54 | ||
|
|
86cfdf4da7 | ||
|
|
71097d9cfc | ||
|
|
69cee6a410 | ||
|
|
370bb964ab | ||
|
|
1af11e27ac | ||
|
|
4e657e464c | ||
|
|
9ada23a08a | ||
|
|
e3abfae02c | ||
|
|
9de78f1168 | ||
|
|
3efc810ca9 | ||
|
|
7a0cefd872 | ||
|
|
df78a41ff1 | ||
|
|
d18119d98b | ||
|
|
e858727bd0 | ||
|
|
18d2eb161e | ||
|
|
d3b8d0b676 | ||
|
|
1217243f84 | ||
|
|
9ca74200ed | ||
|
|
cdf34b558a | ||
|
|
5928c1cea1 | ||
|
|
cc3660f32a | ||
|
|
1529aad7f6 | ||
|
|
e73fb871b6 | ||
|
|
d7636f266f | ||
|
|
9d52e85fc3 | ||
|
|
ca6681afa8 | ||
|
|
d5df4bf80b | ||
|
|
bada596b45 | ||
|
|
a13c5d30a2 | ||
|
|
409d7d209d | ||
|
|
c17c21467e | ||
|
|
f5c6565617 | ||
|
|
def4d62142 | ||
|
|
fdda18b57b | ||
|
|
e70b55b60b | ||
|
|
c065282243 | ||
|
|
740b6e8b56 | ||
|
|
e4eff4658b | ||
|
|
50cbf2fdac | ||
|
|
a479193cf0 | ||
|
|
ba1a4cbac8 | ||
|
|
2a1bdf6b16 | ||
|
|
9997e710ea | ||
|
|
228ff4e56b | ||
|
|
c8f02fcd6e | ||
|
|
1c890d837e | ||
|
|
08bad9746b | ||
|
|
4008ab7f6c | ||
|
|
4c7f30c139 | ||
|
|
70eb5a5f13 | ||
|
|
fe3440a83d | ||
|
|
938f45a032 | ||
|
|
1c051aa055 | ||
|
|
7e737f8b71 | ||
|
|
19f66453fe | ||
|
|
92acc3e2d9 | ||
|
|
ade9984872 | ||
|
|
33f426fd85 | ||
|
|
386fac2429 | ||
|
|
a8442df56a | ||
|
|
3c5107b218 | ||
|
|
3173ddbb5f | ||
|
|
63c9aed620 | ||
|
|
b02f47a5a5 | ||
|
|
5fe7c20450 | ||
|
|
a5c6a865bf | ||
|
|
3eded60938 | ||
|
|
69642f9a6d | ||
|
|
2011e02364 | ||
|
|
71a6c4f270 | ||
|
|
be4d8a5698 | ||
|
|
3c902af042 | ||
|
|
843c9cab83 | ||
|
|
29221a9869 | ||
|
|
4c04c9fa5c | ||
|
|
49e0af5abb | ||
|
|
3aeb4d1584 | ||
|
|
dbdacec6df | ||
|
|
9ffabb481c | ||
|
|
c9b1ba51fa | ||
|
|
406207213f | ||
|
|
86bb213048 | ||
|
|
f1c45c4a6c | ||
|
|
c07933beef | ||
|
|
06580950ca | ||
|
|
e1da49fb32 | ||
|
|
aaf64c8fec | ||
|
|
623b2fab14 | ||
|
|
2d0fdfdd87 | ||
|
|
caf958826d | ||
|
|
8c8dbe2ece | ||
|
|
0af2ac60d6 | ||
|
|
ef97da2b77 | ||
|
|
3f1ae87eee | ||
|
|
e2df5ceacb | ||
|
|
effc09edd6 | ||
|
|
4c765d817d | ||
|
|
036dee55a9 | ||
|
|
08de33c020 | ||
|
|
ca3dcb0e14 | ||
|
|
dd67c7d8c3 | ||
|
|
3893351d01 | ||
|
|
2ee776d9f6 | ||
|
|
d5ab5ec1d2 | ||
|
|
e36c53dd23 | ||
|
|
7be90877fe | ||
|
|
f302fee5ad | ||
|
|
03c7e7c031 | ||
|
|
2f3cd430de | ||
|
|
2f10e62b76 | ||
|
|
1a000c3719 | ||
|
|
4e5d50de98 | ||
|
|
88d019a0bb | ||
|
|
b533cad031 | ||
|
|
c6df48e424 | ||
|
|
b1ed63ebf8 | ||
|
|
6c0d4cddad | ||
|
|
b022da3da0 | ||
|
|
307e2d936c | ||
|
|
539ecbdd9c | ||
|
|
5e86ffcca5 | ||
|
|
aca022df6e | ||
|
|
8f92deeac2 | ||
|
|
41085560f6 | ||
|
|
428ba59806 | ||
|
|
0296ee846a | ||
|
|
60a13d6517 | ||
|
|
715236c1f6 | ||
|
|
e9ac7cef83 | ||
|
|
29076db6ed | ||
|
|
1863109ac8 | ||
|
|
93b33589a1 | ||
|
|
214e578333 | ||
|
|
37a7ac1f5b | ||
|
|
4b934c03ba | ||
|
|
b40124b2bc | ||
|
|
52552c9b18 | ||
|
|
703564fcbb | ||
|
|
67fab12fef | ||
|
|
adf99d592a | ||
|
|
48421083ba | ||
|
|
00a73a6188 | ||
|
|
9a9085d716 | ||
|
|
62134f6ee2 | ||
|
|
de999b9463 | ||
|
|
32f8826622 | ||
|
|
b821619368 | ||
|
|
30b2e3930b | ||
|
|
e78690c2d2 | ||
|
|
9b47c15bd8 | ||
|
|
626a319222 | ||
|
|
42115baabb | ||
|
|
f2a9c45447 | ||
|
|
41e7a6a059 | ||
|
|
4937f08971 | ||
|
|
64dd5cfc1f | ||
|
|
87e755e9e4 | ||
|
|
97b56add70 | ||
|
|
17356bc3ee | ||
|
|
c03e690882 | ||
|
|
dbb9525515 | ||
|
|
58c62a201f | ||
|
|
82e8da8df5 | ||
|
|
bfa257eac1 | ||
|
|
43c581ef5f | ||
|
|
5dbd200e2b | ||
|
|
adc1d130c8 | ||
|
|
b9a44d2db5 | ||
|
|
b7cb21dc4a | ||
|
|
33cacab11c | ||
|
|
04a23d0e45 | ||
|
|
96fa07effb | ||
|
|
626a6d9881 | ||
|
|
6f24507cd3 | ||
|
|
57b4606aeb | ||
|
|
e96600127e | ||
|
|
948735f948 | ||
|
|
16729065a6 | ||
|
|
39dd37073c | ||
|
|
f1d4b58eb9 | ||
|
|
9c9a6ebff5 | ||
|
|
36be7a64c6 | ||
|
|
ef23a9a204 | ||
|
|
51ed3e58c1 | ||
|
|
9c5c252ae5 | ||
|
|
1db4750c72 | ||
|
|
9be84796c8 | ||
|
|
26c8495e6b | ||
|
|
0709778883 | ||
|
|
a422c160cd | ||
|
|
f8efa7c6a4 | ||
|
|
31f3e92494 | ||
|
|
817a8feac9 | ||
|
|
221a56a411 | ||
|
|
167b309242 | ||
|
|
680f5cbb5a | ||
|
|
8ffe910ebf | ||
|
|
2e395e4530 | ||
|
|
92f7f14744 | ||
|
|
73b9b6b6a0 | ||
|
|
1c003b5ab1 | ||
|
|
5c5fcb7e06 | ||
|
|
925b5d285a | ||
|
|
43561c302e | ||
|
|
da84dd9253 | ||
|
|
ce6fd5ab36 | ||
|
|
1aa83e133b | ||
|
|
563918d58d | ||
|
|
3e8ca13882 | ||
|
|
3aff5e19f1 | ||
|
|
0b5058f72e | ||
|
|
33457c48de | ||
|
|
e1ba1d8887 | ||
|
|
2850c761cf | ||
|
|
3349bded1c | ||
|
|
c2f8d7508b | ||
|
|
6c6f9a3ef5 | ||
|
|
e71d3aec1a | ||
|
|
bbef15e50e | ||
|
|
78c54addb3 | ||
|
|
f8e891ff15 | ||
|
|
a35219545e | ||
|
|
2878309a41 | ||
|
|
9891e5fbc2 | ||
|
|
422efbe38b | ||
|
|
c556ddd593 | ||
|
|
20ce29a5c6 | ||
|
|
b5035888f6 | ||
|
|
9b491d1247 | ||
|
|
fc0f46344d | ||
|
|
5c128abc5d | ||
|
|
67a6703e50 | ||
|
|
518658d7de | ||
|
|
e7222c040c | ||
|
|
39e56f3e61 | ||
|
|
1f2ae57e73 | ||
|
|
4b60829b4a | ||
|
|
79750c662c | ||
|
|
907e796b55 | ||
|
|
1671a343b4 | ||
|
|
394dfa297a | ||
|
|
c4dba8e828 | ||
|
|
9e274a61db | ||
|
|
5c98a47581 | ||
|
|
a9b0e6239b | ||
|
|
860735d7e4 | ||
|
|
b80022036f | ||
|
|
d1c0665926 | ||
|
|
9fcd057c1e | ||
|
|
4614a43d48 | ||
|
|
980d311680 | ||
|
|
331005468c | ||
|
|
5a99adfc68 | ||
|
|
dd509ed39e | ||
|
|
ac6d8f2df1 | ||
|
|
3adc46ae4a | ||
|
|
ef929e9a72 | ||
|
|
3e8abadf95 | ||
|
|
a25eff9283 | ||
|
|
f07294698a | ||
|
|
5ab7803402 | ||
|
|
aec0c0d9af | ||
|
|
2f2ee22831 | ||
|
|
3b7db642f1 | ||
|
|
2610e9e0c3 | ||
|
|
4def0c6a84 | ||
|
|
b2c336c29e | ||
|
|
3546a15f39 | ||
|
|
29165ddc1f | ||
|
|
d061994842 | ||
|
|
88f938ea47 | ||
|
|
c7b5bd0b6d | ||
|
|
6276e633de | ||
|
|
5d04d74c92 | ||
|
|
6c2e5f6eca | ||
|
|
bd81e6c9a9 | ||
|
|
56e352b7aa | ||
|
|
8a0809c673 | ||
|
|
fd28d56c45 | ||
|
|
abaa220314 | ||
|
|
f24c9a807f | ||
|
|
aa44547565 | ||
|
|
6a39d11222 | ||
|
|
a8d9dad552 | ||
|
|
f3336532dd | ||
|
|
265c5f1a11 | ||
|
|
387f60f1e5 | ||
|
|
8ccc997ecd | ||
|
|
5c15c18f1a | ||
|
|
d1e9dd964b | ||
|
|
690ed1ed8e | ||
|
|
97556f234f | ||
|
|
fa484cca8c | ||
|
|
cf4799e87c | ||
|
|
ea66ddf3a4 | ||
|
|
66e1b01c2d | ||
|
|
ac4b031353 | ||
|
|
e97b2d35d4 | ||
|
|
9a8269f780 | ||
|
|
346fe30a1b | ||
|
|
9e0b560cf6 | ||
|
|
4666f64673 | ||
|
|
58693be9e6 | ||
|
|
9906497cb8 | ||
|
|
8a97535d93 | ||
|
|
62a7505d2b | ||
|
|
6d40b170d6 | ||
|
|
886e38a69b | ||
|
|
e30d0fefb0 | ||
|
|
42f7288d73 | ||
|
|
0e4c5d10c5 | ||
|
|
293ccfda8a | ||
|
|
004898e462 | ||
|
|
8ea6a50f03 | ||
|
|
9397720c8e | ||
|
|
f3d5a5c37b | ||
|
|
6896e920f9 | ||
|
|
0085623eee | ||
|
|
9deffc9d87 | ||
|
|
67f2e57635 | ||
|
|
b8a7c5ee9e | ||
|
|
578e83d80a | ||
|
|
fef6f5c0a5 | ||
|
|
98ba6b63a4 | ||
|
|
764aacb568 | ||
|
|
c0486f6f65 | ||
|
|
7de0e79c62 | ||
|
|
ddc8fbcff7 | ||
|
|
aa5214d3a1 | ||
|
|
b81a4e875b | ||
|
|
f863ee9e37 | ||
|
|
4abdac2abf | ||
|
|
4990c797d1 | ||
|
|
832be21c0f | ||
|
|
70c66d4cf1 | ||
|
|
f54a54a432 | ||
|
|
7caaed4218 | ||
|
|
8b25e2a63e | ||
|
|
97d614285e | ||
|
|
e1bafd2f6e | ||
|
|
9a2dac7182 | ||
|
|
b524de417b | ||
|
|
9a29c0e22d | ||
|
|
3b20cc7b53 | ||
|
|
b192335e56 | ||
|
|
591f022e9a | ||
|
|
13c84b0523 | ||
|
|
589c6f8a0b | ||
|
|
210b489a6c | ||
|
|
a2c70dba85 | ||
|
|
54738e29eb | ||
|
|
bbe4417be5 | ||
|
|
f1f319d6ad | ||
|
|
13b55b04a8 | ||
|
|
009172951c | ||
|
|
ecd82297a0 | ||
|
|
e806f51b3d | ||
|
|
de0e8aeced | ||
|
|
e84e0e1233 | ||
|
|
1a7e99f67e | ||
|
|
e575df6df0 | ||
|
|
3faa035de3 | ||
|
|
e6b395e2ee | ||
|
|
511e5ad5e8 | ||
|
|
75cb19d7e1 | ||
|
|
a670b7979c | ||
|
|
65863614bb | ||
|
|
0eb4cd6dd4 | ||
|
|
7d00159bff | ||
|
|
5d18da4035 | ||
|
|
3ea6041714 | ||
|
|
9226472380 | ||
|
|
208d86b5bf | ||
|
|
6955499534 | ||
|
|
60bf396e25 | ||
|
|
dbccb8b231 | ||
|
|
fcf00dea8b | ||
|
|
3dc2b69615 | ||
|
|
377da9349e | ||
|
|
75fffd1f47 | ||
|
|
3a91aa3d36 | ||
|
|
3ab50facc7 | ||
|
|
28ee9bcd9b | ||
|
|
d7eee91195 | ||
|
|
26b46d248b | ||
|
|
8301b01395 | ||
|
|
2ce1c29c4d | ||
|
|
d8ae3c161c | ||
|
|
99f2d0e3d5 | ||
|
|
60623e3061 | ||
|
|
ba3f97d50a | ||
|
|
daddc61dc6 | ||
|
|
d1782dc4bb | ||
|
|
c029e8770c | ||
|
|
364e31fdb1 | ||
|
|
78a3ac46dd | ||
|
|
7db1b4b337 | ||
|
|
b2da95de4b | ||
|
|
d0216c80cd | ||
|
|
4542c689e8 | ||
|
|
ae6ecb7103 | ||
|
|
1ef4c379b2 | ||
|
|
4ef6254c13 | ||
|
|
184c2e52d5 | ||
|
|
d57b4844d1 | ||
|
|
a21ee997ba | ||
|
|
1ee2da76af | ||
|
|
cf37566606 | ||
|
|
843334627e | ||
|
|
8d7d1412c9 | ||
|
|
0df6cebff9 | ||
|
|
a6fb72c240 | ||
|
|
32d35386ba | ||
|
|
4d71d2b1e8 | ||
|
|
919e2d39f1 | ||
|
|
d9a2c66909 | ||
|
|
c845d85a31 | ||
|
|
643e4592c5 | ||
|
|
adf8422391 | ||
|
|
398c527e1a | ||
|
|
ba7e0e7da3 | ||
|
|
25aa1688e5 | ||
|
|
2e4ffb3591 | ||
|
|
b4c2cd0eb2 | ||
|
|
ea653ceec8 | ||
|
|
f1bce39fa9 | ||
|
|
d34a63944b | ||
|
|
48b2ece5a1 | ||
|
|
762fed6f8d | ||
|
|
8a7e13a50c | ||
|
|
b92f5efbe8 | ||
|
|
14d550de0f | ||
|
|
31cc1f5541 | ||
|
|
0823ee4ad3 | ||
|
|
e16de02cb2 | ||
|
|
8663a5027b | ||
|
|
00bdeb6bcf | ||
|
|
cd0186dde5 | ||
|
|
4f27dd35d8 | ||
|
|
9fb4514b4e | ||
|
|
c82aeb586f | ||
|
|
bcb4813615 | ||
|
|
d1659b8e69 | ||
|
|
23505799b6 | ||
|
|
8f8f94e697 | ||
|
|
8f6f5e42c6 | ||
|
|
0235caa1e0 | ||
|
|
bf1d804a5e | ||
|
|
7ffd2bcaa1 | ||
|
|
71a396a189 | ||
|
|
7d5a84ce8a | ||
|
|
5967f96047 | ||
|
|
fc2975f346 | ||
|
|
e428b66ab4 | ||
|
|
4117a5df2d | ||
|
|
f56e01104b | ||
|
|
03e2f1a903 | ||
|
|
20916c75bb | ||
|
|
cf7b40268b | ||
|
|
0efe92ab4c | ||
|
|
f123f5e57b | ||
|
|
77c7d02873 | ||
|
|
0b82cb8050 | ||
|
|
4bae5e755a | ||
|
|
5861f6a148 | ||
|
|
69872c99d2 | ||
|
|
02a285665b | ||
|
|
e01344f0da | ||
|
|
3036ee01ad | ||
|
|
1e308e34f9 | ||
|
|
30acfc20c3 | ||
|
|
13a937fad7 | ||
|
|
cc11efa420 | ||
|
|
a177cf159b | ||
|
|
aa823e2b28 | ||
|
|
393566155d | ||
|
|
48bf1702d4 | ||
|
|
169e66835d | ||
|
|
91b6258f13 | ||
|
|
dbfa1726d5 | ||
|
|
bebe39102c | ||
|
|
6617969d36 | ||
|
|
50ed564bf6 | ||
|
|
a0ca05d18e | ||
|
|
74158e52be | ||
|
|
f9ba90f4ca | ||
|
|
15609f36ad | ||
|
|
2ac3d4d2cd | ||
|
|
8b7a0a060c | ||
|
|
716b7b0cec | ||
|
|
7d510310ed | ||
|
|
36ea408ed2 | ||
|
|
fa1601f04f | ||
|
|
8ca3f13bd2 | ||
|
|
cd11ebbc8a | ||
|
|
ae314916cf | ||
|
|
69107621bf | ||
|
|
fe1f10e797 | ||
|
|
9c28d0c112 | ||
|
|
25b99d5997 | ||
|
|
a34f5d110c | ||
|
|
bd4f2bf1cb | ||
|
|
94942e636c | ||
|
|
3bce782943 | ||
|
|
8e2b065ece | ||
|
|
dc76b81780 | ||
|
|
aafd7e91cc | ||
|
|
83a9724270 | ||
|
|
53223be376 | ||
|
|
e83e0e1374 | ||
|
|
fa48fc1905 | ||
|
|
f994c4f8a1 | ||
|
|
77f6b4ff59 | ||
|
|
2b5e0c2c31 | ||
|
|
85509e1a40 | ||
|
|
e826e83530 | ||
|
|
d68f411e82 | ||
|
|
4483725185 | ||
|
|
6a66e749f6 | ||
|
|
39b4da5ca2 | ||
|
|
09d9f28fe1 | ||
|
|
7b3a95288e | ||
|
|
12839f6f50 | ||
|
|
19f8ba75bc | ||
|
|
52c58721e1 | ||
|
|
7e25ecb3dc | ||
|
|
dd4b2e3e88 | ||
|
|
3885815c1d | ||
|
|
6b61e9d84b | ||
|
|
1c72a4d078 | ||
|
|
7af4cbb75e | ||
|
|
fdc70f3c30 | ||
|
|
34f6ba4ee8 | ||
|
|
e2a1c13439 | ||
|
|
109ef38d69 | ||
|
|
96ef1ed3bd | ||
|
|
8844310bf4 | ||
|
|
3e1de0b1ad | ||
|
|
6d9d5ecb4b | ||
|
|
96dfe5656d | ||
|
|
b17feb4580 | ||
|
|
d8bc769758 | ||
|
|
cbf7f91cfb | ||
|
|
4679ba77c4 | ||
|
|
b479909e25 | ||
|
|
33f4d1e0ee | ||
|
|
58fe110419 | ||
|
|
7165d414c7 | ||
|
|
6f98a75fb8 | ||
|
|
bfa1fbc2cd | ||
|
|
8c4c83b207 | ||
|
|
729039ba04 | ||
|
|
38ab64c3c3 | ||
|
|
818894bb56 | ||
|
|
9dfbfab648 | ||
|
|
29317c3316 | ||
|
|
643eb5c4cc | ||
|
|
9dae49dc18 | ||
|
|
83720975f8 | ||
|
|
e2c4fec253 | ||
|
|
2a4aef0b58 | ||
|
|
6bb23cdda5 | ||
|
|
1ee12e696e | ||
|
|
ff30a89a49 | ||
|
|
2f5742bc1b | ||
|
|
8a180e63b2 | ||
|
|
43c67ba09f | ||
|
|
95cf0e1264 | ||
|
|
0c1f2328f9 | ||
|
|
2394b39f6f | ||
|
|
0fbf07fef1 | ||
|
|
526dbebadc | ||
|
|
c47634b2ee | ||
|
|
89bdd3bc2c | ||
|
|
bb93a86528 | ||
|
|
e5b095bfdf | ||
|
|
100b85a7b0 | ||
|
|
c6e61e2d23 | ||
|
|
a417b75c1f | ||
|
|
d5c0fdd557 | ||
|
|
0391a028c5 | ||
|
|
56c228d009 | ||
|
|
3a50a754aa | ||
|
|
4f2d37b6a3 | ||
|
|
89052079b7 | ||
|
|
14b69d15f1 | ||
|
|
760694582e | ||
|
|
f05629b3c3 | ||
|
|
fdd79a385a | ||
|
|
d7e277d0f5 | ||
|
|
414f4828d6 | ||
|
|
0c54cbd9cc | ||
|
|
3d22ec4ca8 | ||
|
|
b06526781c | ||
|
|
6be1ab80d2 | ||
|
|
19a00bbe27 | ||
|
|
871388d2c0 | ||
|
|
e2526621d1 | ||
|
|
561581cf8b | ||
|
|
a86ea051bf | ||
|
|
0c091e868c | ||
|
|
7298cbd119 | ||
|
|
b0e0d18883 | ||
|
|
ba1e985d2f | ||
|
|
a83f298db1 | ||
|
|
0361609631 | ||
|
|
03580bcfec | ||
|
|
b4df86a17e | ||
|
|
7cac81857d | ||
|
|
c34e582f1a | ||
|
|
0f34bbc161 | ||
|
|
7f66376315 | ||
|
|
e93383c859 | ||
|
|
dd37d0e736 | ||
|
|
9ef439ba23 | ||
|
|
fb27d44840 | ||
|
|
3deeaa21c7 | ||
|
|
d091cfd508 | ||
|
|
377f031860 | ||
|
|
010eda74df | ||
|
|
ecf953a125 | ||
|
|
c608e15943 | ||
|
|
dc5b209f7f | ||
|
|
9306704c1d | ||
|
|
ab2c4387b8 | ||
|
|
01ab16d7d6 | ||
|
|
e9aa316007 | ||
|
|
6b625e368b | ||
|
|
efeb00e4a5 | ||
|
|
6baf5d0b18 | ||
|
|
9c824584b3 | ||
|
|
700bb64d2d | ||
|
|
d1e879e03f | ||
|
|
9895f879f9 | ||
|
|
9f2c351057 | ||
|
|
b9f2f7bcb4 | ||
|
|
0c555e6e7d | ||
|
|
6b6639f620 | ||
|
|
f273be6597 | ||
|
|
e8ddecc8b1 | ||
|
|
ecba1d78c2 | ||
|
|
0a3e46b88d | ||
|
|
eaf447759f | ||
|
|
7e2bd66417 | ||
|
|
379c11e1ce | ||
|
|
9755240cac | ||
|
|
8190178fc9 | ||
|
|
6ddef67cd9 | ||
|
|
3c993168c4 | ||
|
|
43953c8efa | ||
|
|
3b615fa312 | ||
|
|
637bbeb2a7 | ||
|
|
9a994eab47 | ||
|
|
0170c426ee | ||
|
|
788ac5f41d | ||
|
|
9e8d559c1b | ||
|
|
554a725d1a | ||
|
|
9e43719ffb | ||
|
|
d0f793b7a0 | ||
|
|
d6d15db6e8 | ||
|
|
f67d3dc165 | ||
|
|
29a2d2a9f7 | ||
|
|
169e986b28 | ||
|
|
3d2d45e01f | ||
|
|
3f6b9c9434 | ||
|
|
41fe103fa4 | ||
|
|
6576a49178 | ||
|
|
77adbdfa7a | ||
|
|
a37f114e4b | ||
|
|
8d09be7134 | ||
|
|
0ec1f33304 | ||
|
|
6a276a408d | ||
|
|
0f9e269057 | ||
|
|
94c4d420a6 | ||
|
|
7ccc45b276 | ||
|
|
9b90129b24 | ||
|
|
183b51a1c0 | ||
|
|
dd72408a88 | ||
|
|
4e053c4c0a | ||
|
|
af1cd64018 | ||
|
|
966034e4f7 | ||
|
|
bad401bc17 | ||
|
|
6078fe7b02 | ||
|
|
a5991aee03 | ||
|
|
a670e225cd | ||
|
|
d5d0262b4c | ||
|
|
c36ceab2a0 | ||
|
|
dc54128c77 | ||
|
|
36bcd26305 | ||
|
|
90fb37c220 | ||
|
|
b06a6d1aef | ||
|
|
a12d41b1bc | ||
|
|
c793b18c44 | ||
|
|
4afe025c75 | ||
|
|
c3a920774b | ||
|
|
ab7d446e25 | ||
|
|
db658e491f | ||
|
|
89daf91c0b | ||
|
|
6c8ec8ed95 | ||
|
|
2d95488906 | ||
|
|
824c950824 | ||
|
|
e23cbbac13 | ||
|
|
362ace01da | ||
|
|
7b95509970 | ||
|
|
88da6da3a7 | ||
|
|
8b435059f7 | ||
|
|
46ea218d0f | ||
|
|
a13d4bdded | ||
|
|
54bf8c2d2a | ||
|
|
3ecb5b89ff | ||
|
|
e4c36378ac | ||
|
|
d84477c1c0 | ||
|
|
1100cc67da | ||
|
|
f3b63d9c2c | ||
|
|
1aa695580b | ||
|
|
31c8644716 | ||
|
|
1d15d840ac | ||
|
|
097ce52060 | ||
|
|
f731d5632c | ||
|
|
dddea56c2c | ||
|
|
2dd6321c74 | ||
|
|
afee1ab975 | ||
|
|
a3ec0d776c | ||
|
|
09c27f430d | ||
|
|
8792973c08 | ||
|
|
29954d2ff9 | ||
|
|
deb88a5a6d | ||
|
|
1948233d1f | ||
|
|
5673feb48f | ||
|
|
f1e01511b9 | ||
|
|
2f37816608 | ||
|
|
bfff0197d7 | ||
|
|
c1746f2549 | ||
|
|
254f325f29 | ||
|
|
1f588821b4 | ||
|
|
9fdcfedd96 | ||
|
|
05c950156a | ||
|
|
c2cc1af2ac | ||
|
|
5d0b4563a8 | ||
|
|
993e76e3a1 | ||
|
|
f210d6d0e1 | ||
|
|
1cedea6606 | ||
|
|
2a1ece194d | ||
|
|
759e6ff925 | ||
|
|
c764d76aee | ||
|
|
cc29ea912b | ||
|
|
9578da0cfb | ||
|
|
0aed05a413 | ||
|
|
3ebbdbb48f | ||
|
|
b66f4aef07 | ||
|
|
8d997f17ec | ||
|
|
17fefda8fd | ||
|
|
2f4f508d1a | ||
|
|
6f3fa14c53 | ||
|
|
023d3faf3c | ||
|
|
e32da90f5a | ||
|
|
56e8b1cfb4 | ||
|
|
109ec71877 | ||
|
|
a4ceb41938 | ||
|
|
33dd188f9b | ||
|
|
7b31ec26ea | ||
|
|
0168c2e46f | ||
|
|
b0c1ef04a1 | ||
|
|
55697dea28 | ||
|
|
82a158bdd2 | ||
|
|
da2fd4f80f | ||
|
|
58949ed856 | ||
|
|
e732b744b7 | ||
|
|
5acff857e7 | ||
|
|
b839cea4de | ||
|
|
4dd148a731 | ||
|
|
f333acc183 | ||
|
|
5307e5ea3f | ||
|
|
53765ebd0f | ||
|
|
b2e25c8f6b | ||
|
|
3061fc6941 | ||
|
|
d36a085449 | ||
|
|
e1a5599f6a | ||
|
|
3023c5b9e6 | ||
|
|
b206442418 | ||
|
|
f677eb8c50 | ||
|
|
a0fd3eec19 | ||
|
|
5b707d4275 | ||
|
|
e53deb62be | ||
|
|
6580ece2bb | ||
|
|
38172c4f20 | ||
|
|
70be904979 | ||
|
|
d30efdaa71 | ||
|
|
e13075f6ff | ||
|
|
73f77115e1 | ||
|
|
68d943d98d | ||
|
|
45c0e27c36 | ||
|
|
f533f6b654 | ||
|
|
d43581719b | ||
|
|
88ccf64379 | ||
|
|
ccdbd5aae5 | ||
|
|
ce56ac90a8 | ||
|
|
639000a603 | ||
|
|
6cc8104ad3 | ||
|
|
cec83abc3e | ||
|
|
5afd564986 | ||
|
|
46d16ba0ca | ||
|
|
0467222e46 | ||
|
|
1208dab3e9 | ||
|
|
272bfceaf8 | ||
|
|
b6319c9a68 | ||
|
|
368194f293 | ||
|
|
0fc60e9957 | ||
|
|
369d692a90 | ||
|
|
875edc540e | ||
|
|
2d08b5ff2c | ||
|
|
ca9f9b7563 | ||
|
|
b43625820e | ||
|
|
11ef2cb7d1 | ||
|
|
58d3314f7a | ||
|
|
65ec948cb0 | ||
|
|
781caff9e5 | ||
|
|
d04c6f4c01 | ||
|
|
ac67c10acd | ||
|
|
c3bed305c7 | ||
|
|
a9fcc5ff15 | ||
|
|
4e1012823f | ||
|
|
fecda5b094 | ||
|
|
a965d9ee9f | ||
|
|
3d7316906b | ||
|
|
892088ffac | ||
|
|
9095032014 | ||
|
|
f325046a95 | ||
|
|
2565e00e1d | ||
|
|
fef6359f75 | ||
|
|
2121a7dc9e | ||
|
|
907476f566 | ||
|
|
74f446948f | ||
|
|
d15f68d651 | ||
|
|
86001fd331 | ||
|
|
ad42496948 | ||
|
|
bebac2011b | ||
|
|
63c4feb6db | ||
|
|
66a167b4ed | ||
|
|
8b93c5a0a0 | ||
|
|
4a098aaee3 | ||
|
|
0e87922389 | ||
|
|
8844465188 | ||
|
|
2e08ccce03 | ||
|
|
a0d058b2fa | ||
|
|
e17d6aef70 | ||
|
|
711261171b | ||
|
|
42d02e064e | ||
|
|
9b039d76ea | ||
|
|
b2fc570328 | ||
|
|
c51265502d | ||
|
|
757ccf148b | ||
|
|
3e4d39b228 | ||
|
|
d7e838274e | ||
|
|
2cc5c7a776 | ||
|
|
daa03b5ef7 | ||
|
|
42abdb308a | ||
|
|
17f0d01e9f | ||
|
|
f72784dc38 | ||
|
|
31fd41ab14 | ||
|
|
44a9c181aa | ||
|
|
ccf6aa10ac | ||
|
|
a10d142752 | ||
|
|
c299bfa1cb | ||
|
|
499319fb99 | ||
|
|
461d85dfc3 | ||
|
|
087b4d04a6 | ||
|
|
3af5e530ca | ||
|
|
d9f554e10d | ||
|
|
d482b66af3 | ||
|
|
7efff5c3cf | ||
|
|
d0e198df93 | ||
|
|
e6efa741d2 | ||
|
|
552853a3b8 | ||
|
|
0cf4024194 | ||
|
|
ab40ab6208 | ||
|
|
a071c3521c | ||
|
|
6ae4b28db8 | ||
|
|
e1f8863bd2 | ||
|
|
1c3369a3f6 | ||
|
|
f2ce4db85a | ||
|
|
949edb694e | ||
|
|
7ebacba720 | ||
|
|
12338783cc | ||
|
|
82c791f9f5 | ||
|
|
e29d0aa52c | ||
|
|
5d5a248344 | ||
|
|
09a50ad442 | ||
|
|
1d6e428e8f | ||
|
|
e1a2c72587 | ||
|
|
dc246cd45b | ||
|
|
04bab7e436 | ||
|
|
cd14753495 | ||
|
|
445f85b3e2 | ||
|
|
a2bc986785 | ||
|
|
2974c74f1a | ||
|
|
943bad6e17 | ||
|
|
a19cb9ca64 | ||
|
|
e6e98a6ca2 | ||
|
|
aab5c8472c | ||
|
|
b7412552a5 | ||
|
|
fa4d2d485d | ||
|
|
6fc4aa68b6 | ||
|
|
07d790260c | ||
|
|
d6f442bbee | ||
|
|
f360dd86a0 | ||
|
|
dc9d7e857a | ||
|
|
e84c484677 | ||
|
|
79e0c81301 | ||
|
|
ec4110ee54 | ||
|
|
8565201c74 | ||
|
|
b555c52013 | ||
|
|
a4e8e529c4 | ||
|
|
d96ea1cb97 | ||
|
|
a7ca22dde0 | ||
|
|
71153d26d1 | ||
|
|
42aa94de21 | ||
|
|
30d947521d | ||
|
|
f06208920f | ||
|
|
16e23a33fb | ||
|
|
0958674765 | ||
|
|
e0a3f8ca07 | ||
|
|
3800676e97 | ||
|
|
87dda95b18 | ||
|
|
ae7b342ee9 | ||
|
|
020d528e73 | ||
|
|
4ccff4e8b6 | ||
|
|
3dc8c4bc7b | ||
|
|
72532b7dd6 | ||
|
|
34acea5366 | ||
|
|
4e5ef05e5e | ||
|
|
1eaf82ead5 | ||
|
|
70fef73869 | ||
|
|
c81057780a | ||
|
|
1f23a245e4 | ||
|
|
2577d3f7d6 | ||
|
|
9928730bd3 | ||
|
|
233595ac75 | ||
|
|
8e8b26805f | ||
|
|
cab983f826 | ||
|
|
c7da7e4c2e | ||
|
|
b04a36ede7 | ||
|
|
a663d8fcae | ||
|
|
38b784d672 | ||
|
|
d70a9eba01 | ||
|
|
bd5d9d572e | ||
|
|
5e309e244b | ||
|
|
53abedaada | ||
|
|
72d32ec71a | ||
|
|
f0567f5053 | ||
|
|
36d10bef11 | ||
|
|
62eb0dd72b | ||
|
|
bb1b0cba95 | ||
|
|
c05fb8c61b | ||
|
|
2528581642 | ||
|
|
4a617871da | ||
|
|
3de330eb99 | ||
|
|
6d6ec357e1 | ||
|
|
582a52849c | ||
|
|
be636d7f46 | ||
|
|
6458f98996 | ||
|
|
2fd8f4cb00 | ||
|
|
973606e67a | ||
|
|
d5e133b7d8 | ||
|
|
3a3f9bc20b | ||
|
|
9d5424236c | ||
|
|
7c2550fefa | ||
|
|
2492515e8f | ||
|
|
e6f03c8f22 | ||
|
|
26a7d907a2 | ||
|
|
a0bd736948 | ||
|
|
803b3a3f7d | ||
|
|
40b12410f0 | ||
|
|
379ac82688 | ||
|
|
38c8927ae2 | ||
|
|
6d0badcf2a | ||
|
|
d920d8e578 | ||
|
|
13d0b8b084 | ||
|
|
3643ea164f | ||
|
|
ce67aa2617 | ||
|
|
737d669e4a | ||
|
|
7a1e69e288 | ||
|
|
cb9725bdfb | ||
|
|
29b77a2dac | ||
|
|
fbb028e15e | ||
|
|
2f7e74ab35 | ||
|
|
f050546fe2 | ||
|
|
153df45f95 | ||
|
|
b2ff793ea1 | ||
|
|
c4867bafec | ||
|
|
7800e9b0cc | ||
|
|
052b973b39 | ||
|
|
20b66fc447 | ||
|
|
0abcbb9854 | ||
|
|
ed2e21dffa | ||
|
|
1f68522837 | ||
|
|
a87ebfe97b | ||
|
|
d7e0d043f3 | ||
|
|
063b461ffd | ||
|
|
9edc9ebcc5 | ||
|
|
f272350e00 | ||
|
|
5baa38b82c | ||
|
|
957b6db3d7 | ||
|
|
50f94911b1 | ||
|
|
4d62cea700 | ||
|
|
0844df8cc2 | ||
|
|
a748665646 | ||
|
|
040c80a5ad | ||
|
|
193cf4de50 | ||
|
|
81b344715a | ||
|
|
a5343161bf | ||
|
|
84a9fb40ef | ||
|
|
88fd0fda64 | ||
|
|
48130670ca | ||
|
|
ca3e1f0843 | ||
|
|
40b10c13dc | ||
|
|
23e54e4543 | ||
|
|
38893eaf8c | ||
|
|
cd13e700ac | ||
|
|
fab12b10c1 | ||
|
|
f462adbe53 | ||
|
|
e5d6ccd6ba | ||
|
|
99ba5a0da8 | ||
|
|
e292d8fa12 | ||
|
|
a427719a22 | ||
|
|
a14b21d80c | ||
|
|
d1eec80324 | ||
|
|
bb915cbf3d | ||
|
|
129e4d5704 | ||
|
|
5a95d606f8 | ||
|
|
388967d00c | ||
|
|
20527ab1f1 | ||
|
|
a9f01a4390 | ||
|
|
d10eff97a2 | ||
|
|
3f169b1751 | ||
|
|
f697450523 | ||
|
|
a405279f34 | ||
|
|
b30dcdd35a | ||
|
|
d6be28a7bb | ||
|
|
7a620de1bf | ||
|
|
be33fd58b3 | ||
|
|
54378f394a | ||
|
|
7bf24eb918 | ||
|
|
5cc3e189eb | ||
|
|
af0764b1ca | ||
|
|
27c23f676b | ||
|
|
1c5f466e61 | ||
|
|
61fcbd560e | ||
|
|
f20e6002cc | ||
|
|
89c23b5560 | ||
|
|
aa62764d90 | ||
|
|
0aacf197bf | ||
|
|
3afd8b4242 | ||
|
|
1826b7a9be | ||
|
|
3fc4fc3eb8 | ||
|
|
8fe0027d98 | ||
|
|
2a7b9381bc | ||
|
|
23f09937bc | ||
|
|
04344ed184 | ||
|
|
9cac8a92df | ||
|
|
c4ce85c847 | ||
|
|
f83fe424fb | ||
|
|
91a8703852 | ||
|
|
b7a1ada94d | ||
|
|
4217c5e47a | ||
|
|
22adf354e2 | ||
|
|
b0dde2ecb4 | ||
|
|
10f03a360c | ||
|
|
d250f4449c | ||
|
|
ba87c2e5ab | ||
|
|
f316b79bcd | ||
|
|
be86b83b67 | ||
|
|
9d63217778 | ||
|
|
b85520f504 | ||
|
|
11cfcda37c | ||
|
|
61f89bab6e | ||
|
|
9e3ca1c13c | ||
|
|
cb9f4972df | ||
|
|
7353e05a90 | ||
|
|
c17424deec | ||
|
|
cbf0402471 | ||
|
|
aa1a71ed96 | ||
|
|
79980bc7be | ||
|
|
56c2b85fce | ||
|
|
2ee0805075 | ||
|
|
6adedacaf8 | ||
|
|
bf9b0b4dd2 | ||
|
|
81a167ef01 | ||
|
|
517b4b27d7 | ||
|
|
fd5f4f3dd8 | ||
|
|
bed44dd82c | ||
|
|
2bd87313cd | ||
|
|
f99fd26386 | ||
|
|
916dde0045 | ||
|
|
4392feef1b | ||
|
|
153fea538a | ||
|
|
c54d81258a | ||
|
|
11cbbab901 | ||
|
|
b71bf9607c | ||
|
|
7b9ac53ace | ||
|
|
be0149e478 | ||
|
|
24953e5f0e | ||
|
|
29b5af9c87 | ||
|
|
caefacac35 | ||
|
|
37b369e0d7 | ||
|
|
cbf88de606 | ||
|
|
941432af75 | ||
|
|
826556775c | ||
|
|
0968e2b00b | ||
|
|
c02e2530f1 | ||
|
|
6b904573a0 | ||
|
|
950b53f6dc | ||
|
|
d552d27a35 | ||
|
|
0237675711 | ||
|
|
ba8684b585 | ||
|
|
b08a086a11 | ||
|
|
489879eb0d | ||
|
|
e0dd15567c | ||
|
|
1e9ccab806 | ||
|
|
9751bde8d1 | ||
|
|
3fab93fc4a | ||
|
|
1de3ffe57e | ||
|
|
bb980abe8c | ||
|
|
9726be64c6 | ||
|
|
f7fd1cf2b0 | ||
|
|
ea02626c28 | ||
|
|
8dc97790bc | ||
|
|
55b3cbaf17 | ||
|
|
9647567704 | ||
|
|
e56a791d41 | ||
|
|
e7d6bae0ad | ||
|
|
a631c50979 | ||
|
|
2964cc922c | ||
|
|
bbb95e15fa | ||
|
|
fc79a0ef3b | ||
|
|
e8ab4f9f0c | ||
|
|
526c38a698 | ||
|
|
489459f313 | ||
|
|
4d4a654a8e | ||
|
|
79f99485c1 | ||
|
|
ea8c970d6e | ||
|
|
9b00967df0 | ||
|
|
b66b0be8b4 | ||
|
|
15e5242611 | ||
|
|
c431cc7f63 | ||
|
|
448e300a03 | ||
|
|
7cd5266d39 | ||
|
|
f83fedb9e1 | ||
|
|
3a6c7cf204 | ||
|
|
77d22c4038 | ||
|
|
34becd6871 | ||
|
|
d05bb872f3 | ||
|
|
85ca39cf0c | ||
|
|
a858664035 | ||
|
|
286438ae0e | ||
|
|
ece2a4b64c | ||
|
|
fd62963ad2 | ||
|
|
4f0e09c00e | ||
|
|
461d2a1ba8 | ||
|
|
57e36f4eda | ||
|
|
5850dff254 | ||
|
|
45572931a1 | ||
|
|
e260255ce8 | ||
|
|
38c0e24bcd | ||
|
|
3225a07f6f | ||
|
|
db2f805ed9 | ||
|
|
42f15f000b | ||
|
|
f61edacb5c | ||
|
|
674468268e | ||
|
|
f55fed9bc3 | ||
|
|
2484cf2c55 | ||
|
|
8f86288614 | ||
|
|
1690cb9cae | ||
|
|
4cc5441579 | ||
|
|
e4b5ec8f0b | ||
|
|
bed8c44859 | ||
|
|
ac48fae0af | ||
|
|
93ba55d357 | ||
|
|
d51cdc0e48 | ||
|
|
7fd2e1ffca | ||
|
|
bcf7707b01 | ||
|
|
07694c52b0 | ||
|
|
a1a7e21f92 | ||
|
|
5560829695 | ||
|
|
b746116a20 | ||
|
|
4d5149a35f | ||
|
|
56ac30de91 | ||
|
|
1d7ca27e61 | ||
|
|
a2316e6e14 | ||
|
|
be081fd44e | ||
|
|
93fd685ca7 | ||
|
|
84b1886666 | ||
|
|
075f4aadc7 | ||
|
|
e9adc06bee | ||
|
|
984002a7ec | ||
|
|
46553c719c | ||
|
|
5e5d8e5b17 | ||
|
|
7e20ea160c | ||
|
|
3d0f7f3b70 | ||
|
|
317281b37b | ||
|
|
795ea69982 | ||
|
|
11672db967 | ||
|
|
c0cfc7872e | ||
|
|
e744a1b6e9 | ||
|
|
975e180b26 | ||
|
|
7046ebe261 | ||
|
|
f4d54ace1d | ||
|
|
8b539cd4cc | ||
|
|
20982bba31 | ||
|
|
f64e35e8bb | ||
|
|
268c18988b | ||
|
|
42b6ed5d2a | ||
|
|
b021bfd70f | ||
|
|
6900c90bc5 | ||
|
|
1c77fb2357 | ||
|
|
c28f64efde | ||
|
|
82d2fa373a | ||
|
|
9968a5feda | ||
|
|
0f3c151058 | ||
|
|
b921bece0e | ||
|
|
81bffb464f | ||
|
|
e2fa562326 | ||
|
|
dab8c8dcd0 | ||
|
|
836700669f | ||
|
|
a162b6fab3 | ||
|
|
f0baf2efc2 | ||
|
|
18b1789512 | ||
|
|
d80ded31ee | ||
|
|
aaa4fec141 | ||
|
|
a871f29e75 | ||
|
|
ea1ee73392 | ||
|
|
32c663cf2c | ||
|
|
3cdb9f130b | ||
|
|
476e35c276 | ||
|
|
7f22455eed | ||
|
|
439a8a5330 | ||
|
|
fa970f1ae2 | ||
|
|
3ee533a9b0 | ||
|
|
e63423eafe | ||
|
|
392d529168 | ||
|
|
5a3ac559be | ||
|
|
111b127bf7 | ||
|
|
9881411090 | ||
|
|
6e80a35960 | ||
|
|
d8232bb484 | ||
|
|
f8ef902af4 | ||
|
|
a452915d8a | ||
|
|
8c0f1f979a | ||
|
|
d1beaff8e4 | ||
|
|
4b0c43fb8b | ||
|
|
93b067b6bc | ||
|
|
10e3a16f40 | ||
|
|
513115ea3b | ||
|
|
597405c288 | ||
|
|
2d765a6cf9 | ||
|
|
2991c4ab57 | ||
|
|
fc12370765 | ||
|
|
7ba4045e59 | ||
|
|
cf605f2d52 | ||
|
|
0f0ea7e63f | ||
|
|
969b47c78c | ||
|
|
db34b37716 | ||
|
|
3a83f1b861 | ||
|
|
dc922b4ffa | ||
|
|
783e6d33d5 | ||
|
|
32d669ccc8 | ||
|
|
485245fbfd | ||
|
|
a2927a0dd9 | ||
|
|
77e60f8417 | ||
|
|
7d544e0868 | ||
|
|
0f4a5c09af | ||
|
|
97d48277b5 | ||
|
|
2b410cf2d0 | ||
|
|
9dd4dc3730 | ||
|
|
bf510b570a | ||
|
|
958ee7af51 | ||
|
|
2ff2e85fbb | ||
|
|
79e4ee2717 | ||
|
|
dc4ca15430 | ||
|
|
38752f4700 | ||
|
|
02ba8a86e6 | ||
|
|
ecea771801 | ||
|
|
b3ad00da13 | ||
|
|
0aa4fe258e | ||
|
|
921aa28b42 | ||
|
|
3e3b5ab02d | ||
|
|
585887b04e | ||
|
|
9342ebdc98 | ||
|
|
5d7cdd2646 | ||
|
|
22c4508c27 | ||
|
|
e50c314c33 | ||
|
|
bb16820ab0 | ||
|
|
bf8c12d9f7 | ||
|
|
3e6cdf8901 | ||
|
|
cde4ef435c | ||
|
|
1929403cda | ||
|
|
c245794e56 | ||
|
|
7ed51f97aa | ||
|
|
8084e20e64 | ||
|
|
7a800068ed | ||
|
|
824397e6ba | ||
|
|
2d5c0df7cd | ||
|
|
b7f0f9ba86 | ||
|
|
4e7ffc2711 | ||
|
|
037e44e084 | ||
|
|
32ea32521d | ||
|
|
e8ed1674ea | ||
|
|
2ad3ee6f99 | ||
|
|
5ad4734c24 | ||
|
|
124b195d3e | ||
|
|
42cc4d7683 | ||
|
|
4c144c3d5c | ||
|
|
87b3a3274d | ||
|
|
72fce33956 | ||
|
|
3a4fc2a99a | ||
|
|
88352092ee | ||
|
|
c845682ecb | ||
|
|
4e51888651 | ||
|
|
9685c87bc9 | ||
|
|
7a71f107cb | ||
|
|
2944b31c69 | ||
|
|
41fb355804 | ||
|
|
410f35bb44 | ||
|
|
917e78a096 | ||
|
|
d71c690794 | ||
|
|
c34d637de1 | ||
|
|
c9299f3b8d | ||
|
|
ca332a3fef | ||
|
|
4b7f3e85c2 | ||
|
|
f47ac87f12 | ||
|
|
17e779177b | ||
|
|
31930290cf | ||
|
|
a96031f435 | ||
|
|
53b85c99ae | ||
|
|
7b256c3ec6 | ||
|
|
fa1eb354f2 | ||
|
|
1d709cc6ac | ||
|
|
8779b90f7c | ||
|
|
c69e5c1dba | ||
|
|
0b09148fb5 | ||
|
|
9286d63133 | ||
|
|
b4598aa5d9 | ||
|
|
96c3a86314 | ||
|
|
97510ba0be | ||
|
|
2ad5dea737 | ||
|
|
14e073fb5a | ||
|
|
b698b1736f | ||
|
|
9c59116dd1 | ||
|
|
ab9fc9cc71 | ||
|
|
b7e2a9b40e | ||
|
|
09feaedd00 | ||
|
|
f31a4f8549 | ||
|
|
525d5c5337 | ||
|
|
f08814250e | ||
|
|
8c396e5afb | ||
|
|
019fc86ac5 | ||
|
|
c105a98443 | ||
|
|
666a010e3b | ||
|
|
aa3cc0cec4 | ||
|
|
3fc0f2b47d | ||
|
|
f219393149 | ||
|
|
10b690b5f9 | ||
|
|
865404a0d3 | ||
|
|
fdfe057efe | ||
|
|
331a5260c9 | ||
|
|
b070b572d0 | ||
|
|
70fc6879db | ||
|
|
a9b5f003e5 | ||
|
|
c1ddc55a12 | ||
|
|
ffe9105891 | ||
|
|
1ab9de8b2c | ||
|
|
0541053fa9 | ||
|
|
0e69af847e | ||
|
|
6e1f049456 | ||
|
|
65f891a30d | ||
|
|
fe9fee1609 | ||
|
|
bd9d723315 | ||
|
|
2690410cbe | ||
|
|
070c286c54 | ||
|
|
539529af59 | ||
|
|
d2979fc4ff | ||
|
|
f0df0d7bf2 | ||
|
|
984121e095 | ||
|
|
efccede678 | ||
|
|
fcc079a5f2 | ||
|
|
c012afdbae | ||
|
|
59a4155651 | ||
|
|
2d83003b64 | ||
|
|
c3348d1734 | ||
|
|
8fb8a718c3 | ||
|
|
6366bd05b3 | ||
|
|
00777de581 | ||
|
|
d2c81db06a | ||
|
|
58c8b07ab5 | ||
|
|
cc1b70c74b | ||
|
|
a0340faa63 | ||
|
|
7ed672752d | ||
|
|
daa975d01f | ||
|
|
66d95316f1 | ||
|
|
09d245c54b | ||
|
|
7a8d29f5e0 | ||
|
|
28fcbbf1fe | ||
|
|
1281d9987a | ||
|
|
aa5a571ab1 | ||
|
|
a723b4e215 | ||
|
|
6976fd96e3 | ||
|
|
1ff8df8936 | ||
|
|
37ef03c956 | ||
|
|
2447f09128 | ||
|
|
14da0cfd11 | ||
|
|
ca7081bde3 | ||
|
|
390cc17161 | ||
|
|
b666fc49b7 | ||
|
|
cfa29b0022 | ||
|
|
5bfef2805d | ||
|
|
65a2aef4ed | ||
|
|
ef915e1cd0 | ||
|
|
01d06d0a2e | ||
|
|
b3e5ac2717 | ||
|
|
3643908427 | ||
|
|
e8109919e9 | ||
|
|
09fe09e42b | ||
|
|
fa2582a2f1 | ||
|
|
c576b2a34e | ||
|
|
d8a4b19b54 | ||
|
|
e7eb07197e | ||
|
|
4828835292 | ||
|
|
a1af290d18 | ||
|
|
4094ace04b | ||
|
|
cec47dbfc3 | ||
|
|
6b74dcf75b | ||
|
|
9defa59d2d | ||
|
|
bd0512fea7 | ||
|
|
2b48f03e0f | ||
|
|
51905b54a2 | ||
|
|
43f313cb18 | ||
|
|
db1ab50938 | ||
|
|
1a72e59c54 | ||
|
|
ed5433d290 | ||
|
|
bedfa5e2d3 | ||
|
|
5842d771fe | ||
|
|
4da61e8ae9 | ||
|
|
9e8d20aee4 | ||
|
|
2dff59a4d4 | ||
|
|
a36b4a0466 | ||
|
|
3b9699fbc8 | ||
|
|
48d4554317 | ||
|
|
cc33727fad | ||
|
|
d1b2e4e483 | ||
|
|
808de79d16 | ||
|
|
76a9f80545 | ||
|
|
75ac8a4847 | ||
|
|
8d29bf3c20 | ||
|
|
d90f292c71 | ||
|
|
003ac5536e | ||
|
|
ef17d4f3b8 | ||
|
|
eb9f6c027b | ||
|
|
f2836ea111 | ||
|
|
a4d8e1c4d8 | ||
|
|
baf8cc49a1 | ||
|
|
a85363ac03 | ||
|
|
c78602ba7a | ||
|
|
d3d0d1e007 | ||
|
|
6751c2640d | ||
|
|
b2987d3054 | ||
|
|
b5076091fa | ||
|
|
29e69d3833 | ||
|
|
11efafffd8 | ||
|
|
e9a5eff753 | ||
|
|
29137b5ad1 | ||
|
|
e3bec11d2e | ||
|
|
8e8804caf1 | ||
|
|
2dfe36b588 | ||
|
|
7547b50bd8 | ||
|
|
f681a99ce0 | ||
|
|
334b2276cf | ||
|
|
8515e30ad8 | ||
|
|
c16b941909 | ||
|
|
0421ad71e8 | ||
|
|
e686eff886 | ||
|
|
6c369ae907 | ||
|
|
71e06761f0 | ||
|
|
3c541045bb | ||
|
|
744f72355b | ||
|
|
c2e1623529 | ||
|
|
d8357ae932 | ||
|
|
abbbe3d41b | ||
|
|
feb6c4c2d7 | ||
|
|
d45a63ee5c | ||
|
|
bc3dc0fd74 | ||
|
|
4c42f4e1ba | ||
|
|
ee2e448220 | ||
|
|
8264343e54 | ||
|
|
fe1475105a | ||
|
|
9d901d26b2 | ||
|
|
a5519c2645 | ||
|
|
4f1b7c70b8 | ||
|
|
e6f354ce7c | ||
|
|
ddb295cc77 | ||
|
|
be7228f78e | ||
|
|
945d2f6f5d | ||
|
|
ac557d4eca | ||
|
|
b2cc0c9bd8 | ||
|
|
c48b9c5118 | ||
|
|
ac489c6938 | ||
|
|
fb0f1fb209 | ||
|
|
879d9758c0 | ||
|
|
72a83b99b7 | ||
|
|
68440e7e0f | ||
|
|
e9b0e2b0e8 | ||
|
|
332fd250b4 | ||
|
|
f047e5f6bd | ||
|
|
7979726327 | ||
|
|
d964bbc605 | ||
|
|
f5611d6cd6 | ||
|
|
388e530420 | ||
|
|
fe5c8a97d4 | ||
|
|
37d3f7b4c1 | ||
|
|
72767f5d17 | ||
|
|
965776160f | ||
|
|
a642868cfa | ||
|
|
f81658f542 | ||
|
|
953f9c2e7a | ||
|
|
01168e805a | ||
|
|
a413f3046a | ||
|
|
1d4eaf6824 | ||
|
|
305089d84f | ||
|
|
10d1be695d | ||
|
|
465e24cf4e | ||
|
|
aff9f5dbf9 | ||
|
|
583564e484 | ||
|
|
559e85bc76 | ||
|
|
9708fb4ea6 | ||
|
|
10354cf607 | ||
|
|
f0c812482f | ||
|
|
e868954d9c | ||
|
|
c2ff8347d9 | ||
|
|
e50253e316 | ||
|
|
9773314803 | ||
|
|
7d21bd8133 | ||
|
|
ca8647c808 | ||
|
|
b4f7259c7f | ||
|
|
16f70ba1a0 | ||
|
|
0da8b0ae7f | ||
|
|
1ad7765f2f | ||
|
|
7d610bde7b | ||
|
|
b24c46dd19 | ||
|
|
43cfc2a4cd | ||
|
|
d291d23092 | ||
|
|
85a95a0036 | ||
|
|
f274cc99f6 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@
|
||||
/examples/*.html.png
|
||||
/examples/example-list.js
|
||||
/examples/example-list.xml
|
||||
/node_modules/
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
before_install:
|
||||
- "sudo pip install http://closure-linter.googlecode.com/files/closure_linter-latest.tar.gz"
|
||||
- "sudo pip install -r requirements.txt"
|
||||
- "git clone --depth=50 https://github.com/jsdoc3/jsdoc build/jsdoc"
|
||||
- "git clone https://code.google.com/p/glsl-unit/ build/glsl-unit"
|
||||
- "cd build/jsdoc"
|
||||
- "git fetch origin refs/tags/v3.2.2:refs/tags/v3.2.2"
|
||||
- "git checkout tags/v3.2.2"
|
||||
- "cd ../.."
|
||||
|
||||
before_script:
|
||||
- "./build.py plovr"
|
||||
|
||||
@@ -33,6 +33,7 @@ OpenLayers contributors:
|
||||
* Gregers Rygg
|
||||
* Tim Schaub
|
||||
* Christopher Schmidt
|
||||
* Tobias Schwinger
|
||||
* Cameron Shorter
|
||||
* Pedro Simonetti
|
||||
* Paul Spencer
|
||||
|
||||
10
README.md
10
README.md
@@ -2,8 +2,10 @@
|
||||
|
||||
[](http://travis-ci.org/#!/openlayers/ol3)
|
||||
|
||||
Welcome to OpenLayers 3!
|
||||
Welcome to [OpenLayers 3](http://ol3js.org/)!
|
||||
|
||||
To see OpenLayers 3 in action you can look at the live examples on
|
||||
http://openlayers.github.io/ol3/master/examples/. If you want to contribute
|
||||
to OpenLayers 3 please read the [CONTRIBUTING](CONTRIBUTING.md) page.
|
||||
Check out the [hosted examples](http://ol3js.org/en/master/examples/) or poke around the evolving [API docs](http://ol3js.org/en/master/apidoc/).
|
||||
|
||||
Please don't ask questions in the github issue tracker but use [the mailing list](https://groups.google.com/forum/#!forum/ol3-dev) instead.
|
||||
|
||||
Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in getting involved.
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
{
|
||||
"opts": {
|
||||
"recurse": true,
|
||||
"template": "doc/template",
|
||||
"tutorials": "doc/tutorials"
|
||||
"template": "apidoc/template"
|
||||
},
|
||||
"tags": {
|
||||
"allowUnknownTags": true
|
||||
@@ -13,12 +12,18 @@
|
||||
},
|
||||
"plugins": [
|
||||
"plugins/markdown",
|
||||
"doc/plugins/inheritdoc",
|
||||
"doc/plugins/exports"
|
||||
"apidoc/plugins/inheritdoc",
|
||||
"apidoc/plugins/exports",
|
||||
"apidoc/plugins/todo",
|
||||
"apidoc/plugins/observable",
|
||||
"apidoc/plugins/stability"
|
||||
],
|
||||
"markdown": {
|
||||
"parser": "gfm"
|
||||
},
|
||||
"stability": {
|
||||
"levels": ["deprecated","experimental","unstable","stable","frozen","locked"]
|
||||
},
|
||||
"templates": {
|
||||
"cleverLinks": false,
|
||||
"monospaceLinks": false,
|
||||
20
apidoc/index.md
Normal file
20
apidoc/index.md
Normal file
@@ -0,0 +1,20 @@
|
||||
Finding your way around
|
||||
-----------------------
|
||||
See the class list to the right and especially take a look at {@link ol.Map} and {@link ol.layer.Layer} because those are the central objects.
|
||||
|
||||
In general every use of OpenLayers starts by initializing a map, then adding the required layers. Controls and interactions can be added to change the behavior of the map.
|
||||
|
||||
Projections
|
||||
-----------
|
||||
A {@link ol.proj.Projection} defines which point on earth is represented by a pair of coordinates.
|
||||
Coordinates within OpenLayers can be used in various projections where some common projections are always supported,
|
||||
others can be used via [Proj4js](http://trac.osgeo.org/proj4js/).
|
||||
|
||||
Maps and Layers
|
||||
---------------
|
||||
A map in OpenLayers is essentially a staple of layers that is viewed from the top. Layers are responsible for retrieving data and displaying it.
|
||||
|
||||
Contributing
|
||||
------------
|
||||
See [CONTRIBUTING.md](https://github.com/openlayers/ol3/blob/master/CONTRIBUTING.md) for instructions
|
||||
on building and testing OpenLayers. The file does also describe how to commit your changes to OpenLayers.
|
||||
@@ -30,7 +30,6 @@ function collectExports(source) {
|
||||
var encoding = env.conf.encoding || 'utf8';
|
||||
var fs = require('jsdoc/fs');
|
||||
collectExports(fs.readFileSync('build/src/external/src/exports.js', encoding));
|
||||
collectExports(fs.readFileSync('build/src/external/src/types.js', encoding));
|
||||
|
||||
|
||||
exports.handlers = {
|
||||
@@ -42,15 +41,29 @@ exports.handlers = {
|
||||
},
|
||||
|
||||
newDoclet: function(e) {
|
||||
var i, ii, j, jj;
|
||||
if (e.doclet.meta.filename == "objectliterals.jsdoc" && e.doclet.properties) {
|
||||
for (i = 0, ii = e.doclet.properties.length; i < ii; ++i) {
|
||||
if (e.doclet.properties[i].type && e.doclet.properties[i].type.names) {
|
||||
for (j = 0, jj = e.doclet.properties[i].type.names.length; j < jj; ++j) {
|
||||
if (e.doclet.properties[i].type.names[j].indexOf('ol') == 0) {
|
||||
if (api.indexOf(e.doclet.properties[i].type.names[j]) === -1) {
|
||||
api.push(e.doclet.properties[i].type.names[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (api.indexOf(e.doclet.longname) > -1) {
|
||||
// Add params of API symbols to the API
|
||||
var names, name;
|
||||
var params = e.doclet.params;
|
||||
if (params) {
|
||||
for (var i = 0, ii = params.length; i < ii; ++i) {
|
||||
for (i = 0, ii = params.length; i < ii; ++i) {
|
||||
names = params[i].type.names;
|
||||
if (names) {
|
||||
for (var j = 0, jj=names.length; j < jj; ++j) {
|
||||
for (j = 0, jj=names.length; j < jj; ++j) {
|
||||
name = names[j];
|
||||
if (api.indexOf(name) === -1) {
|
||||
api.push(name);
|
||||
26
apidoc/plugins/observable.js
Normal file
26
apidoc/plugins/observable.js
Normal file
@@ -0,0 +1,26 @@
|
||||
var util = require('util');
|
||||
exports.defineTags = function(dictionary) {
|
||||
dictionary.defineTag('observable', {
|
||||
mustHaveValue: true,
|
||||
canHaveType: true,
|
||||
canHaveName: true,
|
||||
onTagged: function(doclet, tag) {
|
||||
if (!doclet.observables) {
|
||||
doclet.observables = [];
|
||||
}
|
||||
var description = tag.value.description;
|
||||
var readonly = description.split(' ').shift() === 'readonly';
|
||||
if (readonly) {
|
||||
description = description.split(' ').slice(1).join(' ');
|
||||
}
|
||||
doclet.observables.push({
|
||||
name: tag.value.name,
|
||||
type: {
|
||||
names: tag.value.type.names
|
||||
},
|
||||
description: description,
|
||||
readonly: readonly
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
20
apidoc/plugins/stability.js
Normal file
20
apidoc/plugins/stability.js
Normal file
@@ -0,0 +1,20 @@
|
||||
var conf = env.conf.stability;
|
||||
var defaultLevels = ["deprecated","experimental","unstable","stable","frozen","locked"];
|
||||
var levels = conf.levels || defaultLevels;
|
||||
var util = require('util');
|
||||
exports.defineTags = function(dictionary) {
|
||||
dictionary.defineTag('stability', {
|
||||
mustHaveValue: true,
|
||||
canHaveType: false,
|
||||
canHaveName: true,
|
||||
onTagged: function(doclet, tag) {
|
||||
var level = tag.text;
|
||||
if (levels.indexOf(level) >=0) {
|
||||
doclet.stability = level;
|
||||
} else {
|
||||
var errorText = util.format('Invalid stability level (%s) in %s line %s', tag.text, doclet.meta.filename, doclet.meta.lineno);
|
||||
require('jsdoc/util/error').handle( new Error(errorText) );
|
||||
}
|
||||
}
|
||||
})
|
||||
};
|
||||
28
apidoc/plugins/todo.js
Normal file
28
apidoc/plugins/todo.js
Normal file
@@ -0,0 +1,28 @@
|
||||
var util = require('util');
|
||||
exports.defineTags = function(dictionary) {
|
||||
dictionary.defineTag('todo', {
|
||||
mustHaveValue: true,
|
||||
canHaveType: true,
|
||||
canHaveName: true,
|
||||
onTagged: function(doclet, tag) {
|
||||
var parts = tag.text.split(' ');
|
||||
if (parts[0] === 'stability') {
|
||||
doclet.stability = parts.slice(1).join(' ');
|
||||
} else if (parts[0] === 'observable') {
|
||||
if (!doclet.observables) {
|
||||
doclet.observables = [];
|
||||
}
|
||||
var readonly = parts.length > 3 && parts[3] === 'readonly';
|
||||
var description = (readonly ? parts.slice(4) : parts.slice(3)).join(' ');
|
||||
doclet.observables.push({
|
||||
name: parts[1],
|
||||
type: {
|
||||
names: tag.value.type.names
|
||||
},
|
||||
description: description,
|
||||
readonly: readonly
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
39
apidoc/template/static/styles/ol.css
Normal file
39
apidoc/template/static/styles/ol.css
Normal file
@@ -0,0 +1,39 @@
|
||||
a:visited {
|
||||
color: #08c;
|
||||
}
|
||||
|
||||
.stability {
|
||||
padding: 8px 35px 8px 14px;
|
||||
margin-bottom: 20px;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
color: #333;
|
||||
background-color: #fcfcfc;
|
||||
border: 1px solid #ccc;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.stability-deprecated {
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.stability-experimental {
|
||||
color: #c09853;
|
||||
background-color: #fcf8e3;
|
||||
border-color: #fbeed5;
|
||||
}
|
||||
|
||||
.stability-unstable {
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
.stability-stable, .stability-locked {
|
||||
color: #468847;
|
||||
background-color: #dff0d8;
|
||||
border-color: #d6e9c6;
|
||||
}
|
||||
@@ -92,6 +92,15 @@
|
||||
<?js }); ?></dl>
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var observables = doc.observables;
|
||||
if (observables && observables.length && observables.forEach) {
|
||||
?>
|
||||
<h3 class="subsection-title">Observable Properties</h3>
|
||||
<dl><?js= self.partial('observables.tmpl', observables) ?></dl>
|
||||
|
||||
<?js } ?>
|
||||
|
||||
<?js
|
||||
var members = self.find({kind: 'member', memberof: title === 'Globals'? {isUndefined: true} : doc.longname});
|
||||
if (members && members.length && members.forEach) {
|
||||
@@ -14,6 +14,7 @@
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/ol.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -21,13 +22,7 @@
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./">OpenLayers 3 API Documentation - <?js= title ?></a>
|
||||
<ul class="nav pull-right">
|
||||
<li><iframe class="github-watch-button" src="http://ghbtns.com/github-btn.html?user=openlayers&repo=ol3&type=watch&count=true"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></iframe></li>
|
||||
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-hashtags="openlayers"> </a></li>
|
||||
<li><div class="g-plusone-wrapper"><div class="g-plusone" data-size="medium" data-annotation="none"></div></div></li>
|
||||
</ul>
|
||||
<a class="brand" href="/"><img src="../resources/logo.png"> OpenLayers 3</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -47,6 +42,5 @@ allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="../resources/social-links.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,6 +2,8 @@
|
||||
<dt class="<?js= data.access ?>">
|
||||
<h4 class="name" id="<?js= id ?>"><?js= data.attribs + name + data.signature ?></h4>
|
||||
|
||||
<?js= this.partial('stability.tmpl', data) ?>
|
||||
|
||||
<?js if (data.summary) { ?>
|
||||
<p class="summary"><?js= summary ?></p>
|
||||
<?js } ?>
|
||||
@@ -5,6 +5,8 @@ var self = this;
|
||||
<dt>
|
||||
<h4 class="name" id="<?js= id ?>"><?js= data.attribs + (kind == 'class'? 'new ':'') + name + data.signature ?></h4>
|
||||
|
||||
<?js= this.partial('stability.tmpl', data) ?>
|
||||
|
||||
<?js if (data.summary) { ?>
|
||||
<p class="summary"><?js= summary ?></p>
|
||||
<?js } ?>
|
||||
37
apidoc/template/tmpl/observables.tmpl
Normal file
37
apidoc/template/tmpl/observables.tmpl
Normal file
@@ -0,0 +1,37 @@
|
||||
<?js
|
||||
var props = obj;
|
||||
?>
|
||||
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Type</th>
|
||||
<th>Settable</th>
|
||||
<th>Event</th>
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?js
|
||||
var self = this;
|
||||
props.forEach(function(prop) {
|
||||
if (!prop) { return; }
|
||||
var setter = prop.readonly ? 'no' : 'yes';
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<td class="name"><code><?js= prop.name ?></code></td>
|
||||
<td class="type">
|
||||
<?js if (prop.type && prop.type.names) {?>
|
||||
<?js= self.partial('type.tmpl', prop.type.names) ?>
|
||||
<?js } ?>
|
||||
</td>
|
||||
<td class="setter"><?js= setter ?></td>
|
||||
<td class="event"><code>change:<?js= prop.name.toLowerCase() ?></code></td>
|
||||
<td class="description last"><?js= prop.description ?></td>
|
||||
</tr>
|
||||
<?js }); ?>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -97,7 +97,7 @@
|
||||
</td>
|
||||
<?js } ?>
|
||||
|
||||
<td class="description last"><?js= (param.optional ? "(Optional) " : "") + param.description ?><?js if (param.subparams) { ?>
|
||||
<td class="description last"><?js= param.description ?><?js if (param.subparams) { ?>
|
||||
<h6>Properties</h6>
|
||||
<?js= self.partial('params.tmpl', param.subparams) ?>
|
||||
<?js } ?></td>
|
||||
9
apidoc/template/tmpl/stability.tmpl
Normal file
9
apidoc/template/tmpl/stability.tmpl
Normal file
@@ -0,0 +1,9 @@
|
||||
<?js
|
||||
var data = obj;
|
||||
var self = this;
|
||||
|
||||
if (data.stability) { ?>
|
||||
<div class="stability stability-<?js= stability ?>">Stability: <?js= data.stability ?></div>
|
||||
<?js } else { ?>
|
||||
<div class="stability">Stability: not documented</div>
|
||||
<?js } ?>
|
||||
27
bin/combine-examples.py
Executable file
27
bin/combine-examples.py
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
def main(argv):
|
||||
examples = {}
|
||||
requires = set()
|
||||
for filename in argv[1:]:
|
||||
lines = open(filename).readlines()
|
||||
if len(lines) > 0 and lines[0].startswith('// NOCOMPILE'):
|
||||
continue
|
||||
requires.update(line for line in lines if line.startswith('goog.require'))
|
||||
examples[filename] = [line for line in lines if not line.startswith('goog.require')]
|
||||
for require in sorted(requires):
|
||||
print require,
|
||||
for filename in sorted(examples.keys()):
|
||||
print '// ', filename
|
||||
print '(function(){'
|
||||
for line in examples[filename]:
|
||||
print line,
|
||||
print '})();'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main(sys.argv))
|
||||
@@ -1,7 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from collections import defaultdict
|
||||
from itertools import ifilter
|
||||
from operator import attrgetter
|
||||
from optparse import OptionParser
|
||||
import re
|
||||
@@ -31,102 +29,12 @@ class Exportable(object):
|
||||
return ''
|
||||
|
||||
|
||||
class Class(Exportable):
|
||||
|
||||
def __init__(self, name, object_literal, objects):
|
||||
Exportable.__init__(self, name)
|
||||
self.object_literal = object_literal
|
||||
self.objects = objects
|
||||
self.props = set()
|
||||
|
||||
__repr__ = simplerepr
|
||||
|
||||
def nested_options(self):
|
||||
def get_class_by_object_literal_name(name):
|
||||
for k, o in self.objects.iteritems():
|
||||
if isinstance(o, Class) and o.object_literal.name == name:
|
||||
return o
|
||||
return None
|
||||
|
||||
for option in sorted(self.object_literal.prop_types.keys()):
|
||||
types = self.object_literal.prop_types[option].split('|')
|
||||
base, object_literal = None, None
|
||||
for t in types:
|
||||
if t in self.objects:
|
||||
o = self.objects[t]
|
||||
if isinstance(o, (Class, Symbol)):
|
||||
if base:
|
||||
raise RuntimeError('Multiple "class" types found for '
|
||||
'option %s.%s: %s, %s.' %
|
||||
(self.object_literal.name, option,
|
||||
base.name, o.name))
|
||||
base = o
|
||||
elif isinstance(o, ObjectLiteral):
|
||||
if object_literal:
|
||||
raise RuntimeError('Multiple "literal" types found for '
|
||||
'option %s.%s: %s, %s.' %
|
||||
(self.object_literal.name, option,
|
||||
object_literal.name, o.name))
|
||||
object_literal = o
|
||||
if object_literal:
|
||||
if not base:
|
||||
raise RuntimeError('%s "literal" type found for option %s.%s, '
|
||||
'but no "class" type.' %
|
||||
(object_literal.name, self.object_literal.name, option))
|
||||
klass = get_class_by_object_literal_name(object_literal.name)
|
||||
if not klass:
|
||||
raise RuntimeError('No constructor taking a %s found.' %
|
||||
object_literal.name)
|
||||
yield option, object_literal, klass, base
|
||||
|
||||
def export(self):
|
||||
lines = []
|
||||
if self.object_literal is None:
|
||||
lines.append('\n\ngoog.exportSymbol(\n \'%s\',\n %s);\n' % (self.name, self.name))
|
||||
else:
|
||||
lines.append('\n\n\n')
|
||||
lines.append('/**\n')
|
||||
lines.append(' * @constructor\n')
|
||||
lines.append(' * @extends {%s}\n' % (self.name,))
|
||||
lines.append(' * @param {%s} options Options.\n' % (self.object_literal.extern_name(),))
|
||||
lines.append(' */\n')
|
||||
lines.append('%s = function(options) {\n' % (self.export_name(),))
|
||||
lines.append(' /** @type {%s} */\n' % (self.object_literal.name,))
|
||||
lines.append(' var arg;\n');
|
||||
lines.append(' if (goog.isDefAndNotNull(options)) {\n')
|
||||
# FIXME: we modify the user's options object
|
||||
lines.append(''.join(
|
||||
' if (!(options.%(o)s instanceof %(base)s)) {\n'
|
||||
' options.%(o)s = new %(ctor)s(\n'
|
||||
' /** @type {%(extern)s} */ (options.%(o)s));\n'
|
||||
' }\n' %
|
||||
{'o': o, 'base': b.name, 'ctor': k.export_name(),
|
||||
'extern': ol.extern_name()} \
|
||||
for o, ol, k, b in self.nested_options()))
|
||||
lines.append(' arg = {')
|
||||
lines.extend(','.join('\n %s: options.%s' % (key, key) for key in sorted(self.object_literal.prop_types.keys())))
|
||||
lines.append('\n };\n')
|
||||
lines.append(' } else {\n')
|
||||
lines.append(' arg = /** @type {%s} */ (options);\n' % (self.object_literal.name,))
|
||||
lines.append(' }\n')
|
||||
lines.append(' goog.base(this, arg);\n')
|
||||
lines.append('};\n')
|
||||
lines.append('goog.inherits(%sExport, %s);\n' % (self.name, self.name))
|
||||
lines.append('goog.exportSymbol(\n')
|
||||
lines.append(' \'%s\',\n' % (self.name,))
|
||||
lines.append(' %s);\n' % (self.export_name(),))
|
||||
lines.extend('goog.exportProperty(\n %s,\n \'%s\',\n %s.%s);\n' % (self.name, prop, self.name, prop) for prop in sorted(self.props))
|
||||
return ''.join(lines)
|
||||
|
||||
def export_name(self):
|
||||
return '%sExport' % self.name
|
||||
|
||||
|
||||
class ObjectLiteral(Exportable):
|
||||
|
||||
def __init__(self, name):
|
||||
def __init__(self, name, objects):
|
||||
Exportable.__init__(self, name)
|
||||
self.prop_types = {}
|
||||
self.objects = objects
|
||||
|
||||
__repr__ = simplerepr
|
||||
|
||||
@@ -140,13 +48,18 @@ class ObjectLiteral(Exportable):
|
||||
for prop in sorted(self.prop_types.keys()):
|
||||
lines.append('\n\n')
|
||||
lines.append('/**\n')
|
||||
lines.append(' * @type {%s}\n' % (self.prop_types[prop],))
|
||||
prop_types = self.prop_types[prop].split('|')
|
||||
for i, t in enumerate(prop_types):
|
||||
if t in self.objects and isinstance(self.objects[t], ObjectLiteral):
|
||||
prop_types[i] = self.objects[t].extern_name()
|
||||
prop_types = '|'.join(prop_types)
|
||||
lines.append(' * @type {%s}\n' % (prop_types,))
|
||||
lines.append(' */\n')
|
||||
lines.append('%s.prototype.%s;\n' % (self.extern_name(), prop))
|
||||
return ''.join(lines)
|
||||
|
||||
def extern_name(self):
|
||||
return re.sub(r'ol\.(\S+)', r'olx.\1Extern', self.name)
|
||||
return re.sub(r'(olx\.\S+)', r'\1Extern', self.name)
|
||||
|
||||
def extern_namespace(self):
|
||||
return '.'.join(self.extern_name().split('.')[:-1]) or None
|
||||
@@ -172,10 +85,9 @@ class ObjectLiteral(Exportable):
|
||||
|
||||
class Symbol(Exportable):
|
||||
|
||||
def __init__(self, name, export_symbol, export_as=None):
|
||||
def __init__(self, name, export_symbol):
|
||||
Exportable.__init__(self, name)
|
||||
self.export_symbol = export_symbol
|
||||
self.export_as = export_as or self.name
|
||||
self.props = set()
|
||||
|
||||
__repr__ = simplerepr
|
||||
@@ -183,7 +95,7 @@ class Symbol(Exportable):
|
||||
def export(self):
|
||||
lines = []
|
||||
if self.export_symbol:
|
||||
lines.append('\n\ngoog.exportSymbol(\n \'%s\',\n %s);\n' % (self.name, self.export_as))
|
||||
lines.append('\n\ngoog.exportSymbol(\n \'%s\',\n %s);\n' % (self.name, self.name))
|
||||
lines.extend('goog.exportProperty(\n %s,\n \'%s\',\n %s.%s);\n' % (self.name, prop, self.name, prop) for prop in sorted(self.props))
|
||||
return ''.join(lines)
|
||||
|
||||
@@ -223,10 +135,10 @@ def main(argv):
|
||||
name = m.group('name')
|
||||
if name in objects:
|
||||
raise RuntimeError(line) # Name already defined
|
||||
object_literal = ObjectLiteral(name)
|
||||
object_literal = ObjectLiteral(name, objects)
|
||||
objects[name] = object_literal
|
||||
continue
|
||||
m = re.match(r'\*\s*@property\s*{(?P<type>.*)}\s*(?P<prop>\S+)', line)
|
||||
m = re.match(r'\*\s*@property\s*{(?P<type>.*?)}\s*(?P<prop>\S+)', line)
|
||||
if m:
|
||||
assert object_literal is not None
|
||||
prop = m.group('prop')
|
||||
@@ -236,18 +148,6 @@ def main(argv):
|
||||
object_literal.prop_types[prop] = type
|
||||
continue
|
||||
continue
|
||||
m = re.match(r'@exportClass\s+(?P<name>\S+)(?:\s+(?P<object_literal_name>\S+))?\Z', line)
|
||||
if m:
|
||||
name = m.group('name')
|
||||
if name in objects:
|
||||
raise RuntimeError(line) # Name already defined
|
||||
object_literal_name = m.group('object_literal_name')
|
||||
object_literal = objects[object_literal_name]
|
||||
if not isinstance(object_literal, ObjectLiteral):
|
||||
raise RuntimeError(line) # Undefined object literal
|
||||
klass = Class(name, object_literal, objects)
|
||||
objects[name] = klass
|
||||
continue
|
||||
m = re.match(r'@exportProperty\s+(?P<prop>\S+)\Z', line)
|
||||
if m:
|
||||
components = m.group('prop').split('.')
|
||||
@@ -264,27 +164,24 @@ def main(argv):
|
||||
objects[name] = symbol
|
||||
symbol.props.add(prop)
|
||||
continue
|
||||
m = re.match(r'@exportSymbol\s+(?P<name>\S+)(?:\s+(?P<export_as>\S+))?\Z', line)
|
||||
m = re.match(r'@exportSymbol\s+(?P<name>\S+)\Z', line)
|
||||
if m:
|
||||
name = m.group('name')
|
||||
if name in objects:
|
||||
raise RuntimeError(line) # Name already defined
|
||||
export_as = m.group('export_as')
|
||||
symbol = Symbol(name, True, export_as)
|
||||
symbol = Symbol(name, True)
|
||||
objects[name] = symbol
|
||||
if not export_as:
|
||||
components = m.group('name').split('.')
|
||||
if re.match(r'[A-Z]', components[-1]):
|
||||
requires.add(name)
|
||||
elif len(components) > 2:
|
||||
requires.add('.'.join(components[:-1]))
|
||||
components = m.group('name').split('.')
|
||||
if re.match(r'[A-Z]', components[-1]):
|
||||
requires.add(name)
|
||||
else:
|
||||
requires.add('.'.join(components[:-1]))
|
||||
continue
|
||||
raise RuntimeError(line)
|
||||
|
||||
objects = sorted(objects.values(), key=attrgetter('name'))
|
||||
|
||||
if options.exports:
|
||||
requires.update(obj.name for obj in objects if isinstance(obj, Class))
|
||||
if requires:
|
||||
for require in sorted(requires):
|
||||
sys.stdout.write('goog.require(\'%s\');\n' % (require,))
|
||||
@@ -307,6 +204,7 @@ def main(argv):
|
||||
else:
|
||||
sys.stdout.write('var %s;\n' % (namespace,))
|
||||
for object_literal in object_literals:
|
||||
sys.stdout.write(object_literal.typedef())
|
||||
sys.stdout.write(object_literal.extern())
|
||||
|
||||
if options.typedef:
|
||||
|
||||
121
bin/pyglslunit.py
Normal file
121
bin/pyglslunit.py
Normal file
@@ -0,0 +1,121 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
from optparse import OptionParser
|
||||
import re
|
||||
import sys
|
||||
|
||||
import pystache
|
||||
|
||||
|
||||
ESCAPE_SEQUENCE = {
|
||||
'\\': '\\\\',
|
||||
'\n': '\\n',
|
||||
'\t': '\\t'
|
||||
}
|
||||
|
||||
|
||||
def js_escape(s):
|
||||
return ''.join(ESCAPE_SEQUENCE.get(c, c) for c in s)
|
||||
|
||||
|
||||
def glsl_compress(s, shortNames):
|
||||
# strip leading whitespace
|
||||
s = re.sub(r'\A\s+', '', s)
|
||||
# strip trailing whitespace
|
||||
s = re.sub(r'\s+\Z', '', s)
|
||||
# strip multi-line comments
|
||||
s = re.sub(r'/\*.*?\*/', '', s)
|
||||
# strip single line comments
|
||||
s = re.sub(r'//.*?\n', '', s)
|
||||
# replace multiple whitespace with a single space
|
||||
s = re.sub(r'\s+', ' ', s)
|
||||
# remove whitespace between non-word tokens
|
||||
s = re.sub(r'(\S)\s+([^\w])', r'\1\2', s)
|
||||
s = re.sub(r'([^\w])\s+(\S)', r'\1\2', s)
|
||||
# replace original names with short names
|
||||
for originalName, shortName in shortNames.items():
|
||||
s = s.replace(originalName, shortName)
|
||||
return s
|
||||
|
||||
|
||||
def main(argv):
|
||||
option_parser = OptionParser()
|
||||
option_parser.add_option('--input')
|
||||
option_parser.add_option('--output')
|
||||
option_parser.add_option('--template')
|
||||
options, args = option_parser.parse_args(argv[1:])
|
||||
|
||||
context = {}
|
||||
nextShortName = ord('a')
|
||||
shortNames = {}
|
||||
|
||||
common, vertex, fragment = [], [], []
|
||||
attributes, uniforms, varyings = {}, {}, {}
|
||||
block = None
|
||||
for line in open(options.input):
|
||||
if line.startswith('//!'):
|
||||
m = re.match(r'//!\s+NAMESPACE=(\S+)\s*\Z', line)
|
||||
if m:
|
||||
context['namespace'] = m.group(1)
|
||||
continue
|
||||
m = re.match(r'//!\s+CLASS=(\S+)\s*\Z', line)
|
||||
if m:
|
||||
context['className'] = m.group(1)
|
||||
continue
|
||||
m = re.match(r'//!\s+COMMON\s*\Z', line)
|
||||
if m:
|
||||
block = common
|
||||
continue
|
||||
m = re.match(r'//!\s+VERTEX\s*\Z', line)
|
||||
if m:
|
||||
block = vertex
|
||||
continue
|
||||
m = re.match(r'//!\s+FRAGMENT\s*\Z', line)
|
||||
if m:
|
||||
block = fragment
|
||||
continue
|
||||
else:
|
||||
if block is None:
|
||||
assert line.rstrip() == ''
|
||||
else:
|
||||
block.append(line)
|
||||
m = re.match(r'attribute\s+\S+\s+(\S+);\s*\Z', line)
|
||||
if m:
|
||||
attribute = m.group(1)
|
||||
if attribute not in attributes:
|
||||
shortName = chr(nextShortName)
|
||||
nextShortName += 1
|
||||
attributes[attribute] = {'originalName': attribute, 'shortName': shortName}
|
||||
shortNames[attribute] = shortName
|
||||
m = re.match(r'uniform\s+\S+\s+(\S+);\s*\Z', line)
|
||||
if m:
|
||||
uniform = m.group(1)
|
||||
if uniform not in uniforms:
|
||||
shortName = chr(nextShortName)
|
||||
nextShortName += 1
|
||||
uniforms[uniform] = {'originalName': uniform, 'shortName': shortName}
|
||||
shortNames[uniform] = shortName
|
||||
m = re.match(r'varying\s+\S+\s+(\S+);\s*\Z', line)
|
||||
if m:
|
||||
varying = m.group(1)
|
||||
if varying not in varyings:
|
||||
shortName = chr(nextShortName)
|
||||
nextShortName += 1
|
||||
shortNames[varying] = shortName
|
||||
|
||||
context['getOriginalFragmentSource'] = js_escape(''.join(common + fragment))
|
||||
context['getOriginalVertexSource'] = js_escape(''.join(common + vertex))
|
||||
context['getFragmentSource'] = glsl_compress(''.join(common + fragment), shortNames)
|
||||
context['getVertexSource'] = glsl_compress(''.join(common + vertex), shortNames)
|
||||
context['getAttributes'] = [attributes[a] for a in sorted(attributes.keys())]
|
||||
context['getUniforms'] = [uniforms[u] for u in sorted(uniforms.keys())]
|
||||
|
||||
if options.output and options.output != '-':
|
||||
output = open(options.output, 'w')
|
||||
else:
|
||||
output = sys.stdout
|
||||
output.write(pystache.render(open(options.template).read(), context))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main(sys.argv))
|
||||
296
build.py
296
build.py
@@ -5,7 +5,7 @@ import gzip
|
||||
import json
|
||||
import os
|
||||
import os.path
|
||||
import re
|
||||
import regex as re
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
@@ -79,8 +79,6 @@ else:
|
||||
variables.PYTHON = 'python'
|
||||
variables.PHANTOMJS = 'phantomjs'
|
||||
|
||||
TEMPLATE_GLSL_COMPILER_JS = 'build/glsl-unit/bin/template_glsl_compiler.js'
|
||||
|
||||
variables.BRANCH = output(
|
||||
'%(GIT)s', 'rev-parse', '--abbrev-ref', 'HEAD').strip()
|
||||
|
||||
@@ -93,8 +91,7 @@ EXPORTS = [path
|
||||
|
||||
EXTERNAL_SRC = [
|
||||
'build/src/external/externs/types.js',
|
||||
'build/src/external/src/exports.js',
|
||||
'build/src/external/src/types.js']
|
||||
'build/src/external/src/exports.js']
|
||||
|
||||
EXAMPLES = [path
|
||||
for path in ifind('examples')
|
||||
@@ -142,8 +139,12 @@ SRC = [path
|
||||
if path.endswith('.js')
|
||||
if path not in SHADER_SRC]
|
||||
|
||||
PLOVR_JAR = 'build/plovr-eba786b34df9.jar'
|
||||
PLOVR_JAR_MD5 = '20eac8ccc4578676511cf7ccbfc65100'
|
||||
LIBTESS_JS_SRC = [path
|
||||
for path in ifind('src/libtess.js')
|
||||
if path.endswith('.js')]
|
||||
|
||||
PLOVR_JAR = 'build/plovr-81ed862.jar'
|
||||
PLOVR_JAR_MD5 = '1c752daaf11ad6220b298e7d2ee2b87d'
|
||||
|
||||
PROJ4JS = 'build/proj4js/lib/proj4js-combined.js'
|
||||
PROJ4JS_ZIP = 'build/proj4js-1.1.0.zip'
|
||||
@@ -151,27 +152,30 @@ PROJ4JS_ZIP_MD5 = '17caad64cf6ebc6e6fe62f292b134897'
|
||||
|
||||
|
||||
def report_sizes(t):
|
||||
t.info('uncompressed: %d bytes', os.stat(t.name).st_size)
|
||||
stringio = StringIO()
|
||||
gzipfile = gzip.GzipFile(t.name, 'w', 9, stringio)
|
||||
with open(t.name) as f:
|
||||
shutil.copyfileobj(f, gzipfile)
|
||||
gzipfile.close()
|
||||
t.info(' compressed: %d bytes', len(stringio.getvalue()))
|
||||
rawsize = os.stat(t.name).st_size
|
||||
gzipsize = len(stringio.getvalue())
|
||||
savings = '{0:.2%}'.format((rawsize - gzipsize)/float(rawsize))
|
||||
t.info('uncompressed: %8d bytes', rawsize)
|
||||
t.info(' compressed: %8d bytes, (saved %s)', gzipsize, savings)
|
||||
|
||||
|
||||
virtual('default', 'build')
|
||||
|
||||
|
||||
virtual('integration-test', 'lint', 'build', 'build-all',
|
||||
'test', 'build-examples', 'check-examples', 'doc')
|
||||
'test', 'build/examples/all.combined.js', 'check-examples', 'apidoc')
|
||||
|
||||
|
||||
virtual('build', 'build/ol.css', 'build/ol.js',
|
||||
'build/ol-simple.js', 'build/ol-whitespace.js')
|
||||
|
||||
|
||||
virtual('check', 'lint', 'build/ol.css', 'build/ol-all.js', 'test')
|
||||
virtual('check', 'lint', 'build/ol-all.js', 'test')
|
||||
|
||||
|
||||
virtual('todo', 'fixme')
|
||||
@@ -183,35 +187,40 @@ def build_ol_css(t):
|
||||
|
||||
|
||||
@target('build/ol.js', PLOVR_JAR, SRC, EXTERNAL_SRC, SHADER_SRC,
|
||||
'buildcfg/base.json', 'buildcfg/ol.json')
|
||||
LIBTESS_JS_SRC, 'buildcfg/base.json', 'buildcfg/ol.json')
|
||||
def build_ol_js(t):
|
||||
t.output('%(JAVA)s', '-jar', PLOVR_JAR, 'build', 'buildcfg/ol.json')
|
||||
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
|
||||
PLOVR_JAR, 'build', 'buildcfg/ol.json')
|
||||
report_sizes(t)
|
||||
|
||||
|
||||
@target('build/ol-simple.js', PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC,
|
||||
'buildcfg/base.json', 'buildcfg/ol.json', 'buildcfg/ol-simple.json')
|
||||
LIBTESS_JS_SRC, 'buildcfg/base.json', 'buildcfg/ol.json',
|
||||
'buildcfg/ol-simple.json')
|
||||
def build_ol_simple_js(t):
|
||||
t.output('%(JAVA)s', '-jar', PLOVR_JAR, 'build', 'buildcfg/ol-simple.json')
|
||||
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
|
||||
PLOVR_JAR, 'build', 'buildcfg/ol-simple.json')
|
||||
report_sizes(t)
|
||||
|
||||
|
||||
@target('build/ol-whitespace.js', PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC,
|
||||
'buildcfg/base.json', 'buildcfg/ol.json',
|
||||
LIBTESS_JS_SRC, 'buildcfg/base.json', 'buildcfg/ol.json',
|
||||
'buildcfg/ol-whitespace.json')
|
||||
def build_ol_whitespace_js(t):
|
||||
t.output('%(JAVA)s', '-jar', PLOVR_JAR,
|
||||
'build', 'buildcfg/ol-whitespace.json')
|
||||
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
|
||||
PLOVR_JAR, 'build', 'buildcfg/ol-whitespace.json')
|
||||
report_sizes(t)
|
||||
|
||||
|
||||
virtual('build-all', 'build/ol-all.js')
|
||||
|
||||
|
||||
@target('build/ol-all.js', PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC,
|
||||
'buildcfg/base.json', 'buildcfg/ol-all.json')
|
||||
@target('build/ol-all.js', PLOVR_JAR, SRC, EXTERNAL_SRC, INTERNAL_SRC,
|
||||
SHADER_SRC, LIBTESS_JS_SRC, 'buildcfg/base.json',
|
||||
'buildcfg/ol-all.json')
|
||||
def build_ol_all_js(t):
|
||||
t.output('%(JAVA)s', '-jar', PLOVR_JAR, 'build', 'buildcfg/ol-all.json')
|
||||
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
|
||||
PLOVR_JAR, 'build', 'buildcfg/ol-all.json')
|
||||
|
||||
|
||||
@target('build/src/external/externs/types.js', 'bin/generate-exports.py',
|
||||
@@ -228,24 +237,16 @@ def build_src_external_src_exports_js(t):
|
||||
'--exports', 'src/objectliterals.jsdoc', EXPORTS)
|
||||
|
||||
|
||||
@target('build/src/external/src/types.js', 'bin/generate-exports.py',
|
||||
'src/objectliterals.jsdoc')
|
||||
def build_src_external_src_types_js(t):
|
||||
t.output('%(PYTHON)s', 'bin/generate-exports.py',
|
||||
'--typedef', 'src/objectliterals.jsdoc')
|
||||
|
||||
|
||||
if os.path.exists(TEMPLATE_GLSL_COMPILER_JS):
|
||||
for glsl_src in GLSL_SRC:
|
||||
def shader_src_helper(glsl_src):
|
||||
@target(glsl_src.replace('.glsl', 'shader.js'), glsl_src,
|
||||
'src/ol/webgl/shader.mustache')
|
||||
def shader_src(t):
|
||||
t.run('%(NODE)s', TEMPLATE_GLSL_COMPILER_JS,
|
||||
'--input', glsl_src,
|
||||
'--template', 'src/ol/webgl/shader.mustache',
|
||||
'--output', t.name)
|
||||
shader_src_helper(glsl_src)
|
||||
for glsl_src in GLSL_SRC:
|
||||
def shader_src_helper(glsl_src):
|
||||
@target(glsl_src.replace('.glsl', 'shader.js'), glsl_src,
|
||||
'src/ol/webgl/shader.mustache', 'bin/pyglslunit.py')
|
||||
def shader_src(t):
|
||||
t.run('%(PYTHON)s', 'bin/pyglslunit.py',
|
||||
'--input', glsl_src,
|
||||
'--template', 'src/ol/webgl/shader.mustache',
|
||||
'--output', t.name)
|
||||
shader_src_helper(glsl_src)
|
||||
|
||||
|
||||
def _build_require_list(dependencies, output_file_name):
|
||||
@@ -260,7 +261,8 @@ def _build_require_list(dependencies, output_file_name):
|
||||
f.write('goog.require(\'%s\');\n' % (require,))
|
||||
|
||||
|
||||
@target('build/src/internal/src/requireall.js', SRC, SHADER_SRC)
|
||||
@target('build/src/internal/src/requireall.js', SRC, SHADER_SRC,
|
||||
LIBTESS_JS_SRC)
|
||||
def build_src_internal_src_requireall_js(t):
|
||||
_build_require_list(t.dependencies, t.name)
|
||||
|
||||
@@ -277,7 +279,8 @@ def build_src_internal_types_js(t):
|
||||
'--typedef', 'src/objectliterals.jsdoc')
|
||||
|
||||
|
||||
virtual('build-examples', 'examples', EXAMPLES_COMBINED)
|
||||
virtual('build-examples', 'examples', 'build/examples/all.combined.js',
|
||||
EXAMPLES_COMBINED)
|
||||
|
||||
|
||||
virtual('examples', 'examples/example-list.xml', EXAMPLES_JSON)
|
||||
@@ -293,6 +296,20 @@ def examples_examples_list_js(t):
|
||||
t.run('%(PYTHON)s', 'bin/exampleparser.py', 'examples', 'examples')
|
||||
|
||||
|
||||
@target('build/examples/all.combined.js', 'build/examples/all.js', PLOVR_JAR,
|
||||
SRC, INTERNAL_SRC, SHADER_SRC, LIBTESS_JS_SRC,
|
||||
'buildcfg/base.json', 'build/examples/all.json')
|
||||
def build_examples_all_combined_js(t):
|
||||
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
|
||||
PLOVR_JAR, 'build', 'buildcfg/examples-all.json')
|
||||
report_sizes(t)
|
||||
|
||||
|
||||
@target('build/examples/all.js', EXAMPLES_SRC)
|
||||
def build_examples_all_js(t):
|
||||
t.output('bin/combine-examples.py', t.dependencies)
|
||||
|
||||
|
||||
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
|
||||
def examples_star_json(name, match):
|
||||
def action(t):
|
||||
@@ -309,8 +326,11 @@ def examples_star_json(name, match):
|
||||
'../externs/bingmaps.js',
|
||||
'../externs/bootstrap.js',
|
||||
'../externs/geojson.js',
|
||||
'../externs/topojson.js',
|
||||
'../externs/oli.js',
|
||||
'../externs/proj4js.js',
|
||||
'../externs/tilejson.js',
|
||||
'../externs/closure-compiler.js',
|
||||
],
|
||||
})
|
||||
with open(t.name, 'w') as f:
|
||||
@@ -322,18 +342,18 @@ def examples_star_json(name, match):
|
||||
@rule(r'\Abuild/examples/(?P<id>.*).combined.js\Z')
|
||||
def examples_star_combined_js(name, match):
|
||||
def action(t):
|
||||
t.output('%(JAVA)s', '-jar', PLOVR_JAR, 'build',
|
||||
'build/examples/%(id)s.json' % match.groupdict())
|
||||
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
|
||||
PLOVR_JAR, 'build', 'build/examples/%(id)s.json' %
|
||||
match.groupdict())
|
||||
report_sizes(t)
|
||||
dependencies = [PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC,
|
||||
dependencies = [PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC, LIBTESS_JS_SRC,
|
||||
'buildcfg/base.json',
|
||||
'examples/%(id)s.js' % match.groupdict(),
|
||||
'build/examples/%(id)s.json' % match.groupdict()]
|
||||
return Target(name, action=action, dependencies=dependencies)
|
||||
|
||||
|
||||
@target('serve', PLOVR_JAR, INTERNAL_SRC, 'build/test/requireall.js',
|
||||
'examples')
|
||||
@target('serve', PLOVR_JAR, 'test-deps', 'examples')
|
||||
def serve(t):
|
||||
t.run('%(JAVA)s', '-jar', PLOVR_JAR, 'serve', 'buildcfg/ol.json',
|
||||
'buildcfg/ol-all.json', EXAMPLES_JSON, 'buildcfg/test.json')
|
||||
@@ -345,19 +365,48 @@ def serve_precommit(t):
|
||||
'buildcfg/ol-all.json', 'buildcfg/test.json')
|
||||
|
||||
|
||||
virtual('lint', 'build/lint-timestamp', 'build/check-requires-timestamp',
|
||||
virtual('lint', 'build/lint-timestamp', 'build/lint-generated-timestamp',
|
||||
'build/lint-libtess.js-timestamp', 'build/check-requires-timestamp',
|
||||
'build/check-whitespace-timestamp')
|
||||
|
||||
|
||||
@target('build/lint-timestamp', SRC, INTERNAL_SRC, EXTERNAL_SRC, EXAMPLES_SRC,
|
||||
SPEC, precious=True)
|
||||
@target('build/lint-timestamp', SRC, EXAMPLES_SRC, SPEC, precious=True)
|
||||
def build_lint_src_timestamp(t):
|
||||
t.run('%(GJSLINT)s',
|
||||
'--jslint_error=all',
|
||||
'--custom_jsdoc_tags=todo',
|
||||
'--strict',
|
||||
t.newer(t.dependencies))
|
||||
t.touch()
|
||||
|
||||
|
||||
@target('build/lint-generated-timestamp', INTERNAL_SRC, EXTERNAL_SRC,
|
||||
precious=True)
|
||||
def build_lint_generated_timestamp(t):
|
||||
limited_doc_files = [
|
||||
path
|
||||
for path in ifind('externs', 'build/src/external/externs')
|
||||
if path.endswith('.js')]
|
||||
t.run('%(GJSLINT)s', '--strict', '--limited_doc_files=%s' %
|
||||
(','.join(limited_doc_files),), t.newer(t.dependencies))
|
||||
t.run('%(GJSLINT)s',
|
||||
'--jslint_error=all',
|
||||
# ignore error for max line length (for these auto-generated sources)
|
||||
'--disable=110',
|
||||
'--custom_jsdoc_tags=todo',
|
||||
# for a complete list of error codes to allow, see
|
||||
# http://closure-linter.googlecode.com/svn/trunk/closure_linter/errors.py
|
||||
'--limited_doc_files=%s' % (','.join(limited_doc_files),),
|
||||
'--strict',
|
||||
t.newer(t.dependencies))
|
||||
t.touch()
|
||||
|
||||
|
||||
@target('build/lint-libtess.js-timestamp', LIBTESS_JS_SRC, precious=True)
|
||||
def build_lint_libtess_js_timestamp(t):
|
||||
t.run('%(GJSLINT)s',
|
||||
'--jslint_error=all',
|
||||
'--disable=110',
|
||||
'--strict',
|
||||
t.newer(t.dependencies))
|
||||
t.touch()
|
||||
|
||||
|
||||
@@ -385,7 +434,7 @@ def _strip_comments(lines):
|
||||
|
||||
|
||||
@target('build/check-requires-timestamp', SRC, INTERNAL_SRC, EXTERNAL_SRC,
|
||||
EXAMPLES_SRC, SHADER_SRC, SPEC)
|
||||
EXAMPLES_SRC, SHADER_SRC, LIBTESS_JS_SRC, SPEC)
|
||||
def build_check_requires_timestamp(t):
|
||||
from zipfile import ZipFile
|
||||
unused_count = 0
|
||||
@@ -439,17 +488,23 @@ def build_check_requires_timestamp(t):
|
||||
self.children = {}
|
||||
|
||||
def _build_re(self, key):
|
||||
if len(self.children) == 1:
|
||||
if key == '*':
|
||||
assert len(self.children) == 0
|
||||
# We want to match `.doIt` but not `.SomeClass` or `.more.stuff`
|
||||
return '(?=\\.[a-z]\\w*\\b(?!\\.))'
|
||||
elif len(self.children) == 1:
|
||||
child_key, child = next(self.children.iteritems())
|
||||
child_re = '\\.' + child._build_re(child_key)
|
||||
child_re = child._build_re(child_key)
|
||||
if child_key != '*':
|
||||
child_re = '\\.' + child_re
|
||||
if self.present:
|
||||
return key + '(' + child_re + ')?'
|
||||
else:
|
||||
return key + child_re
|
||||
elif self.children:
|
||||
children_re = '(?:\\.(?:' + '|'.join(
|
||||
self.children[k]._build_re(k)
|
||||
for k in sorted(self.children.keys())) + '))'
|
||||
children_re = '(?:' + '|'.join(
|
||||
('\\.' if k != '*' else '') + self.children[k]._build_re(k)
|
||||
for k in sorted(self.children.keys())) + ')'
|
||||
if self.present:
|
||||
return key + children_re + '?'
|
||||
else:
|
||||
@@ -467,7 +522,14 @@ def build_check_requires_timestamp(t):
|
||||
if component not in node.children:
|
||||
node.children[component] = Node()
|
||||
node = node.children[component]
|
||||
node.present = True
|
||||
if component[0].islower():
|
||||
# We've arrived at a namespace provide like `ol.foo`.
|
||||
# In this case, we want to match uses like `ol.foo.doIt()` but
|
||||
# not match things like `new ol.foo.SomeClass()`.
|
||||
# For this purpose, we use the special wildcard key for the child.
|
||||
node.children['*'] = Node()
|
||||
else:
|
||||
node.present = True
|
||||
provide_res = [child.build_re(key)
|
||||
for key, child in root.children.iteritems()]
|
||||
missing_count = 0
|
||||
@@ -477,6 +539,7 @@ def build_check_requires_timestamp(t):
|
||||
provides = set()
|
||||
requires = set()
|
||||
uses = set()
|
||||
uses_linenos = {}
|
||||
for lineno, line in _strip_comments(open(filename)):
|
||||
m = re.match(r'goog.provide\(\'(.*)\'\);', line)
|
||||
if m:
|
||||
@@ -491,6 +554,7 @@ def build_check_requires_timestamp(t):
|
||||
m = provide_re.search(line)
|
||||
if m:
|
||||
uses.add(m.group())
|
||||
uses_linenos[m.group()] = lineno
|
||||
line = line[:m.start()] + line[m.end():]
|
||||
break
|
||||
else:
|
||||
@@ -504,9 +568,10 @@ def build_check_requires_timestamp(t):
|
||||
uses.discard('ol.renderer.%s.Map' % (m.group(1),))
|
||||
missing_requires = uses - requires - provides
|
||||
if missing_requires:
|
||||
t.info('%s: missing goog.requires: %s', filename, ', '.join(
|
||||
sorted(missing_requires)))
|
||||
missing_count += len(missing_requires)
|
||||
for missing_require in sorted(missing_requires):
|
||||
t.info("%s:%d missing goog.require('%s')" %
|
||||
(filename, uses_linenos[missing_require], missing_require))
|
||||
missing_count += 1
|
||||
if unused_count or missing_count:
|
||||
t.error('%d unused goog.requires, %d missing goog.requires' %
|
||||
(unused_count, missing_count))
|
||||
@@ -514,7 +579,7 @@ def build_check_requires_timestamp(t):
|
||||
|
||||
|
||||
@target('build/check-whitespace-timestamp', SRC, INTERNAL_SRC, EXTERNAL_SRC,
|
||||
EXAMPLES_SRC, SPEC, EXPORTS, JSDOC_SRC,
|
||||
EXAMPLES_SRC, SPEC, EXPORTS, JSDOC_SRC, LIBTESS_JS_SRC,
|
||||
precious=True)
|
||||
def build_check_whitespace_timestamp(t):
|
||||
CR_RE = re.compile(r'\r')
|
||||
@@ -554,29 +619,15 @@ def plovr_jar(t):
|
||||
t.info('downloaded %r', t.name)
|
||||
|
||||
|
||||
@target('gh-pages', 'host-examples', 'doc', phony=True)
|
||||
def gh_pages(t):
|
||||
with t.tempdir() as tempdir:
|
||||
t.run('%(GIT)s', 'clone', '--branch', 'gh-pages',
|
||||
'git@github.com:openlayers/ol3.git', tempdir)
|
||||
with t.chdir(tempdir):
|
||||
t.rm_rf('%(BRANCH)s')
|
||||
t.cp_r('build/gh-pages/%(BRANCH)s', tempdir + '/%(BRANCH)s')
|
||||
with t.chdir(tempdir):
|
||||
t.run('%(GIT)s', 'add', '--all', '%(BRANCH)s')
|
||||
t.run('%(GIT)s', 'commit', '--message', 'Updated')
|
||||
t.run('%(GIT)s', 'push', 'origin', 'gh-pages')
|
||||
|
||||
|
||||
virtual('doc', 'build/jsdoc-%(BRANCH)s-timestamp' % vars(variables))
|
||||
virtual('apidoc', 'build/jsdoc-%(BRANCH)s-timestamp' % vars(variables))
|
||||
|
||||
|
||||
@target('build/jsdoc-%(BRANCH)s-timestamp' % vars(variables), 'host-resources',
|
||||
'build/src/external/src/exports.js', 'build/src/external/src/types.js',
|
||||
SRC, SHADER_SRC, ifind('doc/template'))
|
||||
SRC, SHADER_SRC, ifind('apidoc/template'))
|
||||
def jsdoc_BRANCH_timestamp(t):
|
||||
t.run('%(JSDOC)s', '-c', 'doc/conf.json', 'src', 'doc/index.md',
|
||||
'-d', 'build/gh-pages/%(BRANCH)s/apidoc')
|
||||
t.run('%(JSDOC)s', '-c', 'apidoc/conf.json', 'src', 'apidoc/index.md',
|
||||
'-d', 'build/hosted/%(BRANCH)s/apidoc')
|
||||
t.touch()
|
||||
|
||||
|
||||
@@ -614,15 +665,15 @@ def split_example_file(example, dst_dir):
|
||||
|
||||
@target('host-resources', phony=True)
|
||||
def host_resources(t):
|
||||
resources_dir = 'build/gh-pages/%(BRANCH)s/resources'
|
||||
resources_dir = 'build/hosted/%(BRANCH)s/resources'
|
||||
t.rm_rf(resources_dir)
|
||||
t.cp_r('resources', resources_dir)
|
||||
|
||||
|
||||
@target('host-examples', 'build', 'host-resources', 'examples', phony=True)
|
||||
def host_examples(t):
|
||||
examples_dir = 'build/gh-pages/%(BRANCH)s/examples'
|
||||
build_dir = 'build/gh-pages/%(BRANCH)s/build'
|
||||
examples_dir = 'build/hosted/%(BRANCH)s/examples'
|
||||
build_dir = 'build/hosted/%(BRANCH)s/build'
|
||||
t.rm_rf(examples_dir)
|
||||
t.makedirs(examples_dir)
|
||||
t.rm_rf(build_dir)
|
||||
@@ -637,30 +688,29 @@ def host_examples(t):
|
||||
t.cp('examples/index.html', 'examples/example-list.js',
|
||||
'examples/example-list.xml', 'examples/Jugl.js',
|
||||
'examples/jquery.min.js', examples_dir)
|
||||
t.rm_rf('build/gh-pages/%(BRANCH)s/closure-library')
|
||||
t.makedirs('build/gh-pages/%(BRANCH)s/closure-library')
|
||||
with t.chdir('build/gh-pages/%(BRANCH)s/closure-library'):
|
||||
t.rm_rf('build/hosted/%(BRANCH)s/closure-library')
|
||||
t.makedirs('build/hosted/%(BRANCH)s/closure-library')
|
||||
with t.chdir('build/hosted/%(BRANCH)s/closure-library'):
|
||||
t.run('%(JAR)s', 'xf', '../../../../' + PLOVR_JAR, 'closure')
|
||||
t.run('%(JAR)s', 'xf', '../../../../' + PLOVR_JAR, 'third_party')
|
||||
t.rm_rf('build/gh-pages/%(BRANCH)s/ol')
|
||||
t.makedirs('build/gh-pages/%(BRANCH)s/ol')
|
||||
t.cp_r('src/ol', 'build/gh-pages/%(BRANCH)s/ol/ol')
|
||||
t.rm_rf('build/hosted/%(BRANCH)s/ol')
|
||||
t.makedirs('build/hosted/%(BRANCH)s/ol')
|
||||
t.cp_r('src/ol', 'build/hosted/%(BRANCH)s/ol/ol')
|
||||
t.run('%(PYTHON)s', 'bin/closure/depswriter.py',
|
||||
'--root_with_prefix', 'src ../../../ol',
|
||||
'--root', 'build/gh-pages/%(BRANCH)s/closure-library/closure/goog',
|
||||
'--root_with_prefix', 'build/gh-pages/%(BRANCH)s/closure-library/'
|
||||
'--root', 'build/hosted/%(BRANCH)s/closure-library/closure/goog',
|
||||
'--root_with_prefix', 'build/hosted/%(BRANCH)s/closure-library/'
|
||||
'third_party ../../third_party',
|
||||
'--output_file', 'build/gh-pages/%(BRANCH)s/build/ol-deps.js')
|
||||
'--output_file', 'build/hosted/%(BRANCH)s/build/ol-deps.js')
|
||||
|
||||
|
||||
@target('check-examples', 'host-examples', phony=True)
|
||||
def check_examples(t):
|
||||
examples = ['build/gh-pages/%(BRANCH)s/' + e for e in EXAMPLES]
|
||||
examples = ['build/hosted/%(BRANCH)s/' + e
|
||||
for e in EXAMPLES
|
||||
if not open(e.replace('.html', '.js')).readline().startswith('// NOCOMPILE')]
|
||||
all_examples = \
|
||||
[e + '?mode=raw' for e in examples] + \
|
||||
[e + '?mode=whitespace' for e in examples] + \
|
||||
[e + '?mode=simple' for e in examples] + \
|
||||
examples
|
||||
[e + '?mode=advanced' for e in examples]
|
||||
for example in all_examples:
|
||||
t.run('%(PHANTOMJS)s', 'bin/check-example.js', example)
|
||||
|
||||
@@ -682,9 +732,12 @@ def proj4js_zip(t):
|
||||
t.info('downloaded %r', t.name)
|
||||
|
||||
|
||||
@target('test', INTERNAL_SRC, PROJ4JS, 'build/test/requireall.js', phony=True)
|
||||
virtual('test-deps', INTERNAL_SRC, PROJ4JS, 'build/test/requireall.js')
|
||||
|
||||
|
||||
@target('test', 'test-deps', phony=True)
|
||||
def test(t):
|
||||
t.run('%(PHANTOMJS)s', 'test/mocha-phantomjs.coffee', 'test/ol.html')
|
||||
t.run('%(PHANTOMJS)s', 'test/mocha-phantomjs.js', 'test/ol.html')
|
||||
|
||||
|
||||
@target('fixme', phony=True)
|
||||
@@ -732,5 +785,50 @@ def check_dependencies(t):
|
||||
print 'For certain targets all above programs need to be present.'
|
||||
|
||||
|
||||
@target('help')
|
||||
def display_help(t):
|
||||
print '''
|
||||
build.py - The OpenLayers 3 build script.
|
||||
|
||||
Usage:
|
||||
./build.py [options] [target] (on Unix-based machines)
|
||||
<python-executable.exe> build.py [options] [target] (on Windows machines)
|
||||
|
||||
There is one option:
|
||||
-c - Cleans up the repository from previous builds.
|
||||
|
||||
The most common targets are:
|
||||
serve - Serves files through plovr, usually on port 9810.
|
||||
lint - Runs gjslint on all sourcefiles to enforce specific syntax.
|
||||
build - Builds singlefile versions of OpenLayers JavaScript and
|
||||
CSS. This is also the default build target which runs when
|
||||
no target is specified.
|
||||
test - Runs the testsuite and displays the results.
|
||||
check - Runs the lint-target, builds some OpenLayers files, and
|
||||
then runs test. Many developers call this target often
|
||||
while working on the code.
|
||||
help - Shows this help.
|
||||
|
||||
Other less frequently used targets are:
|
||||
apidoc - Builds the API-Documentation using JSDoc3.
|
||||
integration-test - Builds all examples in various modes and usually takes a
|
||||
long time to finish. This target calls the following
|
||||
targets: lint, build, build-all, test, build-examples,
|
||||
check-examples and apidoc.
|
||||
reallyclean - Remove untracked files from the repository.
|
||||
checkdeps - Checks whether all required development software is
|
||||
installed on your machine.
|
||||
fixme - Will print a list of parts of the code that are marked
|
||||
with either TODO or FIXME.
|
||||
todo - is an alias for the fixme-target
|
||||
plovr - Fetches the required plovr.jar. Usually called by other
|
||||
targets that depend on plovr.
|
||||
|
||||
If no target is given, the build-target will be executed.
|
||||
|
||||
The above list is not complete, please see the source code for not-mentioned
|
||||
and only seldomly called targets.
|
||||
'''
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
"accessControls": "ERROR",
|
||||
"ambiguousFunctionDecl": "ERROR",
|
||||
"checkDebuggerStatement": "WARNING",
|
||||
"checkEventfulObjectDisposal": "ERROR",
|
||||
"checkProvides": "ERROR",
|
||||
"checkRegExp": "ERROR",
|
||||
"checkStructDictInheritance": "ERROR",
|
||||
"checkTypes": "ERROR",
|
||||
"checkVars": "ERROR",
|
||||
"const": "ERROR",
|
||||
@@ -14,20 +17,25 @@
|
||||
"deprecated": "ERROR",
|
||||
"duplicate": "ERROR",
|
||||
"duplicateMessage": "ERROR",
|
||||
"es3": "ERROR",
|
||||
"es5Strict": "ERROR",
|
||||
"externsValidation": "ERROR",
|
||||
"fileoverviewTags": "ERROR",
|
||||
"globalThis": "ERROR",
|
||||
"internetExplorerChecks": "ERROR",
|
||||
"invalidCasts": "ERROR",
|
||||
"misplacedTypeAnnotation": "ERROR",
|
||||
"missingProperties": "ERROR",
|
||||
"nonStandardJsDocs": "ERROR",
|
||||
"strictModuleDepCheck": "ERROR",
|
||||
"suspiciousCode": "ERROR",
|
||||
"typeInvalidation": "ERROR",
|
||||
"tweakValidation": "ERROR",
|
||||
"undefinedNames": "ERROR",
|
||||
"undefinedVars": "ERROR",
|
||||
"unknownDefines": "ERROR",
|
||||
"uselessCode": "ERROR",
|
||||
"violatedModuleDep": "ERROR",
|
||||
"visibility": "ERROR"
|
||||
},
|
||||
|
||||
@@ -41,20 +49,67 @@
|
||||
"externs": [
|
||||
"//json.js",
|
||||
"../externs/bingmaps.js",
|
||||
"../externs/closure-compiler.js",
|
||||
"../externs/geojson.js",
|
||||
"../externs/oli.js",
|
||||
"../externs/proj4js.js",
|
||||
"../externs/tilejson.js"
|
||||
"../externs/tilejson.js",
|
||||
"../externs/topojson.js"
|
||||
],
|
||||
|
||||
"level": "VERBOSE",
|
||||
|
||||
"mode": "ADVANCED",
|
||||
|
||||
"name-suffixes-to-strip": [
|
||||
"logger",
|
||||
"logger_"
|
||||
],
|
||||
|
||||
"paths": [
|
||||
"../build/src/internal/src",
|
||||
"../src"
|
||||
],
|
||||
|
||||
"treat-warnings-as-errors": false
|
||||
"treat-warnings-as-errors": false,
|
||||
|
||||
"type-prefixes-to-strip": [
|
||||
"goog.asserts",
|
||||
"goog.debug.Console",
|
||||
"goog.debug.DebugWindow",
|
||||
"goog.debug.DevCss",
|
||||
"goog.debug.DivConsole",
|
||||
"goog.debug.EntryPointMonitor",
|
||||
"goog.debug.ErrorHandler",
|
||||
"goog.debug.ErrorReporter",
|
||||
"goog.debug.FancyWindow",
|
||||
"goog.debug.Formatter",
|
||||
"goog.debug.FpsDisplay",
|
||||
"goog.debug.GcDiagnostics",
|
||||
"goog.debug.HtmlFormatter",
|
||||
"goog.debug.LogBuffer",
|
||||
"goog.debug.LogManager",
|
||||
"goog.debug.LogRecord",
|
||||
"goog.debug.Logger",
|
||||
"goog.debug.RelativeTimeProvider",
|
||||
"goog.debug.TextFormatter",
|
||||
"goog.debug.Trace",
|
||||
"goog.debug.catchErrors",
|
||||
"goog.debug.deepExpose",
|
||||
"goog.debug.enhanceError",
|
||||
"goog.debug.entryPointRegistry",
|
||||
"goog.debug.errorHandlerWeakDep",
|
||||
"goog.debug.expose",
|
||||
"goog.debug.exposeArray",
|
||||
"goog.debug.exposeException",
|
||||
"goog.debug.getFunctionName",
|
||||
"goog.debug.getStacktrace",
|
||||
"goog.debug.getStacktraceSimple",
|
||||
"goog.debug.logRecordSerializer",
|
||||
"goog.debug.makeWhitespaceVisible",
|
||||
"goog.debug.normalizeErrorObject",
|
||||
"goog.debug.reflect",
|
||||
"goog.log"
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
20
buildcfg/examples-all.json
Normal file
20
buildcfg/examples-all.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"externs": [
|
||||
"//json.js",
|
||||
"//jquery-1.7.js",
|
||||
"../externs/bingmaps.js",
|
||||
"../externs/bootstrap.js",
|
||||
"../externs/closure-compiler.js",
|
||||
"../externs/geojson.js",
|
||||
"../externs/oli.js",
|
||||
"../externs/proj4js.js",
|
||||
"../externs/tilejson.js",
|
||||
"../externs/topojson.js"
|
||||
],
|
||||
"id": "simple",
|
||||
"inherits": "base.json",
|
||||
"inputs": [
|
||||
"../build/examples/all.js",
|
||||
"../build/src/internal/src/types.js"
|
||||
]
|
||||
}
|
||||
@@ -6,16 +6,18 @@
|
||||
"//json.js",
|
||||
"../build/src/external/externs/types.js",
|
||||
"../externs/bingmaps.js",
|
||||
"../externs/closure-compiler.js",
|
||||
"../externs/geojson.js",
|
||||
"../externs/oli.js",
|
||||
"../externs/proj4js.js",
|
||||
"../externs/tilejson.js"
|
||||
"../externs/tilejson.js",
|
||||
"../externs/topojson.js"
|
||||
],
|
||||
|
||||
"inherits": "base.json",
|
||||
|
||||
"inputs": [
|
||||
"../build/src/internal/src/requireall.js",
|
||||
"../build/src/internal/src/types.js",
|
||||
"../build/src/external/src/exports.js"
|
||||
]
|
||||
|
||||
|
||||
@@ -14,17 +14,21 @@
|
||||
|
||||
"externs": [
|
||||
"//json.js",
|
||||
"../build/src/external/externs/types.js",
|
||||
"../externs/bingmaps.js",
|
||||
"../externs/closure-compiler.js",
|
||||
"../externs/geojson.js",
|
||||
"../externs/oli.js",
|
||||
"../externs/proj4js.js",
|
||||
"../externs/tilejson.js"
|
||||
"../externs/tilejson.js",
|
||||
"../externs/topojson.js"
|
||||
],
|
||||
|
||||
"inherits": "ol.json",
|
||||
|
||||
"inputs": [
|
||||
"../build/src/internal/src/requireall.js",
|
||||
"../build/src/internal/src/types.js"
|
||||
"../build/src/external/src/exports.js"
|
||||
],
|
||||
|
||||
"mode": "SIMPLE",
|
||||
|
||||
@@ -16,24 +16,26 @@
|
||||
"externs": [
|
||||
"//json.js",
|
||||
"../externs/bingmaps.js",
|
||||
"../externs/closure-compiler.js",
|
||||
"../externs/geojson.js",
|
||||
"../externs/oli.js",
|
||||
"../externs/proj4js.js",
|
||||
"../externs/tilejson.js"
|
||||
"../externs/tilejson.js",
|
||||
"../externs/topojson.js"
|
||||
],
|
||||
|
||||
"inherits": "ol.json",
|
||||
|
||||
"inputs": [
|
||||
"../build/src/internal/src/requireall.js",
|
||||
"../build/src/internal/src/types.js"
|
||||
"../build/src/internal/src/requireall.js"
|
||||
],
|
||||
|
||||
"mode": "WHITESPACE",
|
||||
|
||||
// Note: we can't have a (function(){%output%})() output wrapper with
|
||||
// WHITESPACE and SIMPLE modes. See this link for explanations:
|
||||
// https://groups.google.com/forum/#!topic/plovr/gQyZEa2NpsU
|
||||
"output-wrapper": "%output%",
|
||||
"output-wrapper": [
|
||||
"var CLOSURE_NO_DEPS = true;\n",
|
||||
"%output%"
|
||||
],
|
||||
|
||||
"pretty-print": true
|
||||
}
|
||||
|
||||
@@ -16,19 +16,21 @@
|
||||
"//json.js",
|
||||
"../build/src/external/externs/types.js",
|
||||
"../externs/bingmaps.js",
|
||||
"../externs/closure-compiler.js",
|
||||
"../externs/geojson.js",
|
||||
"../externs/oli.js",
|
||||
"../externs/proj4js.js",
|
||||
"../externs/tilejson.js"
|
||||
"../externs/tilejson.js",
|
||||
"../externs/topojson.js"
|
||||
],
|
||||
|
||||
"inherits": "base.json",
|
||||
|
||||
"inputs": [
|
||||
"../build/src/external/src/exports.js",
|
||||
"../build/src/external/src/types.js"
|
||||
"../build/src/external/src/exports.js"
|
||||
],
|
||||
|
||||
"output-wrapper": "(function(){%output%})();",
|
||||
"output-wrapper": "// OpenLayers 3. see http://ol3js.org/\n(function(){%output%})();",
|
||||
|
||||
"paths": [
|
||||
"../src"
|
||||
|
||||
171
css/ol.css
171
css/ol.css
@@ -1,44 +1,72 @@
|
||||
.ol-attribution {
|
||||
position: absolute;
|
||||
font-size: 10px;
|
||||
text-align: right;
|
||||
color: #eeeeee;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0,60,136,0.3);
|
||||
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
|
||||
padding: 2px 4px;
|
||||
padding: 6px;
|
||||
}
|
||||
.ol-attribution a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* rgba is not supported on IE <= 8, fall back to black text so that it's readable */
|
||||
.ol-attribution {
|
||||
color: #000000;
|
||||
}
|
||||
.ol-attribution:not([ie8andbelow]) {
|
||||
color: #eeeeee;
|
||||
background: rgba(0,60,136,0.3);
|
||||
}
|
||||
|
||||
/* white links are unreadable on IE <= 8 with no background, fall back to blue links */
|
||||
.ol-attribution a {
|
||||
color: #7b98bc;
|
||||
}
|
||||
.ol-attribution a:not([ie8andbelow]) {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.ol-attribution ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 10px;
|
||||
line-height: 12px;
|
||||
}
|
||||
.ol-attribution li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
line-height: inherit;
|
||||
}
|
||||
.ol-attribution li:not(:last-child):after {
|
||||
content: "\2003";
|
||||
}
|
||||
.ol-dragbox {
|
||||
position: absolute;
|
||||
border: 2px solid red;
|
||||
.ol-attribution-bing-tos {
|
||||
float:right;
|
||||
padding-top: 2px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ol-full-screen {
|
||||
background: rgba(255,255,255,0.4);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background: #eee;
|
||||
border-radius: 4px;
|
||||
padding: 2px;
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 8px;
|
||||
}
|
||||
.ol-full-screen:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background: rgba(255,255,255,0.4);
|
||||
}
|
||||
@media print {
|
||||
.ol-full-screen {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.ol-full-screen a {
|
||||
background: rgba(0,60,136,0.5);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background: #7b98bc;
|
||||
color: white;
|
||||
display: block;
|
||||
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
|
||||
@@ -52,6 +80,10 @@
|
||||
text-decoration: none;
|
||||
width: 22px;
|
||||
}
|
||||
.ol-full-screen a:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background: rgba(0,60,136,0.5);
|
||||
}
|
||||
a.ol-full-screen-false:after {
|
||||
content: "\2194";
|
||||
}
|
||||
@@ -66,6 +98,11 @@ a.ol-full-screen-true:after {
|
||||
border-radius: 2px;
|
||||
}
|
||||
.ol-full-screen a:hover {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background: #4c6079;
|
||||
}
|
||||
.ol-full-screen a:hover:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background: rgba(0,60,136,0.7);
|
||||
}
|
||||
.ol-logo {
|
||||
@@ -76,19 +113,32 @@ a.ol-full-screen-true:after {
|
||||
}
|
||||
.ol-logo ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.ol-logo ul li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.ol-mouse-position {
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ol-scale-line {
|
||||
background: rgba(0,60,136,0.3);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background: #95b9e6;
|
||||
border-radius: 4px;
|
||||
bottom: 8px;
|
||||
left: 8px;
|
||||
padding: 2px;
|
||||
position: absolute;
|
||||
}
|
||||
.ol-scale-line:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background: rgba(0,60,136,0.3);
|
||||
}
|
||||
.ol-scale-line-inner {
|
||||
border: 1px solid #eeeeee;
|
||||
border-top: none;
|
||||
@@ -111,14 +161,20 @@ a.ol-full-screen-true:after {
|
||||
user-select: none;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
}
|
||||
|
||||
.ol-zoom {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 8px;
|
||||
background: rgba(255,255,255,0.4);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background-color: #eee;
|
||||
border-radius: 4px;
|
||||
padding: 2px;
|
||||
}
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
.ol-zoom:not([ie8andbelow]) {
|
||||
background-color: rgba(255,255,255,0.4);
|
||||
}
|
||||
@media print {
|
||||
.ol-zoom {
|
||||
display: none;
|
||||
@@ -138,7 +194,12 @@ a.ol-full-screen-true:after {
|
||||
height: 22px;
|
||||
width: 22px;
|
||||
line-height: 19px;
|
||||
background: rgba(0,60,136,0.5);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background-color: #7b98bc;
|
||||
}
|
||||
.ol-zoom a:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light blue */
|
||||
background-color: rgba(0,60,136,0.5);
|
||||
}
|
||||
.ol-touch .ol-zoom a {
|
||||
font-size: 20px;
|
||||
@@ -147,28 +208,30 @@ a.ol-full-screen-true:after {
|
||||
line-height: 26px;
|
||||
}
|
||||
.ol-zoom a:hover {
|
||||
background: rgba(0,60,136,0.7);
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background-color: #4c6079;
|
||||
}
|
||||
.ol-zoom a:hover:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background-color: rgba(0,60,136,0.7);
|
||||
}
|
||||
|
||||
.ol-zoom-in {
|
||||
border-radius: 2px 2px 0 0;
|
||||
}
|
||||
.ol-zoom-in:before {
|
||||
content: "+";
|
||||
}
|
||||
|
||||
.ol-zoom-out {
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
.ol-zoom-out:before {
|
||||
content: "\2212";
|
||||
}
|
||||
|
||||
.ol-zoomslider {
|
||||
position: absolute;
|
||||
top: 67px;
|
||||
left: 8px;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background: #eee;
|
||||
border-radius: 4px;
|
||||
width: 28px;
|
||||
height: 200px;
|
||||
@@ -177,15 +240,79 @@ a.ol-full-screen-true:after {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.ol-zoomslider:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
.ol-zoomslider-thumb {
|
||||
position: absolute;
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin: 2px;
|
||||
background: rgba(0,60,136,0.5);
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background: #7b98bc;
|
||||
border-radius: 2px;
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
width: 24px;
|
||||
}
|
||||
.ol-zoomslider-thumb:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background: rgba(0,60,136,0.5);
|
||||
}
|
||||
.ol-zoom-extent {
|
||||
position: absolute;
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background: #eee;
|
||||
border-radius: 4px;
|
||||
left: 8px;
|
||||
padding: 2px;
|
||||
top: 65px;
|
||||
}
|
||||
.ol-zoom-extent:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a light grey */
|
||||
background: rgba(255,255,255,0.4);
|
||||
}
|
||||
@media print {
|
||||
.ol-zoom-extent {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.ol-zoom-extent a {
|
||||
display: block;
|
||||
margin: 1px;
|
||||
padding: 0;
|
||||
color: white;
|
||||
font-size: 16px;
|
||||
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
height: 22px;
|
||||
width: 22px;
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background-color: #7b98bc;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.ol-zoom-extent a:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background-color: rgba(0, 60, 136, 0.5);
|
||||
}
|
||||
.ol-touch .ol-zoom-extent a {
|
||||
font-size: 20px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
line-height: 26px;
|
||||
}
|
||||
.ol-zoom-extent a:hover {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background-color: #4c6079;
|
||||
}
|
||||
.ol-zoom-extent a:hover:not([ie8andbelow]) {
|
||||
/* IE <= 8 doesn't support rgba, fall back to a lighter blue */
|
||||
background-color: rgba(0, 60, 136, 0.7);
|
||||
}
|
||||
.ol-zoom-extent a:after {
|
||||
content: "E";
|
||||
}
|
||||
|
||||
12
doc/index.hbs
Normal file
12
doc/index.hbs
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Documentation
|
||||
layout: doc.hbs
|
||||
---
|
||||
|
||||
# Documentation
|
||||
|
||||
If you're eager to get your first OpenLayers 3 map on a page, dive into the [quick start](quickstart.html).
|
||||
|
||||
For a more in-depth overview of OpenLayers 3 core concepts, check out the [tutorials](tutorials/).
|
||||
|
||||
Find additional reference material in the [API docs](../apidoc).
|
||||
17
doc/index.md
17
doc/index.md
@@ -1,17 +0,0 @@
|
||||
Finding your way round
|
||||
----------------------
|
||||
See the class list to the right and especially take a look at {@link ol.Map} and {@link ol.layer.Layer} because those are the central objects.
|
||||
|
||||
In general every use of OpenLayers starts by initializing a map, then adding the required layers. Controls and interactions can be added to change the behavior of the map.
|
||||
|
||||
Projections
|
||||
-----------
|
||||
A {@link ol.Projection} defines which point on earth is represented by a pair of coordinates. Coordinates within OpenLayers can be used in various projections where some common projections are always supported, others can be used via Proj4js.
|
||||
|
||||
Maps and Layers
|
||||
---------------
|
||||
A map in OpenLayers is essentially a staple of layers that is viewed from the top. Layers are responsible for retieving data and displaying it.
|
||||
|
||||
Contributing
|
||||
------------
|
||||
See CONTRIBUTING.md for instructions on building and tesing OpenLayers. The file does also describe how to commit your changes to OpenLayers.
|
||||
132
doc/quickstart.hbs
Normal file
132
doc/quickstart.hbs
Normal file
@@ -0,0 +1,132 @@
|
||||
---
|
||||
title: Quick Start
|
||||
layout: doc.hbs
|
||||
---
|
||||
|
||||
# Quick Start
|
||||
|
||||
## Put a map on a page
|
||||
|
||||
Below you'll find a complete working example. Create a new file, copy in the contents below, and open in a browser:
|
||||
|
||||
```xml
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="stylesheet" href="http://ol3js.org/en/{{ latest }}/build/ol.css" type="text/css">
|
||||
<style>
|
||||
.map {
|
||||
height: 400px;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<script src="http://ol3js.org/en/{{ latest }}/build/ol.js" type="text/javascript"></script>
|
||||
<title>OpenLayers 3 example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>My Map</h2>
|
||||
<div id="map" class="map"></div>
|
||||
<script type="text/javascript">
|
||||
var map = new ol.Map({
|
||||
target: 'map',
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.MapQuest({layer: 'sat'})
|
||||
})
|
||||
],
|
||||
view: new ol.View2D({
|
||||
center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
|
||||
zoom: 4
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
## Understanding what is going on
|
||||
|
||||
To include a map a web page you will need 3 things:
|
||||
|
||||
1. Include OpenLayers
|
||||
2. `<div>` map container
|
||||
3. JavaScript to create a simple map
|
||||
|
||||
### Include OpenLayers
|
||||
|
||||
```xml
|
||||
<script src="http://ol3js.org/en/{{ latest }}/build/ol.js" type="text/javascript"></script>
|
||||
```
|
||||
|
||||
The first part is to include the JavaScript library. For the purpose of this tutorial, here we simply point to the ol3js.org website to get the whole library. In a production environment, we would build a custom version of the library including only the module needed for our application.
|
||||
|
||||
|
||||
### `<div>` to contain the map
|
||||
|
||||
```xml
|
||||
<div id="map" class="map"></div>
|
||||
```
|
||||
|
||||
The map in the application is contained in a [`<div>` HTML element](http://en.wikipedia.org/wiki/Span_and_div). Through this `<div>` the map properties like width, height and border can be controlled through CSS. Here's the CSS element used to make the map 400 pixels high and as wide as the browser window.
|
||||
|
||||
```xml
|
||||
<style>
|
||||
.map {
|
||||
height: 400px; width: 100%;
|
||||
}
|
||||
</style>
|
||||
```
|
||||
|
||||
### JavaScript to create a simple map
|
||||
|
||||
```js
|
||||
var map = new ol.Map({
|
||||
target: 'map',
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.MapQuest({layer: 'sat'})
|
||||
})
|
||||
],
|
||||
view: new ol.View2D({
|
||||
center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
|
||||
zoom: 4
|
||||
})
|
||||
});
|
||||
```
|
||||
|
||||
With this JavaScript code, a map object is created with a MapQuest Open Aerial layer zoomed on the African East coast. Let's break this down:
|
||||
|
||||
The following line creates an OpenLayers `Map` object. Just by itself, this does nothing since there's no layers or interaction attached to it.
|
||||
|
||||
```js
|
||||
var map = new ol.Map({ ... });
|
||||
```
|
||||
|
||||
To attach the map object to the `<div>`, the map object takes a `target` into arguments. The value is the `id` of the `<div>`:
|
||||
|
||||
```js
|
||||
target: 'map'
|
||||
```
|
||||
|
||||
The `layers: [ ... ]` array is used to define the list of layers available in the map. The first and only layer right now is a tiled layer:
|
||||
|
||||
```js
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.MapQuest({layer: 'sat'})
|
||||
})
|
||||
]
|
||||
```
|
||||
|
||||
Layers in OpenLayers 3 are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles. You can consult the list of [available layer sources here](/en/{{ latest }}/apidoc/ol.source.html)
|
||||
|
||||
The next part of the `Map` object is the `View`. The view allow to specify the center, resolution, and rotation of the map. Right now, only `View2D` is supported, but other views should be available at some point. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out.
|
||||
|
||||
```js
|
||||
view: new ol.View2D({
|
||||
center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
|
||||
zoom: 4
|
||||
})
|
||||
```
|
||||
|
||||
You will notice that the `center` specified is in lat/lon coordinates (EPSG:4326). Since the only layer we use is in Spherical Mercator projection (EPSG:3857), we can reproject them on the fly to be able to zoom the map on the right coordinates.
|
||||
73
doc/tutorials/concepts.hbs
Normal file
73
doc/tutorials/concepts.hbs
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Basic Concepts
|
||||
layout: doc.hbs
|
||||
---
|
||||
|
||||
# Basic Concepts
|
||||
|
||||
## Map
|
||||
The core component of OpenLayers 3 is the map (`ol.Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
|
||||
|
||||
```xml
|
||||
<div id="map" style="width: 100%, height: 400px"></div>
|
||||
<script>
|
||||
var map = new ol.Map({target: 'map'});
|
||||
</script>
|
||||
```
|
||||
|
||||
## View
|
||||
`ol.Map` is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of an `ol.View` instance - typically an `ol.View2D` for 2D maps. The reason for this abstraction is the idea of instantly switching e.g. between a 2D and a tilted 3D view, without the need to maintain two copies of the `layers`.
|
||||
|
||||
```js
|
||||
map.setView(new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
}));
|
||||
```
|
||||
|
||||
An `ol.View2D` also has a `projection`. The projection determines the coordinate system of the `center` and the units for map resolution calculations. If not specified (like in the above snippet), the default projection is Spherical Mercator (EPSG:3857), with meters as map units.
|
||||
|
||||
The `zoom` option is a convenient way to specify the map resolution. The available zoom levels are determined by `maxZoom` (default: 28), `zoomFactor` (default: 2) and `maxResolution` (default is calculated in such a way that the projection's validity extent fits in a 256x256 pixel tile). Starting at zoom level 0 with a resolution of `maxResolution` units per pixel, subsequent zoom levels are calculated by dividing the previous zoom level's resolution by `zoomFactor`, until zoom level `maxZoom` is reached.
|
||||
|
||||
|
||||
## Source
|
||||
To get remote data for a layer, OpenLayers 3 uses `ol.source.Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
|
||||
|
||||
```js
|
||||
var osmSource = new ol.source.OSM();
|
||||
```
|
||||
|
||||
## Layer
|
||||
A layer is a visual representation of data from a `source`. OpenLayers 3 has three basic types of layers: `ol.layer.Tile`, `ol.layer.Image` and `ol.layer.Vector`.
|
||||
|
||||
`ol.layer.Tile` is for layer sources that provide pre-rendered, tiled images in grids that are organized by zoom levels for specific resolutions.
|
||||
|
||||
`ol.layer.Image` is for server rendered images that are available for arbitrary extents and resolutions.
|
||||
|
||||
`ol.layer.Vector` is for vector data that is rendered client-side.
|
||||
|
||||
```js
|
||||
var osmLayer = new ol.layer.Tile({source: osmSource});
|
||||
map.addLayer(osmLayer);
|
||||
```
|
||||
|
||||
## Putting it all together
|
||||
|
||||
|
||||
The above snippets can be conflated to a self contained map configuration with view and layers:
|
||||
|
||||
```xml
|
||||
<div id="map" style="width: 100%, height: 400px"></div>
|
||||
<script>
|
||||
new ol.Map({
|
||||
layers: [
|
||||
new ol.layer.Tile({source: new ol.source.OSM()})
|
||||
],
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
}),
|
||||
target: 'map'
|
||||
});
|
||||
</script>
|
||||
```
|
||||
8
doc/tutorials/index.hbs
Normal file
8
doc/tutorials/index.hbs
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Tutorials
|
||||
layout: doc.hbs
|
||||
---
|
||||
|
||||
# Tutorials
|
||||
|
||||
We'll be putting together a more comprehensive set of tutorials here. For now, you can take a look at the [basic concepts](concepts.html) tutorial. Stay tuned for more!
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"title": "OpenLayers 3 Architecture"
|
||||
}
|
||||
@@ -1,274 +0,0 @@
|
||||
CLASS HIERARCHY
|
||||
===============
|
||||
|
||||
```
|
||||
goog.math.Coordinate // Simple 2D point
|
||||
|
|
||||
+- TileCoord
|
||||
|
||||
goog.math.Box
|
||||
|
|
||||
+- Extent // The extent of a single object in two dimensions, projection not stored
|
||||
|
|
||||
+- TileBounds // A range of tiles in two dimensions, integer coordinates, z not stored
|
||||
|
||||
|
||||
Projection
|
||||
|
||||
|
||||
goog.events.EventTarget
|
||||
|
|
||||
+- MVCObject
|
||||
| |
|
||||
| +- Camera
|
||||
| |
|
||||
| +- Control
|
||||
| | |
|
||||
| | +- ?
|
||||
| |
|
||||
| +- Layer
|
||||
| | |
|
||||
| | +- TileLayer
|
||||
| | | |
|
||||
| | | +- TMSTileLayer
|
||||
| | | |
|
||||
| | | +- WMTSTileLayer
|
||||
| | | |
|
||||
| | | +- XYZTileLayer / OSMTileLayer
|
||||
| | |
|
||||
| | +- VectorLayer
|
||||
| | |
|
||||
| | +- ImageLayer
|
||||
| |
|
||||
| +- LayerRenderer
|
||||
| |
|
||||
| +- LayerRendererOptions
|
||||
| |
|
||||
| +- Map
|
||||
| |
|
||||
| +- MapRenderer
|
||||
| | |
|
||||
| | +- HTMLMapRenderer
|
||||
| | |
|
||||
| | +- WebGLMapRenderer
|
||||
| |
|
||||
| +- MVCArray
|
||||
| | |
|
||||
| | +- ControlArray
|
||||
| | |
|
||||
| | +- LayerViewArray
|
||||
|
|
||||
| +- TileQueue
|
||||
|
|
||||
+- Tile
|
||||
```
|
||||
|
||||
|
||||
Layer renderer hierarchy
|
||||
------------------------
|
||||
|
||||
```
|
||||
goog.events.EventTarget
|
||||
|
|
||||
+- MVCObject
|
||||
|
|
||||
+- LayerRenderer
|
||||
|
|
||||
+- SingleTileLayerRenderer
|
||||
| |
|
||||
| +- HTMLSingleTileLayerRenderer
|
||||
| |
|
||||
| +- WebGLSingleTileLayerRenderer
|
||||
|
|
||||
+- TileLayerRenderer
|
||||
| |
|
||||
| +- HTMLTileLayerRenderer
|
||||
| |
|
||||
| +- WebGLTileLayerRenderer
|
||||
|
|
||||
+- VectorLayerRenderer
|
||||
| |
|
||||
| +- HTMLVectorLayerRenderer
|
||||
| | |
|
||||
| | +- SVGHTMLVectorLayerRenderer
|
||||
| | |
|
||||
| | +- Canvas2DHTMLVectorLayerRenderer
|
||||
| | |
|
||||
| | +- VMLHTMLVectorLayerRenderer
|
||||
| |
|
||||
| +- WebGLVectorLayerRenderer
|
||||
```
|
||||
|
||||
|
||||
OBJECT PROPERTIES AND METHODS
|
||||
=============================
|
||||
|
||||
Notation:
|
||||
|
||||
- `property type` property with type, trailing ? indicates unsure, getters and setters are assumed to exist.
|
||||
- `f(args) -> type` function taking args returning type.
|
||||
- `f(args) -> type = something` f is a trivial wrapper around something.
|
||||
- `fires 'x'` fires events of type 'x'.
|
||||
|
||||
Principles:
|
||||
|
||||
- All non-trivial objects inherit from `MVCObject`.
|
||||
- All non-trivial collections are either `MVCArrays` or a child class thereof.
|
||||
- Resolutions are `Array.<number>`, infinitely scalable resources (e.g. vectore layers) have resolutions == null.
|
||||
|
||||
```
|
||||
MVCObject
|
||||
as Google Maps MVCObject
|
||||
freeze()
|
||||
unfreeze()
|
||||
|
||||
TileCoord
|
||||
clone() -> TileCoord
|
||||
getHash() -> number
|
||||
|
||||
TileBounds
|
||||
forEachTileCoord(z, function(tileCoord))
|
||||
|
||||
Tile
|
||||
tileCoord TileCoord
|
||||
url string
|
||||
state UNLOADED | LOADING | LOADED
|
||||
fires 'loaded' // when loaded
|
||||
fires 'aborted' // when loading is aborted
|
||||
|
||||
Camera
|
||||
position goog.math.Coordinate
|
||||
resolution number
|
||||
rotation number
|
||||
|
||||
Layer
|
||||
projections Array.<Projection>
|
||||
extent Extent
|
||||
getResolutions() -> Array.<number>|null
|
||||
fires 'change' // when data changes
|
||||
|
||||
LayerArray
|
||||
getResolutions() -> Array.<number>|null
|
||||
getMaxResolution() = this.getResolutions()[0] | null
|
||||
|
||||
LayerRendererOptions
|
||||
layer Layer
|
||||
visible boolean
|
||||
opacity number
|
||||
brightness number
|
||||
color number
|
||||
hue number
|
||||
saturation number
|
||||
|
||||
Map
|
||||
projection Projection
|
||||
renderer Renderer
|
||||
layers LayerArray
|
||||
addLayer(layer) = layers.push(layer)
|
||||
getExtent() -> Extent
|
||||
getMaxResolution() = layers.getMaxResolution()
|
||||
|
||||
TileGrid
|
||||
resolutions Array.<number>
|
||||
extent ol.Extent
|
||||
xEast boolean
|
||||
ySouth boolean
|
||||
origin(s) Coord|Array.<Coord>
|
||||
tileSize goog.math.Size
|
||||
forEachTileCoordChild(tileCoord, function(z, TileBounds))
|
||||
forEachTileCoordParent(tileCoord, function(z, TileBounds))
|
||||
getExtentTileBounds(z, extent) -> TileBounds
|
||||
getTileCoord(coordinate) -> TileCoord
|
||||
getTileCoordCenter(tileCoord) -> goog.math.Coordinate
|
||||
getTileCoordExtent(tileCoord) -> ol.Extent
|
||||
getTileCoordResolution(tileCoord) -> number
|
||||
getZForResolution(resolution) -> number
|
||||
|
||||
TileLayer
|
||||
tileGrid TileGrid
|
||||
tileUrl function(tileCoord) -> string
|
||||
getTileCoordUrl(tileCoord) -> string = this.tileUrl(tileCoord)
|
||||
|
||||
TileQueue
|
||||
camera Camera // or maybe MVCArray.<Camera> ?
|
||||
getTileCoordPriority(tileCoord) -> number // private
|
||||
enqueueTile(Tile)
|
||||
|
||||
VectorLayer
|
||||
forEachFeature(resolution, extent, projection, function(Feature))
|
||||
|
||||
Renderer
|
||||
target HTMLDivElement
|
||||
map Map
|
||||
camera Camera
|
||||
getCapabilities() -> Array.<string> // maybe ?
|
||||
```
|
||||
|
||||
Questions:
|
||||
|
||||
- Store tile layer extent in TileLayer or in TileGrid? (not clear)
|
||||
|
||||
Two concepts: tile coordinate system range and and available data extent.
|
||||
TileGrid extent is range (or validity extent) of the tile coordinate system.
|
||||
TileLayer extent is the available data extent. A particular TileGrid may range
|
||||
from 0,0 to 10,10. My cache may conform to that grid but I may only have tiles
|
||||
ranging from 2,2 to 8,8. When you need to wrap multiple worlds, you pay
|
||||
attention to the TileGrid extent. When you need to decide whether or not to
|
||||
bother requesting a tile, you pay attention to the TileLayer extent.
|
||||
|
||||
- Who determines "best" resolution? (static function?)
|
||||
|
||||
|
||||
Todo: if tile layer extent stored in TileLayer rather than TileGrid then extent
|
||||
will occasionally need to be passed to TileGrid functions for cropping.
|
||||
|
||||
DESIGN ASSERTIONS
|
||||
=================
|
||||
|
||||
Map
|
||||
|
||||
- A map has a renderer (the map renderer).
|
||||
- A map has a camera.
|
||||
- Multiple maps can share the same camera.
|
||||
- A map has a layer list.
|
||||
|
||||
Layer
|
||||
|
||||
- A layer can have multiple projections (the supported projections).
|
||||
- A layer advertizes the projections it supports.
|
||||
- A layer returns no data if asked data for an unsupported projection.
|
||||
|
||||
LayerRendererOptions
|
||||
|
||||
- A layer renderer options object stores view-related states for a layer.
|
||||
- Options include visibility, opacity, saturation, hue, etc.
|
||||
- A layer renderer options object has a layer.
|
||||
- Multiple layer renderer options can share the same layer.
|
||||
- In other words a layer can be viewed in different manners.
|
||||
|
||||
Renderer
|
||||
|
||||
- The map renderer responds to events.
|
||||
- The map renderer receives events from the camera.
|
||||
- The map renderer creates layer renderers.
|
||||
|
||||
Control
|
||||
|
||||
- A control may listen to map events.
|
||||
- A control may listen to camera events.
|
||||
- A map navigation control acts on the camera.
|
||||
|
||||
MVC
|
||||
|
||||
- Types can be described in MVC terms.
|
||||
- Models don't know what rendering means.
|
||||
- Maps are models.
|
||||
- Layers are models.
|
||||
- Layer views are models (sorry!).
|
||||
- Cameras are models.
|
||||
- Layer lists are collections.
|
||||
- Renderers are views.
|
||||
- Controls are views or controllers or both.
|
||||
- An attribution control is a view.
|
||||
- A map navigation control is a controller.
|
||||
- A zoom slider control is both a view and a controller.
|
||||
60
examples/accessible.html
Normal file
60
examples/accessible.html
Normal file
@@ -0,0 +1,60 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Accessibility example</title>
|
||||
<style>
|
||||
a.accesskey {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<a class="accesskey" onclick="document.getElementById('map').focus(); return false;" accesskey="1" href="">Go to map</a>
|
||||
<div id="map" class="map" tabindex="0"></div>
|
||||
<a class="zoom" accesskey="i" href="javascript: void map.getView().setZoom(map.getView().getZoom() + 1);">Zoom in</a>
|
||||
<a class="zoom" accesskey="o" href="javascript: void map.getView().setZoom(map.getView().getZoom() - 1);">Zoom out</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span12">
|
||||
<h4 id="title">Accessibility example</h4>
|
||||
<p id="shortdesc">Example of an accessible map.</p>
|
||||
<div id="docs">
|
||||
<p>This page's <code>map</code> element has its <code>tabindex</code> attribute set to <code>"0"</code>. That makes is focusable. To focus the map element you can either navigate to it using the "tab" key, or use the <a href="http://en.wikipedia.org/wiki/Access_key">Access Key</a> "1" (alt+1 or ctrl+alt+1) which provides a direct access. When the <code>map</code> element is focused the + and - keys can be used to zoom in and out, and the arrow keys can be used to pan.</p>
|
||||
<p>When clicked the "Zoom in" and "Zoom out" links below the map zoom the map in and out, respectively. You can navigate to the links using the "tab" key, and press the "enter" key to trigger the zooming action. The Access Keys "i" and "o" can also be used, as a direct access to the actions of "Zoom in" and "Zoom out" links.</p>
|
||||
<p>See the source of the page to see how this done.</p>
|
||||
</div>
|
||||
<div id="tags">accessibility, tabindex</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=accessible" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
20
examples/accessible.js
Normal file
20
examples/accessible.js
Normal file
@@ -0,0 +1,20 @@
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.OSM');
|
||||
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.OSM()
|
||||
})
|
||||
],
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
});
|
||||
@@ -14,13 +14,7 @@
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./">OpenLayers 3 Examples</a>
|
||||
<ul class="nav pull-right">
|
||||
<li><iframe class="github-watch-button" src="http://ghbtns.com/github-btn.html?user=openlayers&repo=ol3&type=watch&count=true"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></iframe></li>
|
||||
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-hashtags="openlayers"> </a></li>
|
||||
<li><div class="g-plusone-wrapper"><div class="g-plusone" data-size="medium" data-annotation="none"></div></div></li>
|
||||
</ul>
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,22 +24,27 @@
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
<button id="rotate-left"><i class="icon-arrow-left"></i></button>
|
||||
<button>Rotate</button>
|
||||
<button id="rotate-right"><i class="icon-arrow-right"></i></button>
|
||||
</div>
|
||||
<button id="pan-to-london">Pan to London</button>
|
||||
<button id="elastic-to-moscow">Elastic to Moscow</button>
|
||||
<button id="bounce-to-istanbul">Bounce to Istanbul</button>
|
||||
<button id="spin-to-rome">Spin to Rome</button>
|
||||
<button id="fly-to-bern">Fly to Bern</button>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<button id="rotate-left"><i class="icon-arrow-left"></i></button>
|
||||
<button id="rotate-right"><i class="icon-arrow-right"></i></button>
|
||||
<button id="pan-to-london">Pan to London</button>
|
||||
<button id="elastic-to-moscow">Elastic to Moscow</button>
|
||||
<button id="bounce-to-istanbul">Bounce to Istanbul</button>
|
||||
<button id="spin-to-rome">Spin to Rome</button>
|
||||
<button id="fly-to-bern">Fly to Bern</button>
|
||||
<button id="spiral-to-madrid">Spiral to Madrid</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span4">
|
||||
<div class="span12">
|
||||
<h4 id="title">Animation example</h4>
|
||||
<p id="shortdesc">Example animations.</p>
|
||||
<p id="shortdesc">Demonstrates animated pan, zoom, and rotation.</p>
|
||||
<div id="docs">
|
||||
<p>See the <a href="animation.js" target="_blank">animation.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
@@ -56,8 +55,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=animation" type="text/javascript"></script>
|
||||
<script src="../resources/social-links.js" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,21 +3,17 @@ goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.animation');
|
||||
goog.require('ol.easing');
|
||||
goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.projection');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.proj');
|
||||
goog.require('ol.source.OSM');
|
||||
|
||||
|
||||
var london = ol.projection.transform(
|
||||
[-0.12755, 51.507222], 'EPSG:4326', 'EPSG:3857');
|
||||
var moscow = ol.projection.transform(
|
||||
[37.6178, 55.7517], 'EPSG:4326', 'EPSG:3857');
|
||||
var istanbul = ol.projection.transform(
|
||||
[28.9744, 41.0128], 'EPSG:4326', 'EPSG:3857');
|
||||
var rome = ol.projection.transform(
|
||||
[12.5, 41.9], 'EPSG:4326', 'EPSG:3857');
|
||||
var bern = ol.projection.transform(
|
||||
[7.4458, 46.95], 'EPSG:4326', 'EPSG:3857');
|
||||
var london = ol.proj.transform([-0.12755, 51.507222], 'EPSG:4326', 'EPSG:3857');
|
||||
var moscow = ol.proj.transform([37.6178, 55.7517], 'EPSG:4326', 'EPSG:3857');
|
||||
var istanbul = ol.proj.transform([28.9744, 41.0128], 'EPSG:4326', 'EPSG:3857');
|
||||
var rome = ol.proj.transform([12.5, 41.9], 'EPSG:4326', 'EPSG:3857');
|
||||
var bern = ol.proj.transform([7.4458, 46.95], 'EPSG:4326', 'EPSG:3857');
|
||||
var madrid = ol.proj.transform([-3.683333, 40.4], 'EPSG:4326', 'EPSG:3857');
|
||||
|
||||
var view = new ol.View2D({
|
||||
// the view's initial state
|
||||
@@ -27,24 +23,23 @@ var view = new ol.View2D({
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: [
|
||||
new ol.layer.TileLayer({
|
||||
new ol.layer.Tile({
|
||||
preload: 4,
|
||||
source: new ol.source.OSM()
|
||||
})
|
||||
],
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: view
|
||||
});
|
||||
|
||||
|
||||
var rotateLeft = document.getElementById('rotate-left');
|
||||
rotateLeft.addEventListener('click', function() {
|
||||
var rotateLeft = ol.animation.rotate({
|
||||
duration: 2000,
|
||||
rotation: -4 * Math.PI
|
||||
});
|
||||
map.addPreRenderFunction(rotateLeft);
|
||||
map.beforeRender(rotateLeft);
|
||||
}, false);
|
||||
var rotateRight = document.getElementById('rotate-right');
|
||||
rotateRight.addEventListener('click', function() {
|
||||
@@ -52,7 +47,7 @@ rotateRight.addEventListener('click', function() {
|
||||
duration: 2000,
|
||||
rotation: 4 * Math.PI
|
||||
});
|
||||
map.addPreRenderFunction(rotateRight);
|
||||
map.beforeRender(rotateRight);
|
||||
}, false);
|
||||
|
||||
|
||||
@@ -60,9 +55,9 @@ var panToLondon = document.getElementById('pan-to-london');
|
||||
panToLondon.addEventListener('click', function() {
|
||||
var pan = ol.animation.pan({
|
||||
duration: 2000,
|
||||
source: view.getCenter()
|
||||
source: /** @type {ol.Coordinate} */ (view.getCenter())
|
||||
});
|
||||
map.addPreRenderFunction(pan);
|
||||
map.beforeRender(pan);
|
||||
view.setCenter(london);
|
||||
}, false);
|
||||
|
||||
@@ -71,9 +66,9 @@ elasticToMoscow.addEventListener('click', function() {
|
||||
var pan = ol.animation.pan({
|
||||
duration: 2000,
|
||||
easing: ol.easing.elastic,
|
||||
source: view.getCenter()
|
||||
source: /** @type {ol.Coordinate} */ (view.getCenter())
|
||||
});
|
||||
map.addPreRenderFunction(pan);
|
||||
map.beforeRender(pan);
|
||||
view.setCenter(moscow);
|
||||
}, false);
|
||||
|
||||
@@ -82,9 +77,9 @@ bounceToIstanbul.addEventListener('click', function() {
|
||||
var pan = ol.animation.pan({
|
||||
duration: 2000,
|
||||
easing: ol.easing.bounce,
|
||||
source: view.getCenter()
|
||||
source: /** @type {ol.Coordinate} */ (view.getCenter())
|
||||
});
|
||||
map.addPreRenderFunction(pan);
|
||||
map.beforeRender(pan);
|
||||
view.setCenter(istanbul);
|
||||
}, false);
|
||||
|
||||
@@ -94,7 +89,7 @@ spinToRome.addEventListener('click', function() {
|
||||
var start = +new Date();
|
||||
var pan = ol.animation.pan({
|
||||
duration: duration,
|
||||
source: view.getCenter(),
|
||||
source: /** @type {ol.Coordinate} */ (view.getCenter()),
|
||||
start: start
|
||||
});
|
||||
var rotate = ol.animation.rotate({
|
||||
@@ -102,7 +97,7 @@ spinToRome.addEventListener('click', function() {
|
||||
rotation: 2 * Math.PI,
|
||||
start: start
|
||||
});
|
||||
map.addPreRenderFunctions([pan, rotate]);
|
||||
map.beforeRender(pan, rotate);
|
||||
view.setCenter(rome);
|
||||
}, false);
|
||||
|
||||
@@ -112,7 +107,7 @@ flyToBern.addEventListener('click', function() {
|
||||
var start = +new Date();
|
||||
var pan = ol.animation.pan({
|
||||
duration: duration,
|
||||
source: view.getCenter(),
|
||||
source: /** @type {ol.Coordinate} */ (view.getCenter()),
|
||||
start: start
|
||||
});
|
||||
var bounce = ol.animation.bounce({
|
||||
@@ -120,6 +115,29 @@ flyToBern.addEventListener('click', function() {
|
||||
resolution: 4 * view.getResolution(),
|
||||
start: start
|
||||
});
|
||||
map.addPreRenderFunctions([pan, bounce]);
|
||||
map.beforeRender(pan, bounce);
|
||||
view.setCenter(bern);
|
||||
}, false);
|
||||
|
||||
var spiralToMadrid = document.getElementById('spiral-to-madrid');
|
||||
spiralToMadrid.addEventListener('click', function() {
|
||||
var duration = 2000;
|
||||
var start = +new Date();
|
||||
var pan = ol.animation.pan({
|
||||
duration: duration,
|
||||
source: /** @type {ol.Coordinate} */ (view.getCenter()),
|
||||
start: start
|
||||
});
|
||||
var bounce = ol.animation.bounce({
|
||||
duration: duration,
|
||||
resolution: 2 * view.getResolution(),
|
||||
start: start
|
||||
});
|
||||
var rotate = ol.animation.rotate({
|
||||
duration: duration,
|
||||
rotation: -4 * Math.PI,
|
||||
start: start
|
||||
});
|
||||
map.beforeRender(pan, bounce, rotate);
|
||||
view.setCenter(madrid);
|
||||
}, false);
|
||||
|
||||
@@ -14,13 +14,7 @@
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./">OpenLayers 3 Examples</a>
|
||||
<ul class="nav pull-right">
|
||||
<li><iframe class="github-watch-button" src="http://ghbtns.com/github-btn.html?user=openlayers&repo=ol3&type=watch&count=true"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></iframe></li>
|
||||
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-hashtags="openlayers"> </a></li>
|
||||
<li><div class="g-plusone-wrapper"><div class="g-plusone" data-size="medium" data-annotation="none"></div></div></li>
|
||||
</ul>
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -37,9 +31,14 @@
|
||||
|
||||
<div class="span4">
|
||||
<h4 id="title">Bind HTML input example</h4>
|
||||
<p id="shortdesc">Bind an HTML input to an ol object.</p>
|
||||
<p id="shortdesc">Demonstrates two-way binding of HTML input elements to OpenLayers objects.</p>
|
||||
<div id="docs">
|
||||
<p>See the <a href="bind-input.js" target="_blank">bind-input.js source</a> to see how this is done.</p>
|
||||
<div id="no-webgl" class="alert alert-warning" style="display: none">
|
||||
<h4>Warning!</h4>
|
||||
A browser that supports <a href="http://get.webgl.org/">WebGL</a> is required to change the
|
||||
<strong>hue</strong>, <strong>saturation</strong>, <strong>contrast</strong> and <strong>brightness</strong>.
|
||||
</div>
|
||||
</div>
|
||||
<div id="tags">input, bind, openstreetmap</div>
|
||||
</div>
|
||||
@@ -54,13 +53,13 @@
|
||||
<label>opacity</label>
|
||||
<input id="opacity" type="range" min="0" max="1" step="0.01"/>
|
||||
<label>hue</label>
|
||||
<input id="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
|
||||
<input id="hue" class="webgl" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
|
||||
<label>saturation</label>
|
||||
<input id="saturation" type="range" min="0" max="5" step="0.01"/>
|
||||
<input id="saturation" class="webgl" type="range" min="0" max="5" step="0.01"/>
|
||||
<label>contrast</label>
|
||||
<input id="contrast" type="range" min="0" max="2" step="0.01"/>
|
||||
<input id="contrast" class="webgl" type="range" min="0" max="2" step="0.01"/>
|
||||
<label>brightness</label>
|
||||
<input id="brightness" type="range" min="-1" max="1" step="0.01"/>
|
||||
<input id="brightness" class="webgl" type="range" min="-1" max="1" step="0.01"/>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
@@ -71,7 +70,8 @@
|
||||
<legend>View</legend>
|
||||
<label>rotation</label>
|
||||
<input id="rotation" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
|
||||
</fieldset>
|
||||
<label>resolution</label>
|
||||
<input id="resolution" type="number" min="0" step="250"/>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
@@ -80,8 +80,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=bind-input" type="text/javascript"></script>
|
||||
<script src="../resources/social-links.js" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,41 +1,66 @@
|
||||
goog.require('ol.BrowserFeature');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.dom.Input');
|
||||
goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.OSM');
|
||||
|
||||
var layer = new ol.layer.TileLayer({
|
||||
|
||||
if (!ol.BrowserFeature.HAS_WEBGL) {
|
||||
var inputs = document.getElementsByClassName('webgl');
|
||||
for (var i = 0, len = inputs.length; i < len; i++) {
|
||||
inputs[i].disabled = true;
|
||||
}
|
||||
var info = document.getElementById('no-webgl');
|
||||
/**
|
||||
* display warning message
|
||||
*/
|
||||
info.style.display = '';
|
||||
}
|
||||
|
||||
var layer = new ol.layer.Tile({
|
||||
source: new ol.source.OSM()
|
||||
});
|
||||
|
||||
var view = new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
});
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: [layer],
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
view: view
|
||||
});
|
||||
|
||||
var visible = new ol.dom.Input(document.getElementById('visible'));
|
||||
visible.bindTo('checked', layer, 'visible');
|
||||
|
||||
var opacity = new ol.dom.Input(document.getElementById('opacity'));
|
||||
opacity.bindTo('value', layer, 'opacity');
|
||||
opacity.bindTo('value', layer, 'opacity')
|
||||
.transform(parseFloat, String);
|
||||
|
||||
var hue = new ol.dom.Input(document.getElementById('hue'));
|
||||
hue.bindTo('value', layer, 'hue');
|
||||
hue.bindTo('value', layer, 'hue')
|
||||
.transform(parseFloat, String);
|
||||
|
||||
var saturation = new ol.dom.Input(document.getElementById('saturation'));
|
||||
saturation.bindTo('value', layer, 'saturation');
|
||||
saturation.bindTo('value', layer, 'saturation')
|
||||
.transform(parseFloat, String);
|
||||
|
||||
var contrast = new ol.dom.Input(document.getElementById('contrast'));
|
||||
contrast.bindTo('value', layer, 'contrast');
|
||||
contrast.bindTo('value', layer, 'contrast')
|
||||
.transform(parseFloat, String);
|
||||
|
||||
var brightness = new ol.dom.Input(document.getElementById('brightness'));
|
||||
brightness.bindTo('value', layer, 'brightness');
|
||||
brightness.bindTo('value', layer, 'brightness')
|
||||
.transform(parseFloat, String);
|
||||
|
||||
|
||||
var rotation = new ol.dom.Input(document.getElementById('rotation'));
|
||||
rotation.bindTo('value', map.getView(), 'rotation');
|
||||
rotation.bindTo('value', view, 'rotation').transform(parseFloat, String);
|
||||
|
||||
var resolution = new ol.dom.Input(document.getElementById('resolution'));
|
||||
resolution.bindTo('value', view, 'resolution').transform(parseFloat, String);
|
||||
|
||||
@@ -14,13 +14,7 @@
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./">OpenLayers 3 Examples</a>
|
||||
<ul class="nav pull-right">
|
||||
<li><iframe class="github-watch-button" src="http://ghbtns.com/github-btn.html?user=openlayers&repo=ol3&type=watch&count=true"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></iframe></li>
|
||||
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-hashtags="openlayers"> </a></li>
|
||||
<li><div class="g-plusone-wrapper"><div class="g-plusone" data-size="medium" data-annotation="none"></div></div></li>
|
||||
</ul>
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -35,13 +29,15 @@
|
||||
<option value="Aerial">Aerial</option>
|
||||
<option value="AerialWithLabels" selected>Aerial with labels</option>
|
||||
<option value="Road">Road</option>
|
||||
<option value="collinsBart">Collins Bart</option>
|
||||
<option value="ordnanceSurvey">Ordnance Survey</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span4">
|
||||
<div class="span12">
|
||||
<h4 id="title">Bing Maps example</h4>
|
||||
<p id="shortdesc">Example of a Bing Maps layer.</p>
|
||||
<div id="docs">
|
||||
@@ -56,7 +52,7 @@
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=bing-maps" type="text/javascript"></script>
|
||||
<script src="../resources/social-links.js" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,36 +1,43 @@
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.projection');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.BingMaps');
|
||||
|
||||
|
||||
var styles = ['Road', 'Aerial', 'AerialWithLabels'];
|
||||
var styles = [
|
||||
'Road',
|
||||
'Aerial',
|
||||
'AerialWithLabels',
|
||||
'collinsBart',
|
||||
'ordnanceSurvey'
|
||||
];
|
||||
var layers = [];
|
||||
for (var i = 0; i < styles.length; ++i) {
|
||||
layers.push(new ol.layer.TileLayer({
|
||||
var i, ii;
|
||||
for (i = 0, ii = styles.length; i < ii; ++i) {
|
||||
layers.push(new ol.layer.Tile({
|
||||
visible: false,
|
||||
preload: Infinity,
|
||||
source: new ol.source.BingMaps({
|
||||
key: 'AlQLZ0-5yk301_ESrmNLma3LYxEKNSg7w-e_knuRfyYFtld-UFvXVs38NOulku3Q',
|
||||
style: styles[i]
|
||||
key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3',
|
||||
imagerySet: styles[i]
|
||||
})
|
||||
}));
|
||||
}
|
||||
var map = new ol.Map({
|
||||
layers: layers,
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: ol.projection.transform([-123.1, 49.25], 'EPSG:4326', 'EPSG:3857'),
|
||||
zoom: 8
|
||||
center: [-6655.5402445057125, 6709968.258934638],
|
||||
zoom: 13
|
||||
})
|
||||
});
|
||||
|
||||
$('#layer-select').change(function() {
|
||||
var style = $(this).find(':selected').val();
|
||||
for (var i = 0; i < layers.length; ++i) {
|
||||
var i, ii;
|
||||
for (i = 0, ii = layers.length; i < ii; ++i) {
|
||||
layers[i].setVisible(styles[i] == style);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -8,19 +8,21 @@
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Brightness/contrast example</title>
|
||||
<style>
|
||||
#reset-brightness {
|
||||
min-width: 138px;
|
||||
}
|
||||
#reset-contrast {
|
||||
min-width: 120px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./">OpenLayers 3 Examples</a>
|
||||
<ul class="nav pull-right">
|
||||
<li><iframe class="github-watch-button" src="http://ghbtns.com/github-btn.html?user=openlayers&repo=ol3&type=watch&count=true"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></iframe></li>
|
||||
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-hashtags="openlayers"> </a></li>
|
||||
<li><div class="g-plusone-wrapper"><div class="g-plusone" data-size="medium" data-annotation="none"></div></div></li>
|
||||
</ul>
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,6 +32,11 @@
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
|
||||
<div id="no-webgl" class="alert alert-error" style="display: none">
|
||||
This example requires a browser that supports <a href="http://get.webgl.org/">WebGL</a>.
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<button id="increase-brightness"><i class="icon-plus"></i></button>
|
||||
<button id="reset-brightness">Brightness</button>
|
||||
@@ -45,7 +52,7 @@
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span4">
|
||||
<div class="span12">
|
||||
<h4 id="title">Brightness/contrast example</h4>
|
||||
<p id="shortdesc">Example of brightness/contrast control on the client (WebGL only).</p>
|
||||
<div id="docs">
|
||||
@@ -58,8 +65,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=brightness-contrast" type="text/javascript"></script>
|
||||
<script src="../resources/social-links.js" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,46 +1,75 @@
|
||||
goog.require('ol.BrowserFeature');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHint');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.source.MapQuestOpenAerial');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.MapQuest');
|
||||
|
||||
|
||||
var layer = new ol.layer.TileLayer({
|
||||
source: new ol.source.MapQuestOpenAerial()
|
||||
});
|
||||
function setResetBrightnessButtonHTML() {
|
||||
resetBrightness.innerHTML = 'Brightness (' +
|
||||
layer.getBrightness().toFixed(3) + ')';
|
||||
}
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: [layer],
|
||||
renderer: ol.RendererHint.WEBGL,
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
});
|
||||
function setResetContrastButtonHTML() {
|
||||
resetContrast.innerHTML = 'Contrast (' + layer.getContrast().toFixed(3) + ')';
|
||||
}
|
||||
|
||||
var increaseBrightness = document.getElementById('increase-brightness');
|
||||
increaseBrightness.addEventListener('click', function() {
|
||||
layer.setBrightness(layer.getBrightness() + 0.125);
|
||||
}, false);
|
||||
var resetBrightness = document.getElementById('reset-brightness');
|
||||
resetBrightness.addEventListener('click', function() {
|
||||
layer.setBrightness(0);
|
||||
}, false);
|
||||
var decreaseBrightness = document.getElementById('decrease-brightness');
|
||||
decreaseBrightness.addEventListener('click', function() {
|
||||
layer.setBrightness(layer.getBrightness() - 0.125);
|
||||
}, false);
|
||||
if (!ol.BrowserFeature.HAS_WEBGL) {
|
||||
var info = document.getElementById('no-webgl');
|
||||
/**
|
||||
* display error message
|
||||
*/
|
||||
info.style.display = '';
|
||||
} else {
|
||||
var layer = new ol.layer.Tile({
|
||||
source: new ol.source.MapQuest({layer: 'sat'})
|
||||
});
|
||||
|
||||
var increaseContrast = document.getElementById('increase-contrast');
|
||||
increaseContrast.addEventListener('click', function() {
|
||||
layer.setContrast(layer.getContrast() + 0.125);
|
||||
}, false);
|
||||
var resetContrast = document.getElementById('reset-contrast');
|
||||
resetContrast.addEventListener('click', function() {
|
||||
layer.setContrast(1);
|
||||
}, false);
|
||||
var decreaseContrast = document.getElementById('decrease-contrast');
|
||||
decreaseContrast.addEventListener('click', function() {
|
||||
layer.setContrast(layer.getContrast() - 0.125);
|
||||
}, false);
|
||||
var map = new ol.Map({
|
||||
layers: [layer],
|
||||
renderer: 'webgl',
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
});
|
||||
|
||||
var increaseBrightness = document.getElementById('increase-brightness');
|
||||
var resetBrightness = document.getElementById('reset-brightness');
|
||||
var decreaseBrightness = document.getElementById('decrease-brightness');
|
||||
|
||||
setResetBrightnessButtonHTML();
|
||||
|
||||
increaseBrightness.addEventListener('click', function() {
|
||||
layer.setBrightness(Math.min(layer.getBrightness() + 0.125, 1));
|
||||
setResetBrightnessButtonHTML();
|
||||
}, false);
|
||||
resetBrightness.addEventListener('click', function() {
|
||||
layer.setBrightness(0);
|
||||
setResetBrightnessButtonHTML();
|
||||
}, false);
|
||||
decreaseBrightness.addEventListener('click', function() {
|
||||
layer.setBrightness(Math.max(layer.getBrightness() - 0.125, -1));
|
||||
setResetBrightnessButtonHTML();
|
||||
}, false);
|
||||
|
||||
var increaseContrast = document.getElementById('increase-contrast');
|
||||
var resetContrast = document.getElementById('reset-contrast');
|
||||
var decreaseContrast = document.getElementById('decrease-contrast');
|
||||
|
||||
setResetContrastButtonHTML();
|
||||
|
||||
increaseContrast.addEventListener('click', function() {
|
||||
layer.setContrast(layer.getContrast() + 0.125);
|
||||
setResetContrastButtonHTML();
|
||||
}, false);
|
||||
resetContrast.addEventListener('click', function() {
|
||||
layer.setContrast(1);
|
||||
setResetContrastButtonHTML();
|
||||
}, false);
|
||||
decreaseContrast.addEventListener('click', function() {
|
||||
layer.setContrast(Math.max(layer.getContrast() - 0.125, 0));
|
||||
setResetContrastButtonHTML();
|
||||
}, false);
|
||||
}
|
||||
|
||||
@@ -14,13 +14,7 @@
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./">OpenLayers 3 Examples</a>
|
||||
<ul class="nav pull-right">
|
||||
<li><iframe class="github-watch-button" src="http://ghbtns.com/github-btn.html?user=openlayers&repo=ol3&type=watch&count=true"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" height="20" width="90"></iframe></li>
|
||||
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-hashtags="openlayers"> </a></li>
|
||||
<li><div class="g-plusone-wrapper"><div class="g-plusone" data-size="medium" data-annotation="none"></div></div></li>
|
||||
</ul>
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -35,10 +29,11 @@
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span4">
|
||||
<div class="span12">
|
||||
<h4 id="title">Canvas tiles example</h4>
|
||||
<p id="shortdesc">The black grid tiles are generated on the client with an HTML5 canvas. Note that the tile coordinates are ol3 normalized tile coordinates (origin bottom left), not OSM tile coordinates (origin top left).</p>
|
||||
<p id="shortdesc">Renders tiles with coordinates for debugging.</p>
|
||||
<div id="docs">
|
||||
<p>The black grid tiles are generated on the client with an HTML5 canvas. Note that the tile coordinates are ol3 normalized tile coordinates (origin bottom left), not OSM tile coordinates (origin top left).</p>
|
||||
<p>See the <a href="canvas-tiles.js" target="_blank">canvas-tiles.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">layers, openstreetmap, canvas</div>
|
||||
@@ -48,8 +43,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=canvas-tiles" type="text/javascript"></script>
|
||||
<script src="../resources/social-links.js" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.projection');
|
||||
goog.require('ol.source.DebugTileSource');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.proj');
|
||||
goog.require('ol.source.OSM');
|
||||
goog.require('ol.source.TileDebug');
|
||||
goog.require('ol.tilegrid.XYZ');
|
||||
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: [
|
||||
new ol.layer.TileLayer({
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.OSM()
|
||||
}),
|
||||
new ol.layer.TileLayer({
|
||||
source: new ol.source.DebugTileSource({
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.TileDebug({
|
||||
projection: 'EPSG:3857',
|
||||
tileGrid: new ol.tilegrid.XYZ({
|
||||
maxZoom: 22
|
||||
@@ -22,10 +22,10 @@ var map = new ol.Map({
|
||||
})
|
||||
})
|
||||
],
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: ol.projection.transform(
|
||||
center: ol.proj.transform(
|
||||
[-0.1275, 51.507222], 'EPSG:4326', 'EPSG:3857'),
|
||||
zoom: 10
|
||||
})
|
||||
|
||||
90
examples/custom-controls.html
Normal file
90
examples/custom-controls.html
Normal file
@@ -0,0 +1,90 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<style type="text/css">
|
||||
.rotate-north {
|
||||
position: absolute;
|
||||
top: 65px;
|
||||
left: 8px;
|
||||
background: rgba(255,255,255,0.4);
|
||||
border-radius: 4px;
|
||||
padding: 2px;
|
||||
}
|
||||
.ol-touch .rotate-north {
|
||||
top: 80px;
|
||||
}
|
||||
.rotate-north a {
|
||||
display: block;
|
||||
color: white;
|
||||
font-size: 16px;
|
||||
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
|
||||
font-weight: bold;
|
||||
margin: 1px;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
border-radius: 2px;
|
||||
height: 22px;
|
||||
width: 22px;
|
||||
background: rgba(0,60,136,0.5);
|
||||
}
|
||||
.ol-touch .rotate-north a {
|
||||
font-size: 20px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
line-height: 26px;
|
||||
}
|
||||
.rotate-north a:hover {
|
||||
background: rgba(0,60,136,0.7);
|
||||
}
|
||||
</style>
|
||||
<title>ol3 custom controls example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<h4 id="title">Custom controls</h4>
|
||||
<p id="shortdesc">This example shows how to create custom controls.</p>
|
||||
<div id="docs">
|
||||
<p>
|
||||
This example creates a "rotate to north" button.
|
||||
See the <a href="custom-controls.js" target="_blank">custom-controls.js
|
||||
source</a> to see how this is done.
|
||||
</p>
|
||||
</div>
|
||||
<div id="tags">
|
||||
custom, control
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=custom-controls" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
81
examples/custom-controls.js
Normal file
81
examples/custom-controls.js
Normal file
@@ -0,0 +1,81 @@
|
||||
goog.require('ol');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.control');
|
||||
goog.require('ol.control.Control');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.OSM');
|
||||
|
||||
|
||||
/**
|
||||
* Define a namespace for the application.
|
||||
*/
|
||||
window.app = {};
|
||||
var app = window.app;
|
||||
|
||||
|
||||
//
|
||||
// Define rotate to north control.
|
||||
//
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.control.Control}
|
||||
* @param {Object=} opt_options Control options.
|
||||
*/
|
||||
app.RotateNorthControl = function(opt_options) {
|
||||
|
||||
var options = opt_options || {};
|
||||
|
||||
var anchor = document.createElement('a');
|
||||
anchor.href = '#rotate-north';
|
||||
anchor.innerHTML = 'N';
|
||||
|
||||
var this_ = this;
|
||||
var handleRotateNorth = function(e) {
|
||||
// prevent #rotate-north anchor from getting appended to the url
|
||||
e.preventDefault();
|
||||
this_.getMap().getView().getView2D().setRotation(0);
|
||||
};
|
||||
|
||||
anchor.addEventListener('click', handleRotateNorth, false);
|
||||
anchor.addEventListener('touchstart', handleRotateNorth, false);
|
||||
|
||||
var element = document.createElement('div');
|
||||
element.className = 'rotate-north ol-unselectable';
|
||||
element.appendChild(anchor);
|
||||
|
||||
ol.control.Control.call(this, {
|
||||
element: element,
|
||||
target: options.target
|
||||
});
|
||||
|
||||
};
|
||||
ol.inherits(app.RotateNorthControl, ol.control.Control);
|
||||
|
||||
|
||||
//
|
||||
// Create map, giving it a rotate to north control.
|
||||
//
|
||||
|
||||
|
||||
var map = new ol.Map({
|
||||
controls: ol.control.defaults().extend([
|
||||
new app.RotateNorthControl()
|
||||
]),
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.OSM()
|
||||
})
|
||||
],
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2,
|
||||
rotation: 1
|
||||
})
|
||||
});
|
||||
53
examples/d3.html
Normal file
53
examples/d3.html
Normal file
@@ -0,0 +1,53 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>d3 integration example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span12">
|
||||
<h4 id="title">d3 integration example</h4>
|
||||
<p id="shortdesc">Example of using ol3 and d3 together.</p>
|
||||
<div id="docs">
|
||||
<p>The example loads TopoJSON geometries and uses d3 (<code>d3.geo.path</code>) to render these geometries to a canvas element that is then used as the image of an ol3 image layer.</p>
|
||||
<p>See the <a href="d3.js" target="_blank">d3.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">d3</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="http://d3js.org/d3.v3.min.js"></script>
|
||||
<script src="http://d3js.org/topojson.v1.min.js"></script>
|
||||
<script src="loader.js?id=d3" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
97
examples/d3.js
vendored
Normal file
97
examples/d3.js
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
// NOCOMPILE
|
||||
// this example uses d3 for which we don't have an externs file.
|
||||
goog.require('ol');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.extent');
|
||||
goog.require('ol.layer.Image');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.proj');
|
||||
goog.require('ol.source.ImageCanvas');
|
||||
goog.require('ol.source.Stamen');
|
||||
|
||||
|
||||
var map = new ol.Map({
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.Stamen({
|
||||
layer: 'watercolor'
|
||||
})
|
||||
})
|
||||
],
|
||||
renderer: 'canvas',
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: ol.proj.transform([-97, 38], 'EPSG:4326', 'EPSG:3857'),
|
||||
zoom: 4
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Load the topojson data and create an ol.layer.Image for that data.
|
||||
*/
|
||||
d3.json('data/topojson/us.json', function(error, us) {
|
||||
var features = topojson.feature(us, us.objects.counties);
|
||||
|
||||
/**
|
||||
* This function uses d3 to render the topojson features to a canvas.
|
||||
* @param {ol.Extent} extent Extent.
|
||||
* @param {number} resolution Resolution.
|
||||
* @param {number} pixelRatio Pixel ratio.
|
||||
* @param {ol.Size} size Size.
|
||||
* @param {ol.proj.Projection} projection Projection.
|
||||
* @return {HTMLCanvasElement}
|
||||
*/
|
||||
var canvasFunction = function(extent, resolution, pixelRatio,
|
||||
size, projection) {
|
||||
var canvasWidth = size[0];
|
||||
var canvasHeight = size[1];
|
||||
|
||||
var canvas = d3.select(document.createElement('canvas'));
|
||||
canvas.attr('width', canvasWidth).attr('height', canvasHeight);
|
||||
|
||||
var context = canvas.node().getContext('2d');
|
||||
|
||||
var d3Projection = d3.geo.mercator().scale(1).translate([0, 0]);
|
||||
var d3Path = d3.geo.path().projection(d3Projection);
|
||||
|
||||
var pixelBounds = d3Path.bounds(features);
|
||||
var pixelBoundsWidth = pixelBounds[1][0] - pixelBounds[0][0];
|
||||
var pixelBoundsHeight = pixelBounds[1][1] - pixelBounds[0][1];
|
||||
|
||||
var geoBounds = d3.geo.bounds(features);
|
||||
var geoBoundsLeftBottom = ol.proj.transform(
|
||||
geoBounds[0], 'EPSG:4326', projection);
|
||||
var geoBoundsRightTop = ol.proj.transform(
|
||||
geoBounds[1], 'EPSG:4326', projection);
|
||||
var geoBoundsWidth = geoBoundsRightTop[0] - geoBoundsLeftBottom[0];
|
||||
if (geoBoundsWidth < 0) {
|
||||
geoBoundsWidth += ol.extent.getWidth(projection.getExtent());
|
||||
}
|
||||
var geoBoundsHeight = geoBoundsRightTop[1] - geoBoundsLeftBottom[1];
|
||||
|
||||
var widthResolution = geoBoundsWidth / pixelBoundsWidth;
|
||||
var heightResolution = geoBoundsHeight / pixelBoundsHeight;
|
||||
var r = Math.max(widthResolution, heightResolution);
|
||||
var scale = r / (resolution / pixelRatio);
|
||||
|
||||
var center = ol.proj.transform(ol.extent.getCenter(extent),
|
||||
projection, 'EPSG:4326');
|
||||
d3Projection.scale(scale).center(center)
|
||||
.translate([canvasWidth / 2, canvasHeight / 2]);
|
||||
d3Path = d3Path.projection(d3Projection).context(context);
|
||||
d3Path(features);
|
||||
context.stroke();
|
||||
|
||||
return canvas[0][0];
|
||||
};
|
||||
|
||||
var layer = new ol.layer.Image({
|
||||
source: new ol.source.ImageCanvas({
|
||||
canvasFunction: canvasFunction,
|
||||
projection: 'EPSG:3857'
|
||||
})
|
||||
});
|
||||
map.addLayer(layer);
|
||||
});
|
||||
1
examples/data/IGNWMTSCapabilities.xml
Normal file
1
examples/data/IGNWMTSCapabilities.xml
Normal file
File diff suppressed because one or more lines are too long
@@ -179,140 +179,6 @@
|
||||
<ResourceURL format="image/png" template="http://maps4.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
||||
<ResourceURL format="image/png" template="http://maps.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
||||
</Layer>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>viennagis31256</ows:Identifier>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::31256">
|
||||
<ows:LowerCorner>-11500 330500</ows:LowerCorner>
|
||||
<ows:UpperCorner>18500 354000</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::31256</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>500000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>250000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>3</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>125000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>5</MatrixWidth>
|
||||
<MatrixHeight>3</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>64000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>9</MatrixWidth>
|
||||
<MatrixHeight>6</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>32000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>17</MatrixWidth>
|
||||
<MatrixHeight>12</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>16000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>33</MatrixWidth>
|
||||
<MatrixHeight>24</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>66</MatrixWidth>
|
||||
<MatrixHeight>47</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>5000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>105</MatrixWidth>
|
||||
<MatrixHeight>74</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>4000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>132</MatrixWidth>
|
||||
<MatrixHeight>93</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>3000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>175</MatrixWidth>
|
||||
<MatrixHeight>124</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>2000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>263</MatrixWidth>
|
||||
<MatrixHeight>185</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>1500.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>350</MatrixWidth>
|
||||
<MatrixHeight>247</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>1000.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>525</MatrixWidth>
|
||||
<MatrixHeight>370</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>500.0</ScaleDenominator>
|
||||
<TopLeftCorner>355000.0 -13500.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1049</MatrixWidth>
|
||||
<MatrixHeight>739</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<!-- -180 85.05112878 -->
|
||||
<ows:Identifier>google3857</ows:Identifier>
|
||||
|
||||
2
examples/data/gml/topp-states-wfs.xml
Normal file
2
examples/data/gml/topp-states-wfs.xml
Normal file
File diff suppressed because one or more lines are too long
1077
examples/data/gpx/fells_loop.gpx
Normal file
1077
examples/data/gpx/fells_loop.gpx
Normal file
File diff suppressed because it is too large
Load Diff
BIN
examples/data/icon.png
Normal file
BIN
examples/data/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
15585
examples/data/igc/Clement-Latour.igc
Normal file
15585
examples/data/igc/Clement-Latour.igc
Normal file
File diff suppressed because it is too large
Load Diff
3319
examples/data/igc/Damien-de-Baenst.igc
Normal file
3319
examples/data/igc/Damien-de-Baenst.igc
Normal file
File diff suppressed because it is too large
Load Diff
16374
examples/data/igc/Sylvain-Dhonneur.igc
Normal file
16374
examples/data/igc/Sylvain-Dhonneur.igc
Normal file
File diff suppressed because it is too large
Load Diff
9879
examples/data/igc/Tom-Payne.igc
Normal file
9879
examples/data/igc/Tom-Payne.igc
Normal file
File diff suppressed because it is too large
Load Diff
4611
examples/data/igc/Ulrich-Prinz.igc
Normal file
4611
examples/data/igc/Ulrich-Prinz.igc
Normal file
File diff suppressed because it is too large
Load Diff
9391
examples/data/kml/2012-02-10.kml
Normal file
9391
examples/data/kml/2012-02-10.kml
Normal file
File diff suppressed because one or more lines are too long
10758
examples/data/kml/2012_Earthquakes_Mag5.kml
Normal file
10758
examples/data/kml/2012_Earthquakes_Mag5.kml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,275 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kml xmlns="http://earth.google.com/kml/2.0">
|
||||
<Document>
|
||||
<name>KML Samples</name>
|
||||
<open>1</open>
|
||||
<description>Unleash your creativity with the help of these examples!</description>
|
||||
<Style id="downArrowIcon">
|
||||
<IconStyle>
|
||||
<Icon>
|
||||
<href>http://maps.google.com/mapfiles/kml/pal4/icon28.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="globeIcon">
|
||||
<IconStyle>
|
||||
<Icon>
|
||||
<href>http://maps.google.com/mapfiles/kml/pal3/icon19.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
<LineStyle>
|
||||
<width>2</width>
|
||||
</LineStyle>
|
||||
</Style>
|
||||
<Style id="transPurpleLineGreenPoly">
|
||||
<LineStyle>
|
||||
<color>7fff00ff</color>
|
||||
<width>4</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>7f00ff00</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="yellowLineGreenPoly">
|
||||
<LineStyle>
|
||||
<color>7f00ffff</color>
|
||||
<width>4</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>7f00ff00</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="thickBlackLine">
|
||||
<LineStyle>
|
||||
<color>87000000</color>
|
||||
<width>10</width>
|
||||
</LineStyle>
|
||||
</Style>
|
||||
<Style id="redLineBluePoly">
|
||||
<LineStyle>
|
||||
<color>ff0000ff</color>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>ffff0000</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="blueLineRedPoly">
|
||||
<LineStyle>
|
||||
<color>ffff0000</color>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>ff0000ff</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="transRedPoly">
|
||||
<LineStyle>
|
||||
<width>1.5</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>7d0000ff</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="transBluePoly">
|
||||
<LineStyle>
|
||||
<width>1.5</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>7dff0000</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="transGreenPoly">
|
||||
<LineStyle>
|
||||
<width>1.5</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>7d00ff00</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="transYellowPoly">
|
||||
<LineStyle>
|
||||
<width>1.5</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>7d00ffff</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Style id="noDrivingDirections">
|
||||
<BalloonStyle>
|
||||
<text><![CDATA[
|
||||
<b>$[name]</b>
|
||||
<br /><br />
|
||||
$[description]
|
||||
]]></text>
|
||||
</BalloonStyle>
|
||||
</Style>
|
||||
<Folder>
|
||||
<name>Paths</name>
|
||||
<visibility>0</visibility>
|
||||
<description>Examples of paths. Note that the tessellate tag is by default
|
||||
set to 0. If you want to create tessellated lines, they must be authored
|
||||
(or edited) directly in KML.</description>
|
||||
<Placemark>
|
||||
<name>Tessellated</name>
|
||||
<visibility>0</visibility>
|
||||
<description><![CDATA[If the <tessellate> tag has a value of 1, the line will contour to the underlying terrain]]></description>
|
||||
<LookAt>
|
||||
<longitude>-112.0822680013139</longitude>
|
||||
<latitude>36.09825589333556</latitude>
|
||||
<altitude>0</altitude>
|
||||
<range>2889.145007690472</range>
|
||||
<tilt>62.04855796276328</tilt>
|
||||
<heading>103.8120432044965</heading>
|
||||
</LookAt>
|
||||
<LineString>
|
||||
<tessellate>1</tessellate>
|
||||
<coordinates> -112.0814237830345,36.10677870477137,0
|
||||
-112.0870267752693,36.0905099328766,0 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Untessellated</name>
|
||||
<visibility>0</visibility>
|
||||
<description><![CDATA[If the <tessellate> tag has a value of 0, the line follow a simple straight-line path from point to point]]></description>
|
||||
<LookAt>
|
||||
<longitude>-112.0822680013139</longitude>
|
||||
<latitude>36.09825589333556</latitude>
|
||||
<altitude>0</altitude>
|
||||
<range>2889.145007690472</range>
|
||||
<tilt>62.04855796276328</tilt>
|
||||
<heading>103.8120432044965</heading>
|
||||
</LookAt>
|
||||
<LineString>
|
||||
<tessellate>0</tessellate>
|
||||
<coordinates> -112.080622229595,36.10673460007995,0
|
||||
-112.085242575315,36.09049598612422,0 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Absolute</name>
|
||||
<visibility>0</visibility>
|
||||
<description>Transparent purple line</description>
|
||||
<LookAt>
|
||||
<longitude>-112.2719329043177</longitude>
|
||||
<latitude>36.08890633450894</latitude>
|
||||
<altitude>0</altitude>
|
||||
<range>2569.386744398339</range>
|
||||
<tilt>44.60763714063257</tilt>
|
||||
<heading>-106.8161545998597</heading>
|
||||
</LookAt>
|
||||
<styleUrl>#transPurpleLineGreenPoly</styleUrl>
|
||||
<LineString>
|
||||
<tessellate>1</tessellate>
|
||||
<altitudeMode>absolute</altitudeMode>
|
||||
<coordinates> -112.265654928602,36.09447672602546,2357
|
||||
-112.2660384528238,36.09342608838671,2357
|
||||
-112.2668139013453,36.09251058776881,2357
|
||||
-112.2677826834445,36.09189827357996,2357
|
||||
-112.2688557510952,36.0913137941187,2357
|
||||
-112.2694810717219,36.0903677207521,2357
|
||||
-112.2695268555611,36.08932171487285,2357
|
||||
-112.2690144567276,36.08850916060472,2357
|
||||
-112.2681528815339,36.08753813597956,2357
|
||||
-112.2670588176031,36.08682685262568,2357
|
||||
-112.2657374587321,36.08646312301303,2357 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Absolute Extruded</name>
|
||||
<visibility>0</visibility>
|
||||
<description>Transparent green wall with yellow outlines</description>
|
||||
<LookAt>
|
||||
<longitude>-112.2643334742529</longitude>
|
||||
<latitude>36.08563154742419</latitude>
|
||||
<altitude>0</altitude>
|
||||
<range>4451.842204068102</range>
|
||||
<tilt>44.61038665812578</tilt>
|
||||
<heading>-125.7518698668815</heading>
|
||||
</LookAt>
|
||||
<styleUrl>#yellowLineGreenPoly</styleUrl>
|
||||
<LineString>
|
||||
<extrude>1</extrude>
|
||||
<tessellate>1</tessellate>
|
||||
<altitudeMode>absolute</altitudeMode>
|
||||
<coordinates> -112.2550785337791,36.07954952145647,2357
|
||||
-112.2549277039738,36.08117083492122,2357
|
||||
-112.2552505069063,36.08260761307279,2357
|
||||
-112.2564540158376,36.08395660588506,2357
|
||||
-112.2580238976449,36.08511401044813,2357
|
||||
-112.2595218489022,36.08584355239394,2357
|
||||
-112.2608216347552,36.08612634548589,2357
|
||||
-112.262073428656,36.08626019085147,2357
|
||||
-112.2633204928495,36.08621519860091,2357
|
||||
-112.2644963846444,36.08627897945274,2357
|
||||
-112.2656969554589,36.08649599090644,2357 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Relative</name>
|
||||
<visibility>0</visibility>
|
||||
<description>Black line (10 pixels wide), height tracks terrain</description>
|
||||
<LookAt>
|
||||
<longitude>-112.2580438551384</longitude>
|
||||
<latitude>36.1072674824385</latitude>
|
||||
<altitude>0</altitude>
|
||||
<range>2927.61105910266</range>
|
||||
<tilt>44.61324882043339</tilt>
|
||||
<heading>4.947421249553717</heading>
|
||||
</LookAt>
|
||||
<styleUrl>#thickBlackLine</styleUrl>
|
||||
<LineString>
|
||||
<tessellate>1</tessellate>
|
||||
<altitudeMode>relativeToGround</altitudeMode>
|
||||
<coordinates> -112.2532845153347,36.09886943729116,645
|
||||
-112.2540466121145,36.09919570465255,645
|
||||
-112.254734666947,36.09984998366178,645
|
||||
-112.255493345654,36.10051310621746,645
|
||||
-112.2563157098468,36.10108441943419,645
|
||||
-112.2568033076439,36.10159722088088,645
|
||||
-112.257494011321,36.10204323542867,645
|
||||
-112.2584106072308,36.10229131995655,645
|
||||
-112.2596588987972,36.10240001286358,645
|
||||
-112.2610581199487,36.10213176873407,645
|
||||
-112.2626285262793,36.10157011437219,645 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Relative Extruded</name>
|
||||
<visibility>0</visibility>
|
||||
<description>Opaque blue walls with red outline, height tracks terrain</description>
|
||||
<LookAt>
|
||||
<longitude>-112.2683594333433</longitude>
|
||||
<latitude>36.09884362144909</latitude>
|
||||
<altitude>0</altitude>
|
||||
<range>2184.193522571467</range>
|
||||
<tilt>44.60855445139561</tilt>
|
||||
<heading>-72.24271551768405</heading>
|
||||
</LookAt>
|
||||
<styleUrl>#redLineBluePoly</styleUrl>
|
||||
<LineString>
|
||||
<extrude>1</extrude>
|
||||
<tessellate>1</tessellate>
|
||||
<altitudeMode>relativeToGround</altitudeMode>
|
||||
<coordinates> -112.2656634181359,36.09445214722695,630
|
||||
-112.2652238941097,36.09520916122063,630
|
||||
-112.2645079986395,36.09580763864907,630
|
||||
-112.2638827428817,36.09628572284063,630
|
||||
-112.2635746835406,36.09679275951239,630
|
||||
-112.2635711822407,36.09740038871899,630
|
||||
-112.2640296531825,36.09804913435539,630
|
||||
-112.264327720538,36.09880337400301,630
|
||||
-112.2642436562271,36.09963644790288,630
|
||||
-112.2639148687042,36.10055381117246,630
|
||||
-112.2626894973474,36.10149062823369,630 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Blue Icon</name>
|
||||
<description>Just another blue icon.</description>
|
||||
<styleUrl>data/kml/styles.kml#blueIcons</styleUrl>
|
||||
<Point>
|
||||
<coordinates>-112.292238941097,36.09520916122063,630</coordinates>
|
||||
</Point>
|
||||
</Placemark>
|
||||
</Folder>
|
||||
</Document>
|
||||
</kml>
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file contains styles referenced by other KML files in this project.
|
||||
http://kml-samples.googlecode.com/svn/trunk/kml/Style/styles.kml
|
||||
|
||||
-->
|
||||
<kml xmlns="http://earth.google.com/kml/2.1">
|
||||
<Document id="globalStyles">
|
||||
|
||||
<Style id="blueIcons">
|
||||
<IconStyle>
|
||||
<color>ffff0000</color>
|
||||
<Icon>
|
||||
<href>http://maps.google.com/mapfiles/kml/shapes/sunny.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
|
||||
</Document>
|
||||
</kml>
|
||||
1608
examples/data/kml/timezones.kml
Normal file
1608
examples/data/kml/timezones.kml
Normal file
File diff suppressed because one or more lines are too long
43
examples/data/sld/countries.sld
Normal file
43
examples/data/sld/countries.sld
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0">
|
||||
<sld:NamedLayer>
|
||||
<sld:Name>countries</sld:Name>
|
||||
<sld:UserStyle>
|
||||
<sld:Name>countries</sld:Name>
|
||||
<sld:Title>A sample style for countries</sld:Title>
|
||||
<sld:IsDefault>1</sld:IsDefault>
|
||||
<sld:Abstract>A sample style for countries</sld:Abstract>
|
||||
<sld:FeatureTypeStyle>
|
||||
<sld:Name>name</sld:Name>
|
||||
<sld:Rule>
|
||||
<sld:Name>Sample</sld:Name>
|
||||
<sld:Title>Sample</sld:Title>
|
||||
<sld:PolygonSymbolizer>
|
||||
<sld:Fill>
|
||||
<sld:CssParameter name="fill">#ff0000</sld:CssParameter>
|
||||
<sld:CssParameter name="fill-opacity">0.6</sld:CssParameter>
|
||||
</sld:Fill>
|
||||
<sld:Stroke>
|
||||
<sld:CssParameter name="stroke">#00FF00</sld:CssParameter>
|
||||
<sld:CssParameter name="stroke-opacity">0.5</sld:CssParameter>
|
||||
<sld:CssParameter name="stroke-width">4</sld:CssParameter>
|
||||
</sld:Stroke>
|
||||
</sld:PolygonSymbolizer>
|
||||
</sld:Rule>
|
||||
<sld:Rule>
|
||||
<sld:MaxScaleDenominator>20000000</sld:MaxScaleDenominator>
|
||||
<sld:TextSymbolizer>
|
||||
<sld:Label>
|
||||
<ogc:PropertyName>name</ogc:PropertyName>
|
||||
</sld:Label>
|
||||
<sld:Font>
|
||||
<sld:CssParameter name="font-family">Arial</sld:CssParameter>
|
||||
<sld:CssParameter name="font-size">10</sld:CssParameter>
|
||||
<sld:CssParameter name="font-style">Normal</sld:CssParameter>
|
||||
</sld:Font>
|
||||
</sld:TextSymbolizer>
|
||||
</sld:Rule>
|
||||
</sld:FeatureTypeStyle>
|
||||
</sld:UserStyle>
|
||||
</sld:NamedLayer>
|
||||
</sld:StyledLayerDescriptor>
|
||||
1
examples/data/topojson/us.json
Normal file
1
examples/data/topojson/us.json
Normal file
File diff suppressed because one or more lines are too long
1
examples/data/topojson/world-110m.json
Normal file
1
examples/data/topojson/world-110m.json
Normal file
File diff suppressed because one or more lines are too long
57
examples/device-orientation.html
Normal file
57
examples/device-orientation.html
Normal file
@@ -0,0 +1,57 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Device-Orientation example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span12">
|
||||
<h4 id="title">Device orientation example</h4>
|
||||
<label class="checkbox" for="track">
|
||||
<input id="track" type="checkbox"/>track changes
|
||||
</label>
|
||||
<p>α : <code id="alpha"></code></p>
|
||||
<p>β : <code id="beta"></code></p>
|
||||
<p>γ : <code id="gamma"></code></p>
|
||||
<p>heading : <code id="heading"></code></p>
|
||||
<p id="shortdesc">Listen to DeviceOrientation events</p>
|
||||
<div id="docs">
|
||||
<p>See the <a href="device-orientation.js" target="_blank">device-orientation.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">orientation, openstreetmap</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=device-orientation" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
47
examples/device-orientation.js
Normal file
47
examples/device-orientation.js
Normal file
@@ -0,0 +1,47 @@
|
||||
goog.require('ol.DeviceOrientation');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.dom.Input');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.OSM');
|
||||
|
||||
var view = new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
});
|
||||
var map = new ol.Map({
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.OSM()
|
||||
})
|
||||
],
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: view
|
||||
});
|
||||
|
||||
var deviceOrientation = new ol.DeviceOrientation();
|
||||
var track = new ol.dom.Input(document.getElementById('track'));
|
||||
track.bindTo('checked', deviceOrientation, 'tracking');
|
||||
|
||||
deviceOrientation.on('propertychange', function(event) {
|
||||
// event.key is the changed property name
|
||||
var element = document.getElementById(event.key);
|
||||
if (element) {
|
||||
element.innerHTML = deviceOrientation.get(event.key);
|
||||
}
|
||||
});
|
||||
|
||||
// tilt the map
|
||||
deviceOrientation.on(['change:beta', 'change:gamma'], function(event) {
|
||||
var center = view.getCenter();
|
||||
var resolution = view.getResolution();
|
||||
var beta = event.target.getBeta() || 0;
|
||||
var gamma = event.target.getGamma() || 0;
|
||||
|
||||
center[0] -= resolution * gamma * 25;
|
||||
center[1] += resolution * beta * 25;
|
||||
|
||||
view.setCenter(center);
|
||||
});
|
||||
55
examples/drag-and-drop-image-vector.html
Normal file
55
examples/drag-and-drop-image-vector.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Drag-and-Drop image vector example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span4">
|
||||
<h4 id="title">Drag-and-Drop image vector example</h4>
|
||||
<p id="shortdesc">Example of using the drag-and-drop interaction with a <code>ol.source.ImageVector</code>. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. Each file is rendered to an image on the client.</p>
|
||||
<div id="docs">
|
||||
<p>See the <a href="drag-and-drop-image-vector.js" target="_blank">drag-and-drop-image-vector.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">drag-and-drop-image-vector, gpx, geojson, igc, kml, topojson, vector, image</div>
|
||||
</div>
|
||||
<div class="span4 offset4">
|
||||
<div id="info" class="alert alert-success">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=drag-and-drop-image-vector" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
155
examples/drag-and-drop-image-vector.js
Normal file
155
examples/drag-and-drop-image-vector.js
Normal file
@@ -0,0 +1,155 @@
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.format.GPX');
|
||||
goog.require('ol.format.GeoJSON');
|
||||
goog.require('ol.format.IGC');
|
||||
goog.require('ol.format.KML');
|
||||
goog.require('ol.format.TopoJSON');
|
||||
goog.require('ol.interaction');
|
||||
goog.require('ol.interaction.DragAndDrop');
|
||||
goog.require('ol.layer.Image');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.BingMaps');
|
||||
goog.require('ol.source.ImageVector');
|
||||
goog.require('ol.source.Vector');
|
||||
goog.require('ol.style.Circle');
|
||||
goog.require('ol.style.Fill');
|
||||
goog.require('ol.style.Stroke');
|
||||
goog.require('ol.style.Style');
|
||||
|
||||
|
||||
var defaultStyle = {
|
||||
'Point': [new ol.style.Style({
|
||||
image: new ol.style.Circle({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(255,255,0,0.5)'
|
||||
}),
|
||||
radius: 5,
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#ff0',
|
||||
width: 1
|
||||
})
|
||||
})
|
||||
})],
|
||||
'LineString': [new ol.style.Style({
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#f00',
|
||||
width: 3
|
||||
})
|
||||
})],
|
||||
'Polygon': [new ol.style.Style({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(0,255,255,0.5)'
|
||||
}),
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#0ff',
|
||||
width: 1
|
||||
})
|
||||
})],
|
||||
'MultiPoint': [new ol.style.Style({
|
||||
image: new ol.style.Circle({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(255,0,255,0.5)'
|
||||
}),
|
||||
radius: 5,
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#f0f',
|
||||
width: 1
|
||||
})
|
||||
})
|
||||
})],
|
||||
'MultiLineString': [new ol.style.Style({
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#0f0',
|
||||
width: 3
|
||||
})
|
||||
})],
|
||||
'MultiPolygon': [new ol.style.Style({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(0,0,255,0.5)'
|
||||
}),
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#00f',
|
||||
width: 1
|
||||
})
|
||||
})]
|
||||
};
|
||||
|
||||
var styleFunction = function(feature, resolution) {
|
||||
var featureStyleFunction = feature.getStyleFunction();
|
||||
if (featureStyleFunction) {
|
||||
return featureStyleFunction.call(feature, resolution);
|
||||
} else {
|
||||
return defaultStyle[feature.getGeometry().getType()];
|
||||
}
|
||||
};
|
||||
|
||||
var dragAndDropInteraction = new ol.interaction.DragAndDrop({
|
||||
formatConstructors: [
|
||||
ol.format.GPX,
|
||||
ol.format.GeoJSON,
|
||||
ol.format.IGC,
|
||||
ol.format.KML,
|
||||
ol.format.TopoJSON
|
||||
]
|
||||
});
|
||||
|
||||
var map = new ol.Map({
|
||||
interactions: ol.interaction.defaults().extend([dragAndDropInteraction]),
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.BingMaps({
|
||||
imagerySet: 'Aerial',
|
||||
key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3'
|
||||
})
|
||||
})
|
||||
],
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
});
|
||||
|
||||
dragAndDropInteraction.on('addfeatures', function(event) {
|
||||
var vectorSource = new ol.source.Vector({
|
||||
features: event.features,
|
||||
projection: event.projection
|
||||
});
|
||||
map.getLayers().push(new ol.layer.Image({
|
||||
source: new ol.source.ImageVector({
|
||||
source: vectorSource,
|
||||
style: styleFunction
|
||||
})
|
||||
}));
|
||||
var view2D = map.getView().getView2D();
|
||||
view2D.fitExtent(vectorSource.getExtent(), map.getSize());
|
||||
});
|
||||
|
||||
var displayFeatureInfo = function(pixel) {
|
||||
var features = [];
|
||||
map.forEachFeatureAtPixel(pixel, function(feature, layer) {
|
||||
features.push(feature);
|
||||
});
|
||||
if (features.length > 0) {
|
||||
var info = [];
|
||||
var i, ii;
|
||||
for (i = 0, ii = features.length; i < ii; ++i) {
|
||||
info.push(features[i].get('name'));
|
||||
}
|
||||
document.getElementById('info').innerHTML = info.join(', ') || ' ';
|
||||
} else {
|
||||
document.getElementById('info').innerHTML = ' ';
|
||||
}
|
||||
};
|
||||
|
||||
$(map.getViewport()).on('mousemove', function(evt) {
|
||||
var pixel = map.getEventPixel(evt.originalEvent);
|
||||
displayFeatureInfo(pixel);
|
||||
});
|
||||
|
||||
map.on('singleclick', function(evt) {
|
||||
displayFeatureInfo(evt.pixel);
|
||||
});
|
||||
55
examples/drag-and-drop.html
Normal file
55
examples/drag-and-drop.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Drag-and-Drop example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span4">
|
||||
<h4 id="title">Drag-and-Drop example</h4>
|
||||
<p id="shortdesc">Example of using the drag-and-drop interaction. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map.</p>
|
||||
<div id="docs">
|
||||
<p>See the <a href="drag-and-drop.js" target="_blank">drag-and-drop.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">drag-and-drop, gpx, geojson, igc, kml, topojson</div>
|
||||
</div>
|
||||
<div class="span4 offset4">
|
||||
<div id="info" class="alert alert-success">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=drag-and-drop" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
151
examples/drag-and-drop.js
Normal file
151
examples/drag-and-drop.js
Normal file
@@ -0,0 +1,151 @@
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.format.GPX');
|
||||
goog.require('ol.format.GeoJSON');
|
||||
goog.require('ol.format.IGC');
|
||||
goog.require('ol.format.KML');
|
||||
goog.require('ol.format.TopoJSON');
|
||||
goog.require('ol.interaction');
|
||||
goog.require('ol.interaction.DragAndDrop');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.layer.Vector');
|
||||
goog.require('ol.source.BingMaps');
|
||||
goog.require('ol.source.Vector');
|
||||
goog.require('ol.style.Circle');
|
||||
goog.require('ol.style.Fill');
|
||||
goog.require('ol.style.Stroke');
|
||||
goog.require('ol.style.Style');
|
||||
|
||||
|
||||
var defaultStyle = {
|
||||
'Point': [new ol.style.Style({
|
||||
image: new ol.style.Circle({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(255,255,0,0.5)'
|
||||
}),
|
||||
radius: 5,
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#ff0',
|
||||
width: 1
|
||||
})
|
||||
})
|
||||
})],
|
||||
'LineString': [new ol.style.Style({
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#f00',
|
||||
width: 3
|
||||
})
|
||||
})],
|
||||
'Polygon': [new ol.style.Style({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(0,255,255,0.5)'
|
||||
}),
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#0ff',
|
||||
width: 1
|
||||
})
|
||||
})],
|
||||
'MultiPoint': [new ol.style.Style({
|
||||
image: new ol.style.Circle({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(255,0,255,0.5)'
|
||||
}),
|
||||
radius: 5,
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#f0f',
|
||||
width: 1
|
||||
})
|
||||
})
|
||||
})],
|
||||
'MultiLineString': [new ol.style.Style({
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#0f0',
|
||||
width: 3
|
||||
})
|
||||
})],
|
||||
'MultiPolygon': [new ol.style.Style({
|
||||
fill: new ol.style.Fill({
|
||||
color: 'rgba(0,0,255,0.5)'
|
||||
}),
|
||||
stroke: new ol.style.Stroke({
|
||||
color: '#00f',
|
||||
width: 1
|
||||
})
|
||||
})]
|
||||
};
|
||||
|
||||
var styleFunction = function(feature, resolution) {
|
||||
var featureStyleFunction = feature.getStyleFunction();
|
||||
if (featureStyleFunction) {
|
||||
return featureStyleFunction.call(feature, resolution);
|
||||
} else {
|
||||
return defaultStyle[feature.getGeometry().getType()];
|
||||
}
|
||||
};
|
||||
|
||||
var dragAndDropInteraction = new ol.interaction.DragAndDrop({
|
||||
formatConstructors: [
|
||||
ol.format.GPX,
|
||||
ol.format.GeoJSON,
|
||||
ol.format.IGC,
|
||||
ol.format.KML,
|
||||
ol.format.TopoJSON
|
||||
]
|
||||
});
|
||||
|
||||
var map = new ol.Map({
|
||||
interactions: ol.interaction.defaults().extend([dragAndDropInteraction]),
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.BingMaps({
|
||||
imagerySet: 'Aerial',
|
||||
key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3'
|
||||
})
|
||||
})
|
||||
],
|
||||
renderer: 'canvas',
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
});
|
||||
|
||||
dragAndDropInteraction.on('addfeatures', function(event) {
|
||||
var vectorSource = new ol.source.Vector({
|
||||
features: event.features,
|
||||
projection: event.projection
|
||||
});
|
||||
map.getLayers().push(new ol.layer.Vector({
|
||||
source: vectorSource,
|
||||
style: styleFunction
|
||||
}));
|
||||
var view2D = map.getView().getView2D();
|
||||
view2D.fitExtent(vectorSource.getExtent(), map.getSize());
|
||||
});
|
||||
|
||||
var displayFeatureInfo = function(pixel) {
|
||||
var features = [];
|
||||
map.forEachFeatureAtPixel(pixel, function(feature, layer) {
|
||||
features.push(feature);
|
||||
});
|
||||
if (features.length > 0) {
|
||||
var info = [];
|
||||
var i, ii;
|
||||
for (i = 0, ii = features.length; i < ii; ++i) {
|
||||
info.push(features[i].get('name'));
|
||||
}
|
||||
document.getElementById('info').innerHTML = info.join(', ') || ' ';
|
||||
} else {
|
||||
document.getElementById('info').innerHTML = ' ';
|
||||
}
|
||||
};
|
||||
|
||||
$(map.getViewport()).on('mousemove', function(evt) {
|
||||
var pixel = map.getEventPixel(evt.originalEvent);
|
||||
displayFeatureInfo(pixel);
|
||||
});
|
||||
|
||||
map.on('singleclick', function(evt) {
|
||||
displayFeatureInfo(evt.pixel);
|
||||
});
|
||||
51
examples/drag-rotate-and-zoom.html
Normal file
51
examples/drag-rotate-and-zoom.html
Normal file
@@ -0,0 +1,51 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Drag rotate and zoom example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span12">
|
||||
<h4 id="title">Drag rotate and zoom example</h4>
|
||||
<p id="shortdesc">A single interaction to drag, rotate, and zoom.</p>
|
||||
<div id="docs">
|
||||
<p><code>Shift</code> + Drag to rotate and zoom the map around its center.</p>
|
||||
<p>See the <a href="drag-rotate-and-zoom.js" target="_blank">drag-rotate-and-zoom.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">drag, rotate, zoom, interaction</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=drag-rotate-and-zoom" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
25
examples/drag-rotate-and-zoom.js
Normal file
25
examples/drag-rotate-and-zoom.js
Normal file
@@ -0,0 +1,25 @@
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHints');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.interaction');
|
||||
goog.require('ol.interaction.DragRotateAndZoom');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.source.MapQuest');
|
||||
|
||||
|
||||
var map = new ol.Map({
|
||||
interactions: ol.interaction.defaults().extend([
|
||||
new ol.interaction.DragRotateAndZoom()
|
||||
]),
|
||||
layers: [
|
||||
new ol.layer.Tile({
|
||||
source: new ol.source.MapQuest({layer: 'sat'})
|
||||
})
|
||||
],
|
||||
renderer: ol.RendererHints.createFromQueryData(),
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
zoom: 2
|
||||
})
|
||||
});
|
||||
59
examples/draw-features.html
Normal file
59
examples/draw-features.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||
<title>Draw features example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div id="map" class="map"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
<div class="span12">
|
||||
<h4 id="title">Draw features example</h4>
|
||||
<p id="shortdesc">Example of using the <code>ol.interaction.Draw</code> interaction.</p>
|
||||
<form class="form-inline">
|
||||
<label>Geometry type </label>
|
||||
<select id="type">
|
||||
<option value="Point">Point</option>
|
||||
<option value="LineString">LineString</option>
|
||||
<option value="Polygon">Polygon</option>
|
||||
</select>
|
||||
</form>
|
||||
|
||||
<div id="docs">
|
||||
<p>See the <a href="draw-features.js" target="_blank">draw-features.js source</a> to see how this is done.</p>
|
||||
</div>
|
||||
<div id="tags">draw, edit, vector</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="jquery.min.js" type="text/javascript"></script>
|
||||
<script src="loader.js?id=draw-features" type="text/javascript"></script>
|
||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user