mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-10-29 17:46:27 +01:00
Compare commits
4535 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
753403b4c8 | ||
|
|
5a0f9f8bbb | ||
|
|
8fa22b4de2 | ||
|
|
d17cae16fd | ||
|
|
c4c48962cf | ||
|
|
4140e92f0b | ||
|
|
887e560a1b | ||
|
|
e2d70181e8 | ||
|
|
148c453dbc | ||
|
|
f6ee9d311d | ||
|
|
35209e43bb | ||
|
|
4a3ecf063d | ||
|
|
4c79101624 | ||
|
|
921b01661b | ||
|
|
c63301d8e6 | ||
|
|
c9ed9d2237 | ||
|
|
ca55cbe456 | ||
|
|
d4828613ee | ||
|
|
a0be02ce2f | ||
|
|
9b8016a4d5 | ||
|
|
8fdd3bfd21 | ||
|
|
695a061e3c | ||
|
|
bd50d9218e | ||
|
|
d8f13bc1ce | ||
|
|
ed84d1a3c9 | ||
|
|
3c765d879c | ||
|
|
4c76b6dd96 | ||
|
|
7e66917993 | ||
|
|
eb0f985399 | ||
|
|
3a2908c3a3 | ||
|
|
f13c10859f | ||
|
|
8e8a314c91 | ||
|
|
dad0478b87 | ||
|
|
240b34016d | ||
|
|
2c164d630c | ||
|
|
3d12a9038f | ||
|
|
71fc02b5cd | ||
|
|
74caaa3d94 | ||
|
|
e024c12521 | ||
|
|
1d0c364947 | ||
|
|
88e59405c5 | ||
|
|
8160c93c15 | ||
|
|
3c8113d607 | ||
|
|
8e2f421e76 | ||
|
|
56df833b4a | ||
|
|
119d7d0be0 | ||
|
|
d4d2ca19a1 | ||
|
|
4ce5597d67 | ||
|
|
17888327b3 | ||
|
|
997def54ab | ||
|
|
a407e75459 | ||
|
|
cece53aad9 | ||
|
|
a2d63bc5f8 | ||
|
|
0c81c63ab7 | ||
|
|
3e8f1eee22 | ||
|
|
a91d1def45 | ||
|
|
032e6d1c57 | ||
|
|
93eb133cba | ||
|
|
b7b78842da | ||
|
|
8100ccaf5f | ||
|
|
936e1c0e96 | ||
|
|
1a7274e475 | ||
|
|
ac7b83b6ed | ||
|
|
e298279032 | ||
|
|
f7e58c28c6 | ||
|
|
18f3bc4056 | ||
|
|
4638f82889 | ||
|
|
4396b6eab5 | ||
|
|
594ae2bb7e | ||
|
|
429cf54bd4 | ||
|
|
274357abc4 | ||
|
|
0e21247755 | ||
|
|
37f2868ff3 | ||
|
|
6a85e25a62 | ||
|
|
a91b1c7e79 | ||
|
|
bfd9ecd130 | ||
|
|
ec888e94fd | ||
|
|
a19c80bef2 | ||
|
|
7b9ade2698 | ||
|
|
d03f28eeb9 | ||
|
|
288dd788bc | ||
|
|
2069a5a931 | ||
|
|
8a434cbd15 | ||
|
|
faafe49848 | ||
|
|
17a72292ce | ||
|
|
9ae09f1801 | ||
|
|
abbba17e4b | ||
|
|
479d5da17e | ||
|
|
dec7890d04 | ||
|
|
61910a6667 | ||
|
|
ac2119ac3b | ||
|
|
8c71cd7369 | ||
|
|
ec8b6ff18f | ||
|
|
e214804d57 | ||
|
|
39448f2e3c | ||
|
|
79dc6fc247 | ||
|
|
a800f305f2 | ||
|
|
67e0fb6b3f | ||
|
|
e401d30159 | ||
|
|
504e651828 | ||
|
|
7a8da2f074 | ||
|
|
1e47e96634 | ||
|
|
69502480b4 | ||
|
|
5833e3fcca | ||
|
|
4e47ffb1d2 | ||
|
|
3056333a7c | ||
|
|
ad0cd7f625 | ||
|
|
dedaa263ce | ||
|
|
bccf729102 | ||
|
|
a244c61e56 | ||
|
|
37594935f0 | ||
|
|
e521c2158b | ||
|
|
b1c8a8c76e | ||
|
|
8d92f210f0 | ||
|
|
287281923c | ||
|
|
6f18135574 | ||
|
|
58cf9bec3b | ||
|
|
b7a45e9901 | ||
|
|
f5585b39c6 | ||
|
|
9c3ef37274 | ||
|
|
e904c0b689 | ||
|
|
237f97f069 | ||
|
|
1eb2a04090 | ||
|
|
cda6106858 | ||
|
|
8c4ce5e5f4 | ||
|
|
b5ee6431c4 | ||
|
|
bd06e6d4dc | ||
|
|
3b607e74ed | ||
|
|
dc16474ed3 | ||
|
|
dc0f088be0 | ||
|
|
2718e10044 | ||
|
|
4213dcb8a2 | ||
|
|
39afb31200 | ||
|
|
8e1ce1c96a | ||
|
|
fdfd8293d6 | ||
|
|
b7d3be6a14 | ||
|
|
bb5c809749 | ||
|
|
a2cbe7cbf5 | ||
|
|
b1fb09ac99 | ||
|
|
201ae7e7db | ||
|
|
2978decb84 | ||
|
|
5fbbd4d5f3 | ||
|
|
4abd363f62 | ||
|
|
8288db60a9 | ||
|
|
6cdf679571 | ||
|
|
51179acc12 | ||
|
|
1ff27d3e17 | ||
|
|
1e9bce3d5a | ||
|
|
8811ea2b58 | ||
|
|
be7cdd0a28 | ||
|
|
611a05aa48 | ||
|
|
9f95a757a2 | ||
|
|
58b577453c | ||
|
|
78acfd87e8 | ||
|
|
bf9cb26164 | ||
|
|
68a99ada0b | ||
|
|
1d841ce171 | ||
|
|
ccfdbfd276 | ||
|
|
70d584d56d | ||
|
|
a49ffb07be | ||
|
|
baa9caf010 | ||
|
|
22025c875f | ||
|
|
3806995a50 | ||
|
|
94d2650491 | ||
|
|
844f24afa4 | ||
|
|
083396a8e4 | ||
|
|
e02769056b | ||
|
|
024f8e8d80 | ||
|
|
3b4a7c3c47 | ||
|
|
d9838d9cba | ||
|
|
b3ca4468cd | ||
|
|
452e41603a | ||
|
|
b41de4a770 | ||
|
|
3423d2f2f3 | ||
|
|
9269acc64d | ||
|
|
18b5f20f1c | ||
|
|
68d592a8ff | ||
|
|
ee18d96f98 | ||
|
|
6d3687cbdf | ||
|
|
1ef1a2983b | ||
|
|
47850fe0fa | ||
|
|
055a37cac0 | ||
|
|
333deb4756 | ||
|
|
34cde4b09a | ||
|
|
5091b4838c | ||
|
|
2e83289061 | ||
|
|
e11f651002 | ||
|
|
be684a567d | ||
|
|
97e552b10f | ||
|
|
5bb8046c32 | ||
|
|
e7192655f7 | ||
|
|
19ba09740c | ||
|
|
d169777722 | ||
|
|
ff8a5f6b77 | ||
|
|
ec953df156 | ||
|
|
d6a191d95b | ||
|
|
aba428bba1 | ||
|
|
6ab37fd596 | ||
|
|
73fc70f55b | ||
|
|
aad18b7a50 | ||
|
|
cc278be5cd | ||
|
|
d0f4f82a0f | ||
|
|
1dcbf386b1 | ||
|
|
414afd285c | ||
|
|
35b645d8b5 | ||
|
|
b3cba53866 | ||
|
|
a4773bb3ca | ||
|
|
863d8a4af5 | ||
|
|
3fccd7b53c | ||
|
|
dd2760eaf7 | ||
|
|
824bafa739 | ||
|
|
60cdaec05f | ||
|
|
c204a435b3 | ||
|
|
37accd92d6 | ||
|
|
01fd0ee1f0 | ||
|
|
fab1c74473 | ||
|
|
0d8fcfd28d | ||
|
|
b91a7c32a6 | ||
|
|
7f665c649b | ||
|
|
dcbadb4071 | ||
|
|
e3096d15ff | ||
|
|
a83c24e7b3 | ||
|
|
73457c9658 | ||
|
|
cfc8d9f3f1 | ||
|
|
8f423b83ea | ||
|
|
1e7ac532b6 | ||
|
|
0fd1db4596 | ||
|
|
0755b7ab7f | ||
|
|
052382e5c4 | ||
|
|
f44a63cec1 | ||
|
|
603d67354a | ||
|
|
aafa423b9f | ||
|
|
2da9d0a801 | ||
|
|
b60c112a74 | ||
|
|
843ed6df37 | ||
|
|
0f0a849677 | ||
|
|
682901ccbb | ||
|
|
048fdb8837 | ||
|
|
3353616789 | ||
|
|
b6cb4c865f | ||
|
|
1fcfd093f7 | ||
|
|
3f27c6e733 | ||
|
|
b6bd9bfc3b | ||
|
|
6c392f0056 | ||
|
|
9a38de9a23 | ||
|
|
8883600090 | ||
|
|
ab822a3c27 | ||
|
|
0e4d64de23 | ||
|
|
fbc6bd36bd | ||
|
|
ed90ca2dce | ||
|
|
537ef92149 | ||
|
|
d51afa7d40 | ||
|
|
975cffff48 | ||
|
|
d92e9c00e8 | ||
|
|
12d72cbb19 | ||
|
|
e7a6f0930b | ||
|
|
d8e03bed1f | ||
|
|
f48c087cd8 | ||
|
|
917663e0df | ||
|
|
556ddbc926 | ||
|
|
1c6f37b8e8 | ||
|
|
720a329a50 | ||
|
|
220a8f076a | ||
|
|
43be8333c7 | ||
|
|
08706ab4df | ||
|
|
b1196657e0 | ||
|
|
334bd0c919 | ||
|
|
cf0f896972 | ||
|
|
d21ca3ff8a | ||
|
|
83f1f16de7 | ||
|
|
0fa2ccf107 | ||
|
|
18e3dd431b | ||
|
|
f25dee2249 | ||
|
|
575ffa9580 | ||
|
|
f17af5aeb0 | ||
|
|
639f153589 | ||
|
|
fb07098c13 | ||
|
|
74fc08b039 | ||
|
|
2776e00004 | ||
|
|
5932fce303 | ||
|
|
39c9fc4261 | ||
|
|
89ea4509a3 | ||
|
|
d19d838ead | ||
|
|
633a2699a8 | ||
|
|
e79bca4a3c | ||
|
|
f8ab480d20 | ||
|
|
a14129e340 | ||
|
|
5ec39df6e0 | ||
|
|
956e0c6321 | ||
|
|
0660a9203a | ||
|
|
1b660272a1 | ||
|
|
d9ef9b874d | ||
|
|
7824f796ee | ||
|
|
838a8d4c7b | ||
|
|
8db9f77f91 | ||
|
|
4f82a469d9 | ||
|
|
0f6ae8559b | ||
|
|
3f4b2eec35 | ||
|
|
a020601d3a | ||
|
|
d511205588 | ||
|
|
fc896b2ea1 | ||
|
|
3819670535 | ||
|
|
067669a18c | ||
|
|
bef7cee8db | ||
|
|
cb9f56fc22 | ||
|
|
719a521f06 | ||
|
|
413754976f | ||
|
|
4530cfc068 | ||
|
|
fcc7d6da2d | ||
|
|
33e565d029 | ||
|
|
6a1da37e9a | ||
|
|
897cc5eea4 | ||
|
|
5cbea281af | ||
|
|
e74db57b75 | ||
|
|
6b2d124d09 | ||
|
|
7b3c77db8c | ||
|
|
1bcab5c2c7 | ||
|
|
16020e9a7d | ||
|
|
dfd3e22986 | ||
|
|
48d7a20fb7 | ||
|
|
04108a0a1a | ||
|
|
e0bab59846 | ||
|
|
1004c83bc4 | ||
|
|
502bb450e3 | ||
|
|
fb03b0bec7 | ||
|
|
2c3a1c9c92 | ||
|
|
73b7ee2d57 | ||
|
|
71df890f39 | ||
|
|
1fdac404b1 | ||
|
|
47be1e60bb | ||
|
|
1c05f50954 | ||
|
|
ce26a48fd7 | ||
|
|
26e0838ae0 | ||
|
|
6b5b0db20a | ||
|
|
5973c8cb85 | ||
|
|
f683439c73 | ||
|
|
625f3655ec | ||
|
|
4a5ab1ae71 | ||
|
|
3bcae2c6d2 | ||
|
|
4441eff657 | ||
|
|
9fed83e222 | ||
|
|
42ea9bac65 | ||
|
|
2aba827772 | ||
|
|
31e84bd543 | ||
|
|
ba471b8bf7 | ||
|
|
90ec95494d | ||
|
|
e72dbad765 | ||
|
|
ed63ea4674 | ||
|
|
559a52404f | ||
|
|
5e80848524 | ||
|
|
055a4f0798 | ||
|
|
6f432e537c | ||
|
|
a2abbbbd63 | ||
|
|
16707b99e6 | ||
|
|
80a4ed62cc | ||
|
|
b713a334f0 | ||
|
|
ec6264c04c | ||
|
|
44bb1ab565 | ||
|
|
523ee025ac | ||
|
|
d193c6399c | ||
|
|
8c9715f4d9 | ||
|
|
3bbdcd5f14 | ||
|
|
c183d3b0b5 | ||
|
|
b6f0c6bf57 | ||
|
|
8719e834f3 | ||
|
|
f23b8c6d61 | ||
|
|
d46be31ea8 | ||
|
|
9bb36e4cb2 | ||
|
|
2780fb9605 | ||
|
|
b69e2d299a | ||
|
|
a07bd7b1a4 | ||
|
|
d605455678 | ||
|
|
781b1169a2 | ||
|
|
80112d3437 | ||
|
|
131af7f4fa | ||
|
|
1ceac4ef9f | ||
|
|
b7aa3e69f4 | ||
|
|
62231c41b2 | ||
|
|
6c0a33712b | ||
|
|
e192624489 | ||
|
|
68609e44de | ||
|
|
c8e3af6072 | ||
|
|
9f7048a19c | ||
|
|
cbdc0528ca | ||
|
|
444facc95b | ||
|
|
ed40ddaa45 | ||
|
|
43c629b3e5 | ||
|
|
0d2c156579 | ||
|
|
ab218f8540 | ||
|
|
4b8a375890 | ||
|
|
9c3a5f3f0a | ||
|
|
1bcfbec29c | ||
|
|
781940436a | ||
|
|
7f226a6ab1 | ||
|
|
f538950d64 | ||
|
|
142be65893 | ||
|
|
8b01e5bc1f | ||
|
|
bde0aab207 | ||
|
|
31ecfef1c9 | ||
|
|
0fdae4c334 | ||
|
|
3ea7de974b | ||
|
|
34a7990d1d | ||
|
|
709d759d09 | ||
|
|
2d47252b27 | ||
|
|
8586e141fc | ||
|
|
e3887e6872 | ||
|
|
fd658c35ee | ||
|
|
ca4c1b237f | ||
|
|
92b17fd719 | ||
|
|
b4453531a3 | ||
|
|
de72a9223f | ||
|
|
ae26e3031e | ||
|
|
c26b41cfc2 | ||
|
|
2c4ee664ab | ||
|
|
911cd45965 | ||
|
|
320cc58c62 | ||
|
|
cfa1638e3c | ||
|
|
27264bf59a | ||
|
|
935283272e | ||
|
|
ea440294b1 | ||
|
|
df8435bf6a | ||
|
|
4fe019b11f | ||
|
|
538c79705a | ||
|
|
e94d972741 | ||
|
|
c58a9aca6a | ||
|
|
a6612e8522 | ||
|
|
bd455b9a0a | ||
|
|
122853f1f6 | ||
|
|
debbc21bf3 | ||
|
|
d991fdcbd9 | ||
|
|
78cc8f14fd | ||
|
|
09f1a06267 | ||
|
|
6fb910a939 | ||
|
|
9e891a0168 | ||
|
|
0bc77ce453 | ||
|
|
a46c821673 | ||
|
|
cae843d18f | ||
|
|
40ffc689b0 | ||
|
|
65afbd25b8 | ||
|
|
458b30610f | ||
|
|
a89608a2e2 | ||
|
|
0f45311d5e | ||
|
|
447ed6ce88 | ||
|
|
ab358a10bc | ||
|
|
5148851d49 | ||
|
|
068ecd30fe | ||
|
|
5396c0ee58 | ||
|
|
2328c1878b | ||
|
|
bc9a6f464a | ||
|
|
4613fd4cb4 | ||
|
|
ff89c8805c | ||
|
|
95d98c525b | ||
|
|
bc78a38570 | ||
|
|
8db2398dd8 | ||
|
|
e073ca74da | ||
|
|
50e899bf83 | ||
|
|
5ddd6234e3 | ||
|
|
84fa11b5df | ||
|
|
f51db60fc7 | ||
|
|
351e72e8c2 | ||
|
|
a0f54b0b8e | ||
|
|
4c491e40c7 | ||
|
|
54440d9cde | ||
|
|
ea8333844c | ||
|
|
fc34df7008 | ||
|
|
d49d62edfc | ||
|
|
246e2e2de4 | ||
|
|
83b48d26ce | ||
|
|
3d40094925 | ||
|
|
2d7e8526ed | ||
|
|
7768f4c4dd | ||
|
|
e43fabf895 | ||
|
|
7cf83979a6 | ||
|
|
1ecc30c570 | ||
|
|
ee0721f40d | ||
|
|
07836edf84 | ||
|
|
bfbe40e027 | ||
|
|
842d3b6185 | ||
|
|
086437ca4f | ||
|
|
6e48435f38 | ||
|
|
3b8e903cb5 | ||
|
|
55308f2deb | ||
|
|
a913a95d5b | ||
|
|
870a20721c | ||
|
|
df81f6e364 | ||
|
|
d4a892bf7f | ||
|
|
41d13db5d4 | ||
|
|
c63e20ce7d | ||
|
|
736fdafea4 | ||
|
|
1dfe76e21c | ||
|
|
e7ddfc7ebb | ||
|
|
66be84289d | ||
|
|
2a3c8e0712 | ||
|
|
d3a29b3ecb | ||
|
|
7a50a15748 | ||
|
|
9a1b55b992 | ||
|
|
828b798c0e | ||
|
|
8d8845536d | ||
|
|
f20497e769 | ||
|
|
6053d9826e | ||
|
|
85263474a7 | ||
|
|
c02a722799 | ||
|
|
ce4faceccc | ||
|
|
04c8f8b864 | ||
|
|
1b32e13113 | ||
|
|
401728d47f | ||
|
|
31ace89f43 | ||
|
|
995cb86e90 | ||
|
|
e27623ca29 | ||
|
|
ea4da561c5 | ||
|
|
2e8f3efafd | ||
|
|
f25cf5781c | ||
|
|
d97f7c6025 | ||
|
|
e91d903650 | ||
|
|
4f93f06de5 | ||
|
|
08ed3c4171 | ||
|
|
5193d82980 | ||
|
|
eab82bf1be | ||
|
|
311d758910 | ||
|
|
097a2d32b8 | ||
|
|
a34766ccfd | ||
|
|
147eef9ee5 | ||
|
|
49118662b2 | ||
|
|
5989f2e2cb | ||
|
|
127f034bba | ||
|
|
e1e00c4b94 | ||
|
|
eb64cdd9cd | ||
|
|
1bfa8dffb8 | ||
|
|
33361b8015 | ||
|
|
b5ee074075 | ||
|
|
cbddc34bfa | ||
|
|
61504ae9e3 | ||
|
|
3049f6010c | ||
|
|
d4e01d631f | ||
|
|
a46aa2c61c | ||
|
|
ad147e8dd5 | ||
|
|
3555519392 | ||
|
|
f6a5def638 | ||
|
|
0590cb7048 | ||
|
|
b35d0792aa | ||
|
|
0d20bc0173 | ||
|
|
851141c2f4 | ||
|
|
31a104a697 | ||
|
|
bfc44cff98 | ||
|
|
0da781c33d | ||
|
|
8dbcbb5485 | ||
|
|
7544f64c65 | ||
|
|
73d05aefad | ||
|
|
4d70b056ad | ||
|
|
b81ce41d51 | ||
|
|
a143683d7f | ||
|
|
5ba38057dc | ||
|
|
07eb2bc41e | ||
|
|
5e4d041295 | ||
|
|
4d7fc061a4 | ||
|
|
8db98d7b16 | ||
|
|
a6063c8aa9 | ||
|
|
2cc1336e82 | ||
|
|
308bda2050 | ||
|
|
36989c38d4 | ||
|
|
29357ae170 | ||
|
|
36643bcdd0 | ||
|
|
72e40a0b12 | ||
|
|
2194ff7625 | ||
|
|
b247864bfe | ||
|
|
b1c3ae4974 | ||
|
|
81c0e2037f | ||
|
|
6224ec2a7b | ||
|
|
9ff4507fe2 | ||
|
|
67667dbff1 | ||
|
|
1a4961c3e1 | ||
|
|
561220237f | ||
|
|
f45b85aa71 | ||
|
|
83b3a7983e | ||
|
|
63d4c5054e | ||
|
|
c8f6017be9 | ||
|
|
f9fcb54861 | ||
|
|
3534b7172d | ||
|
|
42a7f974e9 | ||
|
|
b8e02d995a | ||
|
|
e0d038aa92 | ||
|
|
3d01df2bdc | ||
|
|
6f08f1fd23 | ||
|
|
3dd366b394 | ||
|
|
8cf4528959 | ||
|
|
5d77bc5d98 | ||
|
|
572c9ef558 | ||
|
|
7c736c526e | ||
|
|
696d354f3c | ||
|
|
501cbf54ab | ||
|
|
c15d69d566 | ||
|
|
83eb933230 | ||
|
|
43bec9b0df | ||
|
|
279305c202 | ||
|
|
ecbb86c006 | ||
|
|
921fb17ef0 | ||
|
|
0362de7d35 | ||
|
|
cf0d8ea2d0 | ||
|
|
0e9026447d | ||
|
|
cf4d9cb03c | ||
|
|
2a1edeaca3 | ||
|
|
eebabf9b08 | ||
|
|
d882fcad12 | ||
|
|
f976290282 | ||
|
|
f3f9d5dae2 | ||
|
|
71dffd1089 | ||
|
|
f411e98c9a | ||
|
|
1baa489bc7 | ||
|
|
f996b0fc4a | ||
|
|
eb6ba1c800 | ||
|
|
8fac1baa3c | ||
|
|
2d327543b9 | ||
|
|
8a080efe9d | ||
|
|
aaaf61e29e | ||
|
|
1294323df5 | ||
|
|
9ef4e75746 | ||
|
|
ded4ab702d | ||
|
|
f893d045c7 | ||
|
|
ef2e3adcfb | ||
|
|
a1908c5398 | ||
|
|
ec4f0d6531 | ||
|
|
9ef366237c | ||
|
|
9197ad2600 | ||
|
|
2cb7ecd851 | ||
|
|
7d1ad4ce66 | ||
|
|
c274acc8f4 | ||
|
|
7a0d48dd7a | ||
|
|
9c6f9048e1 | ||
|
|
4ff4acfd7e | ||
|
|
d8e9f07721 | ||
|
|
662c5638dd | ||
|
|
02b830d034 | ||
|
|
3734529e5c | ||
|
|
715ec24389 | ||
|
|
5615b23548 | ||
|
|
ca2eeb48cf | ||
|
|
b063c0a80c | ||
|
|
ee8b5692bd | ||
|
|
7a749dca67 | ||
|
|
0378f26ee6 | ||
|
|
4d281273c1 | ||
|
|
e23e11e1a8 | ||
|
|
772835dd22 | ||
|
|
bbf2e57548 | ||
|
|
aecda130b6 | ||
|
|
1d48030e7c | ||
|
|
929ba2fa19 | ||
|
|
6fefa947ca | ||
|
|
072cd2e846 | ||
|
|
5d20cd0365 | ||
|
|
03ec055f66 | ||
|
|
4b6a5e5d49 | ||
|
|
6d21e38159 | ||
|
|
a47c8249bf | ||
|
|
59d7a672b3 | ||
|
|
564e95d36e | ||
|
|
9aee99be74 | ||
|
|
aecd8b503d | ||
|
|
fa65eeea35 | ||
|
|
fe43584c3d | ||
|
|
c255b13dfc | ||
|
|
917b204e5b | ||
|
|
6225fd79fc | ||
|
|
cbec567ef4 | ||
|
|
84b62242d3 | ||
|
|
f17f74c30b | ||
|
|
63b04d5a27 | ||
|
|
f02073a24c | ||
|
|
cb87d126de | ||
|
|
941f8002e5 | ||
|
|
90f4f5cd89 | ||
|
|
a6e7761141 | ||
|
|
eb053a66d7 | ||
|
|
5257c83563 | ||
|
|
04bc92001f | ||
|
|
d939082e1f | ||
|
|
a943a5985d | ||
|
|
9e19821256 | ||
|
|
455183a13e | ||
|
|
c241c08904 | ||
|
|
08389cb1a0 | ||
|
|
94f9d42fc4 | ||
|
|
f35ecce3c7 | ||
|
|
2837bb40b0 | ||
|
|
54331f976d | ||
|
|
b975e74de3 | ||
|
|
c45ab34f43 | ||
|
|
4ee442f697 | ||
|
|
3c25d322f2 | ||
|
|
265c6b3e0f | ||
|
|
fad4503aec | ||
|
|
d8f70bfde3 | ||
|
|
d7dfb44efc | ||
|
|
409330a9fb | ||
|
|
0fd7e07831 | ||
|
|
91bd26d2a9 | ||
|
|
e5c4cf3298 | ||
|
|
c874d3fd84 | ||
|
|
c06f95256e | ||
|
|
2f1e05833e | ||
|
|
719cad00d6 | ||
|
|
b372c71fbf | ||
|
|
6b252a7018 | ||
|
|
6575258b6c | ||
|
|
d33280f9af | ||
|
|
863bb80ad1 | ||
|
|
e4266f31a6 | ||
|
|
0405fccb69 | ||
|
|
9a41adcec8 | ||
|
|
1d54920165 | ||
|
|
7ace37cd07 | ||
|
|
eb6398654d | ||
|
|
10a4c3e2a4 | ||
|
|
d494014011 | ||
|
|
91bf562b91 | ||
|
|
ec3961555f | ||
|
|
33b46869b6 | ||
|
|
88db21ef07 | ||
|
|
d53948f4a9 | ||
|
|
f97992a776 | ||
|
|
f9d99703cb | ||
|
|
b015cdde74 | ||
|
|
92b35bd458 | ||
|
|
3c8026f135 | ||
|
|
6a3f51a784 | ||
|
|
160c4a8a72 | ||
|
|
c4ff760bda | ||
|
|
aaed8f595a | ||
|
|
3c0a2e8385 | ||
|
|
0eef0f9aa5 | ||
|
|
169e2f16fb | ||
|
|
3800391a0e | ||
|
|
1f564808d5 | ||
|
|
433639dd04 | ||
|
|
f1e4116672 | ||
|
|
6cf00c5c66 | ||
|
|
71248cd9b7 | ||
|
|
841e6d110c | ||
|
|
f7defffeab | ||
|
|
13e6f5f6cf | ||
|
|
130cbf0b24 | ||
|
|
642d85b6bf | ||
|
|
8fe7f85e1a | ||
|
|
d1fb794783 | ||
|
|
e7aedb405a | ||
|
|
9dc148dace | ||
|
|
8ad0b25023 | ||
|
|
f648d60abb | ||
|
|
bf90d2842b | ||
|
|
7004c4f44c | ||
|
|
76eeb3d0f7 | ||
|
|
279caca502 | ||
|
|
1c6bdc7369 | ||
|
|
8705d3450a | ||
|
|
33277bf25f | ||
|
|
cbd2342208 | ||
|
|
831f87f62e | ||
|
|
06c9609587 | ||
|
|
9b43d31b75 | ||
|
|
23a3c7f960 | ||
|
|
81acfaa424 | ||
|
|
9de40292c4 | ||
|
|
c489a7ed75 | ||
|
|
6c26eb8333 | ||
|
|
6a57c5ed74 | ||
|
|
dce33aaabc | ||
|
|
b1db0ff498 | ||
|
|
a348b483c3 | ||
|
|
d7ce99526c | ||
|
|
90f0cb862a | ||
|
|
ff0c7f6a50 | ||
|
|
d608b171de | ||
|
|
5e76488276 | ||
|
|
bc265c09ff | ||
|
|
c7fe828252 | ||
|
|
9fbf67d451 | ||
|
|
e5572d5833 | ||
|
|
6b647e4cf3 | ||
|
|
4661dc3124 | ||
|
|
e428346d3b | ||
|
|
59af264463 | ||
|
|
01c60a2faa | ||
|
|
0f880143e3 | ||
|
|
bbba8b4b30 | ||
|
|
3a3a864bcb | ||
|
|
2bc0b3716a | ||
|
|
1e89e70e57 | ||
|
|
c160e7a945 | ||
|
|
d6f6938465 | ||
|
|
0d2a154622 | ||
|
|
142ea20eaf | ||
|
|
c9b910937c | ||
|
|
70c863c80c | ||
|
|
b90d206514 | ||
|
|
29ea484a26 | ||
|
|
8aa6e83673 | ||
|
|
aef8e32da3 | ||
|
|
be0f64a6ad | ||
|
|
3c88fabab3 | ||
|
|
ee85ee0660 | ||
|
|
f639cf1134 | ||
|
|
65549d4456 | ||
|
|
d194681981 | ||
|
|
5b5ddb251b | ||
|
|
5ce72e2056 | ||
|
|
ef2218a3d8 | ||
|
|
2745a3bfaa | ||
|
|
dd3fc3b0be | ||
|
|
957dfaef52 | ||
|
|
9e8015f475 | ||
|
|
38c8977dab | ||
|
|
fdf2bc6adf | ||
|
|
89344f92b3 | ||
|
|
8e8eeaf6c8 | ||
|
|
dcf2f1dfdf | ||
|
|
a7f183d40d | ||
|
|
114de52434 | ||
|
|
468cab6982 | ||
|
|
02f12d40f0 | ||
|
|
1da452aa92 | ||
|
|
2cf2adafd3 | ||
|
|
261e72cae4 | ||
|
|
1cc3ab30cf | ||
|
|
987f4f1afd | ||
|
|
9a1536484a | ||
|
|
5dd03cff69 | ||
|
|
a6d682fdee | ||
|
|
f8013c0ec0 | ||
|
|
d6fff29a72 | ||
|
|
4cf37af114 | ||
|
|
916edf9415 | ||
|
|
dba5a44c60 | ||
|
|
c20a43433d | ||
|
|
d536504e32 | ||
|
|
dad7e03ec1 | ||
|
|
e205c0082e | ||
|
|
d7cf60c9d6 | ||
|
|
9408a168fb | ||
|
|
9d827eaa29 | ||
|
|
7fdb5ab142 | ||
|
|
2296a2524b | ||
|
|
1a031b964d | ||
|
|
347490ed40 | ||
|
|
de0bdac66b | ||
|
|
1d6abae837 | ||
|
|
0e4b7f951d | ||
|
|
1afa893596 | ||
|
|
edf0903620 | ||
|
|
90f0006bc0 | ||
|
|
ac00c03a96 | ||
|
|
c5760bd378 | ||
|
|
a66041de88 | ||
|
|
023d150d95 | ||
|
|
12d41cc3ce | ||
|
|
2eee95bd2d | ||
|
|
f42ff60772 | ||
|
|
79267a63b1 | ||
|
|
816f2d30ae | ||
|
|
d135f959f9 | ||
|
|
c47ddf02b1 | ||
|
|
93687dd805 | ||
|
|
1e59941ca5 | ||
|
|
3c7816be6c | ||
|
|
ace583ecce | ||
|
|
60592debe3 | ||
|
|
6104d7657b | ||
|
|
2a093df13e | ||
|
|
52eb2a1384 | ||
|
|
d5f1fc33d1 | ||
|
|
694b77294c | ||
|
|
41f1c0c136 | ||
|
|
e8262cf5ce | ||
|
|
b3294f03fd | ||
|
|
13f19fd260 | ||
|
|
2592e5a41d | ||
|
|
1799e9b487 | ||
|
|
d17070bc35 | ||
|
|
7e0fb5b2bb | ||
|
|
fda847640d | ||
|
|
ab21d06848 | ||
|
|
43febc2f55 | ||
|
|
5375ec88c8 | ||
|
|
36ce8701ef | ||
|
|
d8220a9021 | ||
|
|
37df03815e | ||
|
|
3782c74f61 | ||
|
|
7a66352144 | ||
|
|
20140fffe9 | ||
|
|
e65b0f63bb | ||
|
|
7f8e36eb66 | ||
|
|
7fe3211485 | ||
|
|
12dcba4a84 | ||
|
|
4437045248 | ||
|
|
e5c6b9f67e | ||
|
|
32ef920549 | ||
|
|
03e32f970e | ||
|
|
e513a581e7 | ||
|
|
ebd2efcd6e | ||
|
|
86a8496344 | ||
|
|
a92f4ceece | ||
|
|
d496e78acd | ||
|
|
21cc64feb5 | ||
|
|
0c78e38e8f | ||
|
|
7ab1f3e886 | ||
|
|
68609b8996 | ||
|
|
1abec64da7 | ||
|
|
2492046db2 | ||
|
|
fbf11b7ec4 | ||
|
|
63ae013895 | ||
|
|
2fedbbc84b | ||
|
|
4e65818a16 | ||
|
|
5aac99daf2 | ||
|
|
8c46c73090 | ||
|
|
47f1241a93 | ||
|
|
a8114216fe | ||
|
|
9d32b3841f | ||
|
|
a1b78a8f2a | ||
|
|
ed17f0a912 | ||
|
|
bb4fe1314b | ||
|
|
28567acffa | ||
|
|
1fe3213e68 | ||
|
|
a8f53d965a | ||
|
|
6974158850 | ||
|
|
78c7a4be0b | ||
|
|
e961f54405 | ||
|
|
a826589cdb | ||
|
|
afd68da2c5 | ||
|
|
bf5c1a98ed | ||
|
|
6c17b54577 | ||
|
|
06b2bf5333 | ||
|
|
481eae1a6e | ||
|
|
b797f23844 | ||
|
|
1da813c7b7 | ||
|
|
efff209ebd | ||
|
|
2c3a1b011c | ||
|
|
cd49e9b25a | ||
|
|
6ac7429f66 | ||
|
|
0cc42f3492 | ||
|
|
bc18abe185 | ||
|
|
c47e48ace8 | ||
|
|
22cde10e60 | ||
|
|
c1433f3995 | ||
|
|
fc0beaec82 | ||
|
|
3d7fe9c018 | ||
|
|
6e17f746f6 | ||
|
|
262ee3a74c | ||
|
|
4aad4e9b74 | ||
|
|
2c8671f712 | ||
|
|
fd0d5ca7da | ||
|
|
0ad66fd64a | ||
|
|
243548559f | ||
|
|
de6f173b2e | ||
|
|
804027c898 | ||
|
|
047082b29d | ||
|
|
34bbc10f76 | ||
|
|
80b50f6fa9 | ||
|
|
7cd47a714b | ||
|
|
b1d46ce2e5 | ||
|
|
ecdb2b3eb5 | ||
|
|
dde3738c45 | ||
|
|
2e69959a1f | ||
|
|
28c5f6e434 | ||
|
|
1b165fd230 | ||
|
|
96f8716417 | ||
|
|
7353da674d | ||
|
|
dbb25c95cd | ||
|
|
126a3465d6 | ||
|
|
6061f70e24 | ||
|
|
ec569839fe | ||
|
|
fd0bc80284 | ||
|
|
318cdafcb1 | ||
|
|
1e9b60446f | ||
|
|
35216d8a47 | ||
|
|
4aa90c0501 | ||
|
|
7965408960 | ||
|
|
10c6660f23 | ||
|
|
e391688a45 | ||
|
|
8445f210ee | ||
|
|
c268ad46ce | ||
|
|
1a8f476a81 | ||
|
|
22d8fdd81a | ||
|
|
ae947cd436 | ||
|
|
b70a46114c | ||
|
|
126cc16977 | ||
|
|
a72ca0dc53 | ||
|
|
a914b32fe7 | ||
|
|
5d344c33cc | ||
|
|
82564cecb0 | ||
|
|
fb5012f851 | ||
|
|
067a4856f4 | ||
|
|
a22afc2fa8 | ||
|
|
0e7ce02e4e | ||
|
|
b13fc2b4e7 | ||
|
|
b5322186ab | ||
|
|
09f85da1de | ||
|
|
775f838110 | ||
|
|
123cab6c19 | ||
|
|
4cb04e9cc3 | ||
|
|
4aa2727676 | ||
|
|
8dea7302a3 | ||
|
|
04823666b6 | ||
|
|
ed9d4443ae | ||
|
|
45a1af2cd7 | ||
|
|
cb920feb24 | ||
|
|
f4865adecf | ||
|
|
33cf58078e | ||
|
|
ec5d8560d8 | ||
|
|
a6f6303bfa | ||
|
|
377376d457 | ||
|
|
103800f911 | ||
|
|
9c46be519e | ||
|
|
a5e130db0b | ||
|
|
f360a3ba9b | ||
|
|
251731e41a | ||
|
|
f0129a3d4d | ||
|
|
78fbeb67d4 | ||
|
|
bb59cbcb91 | ||
|
|
9769041ad1 | ||
|
|
8948c05080 | ||
|
|
3a9f67f862 | ||
|
|
e179c8c56a | ||
|
|
403d5afedc | ||
|
|
cb5a5b7b6f | ||
|
|
aac232f33e | ||
|
|
55c973b760 | ||
|
|
39a895cdc6 | ||
|
|
d4a9a2b2ee | ||
|
|
a02f020626 | ||
|
|
16097bff94 | ||
|
|
c159b704b6 | ||
|
|
0366f2f2ed | ||
|
|
b6d5e34980 | ||
|
|
33a676f221 | ||
|
|
3f6ca48f26 | ||
|
|
79aa55f741 | ||
|
|
3920dfb57e | ||
|
|
31345cc739 | ||
|
|
3ebc4e8e23 | ||
|
|
3d060ae82f | ||
|
|
18a0c6c92a | ||
|
|
a92aae9544 | ||
|
|
87e301dd38 | ||
|
|
839bd6634f | ||
|
|
4512da7c03 | ||
|
|
5e92815f96 | ||
|
|
f5e2e5a0aa | ||
|
|
61261dcb4e | ||
|
|
7ced7795ff | ||
|
|
d553771335 | ||
|
|
fd6b658565 | ||
|
|
f01c65d022 | ||
|
|
29d2014053 | ||
|
|
73681d7647 | ||
|
|
79e5fb5dd8 | ||
|
|
563c69b4ef | ||
|
|
670d23c3c6 | ||
|
|
3466097ab1 | ||
|
|
f29350a986 | ||
|
|
9f21b7775d | ||
|
|
a43aeff3fc | ||
|
|
0e36ca0f71 | ||
|
|
3de7a3b525 | ||
|
|
5d8f1a7678 | ||
|
|
809361d2e1 | ||
|
|
427a372e94 | ||
|
|
f2759c6d7c | ||
|
|
626ff932cd | ||
|
|
328403f973 | ||
|
|
55ae324878 | ||
|
|
d322f772e8 | ||
|
|
e578f9548b | ||
|
|
2678c6939d | ||
|
|
9830392cb9 | ||
|
|
bd689aa3c6 | ||
|
|
960b7834a7 | ||
|
|
b5b37a1168 | ||
|
|
49f71a5ceb | ||
|
|
3febb27b1d | ||
|
|
79a7df254e | ||
|
|
163fcd86e0 | ||
|
|
f8f1c7442e | ||
|
|
91c885954a | ||
|
|
76d04e04f9 | ||
|
|
e77570efd4 | ||
|
|
7be09563a2 | ||
|
|
acb7a34f3f | ||
|
|
6e4a203f81 | ||
|
|
5f00b8354f | ||
|
|
6029d9ef29 | ||
|
|
db1d437a93 | ||
|
|
5de893f5d3 | ||
|
|
11d73816af | ||
|
|
4106276616 | ||
|
|
f1ffb25e43 | ||
|
|
3c1bc32e5e | ||
|
|
c93bbfca53 | ||
|
|
033c3833d6 | ||
|
|
151ecb956a | ||
|
|
8705793735 | ||
|
|
99f228bb94 | ||
|
|
a4cebcc3ac | ||
|
|
ed7bb495ca | ||
|
|
2586b436cf | ||
|
|
abeef42a53 | ||
|
|
f42792d9c3 | ||
|
|
42acd60527 | ||
|
|
5fc3ce34a3 | ||
|
|
a53c0a8386 | ||
|
|
97d2f6ba02 | ||
|
|
05e1807a95 | ||
|
|
3611b77c54 | ||
|
|
f2d561c557 | ||
|
|
ea547a43a5 | ||
|
|
8068bb41ca | ||
|
|
c3eb30c01d | ||
|
|
7a795525ed | ||
|
|
082b2f7123 | ||
|
|
7a4bbccdd9 | ||
|
|
c58f6377fc | ||
|
|
1e330b42a8 | ||
|
|
889f4f0a0f | ||
|
|
ff4ad2d903 | ||
|
|
42fc021939 | ||
|
|
20af5aa742 | ||
|
|
d2047ac985 | ||
|
|
65ac7b7b13 | ||
|
|
165cf88219 | ||
|
|
80b7e15d94 | ||
|
|
6eadebede2 | ||
|
|
beb0401500 | ||
|
|
eface25cf8 | ||
|
|
9eff4cb485 | ||
|
|
c65c3e2c49 | ||
|
|
d064ca85fb | ||
|
|
df9c34bcec | ||
|
|
172701105a | ||
|
|
e2da18a763 | ||
|
|
77383c4e8f | ||
|
|
aba9db3857 | ||
|
|
d97677aaaa | ||
|
|
d02a4baf47 | ||
|
|
4ce07ee3dd | ||
|
|
a354522406 | ||
|
|
c4bdf86253 | ||
|
|
87fa283b65 | ||
|
|
71828e5d08 | ||
|
|
89bf8db087 | ||
|
|
2b2669978f | ||
|
|
e7493eff3b | ||
|
|
1adb0b7bcf | ||
|
|
587970a477 | ||
|
|
b45e6428c7 | ||
|
|
7c758cbdee | ||
|
|
ffc0b59a58 | ||
|
|
382250c243 | ||
|
|
489ba2cd17 | ||
|
|
2a489870a1 | ||
|
|
99f1eaf3d8 | ||
|
|
e1c7cd0965 | ||
|
|
fbe60a59d7 | ||
|
|
efdf27df6b | ||
|
|
9ffda21bfd | ||
|
|
8ee7270986 | ||
|
|
d95a6b8134 | ||
|
|
31d546fd5a | ||
|
|
9812f66b0d | ||
|
|
5ac8b87a76 | ||
|
|
0f52dc4d8c | ||
|
|
3c956ac03e | ||
|
|
511058dab4 | ||
|
|
b1743b4c28 | ||
|
|
555b3465ed | ||
|
|
d45cba30c0 | ||
|
|
0840081dc8 | ||
|
|
0c0da0cbf7 | ||
|
|
e3641d0bf7 | ||
|
|
1c118b8cd7 | ||
|
|
abf516682b | ||
|
|
72d07422a4 | ||
|
|
ecc50cd2ae | ||
|
|
acbcb60629 | ||
|
|
23a9bf46a2 | ||
|
|
342ad68212 | ||
|
|
6d3dec518f | ||
|
|
e350633b69 | ||
|
|
4e3be1deb5 | ||
|
|
dc290614ca | ||
|
|
1b22c2e29b | ||
|
|
ddeaffb705 | ||
|
|
eedbd9f45a | ||
|
|
fa29acef54 | ||
|
|
6355f8d0a4 | ||
|
|
173fc30211 | ||
|
|
4df9c36d82 | ||
|
|
33c0fb680e | ||
|
|
378b3986dc | ||
|
|
f321d0974e | ||
|
|
227e2786e1 | ||
|
|
1a90fd86ff | ||
|
|
49f095bb26 | ||
|
|
b9acfc62c6 | ||
|
|
864df6cdac | ||
|
|
f0f4b8faa6 | ||
|
|
6350354942 | ||
|
|
bde66b2896 | ||
|
|
173669f75e | ||
|
|
f53497da56 | ||
|
|
5913bcd309 | ||
|
|
2a10acd76f | ||
|
|
70dbee839a | ||
|
|
2c6a8cf08a | ||
|
|
59859359ea | ||
|
|
1cd0759325 | ||
|
|
915cfd06c3 | ||
|
|
4cb198bc05 | ||
|
|
1ea0e827a5 | ||
|
|
8f4744f93d | ||
|
|
7c0d0be876 | ||
|
|
81c2d988a3 | ||
|
|
eef01262bd | ||
|
|
921298cf92 | ||
|
|
56eb2435e3 | ||
|
|
069d84e249 | ||
|
|
c63c8d3cd2 | ||
|
|
ca66faebdf | ||
|
|
9b5530b3fa | ||
|
|
b3319daf95 | ||
|
|
cf038ebd38 | ||
|
|
163ed5c4a0 | ||
|
|
9bff4b1e97 | ||
|
|
332836119d | ||
|
|
110646fe9f | ||
|
|
e578875d51 | ||
|
|
86903a7a22 | ||
|
|
dd1dbd429c | ||
|
|
efe891a348 | ||
|
|
a720c6bee4 | ||
|
|
c0a7c3537a | ||
|
|
2d1f08bc01 | ||
|
|
ddbc2e6a56 | ||
|
|
2c201aae61 | ||
|
|
3f74745fc5 | ||
|
|
0c17a23cca | ||
|
|
8b2b36df0e | ||
|
|
07182cf946 | ||
|
|
ea69463fd2 | ||
|
|
3abd934d6a | ||
|
|
7c10cb0ec7 | ||
|
|
d224fc1c5f | ||
|
|
58381c3d30 | ||
|
|
e2d5382787 | ||
|
|
e350126794 | ||
|
|
c1d6839c18 | ||
|
|
f62f83888c | ||
|
|
10cec316ee | ||
|
|
545846cab5 | ||
|
|
acf5767e4f | ||
|
|
e4520247fc | ||
|
|
a39a0292b6 | ||
|
|
6150625e99 | ||
|
|
154f080c1c | ||
|
|
b0ec5307a2 | ||
|
|
e5d4bc6653 | ||
|
|
a701182f0c | ||
|
|
f1db6e3c7c | ||
|
|
6926aa7aec | ||
|
|
1a0f282f23 | ||
|
|
255aa7476c | ||
|
|
34df9ae739 | ||
|
|
1fb0eeff22 | ||
|
|
8b963a32f0 | ||
|
|
db17508559 | ||
|
|
79fb95c149 | ||
|
|
f61149ae61 | ||
|
|
3abe398244 | ||
|
|
6e0deb6a6c | ||
|
|
13622c5970 | ||
|
|
0c3c25b7c0 | ||
|
|
6e31f19e9b | ||
|
|
52ec97b87e | ||
|
|
a5ccea6413 | ||
|
|
cc091a65a4 | ||
|
|
884d4935cc | ||
|
|
35655f33c7 | ||
|
|
5022702796 | ||
|
|
243833c3fc | ||
|
|
3f1ea419d6 | ||
|
|
0c2c590678 | ||
|
|
3ca73aaafb | ||
|
|
b4cf4bfb17 | ||
|
|
5cb26247fc | ||
|
|
2e391144f2 | ||
|
|
bd69821f1d | ||
|
|
d802ed099b | ||
|
|
170a48de36 | ||
|
|
1d2d33ba71 | ||
|
|
9bcc2a3202 | ||
|
|
d65637ce0c | ||
|
|
2e910aebdc | ||
|
|
a1621b49a6 | ||
|
|
ac6fbd0bfa | ||
|
|
5305b1b09a | ||
|
|
4f92739d73 | ||
|
|
cadd128299 | ||
|
|
b642783610 | ||
|
|
4aaaff5de7 | ||
|
|
2fda39ddbe | ||
|
|
6753bd085f | ||
|
|
2d8513e18a | ||
|
|
047c877d83 | ||
|
|
b09c69afd7 | ||
|
|
6713dd97f5 | ||
|
|
d5b2a9d6b5 | ||
|
|
964f6d3c82 | ||
|
|
f1164e7790 | ||
|
|
b8f1736a09 | ||
|
|
de8e553906 | ||
|
|
d6c9101b83 | ||
|
|
50137c5546 | ||
|
|
9e131c8970 | ||
|
|
8733b8eddd | ||
|
|
a0c06855d2 | ||
|
|
64ce44243c | ||
|
|
66d2af1ef5 | ||
|
|
d155cb67b3 | ||
|
|
7d7b13de6e | ||
|
|
329a8ebc2b | ||
|
|
1a16edd140 | ||
|
|
28fed98924 | ||
|
|
08ac28902d | ||
|
|
976f5e5a32 | ||
|
|
ff53329cd6 | ||
|
|
98de258abf | ||
|
|
5afef6713f | ||
|
|
da21db8776 | ||
|
|
f004c1c75b | ||
|
|
c96dbf4db5 | ||
|
|
742bdc0252 | ||
|
|
850429c507 | ||
|
|
17f9f066d8 | ||
|
|
d8e5a89ac5 | ||
|
|
33812cb337 | ||
|
|
b89c99d388 | ||
|
|
f5ec9ac1bf | ||
|
|
3fd8cb2b3e | ||
|
|
af62ccd72d | ||
|
|
f097dd2316 | ||
|
|
19640bd2d4 | ||
|
|
d2d5e9cc43 | ||
|
|
3a7581b391 | ||
|
|
d87305c11d | ||
|
|
e935e6e6b1 | ||
|
|
04a7548a26 | ||
|
|
64528cb4a8 | ||
|
|
ae26e8ec6a | ||
|
|
8a13721c90 | ||
|
|
e91d098055 | ||
|
|
5ca4a1a233 | ||
|
|
a39fe7f51c | ||
|
|
e1c05eb961 | ||
|
|
b25f97a96f | ||
|
|
1c0f99bd64 | ||
|
|
800d48d6d2 | ||
|
|
02a8540875 | ||
|
|
048cdfc050 | ||
|
|
13f40d2b59 | ||
|
|
fe2920a08f | ||
|
|
f59beded21 | ||
|
|
c75119badf | ||
|
|
7b1292a9af | ||
|
|
9ae26800c8 | ||
|
|
1eb8c83061 | ||
|
|
a0069fde57 | ||
|
|
ca5b121272 | ||
|
|
6f4c081f10 | ||
|
|
227ee12e4c | ||
|
|
fc1cfe3f55 | ||
|
|
76fa5fb474 | ||
|
|
3c847bf957 | ||
|
|
88427b893c | ||
|
|
737b0a9bdf | ||
|
|
c8a7ef2fdb | ||
|
|
6d6331bbf3 | ||
|
|
d1f2a72f06 | ||
|
|
576daa0669 | ||
|
|
934d1df991 | ||
|
|
aa7db68e68 | ||
|
|
a1bb667ec4 | ||
|
|
90ae489d35 | ||
|
|
5bbd4f533f | ||
|
|
283baaed57 | ||
|
|
c1e2191120 | ||
|
|
28b0ea7f88 | ||
|
|
95acb8593a | ||
|
|
17d682f83b | ||
|
|
952c916e33 | ||
|
|
3793a51e3f | ||
|
|
c8b6eb1bd9 | ||
|
|
e46f1b0efc | ||
|
|
395d6e4292 | ||
|
|
770b49cc55 | ||
|
|
95cd6b6e90 | ||
|
|
1f79ed95c2 | ||
|
|
9aef90d214 | ||
|
|
f4d1c72f08 | ||
|
|
5d5dcad32c | ||
|
|
0d195a2e90 | ||
|
|
eb76db5f2c | ||
|
|
9cc5d0ea17 | ||
|
|
1d98308a21 | ||
|
|
1ceace5539 | ||
|
|
f13a473b4e | ||
|
|
4e7c10c0dc | ||
|
|
6db34cbb6b | ||
|
|
10205a8f9b | ||
|
|
d6df35f072 | ||
|
|
ab10b77c50 | ||
|
|
fb34b0909e | ||
|
|
1a869f47e0 | ||
|
|
d9aebbda62 | ||
|
|
987407909e | ||
|
|
ba9c780602 | ||
|
|
ea5834f236 | ||
|
|
c3400f1091 | ||
|
|
7bd4d0970e | ||
|
|
4a9303d7a7 | ||
|
|
5f0cacd7c1 | ||
|
|
f075132878 | ||
|
|
b72556c007 | ||
|
|
47489d9cb1 | ||
|
|
2ee70dc1b2 | ||
|
|
3400b9a0ab | ||
|
|
ad054d2f80 | ||
|
|
b0c2e5588c | ||
|
|
1fe379111c | ||
|
|
2180e31d13 | ||
|
|
275772ad00 | ||
|
|
e80da63515 | ||
|
|
71cce5b470 | ||
|
|
bb188ec948 | ||
|
|
281522fc88 | ||
|
|
a045fc6ae4 | ||
|
|
8e8e794574 | ||
|
|
735e425984 | ||
|
|
5f47b126e3 | ||
|
|
33d82beb72 | ||
|
|
3de5d806b5 | ||
|
|
8eb522fb38 | ||
|
|
370e4339f3 | ||
|
|
5b0eb7ece5 | ||
|
|
18434854d8 | ||
|
|
d3f57bdb45 | ||
|
|
37734ce26b | ||
|
|
b6cf080822 | ||
|
|
bbc817d86d | ||
|
|
5e88f3f787 | ||
|
|
f64d4843f3 | ||
|
|
bcb3450e2b | ||
|
|
c607045b7c | ||
|
|
f8e9093273 | ||
|
|
40c06417e5 | ||
|
|
c3c5535022 | ||
|
|
b7fc76d932 | ||
|
|
c8d666baba | ||
|
|
a64741011c | ||
|
|
ae9ee4779f | ||
|
|
5fd2d61861 | ||
|
|
939c9156ad | ||
|
|
d17aed2357 | ||
|
|
13382b47d1 | ||
|
|
5e5a1ea5a8 | ||
|
|
cf6d1ea137 | ||
|
|
f735e4a133 | ||
|
|
86b67863f8 | ||
|
|
718582af44 | ||
|
|
23024cacaa | ||
|
|
f62cf409eb | ||
|
|
47845dfe1b | ||
|
|
b7bb6b0787 | ||
|
|
ea41786f8c | ||
|
|
962ae2130e | ||
|
|
90ea05f2a1 | ||
|
|
f8bda516d6 | ||
|
|
378c031ecb | ||
|
|
9a5db80dea | ||
|
|
992eb0ceda | ||
|
|
39e1ac2398 | ||
|
|
d1c77de5a0 | ||
|
|
3f8069638c | ||
|
|
d62fc1185c | ||
|
|
768706e1d1 | ||
|
|
8cc9771237 | ||
|
|
8df30ef01b | ||
|
|
dd2e5bfedf | ||
|
|
e3c7eb092f | ||
|
|
5b3c3e2e7c | ||
|
|
0e04925b6b | ||
|
|
9a127256f3 | ||
|
|
1033122fec | ||
|
|
847f96d537 | ||
|
|
70f40846bb | ||
|
|
3a540aa660 | ||
|
|
1adc9b3223 | ||
|
|
0309496df6 | ||
|
|
f83ecac7ae | ||
|
|
cd4d75e35e | ||
|
|
eb61bc50d6 | ||
|
|
4bbb22f73b | ||
|
|
fcb374c5c2 | ||
|
|
a03d1c97c2 | ||
|
|
2d58b7f2d7 | ||
|
|
332a1b4b0b | ||
|
|
6bd58b0c45 | ||
|
|
fb175df851 | ||
|
|
b41aad92f2 | ||
|
|
aabae2ef7f | ||
|
|
0c3d1fd86d | ||
|
|
adba849ec5 | ||
|
|
8539486c6e | ||
|
|
86f4b41beb | ||
|
|
aa54eff3d6 | ||
|
|
27ab21c9a7 | ||
|
|
557ed827d0 | ||
|
|
9cc466a727 | ||
|
|
9a9be12324 | ||
|
|
8e91b9f0b5 | ||
|
|
2862ceb5ad | ||
|
|
d157426d66 | ||
|
|
58635674cb | ||
|
|
f6a048e0f7 | ||
|
|
c4dc1d7334 | ||
|
|
efd5a64749 | ||
|
|
13800a7023 | ||
|
|
43d19d7d52 | ||
|
|
8a8278906a | ||
|
|
d15b3fb2f6 | ||
|
|
bcd92916ca | ||
|
|
810cbda123 | ||
|
|
fee7cebdf1 | ||
|
|
28105d6d3a | ||
|
|
1673832607 | ||
|
|
298e43e612 | ||
|
|
00b88d6b6e | ||
|
|
735123b93e | ||
|
|
fce3b3749c | ||
|
|
0a12b82b48 | ||
|
|
9061d6bf7f | ||
|
|
9ed8b554f3 | ||
|
|
e306303cc8 | ||
|
|
c4bea091fe | ||
|
|
2b383d79f1 | ||
|
|
788e90469c | ||
|
|
f37711c816 | ||
|
|
f2c9d99f30 | ||
|
|
6073497e5e | ||
|
|
5d2ccfb0df | ||
|
|
3745243078 | ||
|
|
30a1968793 | ||
|
|
581bcb3dc8 | ||
|
|
cd243f910a | ||
|
|
0b420177c4 | ||
|
|
0d8e022a0d | ||
|
|
2f87d30359 | ||
|
|
98a5263a07 | ||
|
|
208f08c552 | ||
|
|
b66852ec28 | ||
|
|
8d687660a9 | ||
|
|
c7749b281f | ||
|
|
ad5a0bb442 | ||
|
|
6056642f69 | ||
|
|
21dcbf20b4 | ||
|
|
d92f0080ff | ||
|
|
035cb170e0 | ||
|
|
de5b2a9704 | ||
|
|
55f4b8c124 | ||
|
|
887baf2f08 | ||
|
|
bd63e1e75e | ||
|
|
bc8dd4b3c2 | ||
|
|
15b348fd3d | ||
|
|
5b5a644baa | ||
|
|
fa2d7db0ca | ||
|
|
1893c212f3 | ||
|
|
3c2dcb7b08 | ||
|
|
3d95679a1d | ||
|
|
29f380efa0 | ||
|
|
1da17940a2 | ||
|
|
348eada5b3 | ||
|
|
6f9450fece | ||
|
|
2344ef7583 | ||
|
|
b7b1befb27 | ||
|
|
902f7ef95f | ||
|
|
6bf71827f0 | ||
|
|
5a005cf5a6 | ||
|
|
25729e3193 | ||
|
|
450b598f1f | ||
|
|
f36bcef50c | ||
|
|
86ff842eb2 | ||
|
|
94ca597cf8 | ||
|
|
e46e55f985 | ||
|
|
50a63a8c87 | ||
|
|
029d1a3a11 | ||
|
|
6df1b005bf | ||
|
|
e50082a9dd | ||
|
|
9c4beca998 | ||
|
|
d73cb094b6 | ||
|
|
9e83882c6f | ||
|
|
d109ac0327 | ||
|
|
695fda4a73 | ||
|
|
439d51bec1 | ||
|
|
c3b89c96e0 | ||
|
|
eb83c5713c | ||
|
|
58c22274ef | ||
|
|
bfd8c3a958 | ||
|
|
f402587a9a | ||
|
|
7736747d68 | ||
|
|
e6ee55e0a0 | ||
|
|
a2e8d24fdb | ||
|
|
9fb0d7eb40 | ||
|
|
24d4763fc8 | ||
|
|
e14a67e56d | ||
|
|
d8fac332ab | ||
|
|
c3ae06751e | ||
|
|
63ab1e3566 | ||
|
|
c552b922b3 | ||
|
|
d26f16ebdc | ||
|
|
cf18550a2c | ||
|
|
8d2d3571b8 | ||
|
|
d2ac5aa0bf | ||
|
|
f1ae6784f5 | ||
|
|
8a6448c64f | ||
|
|
98ccd4b1d4 | ||
|
|
71b4a313e2 | ||
|
|
1bf6939fc3 | ||
|
|
0000949966 | ||
|
|
f767e621a4 | ||
|
|
d40c8ff6eb | ||
|
|
e6838d8891 | ||
|
|
440dd0386b | ||
|
|
37b181c5d0 | ||
|
|
5e7afa0f41 | ||
|
|
badc9b5117 | ||
|
|
5257c4fc2c | ||
|
|
f47e389a9b | ||
|
|
8327333305 | ||
|
|
4bd05835a5 | ||
|
|
a51b57af2a | ||
|
|
17ff024166 | ||
|
|
ed0c8e3f2c | ||
|
|
6b762b0693 | ||
|
|
62e6d0d6e8 | ||
|
|
6947f57bd8 | ||
|
|
08295afb51 | ||
|
|
8d5b494785 | ||
|
|
8d52fc06ed | ||
|
|
1a9982446f | ||
|
|
85b83af73f | ||
|
|
d99898e191 | ||
|
|
2044f5b838 | ||
|
|
bb804f6597 | ||
|
|
407c742596 | ||
|
|
4d3756ac0a | ||
|
|
0739b3048b | ||
|
|
ff5a05511d | ||
|
|
186ce769a2 | ||
|
|
848c698491 | ||
|
|
41ea2087d1 | ||
|
|
1d77727867 | ||
|
|
051d059e5c | ||
|
|
324107beef | ||
|
|
801d71b6d2 | ||
|
|
106f7a41d8 | ||
|
|
1b46651c32 | ||
|
|
459b25e075 | ||
|
|
e3c3a61f0b | ||
|
|
a311ee5ef5 | ||
|
|
b13decf0e9 | ||
|
|
f6b92ef40b | ||
|
|
919b1d01e3 | ||
|
|
fe73c11611 | ||
|
|
c8af6c4b5a | ||
|
|
5d2d36dccf | ||
|
|
a11f711778 | ||
|
|
6920704caa | ||
|
|
451a6ef359 | ||
|
|
a93f4cc780 | ||
|
|
f9fda26e7a | ||
|
|
7435902b70 | ||
|
|
feb57c97b9 | ||
|
|
7021942a6e | ||
|
|
9251d64de8 | ||
|
|
d0c99727e9 | ||
|
|
1fbfcfb446 | ||
|
|
38328b2ffe | ||
|
|
3cce4e5308 | ||
|
|
757292d670 | ||
|
|
ef16804b49 | ||
|
|
dafabb6278 | ||
|
|
1f37362da4 | ||
|
|
1dba28d153 | ||
|
|
e83b017ef2 | ||
|
|
eeabbfd599 | ||
|
|
55a8602bba | ||
|
|
2e80e3baaf | ||
|
|
3134bb0428 | ||
|
|
134b5df6a2 | ||
|
|
aab84d9275 | ||
|
|
5209c29d0f | ||
|
|
cc975f8ffa | ||
|
|
125040f90b | ||
|
|
7009aaeb24 | ||
|
|
a135c6977f | ||
|
|
55991a6f17 | ||
|
|
17e1de6174 | ||
|
|
12a58f393e | ||
|
|
ebb57a80e3 | ||
|
|
7a53bd8766 | ||
|
|
d8b46b194d | ||
|
|
5db7d863ff | ||
|
|
7d7c11aa1a | ||
|
|
95748a2f2f | ||
|
|
e77045abe3 | ||
|
|
d73ddbdbcb | ||
|
|
8893a4a456 | ||
|
|
608112ce22 | ||
|
|
2e9155fbcc | ||
|
|
f33a30c697 | ||
|
|
e208dd5966 | ||
|
|
a6cb71f9c3 | ||
|
|
91deeb969b | ||
|
|
040d812f2a | ||
|
|
772ac80764 | ||
|
|
ef67c94272 | ||
|
|
fdb4a6bdc6 | ||
|
|
57902af87c | ||
|
|
92fea3ff01 | ||
|
|
cbd16169e4 | ||
|
|
299df34bf4 | ||
|
|
48a92df719 | ||
|
|
b806439e2f | ||
|
|
1db586c0bd | ||
|
|
26e2bfbf43 | ||
|
|
28c4ac6a19 | ||
|
|
c0d9d68fca | ||
|
|
122ed1dd0f | ||
|
|
f18b83999a | ||
|
|
fc28aacb52 | ||
|
|
efdfe2b1b5 | ||
|
|
2872da4f94 | ||
|
|
5d3c5e7f3c | ||
|
|
a86fb480b2 | ||
|
|
7daf33c149 | ||
|
|
0d9afdc939 | ||
|
|
a9a26193cd | ||
|
|
684973ea85 | ||
|
|
0149593272 | ||
|
|
1ae3df76bd | ||
|
|
d8e0a06d93 | ||
|
|
b2d842ddd0 | ||
|
|
580374208f | ||
|
|
8ab96f09cb | ||
|
|
f5b6728358 | ||
|
|
c7d46ee18f | ||
|
|
eafdd0fb61 | ||
|
|
a14394dd88 | ||
|
|
e28b0394ec | ||
|
|
11903e9728 | ||
|
|
0e498d1a81 | ||
|
|
f073112814 | ||
|
|
9ee71e9f25 | ||
|
|
0aafc16648 | ||
|
|
58246a91b0 | ||
|
|
53ae59271a | ||
|
|
1a2e4e72bd | ||
|
|
2a83c1b9ba | ||
|
|
5b245978d4 | ||
|
|
1463cee2a4 | ||
|
|
f4b910c268 | ||
|
|
d39c371635 | ||
|
|
19b3c2a265 | ||
|
|
28efc38fc4 | ||
|
|
6a7e948e89 | ||
|
|
645d23b531 | ||
|
|
50ae5bb7cc | ||
|
|
38728910cb | ||
|
|
e2f695777d | ||
|
|
06a98d0f94 | ||
|
|
944cbf04ed | ||
|
|
84891abc04 | ||
|
|
a848bb43b6 | ||
|
|
d57a2e5eae | ||
|
|
d1adcb876d | ||
|
|
8505d8ae0e | ||
|
|
3a567cb4a7 | ||
|
|
20dbba116a | ||
|
|
f7d7b5bd7b | ||
|
|
dd15420f2c | ||
|
|
31945533c2 | ||
|
|
9288e0abe0 | ||
|
|
5641fee39a | ||
|
|
db88458a14 | ||
|
|
3ff89bc648 | ||
|
|
61f3d2d513 | ||
|
|
788f253ad0 | ||
|
|
947d93ddc7 | ||
|
|
74063885b1 | ||
|
|
554fd6d700 | ||
|
|
1fb6861565 | ||
|
|
6c5350a51b | ||
|
|
00da7e9a82 | ||
|
|
e18bed12c0 | ||
|
|
d2bb7e912f | ||
|
|
73ed69a4ad | ||
|
|
d8fe6a0a55 | ||
|
|
b278bfd159 | ||
|
|
872beb777f | ||
|
|
aebcf5d183 | ||
|
|
aab9b71901 | ||
|
|
9cbab137fc | ||
|
|
358bc23931 | ||
|
|
7396bf0675 | ||
|
|
61166c4388 | ||
|
|
4b9f2c7728 | ||
|
|
6b496bdef2 | ||
|
|
0e795f58dd | ||
|
|
e2ac8e29fe | ||
|
|
bc80adc412 | ||
|
|
2f634625ea | ||
|
|
d80774d8d0 | ||
|
|
ecf3e97518 | ||
|
|
3758d1f5ad | ||
|
|
3e53008d35 | ||
|
|
afde5c2685 | ||
|
|
224c355d44 | ||
|
|
269718bfa6 | ||
|
|
d145fdbb23 | ||
|
|
a60848b16c | ||
|
|
e6d6843a37 | ||
|
|
0b44c794f9 | ||
|
|
5346db93e1 | ||
|
|
a0a7c7f428 | ||
|
|
57228147ce | ||
|
|
d122c92db1 | ||
|
|
7761946ec0 | ||
|
|
47a131c232 | ||
|
|
c6e095d066 | ||
|
|
282d5fe239 | ||
|
|
5164d57787 | ||
|
|
884fc5318a | ||
|
|
626e68eae8 | ||
|
|
0b76307354 | ||
|
|
3f9892f12f | ||
|
|
b525c0ede7 | ||
|
|
902e7513d9 | ||
|
|
6b824a47f5 | ||
|
|
d14a5df3fe | ||
|
|
0a4b78160f | ||
|
|
54be93b0da | ||
|
|
59c9de9f41 | ||
|
|
1631c1f147 | ||
|
|
0bd833a6b7 | ||
|
|
cf69a67029 | ||
|
|
3b1a359367 | ||
|
|
880c6ac554 | ||
|
|
8e732c68bc | ||
|
|
9799735420 | ||
|
|
9ffae4241d | ||
|
|
68cb95e758 | ||
|
|
967dafb87e | ||
|
|
743bb94e83 | ||
|
|
c461e6ac0b | ||
|
|
b2b31da80b | ||
|
|
0f6453cb26 | ||
|
|
c2eece31b0 | ||
|
|
4fa28e9040 | ||
|
|
889e94a494 | ||
|
|
c908b5e642 | ||
|
|
26f6d25481 | ||
|
|
034870ba19 | ||
|
|
54f6a68a8a | ||
|
|
626113affa | ||
|
|
4e299b2ad5 | ||
|
|
cb7c91f666 | ||
|
|
50208c2df3 | ||
|
|
8a49870822 | ||
|
|
bf7c93cd91 | ||
|
|
6c5777801f | ||
|
|
6887dab787 | ||
|
|
150531a1e2 | ||
|
|
a7a53610e6 | ||
|
|
2ec8189d47 | ||
|
|
d75d1eed10 | ||
|
|
2f426990b7 | ||
|
|
2e6c8f7054 | ||
|
|
206a8f5afc | ||
|
|
e340207cac | ||
|
|
12857ae6a3 | ||
|
|
43c8518a40 | ||
|
|
1b65ae2062 | ||
|
|
3ba31f205e | ||
|
|
bf28c2aacc | ||
|
|
80834220b3 | ||
|
|
d8aacdaa94 | ||
|
|
cf763993cf | ||
|
|
89006a8720 | ||
|
|
4d9e1a83c8 | ||
|
|
850ebf2877 | ||
|
|
7923bde014 | ||
|
|
1eab821f9a | ||
|
|
042e76348a | ||
|
|
7d0b8dc1ec | ||
|
|
b0057481d8 | ||
|
|
d70c5947fa | ||
|
|
43f7a61c4b | ||
|
|
5a8516e8e5 | ||
|
|
4727aa90ab | ||
|
|
dcdc0cfa55 | ||
|
|
27dc5597bc | ||
|
|
af37d23a0d | ||
|
|
2143760185 | ||
|
|
e919505f4e | ||
|
|
4fc221f4f9 | ||
|
|
532f418c2f | ||
|
|
19016aa14a | ||
|
|
6016844327 | ||
|
|
352438ee0a | ||
|
|
d1dbdb1642 | ||
|
|
29da986b9f | ||
|
|
0b819ea762 | ||
|
|
b3dbaaae7a | ||
|
|
2dcc14b4d9 | ||
|
|
fe728baee7 | ||
|
|
d6f49eb442 | ||
|
|
890dbf99a7 | ||
|
|
61853a474a | ||
|
|
447183c779 | ||
|
|
b371f76cb6 | ||
|
|
a5971bbdde | ||
|
|
0827fef978 | ||
|
|
a66fcb3a77 | ||
|
|
ac9b93bbba | ||
|
|
7917483dfc | ||
|
|
c0a2c8a235 | ||
|
|
f28dc15252 | ||
|
|
9faa3e8402 | ||
|
|
0f33d66cc2 | ||
|
|
5f9fd23c47 | ||
|
|
e98d275de3 | ||
|
|
6ffb2dbad7 | ||
|
|
eb2bef824d | ||
|
|
45db917ee7 | ||
|
|
42494ce58a | ||
|
|
93c75a3ffd | ||
|
|
b9283fb544 | ||
|
|
16ccf83f7a | ||
|
|
f60685117d | ||
|
|
a830b80965 | ||
|
|
3795de97a4 | ||
|
|
c972782053 | ||
|
|
52f05a911b | ||
|
|
0a007dd4eb | ||
|
|
6223503511 | ||
|
|
2e499e88a6 | ||
|
|
658fe94d0f | ||
|
|
7c2cf86674 | ||
|
|
0db4cd35f1 | ||
|
|
289c38edeb | ||
|
|
650e9f0d0b | ||
|
|
755419fd56 | ||
|
|
458f1521b6 | ||
|
|
18fa77a25c | ||
|
|
db0b1d28bc | ||
|
|
518861ac0f | ||
|
|
fbb4f33b18 | ||
|
|
dc2cf05e8b | ||
|
|
df4b1d6f01 | ||
|
|
c5a53f0719 | ||
|
|
961e21e5a7 | ||
|
|
e33e304644 | ||
|
|
46896da46e | ||
|
|
207aa8b8c1 | ||
|
|
8b4017a082 | ||
|
|
f46f5909f1 | ||
|
|
5337b29532 | ||
|
|
7010b316fd | ||
|
|
6128258cfb | ||
|
|
68d090f81a | ||
|
|
7ef74ac3ee | ||
|
|
5853691844 | ||
|
|
3a8b93d44a | ||
|
|
806a5aecef | ||
|
|
44d2918dee | ||
|
|
64f7db6585 | ||
|
|
fb0cd272ce | ||
|
|
83e619ecd4 | ||
|
|
3af89a7897 | ||
|
|
1e94b69a68 | ||
|
|
95b1945bc1 | ||
|
|
8aaba606bc | ||
|
|
f40657a7ff | ||
|
|
239c7371a8 | ||
|
|
788e56d926 | ||
|
|
37303a8c5a | ||
|
|
981b228a88 | ||
|
|
c6449d4c10 | ||
|
|
0f70e5b1d6 | ||
|
|
9c078971ab | ||
|
|
0f0c3c1b1d | ||
|
|
835f35393e | ||
|
|
fd30facd8f | ||
|
|
72c79542b7 | ||
|
|
e576e14460 | ||
|
|
a839e9eab5 | ||
|
|
e7b368ced2 | ||
|
|
d662df5a7d | ||
|
|
7c4a286937 | ||
|
|
2164b8ce31 | ||
|
|
71737eb018 | ||
|
|
ed543847a8 | ||
|
|
c0320d3139 | ||
|
|
b218c2284e | ||
|
|
fce8cbdaef | ||
|
|
f40bdb6494 | ||
|
|
74e940ea3c | ||
|
|
650aff5649 | ||
|
|
9793bfc074 | ||
|
|
0cba10994b | ||
|
|
ff7b0ca13f | ||
|
|
18b39fb868 | ||
|
|
b181aeb5ab | ||
|
|
9df2c221df | ||
|
|
e3c6621398 | ||
|
|
b736f904e9 | ||
|
|
00093728ee | ||
|
|
34c1fce8a2 | ||
|
|
6a520061cf | ||
|
|
c581d9e6b9 | ||
|
|
956af54d4f | ||
|
|
d5a0ade5d9 | ||
|
|
68c2f832ac | ||
|
|
614bba4a0f | ||
|
|
fde075f067 | ||
|
|
ea6bc9ccf0 | ||
|
|
b99c1c3f6e | ||
|
|
1e715d8b06 | ||
|
|
2a3e4af082 | ||
|
|
968c45c77d | ||
|
|
ee8be37f55 | ||
|
|
2d9727a695 | ||
|
|
0aa6e674e9 | ||
|
|
445bf1cc34 | ||
|
|
cfae6d76b2 | ||
|
|
83a27809ef | ||
|
|
5eb41d5b25 | ||
|
|
fe5961c59e | ||
|
|
114c50a354 | ||
|
|
56a39775e8 | ||
|
|
d0fa4da45a | ||
|
|
dcd4c55fb9 | ||
|
|
a7920a7dd7 | ||
|
|
3bb32f11d7 | ||
|
|
0a08879d8c | ||
|
|
5cb644279c | ||
|
|
c0e04ab0dc | ||
|
|
977e8e2472 | ||
|
|
9ba43071de | ||
|
|
37f940350f | ||
|
|
f3271846ea | ||
|
|
d39d6691e6 | ||
|
|
832b33f949 | ||
|
|
1373a93c75 | ||
|
|
b65f7d9423 | ||
|
|
b91263ffb3 | ||
|
|
d27b9222ba | ||
|
|
c41c15dbc1 | ||
|
|
25b4b90633 | ||
|
|
cdea9475c1 | ||
|
|
a76d14d81f | ||
|
|
81b7c142d8 | ||
|
|
4d0e0b7bd2 | ||
|
|
4e3c88f1f4 | ||
|
|
f29c80acae | ||
|
|
a2e150817c | ||
|
|
e3aa9d739d | ||
|
|
faa8f8aade | ||
|
|
f165e89a8d | ||
|
|
620c3161cf | ||
|
|
05739f60ce | ||
|
|
57e260df6d | ||
|
|
2cff3884e2 | ||
|
|
5ac01a0617 | ||
|
|
4344228b92 | ||
|
|
8f91499132 | ||
|
|
5b68ca1416 | ||
|
|
2cb29654e9 | ||
|
|
43aff74ad2 | ||
|
|
0d5964bd22 | ||
|
|
8087531d64 | ||
|
|
c939456f21 | ||
|
|
1312276151 | ||
|
|
8fa3bf7850 | ||
|
|
cdc8431865 | ||
|
|
f4da49b5bd | ||
|
|
3e4e278778 | ||
|
|
7b8a5a482a | ||
|
|
0401488ab1 | ||
|
|
a024491296 | ||
|
|
b2773ff5b7 | ||
|
|
8ee017c3fa | ||
|
|
0eab5295db | ||
|
|
11fccf38a6 | ||
|
|
1d0180c436 | ||
|
|
7e7e45e794 | ||
|
|
c760af7810 | ||
|
|
a684fa8a8e | ||
|
|
c5a5c737bf | ||
|
|
dfe2e8dda5 | ||
|
|
994d897b5b | ||
|
|
ec66a79e2b | ||
|
|
d611aa8737 | ||
|
|
07bbbe8ad0 | ||
|
|
3d9e3d8456 | ||
|
|
e56c7472c4 | ||
|
|
0f8ee0d57d | ||
|
|
99f1a0b400 | ||
|
|
c039b763c5 | ||
|
|
bc69a67b05 | ||
|
|
37d2a38517 | ||
|
|
b5f287d75e | ||
|
|
629aaa78d6 | ||
|
|
5a1ec385a8 | ||
|
|
42d3585df5 | ||
|
|
b6390ac383 | ||
|
|
32c307b5a5 | ||
|
|
b0056bc942 | ||
|
|
3fa6652415 | ||
|
|
ae4da97ece | ||
|
|
16f0b68490 | ||
|
|
a0c5414a93 | ||
|
|
be3fc923fc | ||
|
|
684cd714e5 | ||
|
|
ea498f269e | ||
|
|
98b6d16de7 | ||
|
|
4bcfe837b1 | ||
|
|
5721cbf6f4 | ||
|
|
200760cc56 | ||
|
|
28f77e7357 | ||
|
|
c0d9689022 | ||
|
|
7f436831fe | ||
|
|
96360f1266 | ||
|
|
4eb31b9ecc | ||
|
|
1e24cc4daf | ||
|
|
cf64f9e64f | ||
|
|
a538d030e9 | ||
|
|
b13e70e787 | ||
|
|
aacfb091b2 | ||
|
|
768a3b1756 | ||
|
|
925408db31 | ||
|
|
31e0c6aa1d | ||
|
|
4de80c3027 | ||
|
|
2b986609bf | ||
|
|
43b932304d | ||
|
|
fcc015a0f8 | ||
|
|
67eaf19add | ||
|
|
3008b51dbe | ||
|
|
ee65ae3e49 | ||
|
|
da64cf8800 | ||
|
|
ca0302723d | ||
|
|
026f5e2f26 | ||
|
|
ea4414f1a5 | ||
|
|
53977bdf80 | ||
|
|
952d1954d9 | ||
|
|
fbd34dc89f | ||
|
|
79d41ba57b | ||
|
|
ab1adc48f8 | ||
|
|
422eda927e | ||
|
|
39e55bde2d | ||
|
|
6ec533990f | ||
|
|
7a6a2471b1 | ||
|
|
7d9f308492 | ||
|
|
e8888ac191 | ||
|
|
afad27ee01 | ||
|
|
1ed8e287b3 | ||
|
|
202f56b6a0 | ||
|
|
e72a192e4a | ||
|
|
d3afb35fb0 | ||
|
|
306c9e45be | ||
|
|
fd8add4fcd | ||
|
|
5a510d5703 | ||
|
|
6c66fb130b | ||
|
|
7bb860dcd8 | ||
|
|
b64caa8f06 | ||
|
|
c7ece57842 | ||
|
|
161c5513df | ||
|
|
538c1d7a9a | ||
|
|
123c17d442 | ||
|
|
6b7fd7fb7b | ||
|
|
0c0fde3077 | ||
|
|
1cf6950e70 | ||
|
|
5eddeba3ef | ||
|
|
75f4903ffb | ||
|
|
9727259d0c | ||
|
|
6bb664e592 | ||
|
|
f106dea3d9 | ||
|
|
982cc15052 | ||
|
|
1ef3299574 | ||
|
|
49f0795b5f | ||
|
|
af697d8155 | ||
|
|
81a779d1d9 | ||
|
|
7c484297d7 | ||
|
|
a91e46f3e9 | ||
|
|
5f18de06f5 | ||
|
|
bef5b5f22e | ||
|
|
092e832d21 | ||
|
|
cd836f331e | ||
|
|
53537eaa09 | ||
|
|
8515ef5b26 | ||
|
|
a2524608c7 | ||
|
|
127ddcef6d | ||
|
|
076bc9e2d6 | ||
|
|
d19b2778fe | ||
|
|
4d947aef7b | ||
|
|
1f3fc62a0e | ||
|
|
8b089837f9 | ||
|
|
4c4327b569 | ||
|
|
d72e9b2692 | ||
|
|
e021868a96 | ||
|
|
0c3cf5b140 | ||
|
|
32bd52d74d | ||
|
|
55f52b7f78 | ||
|
|
4ef45d3987 | ||
|
|
ebc6121526 | ||
|
|
8a36acb673 | ||
|
|
9efe438697 | ||
|
|
4c7540451e | ||
|
|
cdeaede8bf | ||
|
|
ad73e1d529 | ||
|
|
68e858541d | ||
|
|
709e423a6d | ||
|
|
392139c061 | ||
|
|
64db3e7842 | ||
|
|
14e8071713 | ||
|
|
cea09fa766 | ||
|
|
019767e8c3 | ||
|
|
3c34689e7d | ||
|
|
d3cca0685a | ||
|
|
72049c5bdf | ||
|
|
d636413471 | ||
|
|
d1c6cbf55a | ||
|
|
e439a2f5f7 | ||
|
|
ecde6aefbf | ||
|
|
b95d912542 | ||
|
|
eb50b74b4a | ||
|
|
d460185317 | ||
|
|
2297ef0bec | ||
|
|
8d7ec16ed0 | ||
|
|
4dfc9fc456 | ||
|
|
3b99e619db | ||
|
|
9cded1b4de | ||
|
|
bfc88a489a | ||
|
|
f2a213f32a | ||
|
|
9663d21ce8 | ||
|
|
30c8d3c39c | ||
|
|
88e72bee2c | ||
|
|
c67441b6d4 | ||
|
|
e1802978d3 | ||
|
|
1ccdc79051 | ||
|
|
3ca0d35a1b | ||
|
|
7bbeceec97 | ||
|
|
1295e621ce | ||
|
|
5f4580399b | ||
|
|
8d735205aa | ||
|
|
64f15e015f | ||
|
|
a95abf7397 | ||
|
|
3054834b91 | ||
|
|
572ea5bf47 | ||
|
|
cad4d76138 | ||
|
|
892f2d5f41 | ||
|
|
1e3bd9ebc0 | ||
|
|
e93e32b349 | ||
|
|
9c9876c918 | ||
|
|
8d30d68a4a | ||
|
|
88a8552d4d | ||
|
|
7608a41f9c | ||
|
|
7f7c55aeee | ||
|
|
2ebed8ef94 | ||
|
|
2904bcf4a7 | ||
|
|
6630fa2f37 | ||
|
|
351e63e7b6 | ||
|
|
ea0f35a0a1 | ||
|
|
623c53e169 | ||
|
|
3e6fd2caf8 | ||
|
|
39f1aa4487 | ||
|
|
8ffd905a9f | ||
|
|
668f9ef919 | ||
|
|
ffb9bb10f5 | ||
|
|
2618f54442 | ||
|
|
6b3218dd43 | ||
|
|
56a9b7b0f1 | ||
|
|
4f4afc5686 | ||
|
|
1d03e83d95 | ||
|
|
5698692b26 | ||
|
|
87fb136b85 | ||
|
|
7af271e14a | ||
|
|
f44d44cb4a | ||
|
|
e7fc5f1753 | ||
|
|
f0e2775861 | ||
|
|
2488ab9bd4 | ||
|
|
f0872d410c | ||
|
|
9d69cc9d45 | ||
|
|
1c66052372 | ||
|
|
158f799ca1 | ||
|
|
907532fd13 | ||
|
|
0f6a433623 | ||
|
|
00eab5d584 | ||
|
|
5d928b1a62 | ||
|
|
50d6f0c96f | ||
|
|
a60b43b862 | ||
|
|
4b1235b484 | ||
|
|
f354b9cfd7 | ||
|
|
0c2283ce28 | ||
|
|
840479a022 | ||
|
|
1bceaaab1d | ||
|
|
65ece3292a | ||
|
|
e410623cac | ||
|
|
09f7f036aa | ||
|
|
5249224dec | ||
|
|
00def3a46d | ||
|
|
134c0010b5 | ||
|
|
fe3b40557a | ||
|
|
d3cdc5d5fc | ||
|
|
7ebb28be74 | ||
|
|
707cd3c5c3 | ||
|
|
4c5017d108 | ||
|
|
fdd91b1e0e | ||
|
|
9124777ce7 | ||
|
|
7c575fdc52 | ||
|
|
f9d6f1334f | ||
|
|
65d4900325 | ||
|
|
64248d1fce | ||
|
|
bec75120bc | ||
|
|
3b0eed48d9 | ||
|
|
25c4b1e6a7 | ||
|
|
cccff46715 | ||
|
|
fc0ffd1b4f | ||
|
|
b70a2a2327 | ||
|
|
b5ca7ca0e1 | ||
|
|
7bb5379b45 | ||
|
|
5692a8c83e | ||
|
|
6c6126148e | ||
|
|
5b2e24daef | ||
|
|
29f390e48c | ||
|
|
c49eff6e54 | ||
|
|
27930a5849 | ||
|
|
6ffc139d2f | ||
|
|
59ed027b60 | ||
|
|
5dc55822d7 | ||
|
|
9bfe5115cc | ||
|
|
aaf9c65f30 | ||
|
|
7fa921e7e5 | ||
|
|
47a55354fe | ||
|
|
d6197261fb | ||
|
|
8fd7df2a9d | ||
|
|
4eb148f4a6 | ||
|
|
8f1e460893 | ||
|
|
8c80f8a506 | ||
|
|
9eb9fc666c | ||
|
|
d70c6cece7 | ||
|
|
dbdee135a3 | ||
|
|
132bb6bee4 | ||
|
|
c64428e37f | ||
|
|
2dfa7a1190 | ||
|
|
06d559b47e | ||
|
|
83baaa6ed9 | ||
|
|
85d38a47f1 | ||
|
|
0c3c6ea15a | ||
|
|
2ce436bddc | ||
|
|
a60c607fcb | ||
|
|
0456739118 | ||
|
|
368052bd8f | ||
|
|
ce916a7d4b | ||
|
|
60ff046823 | ||
|
|
7d3bda42e2 | ||
|
|
83a39f1e39 | ||
|
|
de726d8d96 | ||
|
|
91bb241e8c | ||
|
|
8da55d8aa8 | ||
|
|
3355c46503 | ||
|
|
0a3d457218 | ||
|
|
7fa5fdfbd0 | ||
|
|
95f88891d0 | ||
|
|
550f8f415c | ||
|
|
5ab947d8ec | ||
|
|
ec793535e7 | ||
|
|
2f1d81cc4c | ||
|
|
0f189ca710 | ||
|
|
6afd51bb8d | ||
|
|
e415f9d24e | ||
|
|
ba5d587a1e | ||
|
|
92f778b6e9 | ||
|
|
b52981a845 | ||
|
|
9c5d3edc72 | ||
|
|
56d68c6145 | ||
|
|
4d13282915 | ||
|
|
872320ccab | ||
|
|
28ee80b727 | ||
|
|
2621de2cde | ||
|
|
82b102845f | ||
|
|
28c9f8b89a | ||
|
|
23fa937fd1 | ||
|
|
02330a2050 | ||
|
|
c65599d995 | ||
|
|
22ae1df4b1 | ||
|
|
6b22342166 | ||
|
|
53f6190267 | ||
|
|
f73daaef44 | ||
|
|
d99e382dfe | ||
|
|
aefbee2093 | ||
|
|
11fb0a7edf | ||
|
|
fe959aecff | ||
|
|
9b33655bd4 | ||
|
|
33acad85db | ||
|
|
6bfe3ea760 | ||
|
|
1532fd71d0 | ||
|
|
c14a732e2a | ||
|
|
a1372034ed | ||
|
|
98914269b7 | ||
|
|
d5e455336b | ||
|
|
7b84f25c56 | ||
|
|
2ca20af502 | ||
|
|
78df2accfc | ||
|
|
7a282fb67e | ||
|
|
db679967af | ||
|
|
5a94125585 | ||
|
|
9e98d30612 | ||
|
|
a47065e4a9 | ||
|
|
94d18c471c | ||
|
|
f8f3019228 | ||
|
|
c3d90b8593 | ||
|
|
62c1299f29 | ||
|
|
b75db98cad | ||
|
|
3592b3d13c | ||
|
|
ca814e2c08 | ||
|
|
48b6a590bf | ||
|
|
285ef02a17 | ||
|
|
18375c741e | ||
|
|
21030344cc | ||
|
|
a494027217 | ||
|
|
7bca01af59 | ||
|
|
acf3fa9980 | ||
|
|
34bcc85dcc | ||
|
|
c0ce0f8d19 | ||
|
|
2b5f74b9f3 | ||
|
|
c2538e772f | ||
|
|
f4a489f4e6 | ||
|
|
6370a72d81 | ||
|
|
e612991424 | ||
|
|
4bef6a4eeb | ||
|
|
4eba7070da | ||
|
|
161e6dc809 | ||
|
|
7937944c10 | ||
|
|
89dfaeeb93 | ||
|
|
77641185af | ||
|
|
4f78a3615c | ||
|
|
bfbf90158b | ||
|
|
825b2f9ebf | ||
|
|
56e7168461 | ||
|
|
c2d0d94f05 | ||
|
|
fc22cfbbdd | ||
|
|
d62adbf649 | ||
|
|
dba5539e3e | ||
|
|
f0a8b3bb17 | ||
|
|
f52e7e1bdd | ||
|
|
58ba26f21e | ||
|
|
bf7b30630c | ||
|
|
b5cac0308e | ||
|
|
373ea39048 | ||
|
|
427f5eec5f | ||
|
|
a4e9903e00 | ||
|
|
0d900a892c | ||
|
|
dc6fdaf482 | ||
|
|
b79498ed9f | ||
|
|
69e8f628df | ||
|
|
d3d8e3ce5f | ||
|
|
0499c47f4b | ||
|
|
7fd0cdd7d8 | ||
|
|
49eaf79e01 | ||
|
|
3a96c30aa8 | ||
|
|
6d550fa485 | ||
|
|
7f9d69bb51 | ||
|
|
709fab9ccc | ||
|
|
fd13a2db79 | ||
|
|
840d81f7bd | ||
|
|
5d08f4d339 | ||
|
|
ef48b2d5ef | ||
|
|
f54e4f337f | ||
|
|
d6f8a45889 | ||
|
|
3fdb444961 | ||
|
|
743965d3b8 | ||
|
|
0e787eddfd | ||
|
|
442c0d575e | ||
|
|
485516be2e | ||
|
|
6b2fbb3bf0 | ||
|
|
e510b1c26b | ||
|
|
8d35494169 | ||
|
|
cf1504bae7 | ||
|
|
9bb4e473b9 | ||
|
|
d67afebadc | ||
|
|
417886161c | ||
|
|
1b85d511e9 | ||
|
|
45d84f63c1 | ||
|
|
fff60b2704 | ||
|
|
c9339aec9e | ||
|
|
7c98ae1341 | ||
|
|
01c2291715 | ||
|
|
2e03f081d9 | ||
|
|
0cbafdd884 | ||
|
|
d5a9c2c15d | ||
|
|
1496591244 | ||
|
|
f5acce3901 | ||
|
|
5568a0ad8e | ||
|
|
26a18287c7 | ||
|
|
b0f819b9bd | ||
|
|
ebff7baf07 | ||
|
|
cf9a55d896 | ||
|
|
72f7b659f4 | ||
|
|
87192d025b | ||
|
|
fd181b9a0c | ||
|
|
9c4cc12a02 | ||
|
|
44497b559e | ||
|
|
09c50a149b | ||
|
|
88beb68e01 | ||
|
|
0da358311b | ||
|
|
cf97b63dab | ||
|
|
4b5f22144e | ||
|
|
0d342a6863 | ||
|
|
458820a09d | ||
|
|
135c34ef0f | ||
|
|
8187c5a013 | ||
|
|
6ff48c8130 | ||
|
|
d37c70cd8d | ||
|
|
8abf357405 | ||
|
|
c93ac71634 | ||
|
|
408180f071 | ||
|
|
4e98abfe5c | ||
|
|
efbb404bd4 | ||
|
|
66f409bfad | ||
|
|
44ec64fb4b | ||
|
|
fb27bd29e8 | ||
|
|
c26ca9d463 | ||
|
|
8c36ba33f4 | ||
|
|
fe1e18b495 | ||
|
|
29e632af04 | ||
|
|
2b9daae62b | ||
|
|
8a11f85dd1 | ||
|
|
b09c72b106 | ||
|
|
43456e817a | ||
|
|
7876a60106 | ||
|
|
38e71001cb | ||
|
|
a1307b7464 | ||
|
|
fd413d36ad | ||
|
|
509dfc57ca | ||
|
|
95bdd6228e | ||
|
|
fd1430371a | ||
|
|
437f944c6e | ||
|
|
f64b6e10bb | ||
|
|
5925bd3772 | ||
|
|
fe8d4616db | ||
|
|
99b40974c3 | ||
|
|
c463590ede | ||
|
|
82163eebc2 | ||
|
|
f1e427f926 | ||
|
|
c21dcdca80 | ||
|
|
2ce51472c3 | ||
|
|
514b1aeec1 | ||
|
|
3f34622fe0 | ||
|
|
8c6d5b8178 | ||
|
|
1971c29fd0 | ||
|
|
40ca9b6682 | ||
|
|
81aeed6f6c | ||
|
|
bf50b1bf82 | ||
|
|
1094e8ca2d | ||
|
|
860ccce89b | ||
|
|
59e5993eba | ||
|
|
c08627e5d6 | ||
|
|
3e0bb46699 | ||
|
|
9a972e40ef | ||
|
|
99ad0db1f6 | ||
|
|
12d11bc80c | ||
|
|
dc98079b55 | ||
|
|
88f56126a6 | ||
|
|
313c9976c8 | ||
|
|
5b6a1d0adc | ||
|
|
6db43e6ca7 | ||
|
|
46177e814c | ||
|
|
2fe79baed8 | ||
|
|
02e17c76a7 | ||
|
|
4d8acfd286 | ||
|
|
4a5c287b8f | ||
|
|
0d4047b4ee | ||
|
|
2b730ef180 | ||
|
|
ecbe7228b9 | ||
|
|
e36d0f65d6 | ||
|
|
30818fb797 | ||
|
|
6d7685fcce | ||
|
|
2cec5be3d9 | ||
|
|
038b70ff0b | ||
|
|
23a5f7dcf9 | ||
|
|
baa27d6090 | ||
|
|
f71acfcbe8 | ||
|
|
c65e843491 | ||
|
|
9103c88f0e | ||
|
|
90170f0fcc | ||
|
|
2e3de336cb | ||
|
|
da50d317e7 | ||
|
|
7a91e14b03 | ||
|
|
58eff0a1a3 | ||
|
|
8559f3e354 | ||
|
|
7606097a4d | ||
|
|
dfbace3d26 | ||
|
|
d61ab632f1 | ||
|
|
c3b341d945 | ||
|
|
59f063627c | ||
|
|
b4aba76005 | ||
|
|
81afea350d | ||
|
|
5c5da60dd6 | ||
|
|
89c69cdfc2 | ||
|
|
0789010248 | ||
|
|
37c23f615f | ||
|
|
b4d3573a84 | ||
|
|
5161ece63b | ||
|
|
5b7955cee6 | ||
|
|
60099e2b0d | ||
|
|
f04c486251 | ||
|
|
7b23bbf9ba | ||
|
|
0a532d9774 | ||
|
|
208b98285c | ||
|
|
56c9aa32a4 | ||
|
|
35080a9f33 | ||
|
|
6c41505c91 | ||
|
|
05bfaafe32 | ||
|
|
7534a88607 | ||
|
|
d7817d3d88 | ||
|
|
37780d467d | ||
|
|
ad4af67b30 | ||
|
|
29b0c22b0e | ||
|
|
c400678550 | ||
|
|
3c40e93346 | ||
|
|
247b664654 | ||
|
|
b3db0a6a7b | ||
|
|
0a03e41f1c | ||
|
|
a79f105eea | ||
|
|
74f3f6bf2e | ||
|
|
a4bf73724d | ||
|
|
8d91253ede | ||
|
|
b7355af49a | ||
|
|
7ec85cbf99 | ||
|
|
a6790b049d | ||
|
|
dce747b1e8 | ||
|
|
c22ee8acfd | ||
|
|
30b8b738b6 | ||
|
|
b916595da3 | ||
|
|
1accafa8b1 | ||
|
|
11700f4cb4 | ||
|
|
c9de8dd323 | ||
|
|
fd694e38aa | ||
|
|
8822c36b5f | ||
|
|
e614e31162 | ||
|
|
ad47ad4269 | ||
|
|
90b63090cc | ||
|
|
345685ed7c | ||
|
|
1d9fe5770e | ||
|
|
0c50545cbd | ||
|
|
53cbc36a01 | ||
|
|
85b2053004 | ||
|
|
eba240de65 | ||
|
|
1e5114cd54 | ||
|
|
90cb5de5f0 | ||
|
|
11d33e9389 | ||
|
|
c71e9331ae | ||
|
|
ec307b84d3 | ||
|
|
f37b5fa682 | ||
|
|
8cb1ac734d | ||
|
|
05ff2a854c | ||
|
|
d956ade5e3 | ||
|
|
73228506a5 | ||
|
|
2525bbafa8 | ||
|
|
338946dd3a | ||
|
|
2d225641ee | ||
|
|
3c727fe678 | ||
|
|
523ea0d437 | ||
|
|
9eff8f248b | ||
|
|
d50c858a26 | ||
|
|
6f4e94ba9a | ||
|
|
f2750c20a2 | ||
|
|
2da2b426a1 | ||
|
|
5a0bc127b7 | ||
|
|
23a482bbba | ||
|
|
6c2fce1b16 | ||
|
|
5d7346db91 | ||
|
|
443498433d | ||
|
|
a58ce07736 | ||
|
|
1903c3990c | ||
|
|
90441c8eec | ||
|
|
601919bcc6 | ||
|
|
6903b096f5 | ||
|
|
e44fed09fa | ||
|
|
8ed0c8a170 | ||
|
|
31118ac285 | ||
|
|
c851b7582f | ||
|
|
102a02d527 | ||
|
|
1968bf871a | ||
|
|
5cd4e48173 | ||
|
|
111d212cb5 | ||
|
|
d648d34393 | ||
|
|
bbaa5b38e7 | ||
|
|
3c50a78be2 | ||
|
|
82cc1fa530 | ||
|
|
8c0581973e | ||
|
|
bfa15f5d75 | ||
|
|
57e87b581d | ||
|
|
5aa6f5bce3 | ||
|
|
9ba098a805 | ||
|
|
b2d8567c26 | ||
|
|
19d97c93ce | ||
|
|
cad2daa2f9 | ||
|
|
585f0b5769 | ||
|
|
dd23d1109b | ||
|
|
5e84221d39 | ||
|
|
faf3e6c26b | ||
|
|
969da2c63b | ||
|
|
ba61891510 | ||
|
|
a581871a89 | ||
|
|
d96e1fa503 | ||
|
|
b66812d76c | ||
|
|
ae32016856 | ||
|
|
56aec15e68 | ||
|
|
d0c8e33ec5 | ||
|
|
7ab260e688 | ||
|
|
0d2c923664 | ||
|
|
e7a47fe3a4 | ||
|
|
e454f78c5a | ||
|
|
192e4ade3e | ||
|
|
733797cb6f | ||
|
|
f0e4157a46 | ||
|
|
2ad6948bb4 | ||
|
|
dd46d649a6 | ||
|
|
bbe8a9b9e4 | ||
|
|
376b109602 | ||
|
|
1d085d52bb | ||
|
|
d1f42e0ed7 | ||
|
|
101f8598ed | ||
|
|
da62f6f8fb | ||
|
|
5750286b5d | ||
|
|
f2ca4fb64b | ||
|
|
5f6b577cbf | ||
|
|
62004c279c | ||
|
|
838c7fb991 | ||
|
|
93786f0fd6 | ||
|
|
f3514e5625 | ||
|
|
a2b0ee0c24 | ||
|
|
2bcab30529 | ||
|
|
91cda6d245 | ||
|
|
a82e579d57 | ||
|
|
94421c7a63 | ||
|
|
ea7c8e62de | ||
|
|
b84421723b | ||
|
|
9a42b93d1f | ||
|
|
e162cd956a | ||
|
|
6431d25409 | ||
|
|
c8686f4b34 | ||
|
|
43097b4c1c | ||
|
|
539751a1d9 | ||
|
|
70e2079c7f | ||
|
|
e8737d263a | ||
|
|
4c4b08f1b8 | ||
|
|
c7e1edf262 | ||
|
|
876bb396fd | ||
|
|
a6788f858f | ||
|
|
b263764730 | ||
|
|
1b1bd371a4 | ||
|
|
f194a08cfe | ||
|
|
1211bfc7be | ||
|
|
eab7011e0f | ||
|
|
6f30ffa865 | ||
|
|
de3026248c | ||
|
|
413e75be5a | ||
|
|
6a8ec18f9a | ||
|
|
5b1b2ef3d7 | ||
|
|
9a705c62bf | ||
|
|
b103180bf6 | ||
|
|
536a0d3fe2 | ||
|
|
356202e28a | ||
|
|
6db36e12b5 | ||
|
|
bfcd5a2855 | ||
|
|
e218b52b78 | ||
|
|
46998dc1fa | ||
|
|
977f856854 | ||
|
|
da2a7bf77d | ||
|
|
3da3a048f0 | ||
|
|
7b5b453e56 | ||
|
|
c18f95edf8 | ||
|
|
71cf043f56 | ||
|
|
a31e4b5897 | ||
|
|
1679da4abe | ||
|
|
505bc71f9a | ||
|
|
4bc057c653 | ||
|
|
8eee13d7aa | ||
|
|
8981e339b4 | ||
|
|
e1dd5dd057 | ||
|
|
cb64f8eab8 | ||
|
|
c47d50d0df | ||
|
|
1f46da2273 | ||
|
|
06fc26cd06 | ||
|
|
3a4f9b9027 | ||
|
|
f98c849c7c | ||
|
|
aa0bd5b34a | ||
|
|
b52e904ed1 | ||
|
|
70e0dcf99d | ||
|
|
56bb20dfd2 | ||
|
|
7d7d2f488d | ||
|
|
72affd67b9 | ||
|
|
0cf1f43deb | ||
|
|
8494c682a7 | ||
|
|
1af5611159 | ||
|
|
4d39f63ef7 | ||
|
|
120d1c2fff | ||
|
|
62e9c0358a | ||
|
|
5a90848c75 | ||
|
|
760d443f74 | ||
|
|
5ee0e75dfe | ||
|
|
3b4d2d6f91 | ||
|
|
dfaabeb41d | ||
|
|
ff3205b6c7 | ||
|
|
0fae2dac35 | ||
|
|
4db4fe28b4 | ||
|
|
5b87efa032 | ||
|
|
3ad609bad7 | ||
|
|
8145cba111 | ||
|
|
24b9a9a12c | ||
|
|
ee7220ebd2 | ||
|
|
8fb72fd55e | ||
|
|
a1eded2d9a | ||
|
|
7f184e1126 | ||
|
|
09aafbcce1 | ||
|
|
7f5024a746 | ||
|
|
8fec0870a8 | ||
|
|
a8d2afaff7 | ||
|
|
8fd92f1c2f | ||
|
|
419ea16ead | ||
|
|
e72d808a3c | ||
|
|
44e8c0a9be | ||
|
|
e2c39d7815 | ||
|
|
687cd54f9a | ||
|
|
911754e1dc | ||
|
|
0067cbce6f | ||
|
|
f40f8427aa | ||
|
|
98ceff2391 | ||
|
|
642a51a208 | ||
|
|
9ec7c321d8 | ||
|
|
a3c419b6f5 | ||
|
|
15c28cffa4 | ||
|
|
f4d0f16481 | ||
|
|
45535e4fdf | ||
|
|
64635c5dc6 | ||
|
|
2fd95c7f1a | ||
|
|
eb6da85183 | ||
|
|
bcc05f021c | ||
|
|
d58ed55c3a | ||
|
|
057f029c80 | ||
|
|
c9a12ff913 | ||
|
|
66bf00b5d3 | ||
|
|
7ba3ca6f15 | ||
|
|
a1bacccc09 | ||
|
|
333eeb4bad | ||
|
|
3f2935612d | ||
|
|
4c87bdd959 | ||
|
|
3543073150 | ||
|
|
e50fe604c2 | ||
|
|
63369258bd | ||
|
|
e7c3376303 | ||
|
|
86163f66ce | ||
|
|
518f0bfc28 | ||
|
|
0a759f6127 | ||
|
|
afa79d01b1 | ||
|
|
860fc8ef4c | ||
|
|
5a2224623b | ||
|
|
dda3458e80 | ||
|
|
40e36e3f8b | ||
|
|
df06f509f5 | ||
|
|
0b4d0be1b4 | ||
|
|
0bef8d29d5 | ||
|
|
6265faa14f | ||
|
|
7593c97ad3 | ||
|
|
7c8de834bc | ||
|
|
637e9f906b | ||
|
|
97035be2e5 | ||
|
|
80fedbd335 | ||
|
|
3f6ebc1164 | ||
|
|
27b99319d3 | ||
|
|
a46d1ecf69 | ||
|
|
fb531526bd | ||
|
|
21d6143e40 | ||
|
|
129b424a3a | ||
|
|
689334a599 | ||
|
|
b3ee2222f3 | ||
|
|
da5e4fe5b1 | ||
|
|
f3b7318453 | ||
|
|
3d1c9bc9de | ||
|
|
9874eb7243 | ||
|
|
cc6f4d70da | ||
|
|
9b06bfaaf5 | ||
|
|
cdf0d06bcc | ||
|
|
501f542982 | ||
|
|
1a3504e885 | ||
|
|
fa617badc1 | ||
|
|
1a1267dc60 | ||
|
|
361babd327 | ||
|
|
64cacb18a4 | ||
|
|
833cfc3465 | ||
|
|
5a5bf34fe0 | ||
|
|
95746de5aa | ||
|
|
af7043f4bf | ||
|
|
4f3c780d05 | ||
|
|
249b27593e | ||
|
|
33a079e55f | ||
|
|
27eb1c36bd | ||
|
|
1201271949 | ||
|
|
5c12cca7f5 | ||
|
|
206d597d9b | ||
|
|
1b4c621fef | ||
|
|
03d4b9e9c6 | ||
|
|
82a9d9f7cf | ||
|
|
3e79dcf7a4 | ||
|
|
c9f3ec12a7 | ||
|
|
b781696803 | ||
|
|
19e74a4fe1 | ||
|
|
130aa1e515 | ||
|
|
8dcb8c2ecb | ||
|
|
b599219852 | ||
|
|
58078989f8 | ||
|
|
4276c0970b | ||
|
|
4abd4a4bac | ||
|
|
2b2ae718f7 | ||
|
|
ef201e3319 | ||
|
|
0ab28e6daa | ||
|
|
9b3e8bd22b | ||
|
|
15e8527e01 | ||
|
|
f991f3b454 | ||
|
|
d6a39403e2 | ||
|
|
aa065fd030 | ||
|
|
e92d1eae5a | ||
|
|
b1b132dfc3 | ||
|
|
90c379b3b9 | ||
|
|
b71ff6f179 | ||
|
|
8b44a00299 | ||
|
|
f5c1c0703d | ||
|
|
5036b1a1aa | ||
|
|
f63542dbd0 | ||
|
|
63e605d99c | ||
|
|
9e313bb2b3 | ||
|
|
a03fc4cf4a | ||
|
|
d18f92cfbf | ||
|
|
b96821ca44 | ||
|
|
c61ecdef7a | ||
|
|
b50ca63c2b | ||
|
|
f6624c0002 | ||
|
|
d62fc6e135 | ||
|
|
926c4d948f | ||
|
|
5fd87ca764 | ||
|
|
1042c50cc3 | ||
|
|
adff36c44b | ||
|
|
e8f6d2b990 | ||
|
|
a3b3262ad5 | ||
|
|
9efba82e94 | ||
|
|
781d465f8d | ||
|
|
766867f341 | ||
|
|
e237a44f56 | ||
|
|
249430449b | ||
|
|
73d935efe3 | ||
|
|
79251ef1d1 | ||
|
|
1081c0f16c | ||
|
|
3302b607f1 | ||
|
|
f13a3ee580 | ||
|
|
927969ac17 | ||
|
|
2d8aa4f8b5 | ||
|
|
645af4d2c0 | ||
|
|
34240d16b5 | ||
|
|
89210985d4 | ||
|
|
9d6258861a | ||
|
|
6661314be5 | ||
|
|
e187d026cc | ||
|
|
100b34085c | ||
|
|
ba75079409 | ||
|
|
cbb847704b | ||
|
|
739c99edce | ||
|
|
af2e2f5fd1 | ||
|
|
09fcf9c003 | ||
|
|
5dad0777d7 | ||
|
|
be3aa21651 | ||
|
|
abd729e45f | ||
|
|
162e9a9feb | ||
|
|
7500d017d5 | ||
|
|
e8c4004d5a | ||
|
|
a6f4d9d7cf | ||
|
|
3399278925 | ||
|
|
4457a317e6 | ||
|
|
990d082422 | ||
|
|
dfe3fbc02f | ||
|
|
c077dd0046 | ||
|
|
9cc6beead7 | ||
|
|
92f6792ad9 | ||
|
|
25031eadfb | ||
|
|
a7024615e1 | ||
|
|
8191a4bedb | ||
|
|
7e1f5aa353 | ||
|
|
44e161f6ec | ||
|
|
7bd17ed038 | ||
|
|
a47404130b | ||
|
|
669949aa8c | ||
|
|
c773bb90f6 | ||
|
|
18f525523b | ||
|
|
3bfd228df1 | ||
|
|
c072ab2dc5 | ||
|
|
53e06c5e86 | ||
|
|
b0a749bdc1 | ||
|
|
809443a46f | ||
|
|
59ef44dd71 | ||
|
|
d77973a29e | ||
|
|
be6bc16d3d | ||
|
|
407e926abe | ||
|
|
117655b011 | ||
|
|
2ea4a5a7ef | ||
|
|
30b0279efe | ||
|
|
7511701bb2 | ||
|
|
a919ae3430 | ||
|
|
c30ee24f8d | ||
|
|
10b5de571e | ||
|
|
c6f4ec7250 | ||
|
|
b229058726 | ||
|
|
21363794b6 | ||
|
|
1754d37ac0 | ||
|
|
1c36b185ec | ||
|
|
1a4b94e5df | ||
|
|
31bd8e1741 | ||
|
|
e8824ad1ac | ||
|
|
17636a5ecf | ||
|
|
8f36ff60de | ||
|
|
7ad605afba | ||
|
|
f080e8693e | ||
|
|
e27bf7868f | ||
|
|
db55fe9ff3 | ||
|
|
de4db0764c | ||
|
|
9d644b4625 | ||
|
|
354dc27e84 | ||
|
|
1c639474d3 | ||
|
|
4d8b47732e | ||
|
|
8650abf679 | ||
|
|
27dcc2ef48 | ||
|
|
94a12cd28c | ||
|
|
a982b64fd4 | ||
|
|
ee5b4bbf2e | ||
|
|
d09ddd8d07 | ||
|
|
c7bf47820c | ||
|
|
4dfb01d59e | ||
|
|
54bef6505f | ||
|
|
2aa71ed217 | ||
|
|
ef3b02b718 | ||
|
|
d90938421f | ||
|
|
e4992bbd17 | ||
|
|
7853b22522 | ||
|
|
9475215fa6 | ||
|
|
8622bbd2ac | ||
|
|
0cdcc252e0 | ||
|
|
9477cca8e8 | ||
|
|
176e427058 | ||
|
|
1bf26cacb9 | ||
|
|
38e8247483 | ||
|
|
44aa12108c | ||
|
|
dd73405aa9 | ||
|
|
6710393a53 | ||
|
|
711aee1c8b | ||
|
|
51be1048d5 | ||
|
|
50166f04d8 | ||
|
|
7eb6fea08b | ||
|
|
8e3c054da4 | ||
|
|
5249b67df1 | ||
|
|
583830c1c2 | ||
|
|
bb75f1c034 | ||
|
|
b7a9236283 | ||
|
|
7e0e172d37 | ||
|
|
ea37a34476 | ||
|
|
fb5564de07 | ||
|
|
cead7e9e4e | ||
|
|
7cf23b6c56 | ||
|
|
1080821862 | ||
|
|
0bf843ce2a | ||
|
|
b8bd8f5512 | ||
|
|
12fba30ef8 | ||
|
|
dc5cb74f4d | ||
|
|
446a524b5a | ||
|
|
121110aede | ||
|
|
c76a8562ea | ||
|
|
495d8069f5 | ||
|
|
70af6d0c35 | ||
|
|
9777d543b1 | ||
|
|
abfc6eea1e | ||
|
|
fd2f3e252c | ||
|
|
3b6d0065a2 | ||
|
|
51acf72e0d | ||
|
|
6ad724d80c | ||
|
|
7ffe2ab864 | ||
|
|
2f6febb748 | ||
|
|
092c897150 | ||
|
|
30f072f925 | ||
|
|
72d0282613 | ||
|
|
a56f766497 | ||
|
|
31b5583896 | ||
|
|
7c95bfc77e | ||
|
|
c6804fe589 | ||
|
|
fc41e282ce | ||
|
|
d3b21a4e39 | ||
|
|
7b6d9850a2 | ||
|
|
84d97817e3 | ||
|
|
2c6d2176bb | ||
|
|
7840d28ed2 | ||
|
|
d4fd2e6cd6 | ||
|
|
70e8385246 | ||
|
|
3fd23f1749 | ||
|
|
a3e3aea4e0 | ||
|
|
dcfb8ad8eb | ||
|
|
35f82e91bc | ||
|
|
f1533cb168 | ||
|
|
763fbec0ca | ||
|
|
111c893d94 | ||
|
|
80c38a45c5 | ||
|
|
548860607b | ||
|
|
66b5fe7337 | ||
|
|
2b2a117912 | ||
|
|
39a10fd167 | ||
|
|
93f8dbd42a | ||
|
|
4f280d0df8 | ||
|
|
5e9ff3278a | ||
|
|
b4b68f0e17 | ||
|
|
97bd324cb0 | ||
|
|
2738406710 | ||
|
|
8e78345cbe | ||
|
|
bd9e064137 | ||
|
|
eb49365bcb | ||
|
|
de92e28c7a | ||
|
|
c18f8fd87b | ||
|
|
34272cb4c4 | ||
|
|
b3f8a02494 | ||
|
|
f767a55350 | ||
|
|
9b2c3848d9 | ||
|
|
e34d016581 | ||
|
|
b64b447b42 | ||
|
|
c6a4c13394 | ||
|
|
c8822cb4ca | ||
|
|
c05e7218f3 | ||
|
|
01872d3440 | ||
|
|
91bbb3e4dc | ||
|
|
80ebd9fb0e | ||
|
|
2ab217251a | ||
|
|
2b20f6c74c | ||
|
|
042f855cd5 | ||
|
|
720ab7e0a3 | ||
|
|
4b1b100aa5 | ||
|
|
541b7e2a79 | ||
|
|
00cd3adc7b | ||
|
|
5a97a518a6 | ||
|
|
d7219068cd | ||
|
|
a79c07f095 | ||
|
|
9f27f70c87 | ||
|
|
8fa79db368 | ||
|
|
a1efa60741 | ||
|
|
a08a212fdc | ||
|
|
6166eb3743 | ||
|
|
5194fc5f15 | ||
|
|
1a97beb8cf | ||
|
|
99d23398ad | ||
|
|
6accdefb8c | ||
|
|
98fc64deaa | ||
|
|
30a8cefc37 | ||
|
|
9d47c3ccb3 | ||
|
|
5a1ab8d485 | ||
|
|
5d526f243e | ||
|
|
d13bb47ee7 | ||
|
|
8b8c6ee861 | ||
|
|
0a2d95e434 | ||
|
|
fdd119c477 | ||
|
|
4f94ca1384 | ||
|
|
ed21ee8bdb | ||
|
|
efd257dee0 | ||
|
|
bacf391a39 | ||
|
|
e8a1543466 | ||
|
|
81c79003ec | ||
|
|
73cf9661ac | ||
|
|
6e994b0ae1 | ||
|
|
c5da975cea | ||
|
|
1f3ef962e8 | ||
|
|
f6066a0361 | ||
|
|
ace65cf261 | ||
|
|
1df537ce5c | ||
|
|
bf64f6b4f4 | ||
|
|
0283ec574d | ||
|
|
d566f64e8b | ||
|
|
bb9add9da9 | ||
|
|
75d085a2c4 | ||
|
|
4eab07ffaf | ||
|
|
cf7aaa25cd | ||
|
|
8011b22de6 | ||
|
|
a108489d71 | ||
|
|
185c132771 | ||
|
|
3b11e905a1 | ||
|
|
5a04fe7ae6 | ||
|
|
92c73062cc | ||
|
|
d07624bdc1 | ||
|
|
e1dbe80ccd | ||
|
|
6d69a52292 | ||
|
|
68af5479c8 | ||
|
|
3970eca8dc | ||
|
|
b11d36c3a5 | ||
|
|
3c53fd8618 | ||
|
|
4ca4c57fff | ||
|
|
317a6fde30 | ||
|
|
ad08d385e6 | ||
|
|
805e12aceb | ||
|
|
3a45912400 | ||
|
|
19817e2659 | ||
|
|
50dc205ef7 | ||
|
|
2402a3ac72 | ||
|
|
e1c155d09d | ||
|
|
84c3bc4ad4 | ||
|
|
353784c23e | ||
|
|
a359624f01 | ||
|
|
a0f684cfdf | ||
|
|
1ea1e74a0c | ||
|
|
8f7c5fc922 | ||
|
|
667ef680c1 | ||
|
|
972ab0df50 | ||
|
|
1fddc01f6e | ||
|
|
bb2e77d899 | ||
|
|
a3daf13c15 | ||
|
|
fb2b2e37ce | ||
|
|
c1381179aa | ||
|
|
9e2dc3f892 | ||
|
|
5aa548d613 | ||
|
|
5225a95d3a | ||
|
|
53b7a1fce5 | ||
|
|
02369a4949 | ||
|
|
1ca548991b | ||
|
|
0772070523 | ||
|
|
4bf3848856 | ||
|
|
512425de4c | ||
|
|
7f28bd6a26 | ||
|
|
4088b2c1e8 | ||
|
|
919d55c002 | ||
|
|
068bbd0c3b | ||
|
|
9f50528192 | ||
|
|
4c149cf01c | ||
|
|
c86c706406 | ||
|
|
3b0a0f55b5 | ||
|
|
4232b8184e | ||
|
|
e5f3dfe293 | ||
|
|
22af94d36a | ||
|
|
d6b6781861 | ||
|
|
2222299793 | ||
|
|
fdd9a184b5 | ||
|
|
99492e3f8e | ||
|
|
a42c40bbc1 | ||
|
|
2794f9fcfc | ||
|
|
28c0262e74 | ||
|
|
8634191bd2 | ||
|
|
f73c86d533 | ||
|
|
f042d709ac | ||
|
|
e2a6149a93 | ||
|
|
b2a7e2c7e2 | ||
|
|
89fc143075 | ||
|
|
a754a92799 | ||
|
|
dc26fcf609 | ||
|
|
b9db57eeef | ||
|
|
9b377c727d | ||
|
|
e5b8d81bb4 | ||
|
|
c85b31a7d5 | ||
|
|
6580e5458a | ||
|
|
4e4e65eaa6 | ||
|
|
9d19aad384 | ||
|
|
c16a9f234b | ||
|
|
ace551c33d | ||
|
|
1e6e686692 | ||
|
|
afdcc3f7c0 | ||
|
|
00e64bc46c | ||
|
|
a959e1820f | ||
|
|
3dfbdbfe51 | ||
|
|
5c46dc0bd3 | ||
|
|
db60db674f | ||
|
|
687a4f14e1 | ||
|
|
bb10365b8b | ||
|
|
74ed3bf6a0 | ||
|
|
d1d7fdc488 | ||
|
|
67775a4c62 | ||
|
|
317b5cb096 | ||
|
|
2929517d7e | ||
|
|
51e788396d | ||
|
|
1321653bf6 | ||
|
|
3899854854 | ||
|
|
c0ca842ba7 | ||
|
|
24b05d28db | ||
|
|
f0268b105c | ||
|
|
0a46e180a9 | ||
|
|
e6a215a9c3 | ||
|
|
8ca7117065 | ||
|
|
ba0a07b835 | ||
|
|
4a35b65c2c | ||
|
|
836fa47812 | ||
|
|
5b658ef6ff | ||
|
|
e9ff24d9a7 | ||
|
|
a92051a4c3 | ||
|
|
77b3650580 | ||
|
|
67ee6857ad | ||
|
|
5ab15c0a14 | ||
|
|
96a3f2c301 | ||
|
|
85707264c4 | ||
|
|
ed05422ea8 | ||
|
|
8f10c8051e | ||
|
|
41fff399b5 | ||
|
|
9e237647b0 | ||
|
|
1be53c6746 | ||
|
|
f2368b03c0 | ||
|
|
95284c0b36 | ||
|
|
f1e21a93fb | ||
|
|
689811f659 | ||
|
|
33ccb4e98c | ||
|
|
29f6e98f9c | ||
|
|
775c8cc064 | ||
|
|
9a974d047c | ||
|
|
3fd252d2db | ||
|
|
43edb034c8 | ||
|
|
e629ca391e | ||
|
|
0db7eba3f2 | ||
|
|
a472abc88e | ||
|
|
861c619c19 | ||
|
|
124f331963 | ||
|
|
76fcd44191 | ||
|
|
2124c0b88c | ||
|
|
2f5ab8e3b9 | ||
|
|
32c8b6914b | ||
|
|
7e9d940f64 | ||
|
|
59e826b630 | ||
|
|
88f3ee4b13 | ||
|
|
b7380a084e | ||
|
|
cb65e790ae | ||
|
|
573eabee93 | ||
|
|
f0d4c6546a | ||
|
|
b0943c87c8 | ||
|
|
4f1208ea98 | ||
|
|
82b056bd43 | ||
|
|
4c417daee5 | ||
|
|
28c47dd9c7 | ||
|
|
02f16639ea | ||
|
|
cd5e28c0b8 | ||
|
|
6f7579f8d9 | ||
|
|
cd62220ba0 | ||
|
|
96e6aa89e3 | ||
|
|
f1d2a71b49 | ||
|
|
fd4fe0dc0d | ||
|
|
3d5e4a4225 | ||
|
|
10ffb452d0 | ||
|
|
3218bddbdc | ||
|
|
59f78dcbcb | ||
|
|
0fe062a02f | ||
|
|
869eaf8cfd | ||
|
|
5b445c9736 | ||
|
|
6f3f3eaa99 | ||
|
|
a23ce92676 | ||
|
|
ad55d5199d | ||
|
|
bd05895761 | ||
|
|
c68dd6c891 | ||
|
|
daae9ae1e7 | ||
|
|
33dde75ae1 | ||
|
|
b2e1e1796d | ||
|
|
c4a682773c | ||
|
|
07e1873cb3 | ||
|
|
14d0c4dc32 | ||
|
|
19f79b6e54 | ||
|
|
e0b9fc9481 | ||
|
|
16c28ad938 | ||
|
|
0e5af9ffa9 | ||
|
|
a0f6f03d4e | ||
|
|
f4cdfc5f32 | ||
|
|
b45988705b | ||
|
|
dd50239759 | ||
|
|
7297a07466 | ||
|
|
e5fa43f91c | ||
|
|
88080c8d02 | ||
|
|
d38dfee540 | ||
|
|
4da6a7b6f9 | ||
|
|
957dfeed6d | ||
|
|
aa5a07b98e | ||
|
|
fd1ee07297 | ||
|
|
07026125a9 | ||
|
|
badb747d24 | ||
|
|
e27c20d600 | ||
|
|
eb46c94c7c | ||
|
|
2e58f82a61 | ||
|
|
df28013b18 | ||
|
|
8f4e285974 | ||
|
|
08c4eeeefe | ||
|
|
1fdc2c629c | ||
|
|
a6767a1c3d | ||
|
|
c539d6b643 | ||
|
|
80c3ffdfd7 | ||
|
|
f80f2106fe | ||
|
|
cbfae66882 | ||
|
|
8a5014fcbe | ||
|
|
54d1bff213 | ||
|
|
0075664b9a | ||
|
|
a2c26f0f2c | ||
|
|
45f41a13e4 | ||
|
|
faae237ac5 | ||
|
|
e01758e74c | ||
|
|
db7dd31c79 | ||
|
|
7d7ac5e2be | ||
|
|
577016a33f | ||
|
|
fdf2102923 | ||
|
|
8b47e57be0 | ||
|
|
8dad6b64b0 | ||
|
|
05d36abdab | ||
|
|
04e31c5b4f | ||
|
|
6470428a85 | ||
|
|
a7efb3989a | ||
|
|
32072d0bbf | ||
|
|
78a3e4454d | ||
|
|
1ff68111b4 | ||
|
|
e576178e1e | ||
|
|
0f8bc2b03d | ||
|
|
43565458d4 | ||
|
|
71cc3be6d5 | ||
|
|
9a8eef7b19 | ||
|
|
a08c4368b7 | ||
|
|
3b456b2aab | ||
|
|
31559418ba | ||
|
|
692a6e43bc | ||
|
|
af4cce654c | ||
|
|
c63b02fd4a | ||
|
|
e6974b6e51 | ||
|
|
da3b7dbeff | ||
|
|
9737bd7012 | ||
|
|
55fd8e5e2d | ||
|
|
9c4f181d93 | ||
|
|
374342cfc1 | ||
|
|
6fbdd237d1 | ||
|
|
4e78f01a09 | ||
|
|
8853264808 | ||
|
|
6db9b8038f | ||
|
|
c73e89ccd4 | ||
|
|
f58a506780 | ||
|
|
411d19e74e | ||
|
|
bd51ffd9d2 | ||
|
|
83980fdccd | ||
|
|
baab243bc8 | ||
|
|
4dd8e1dc63 | ||
|
|
0b11b8b084 | ||
|
|
704775dc60 | ||
|
|
c7a7be1de0 | ||
|
|
e21a970977 | ||
|
|
a526dcf2dd | ||
|
|
a7b48d63e4 | ||
|
|
3677906e95 | ||
|
|
e86710fbbd | ||
|
|
73e850493a | ||
|
|
7d735f6f8a | ||
|
|
043e99a9eb | ||
|
|
65e079b1d3 | ||
|
|
32e6f584d8 | ||
|
|
ebc5219ce6 | ||
|
|
ad8e620bdf | ||
|
|
8590c693b9 | ||
|
|
5568acc5f3 | ||
|
|
c467594199 | ||
|
|
8b29bf7d93 | ||
|
|
43b7f83082 | ||
|
|
9ef5c981ef | ||
|
|
f027ac34d4 | ||
|
|
2ea31d6869 | ||
|
|
a1af7d0f9c | ||
|
|
797bf37bfa | ||
|
|
7f78815c11 | ||
|
|
d8a3f308ed | ||
|
|
74e18a982d | ||
|
|
e86ad423c5 | ||
|
|
2f00060c57 | ||
|
|
3b7e6aa68e | ||
|
|
5f3d6242fd | ||
|
|
6793a86bae | ||
|
|
d99ce20529 | ||
|
|
93e7b604cd | ||
|
|
59c18056fc | ||
|
|
5c81ce9b68 | ||
|
|
c9cf62701f | ||
|
|
f65babca4b | ||
|
|
23c146fc5d | ||
|
|
e14f336142 | ||
|
|
54647be5bd | ||
|
|
9517d65646 | ||
|
|
0156e401fa | ||
|
|
d6e2bc464d | ||
|
|
5124ff593d | ||
|
|
727c90afdc | ||
|
|
9ebd5e3265 | ||
|
|
d120142127 | ||
|
|
f9e4cddcaf | ||
|
|
8f64f174d9 | ||
|
|
d6817796b3 | ||
|
|
ab19d473c4 | ||
|
|
48f0116358 | ||
|
|
d8e6e97845 | ||
|
|
9a8920788c | ||
|
|
27864a3a3c | ||
|
|
b39e863591 | ||
|
|
d8d18ed25c | ||
|
|
7661e8cadd | ||
|
|
7d3c7a0c61 | ||
|
|
7375ff9f97 | ||
|
|
5df6ec8985 | ||
|
|
83fd2648f5 | ||
|
|
8e81758941 | ||
|
|
41a6a29771 | ||
|
|
9a8479ee58 | ||
|
|
73766f11eb | ||
|
|
a22878e2c5 | ||
|
|
1a2eb9d1e7 | ||
|
|
277ace3c8e | ||
|
|
40f376dbd9 | ||
|
|
444af0935e | ||
|
|
fb15fa0e43 | ||
|
|
bcd3e14870 | ||
|
|
c18702dcea | ||
|
|
1341ef9c52 | ||
|
|
f605a8d085 | ||
|
|
e0f7a7a3c6 | ||
|
|
1d72bed442 | ||
|
|
284b8e7c16 | ||
|
|
ff9fb24094 | ||
|
|
fde4448dd0 | ||
|
|
d16ce90a3d | ||
|
|
3ed5525956 | ||
|
|
855d1e12aa | ||
|
|
e03797a58f | ||
|
|
f0d38cf8ec | ||
|
|
2723580e17 | ||
|
|
1977aa481d | ||
|
|
4b36a8f831 | ||
|
|
96b56e38ba | ||
|
|
849d117ad3 | ||
|
|
8d57fca779 | ||
|
|
0dc867306b | ||
|
|
eefb4c01ec | ||
|
|
ccce499f7f | ||
|
|
9f11eaa4d3 | ||
|
|
7b85c0e55f | ||
|
|
7e92f1abd5 | ||
|
|
825f2518e9 | ||
|
|
def1e877db | ||
|
|
6acbd5b2cf | ||
|
|
73b7aef4a9 | ||
|
|
3d73e3922b | ||
|
|
224e44151f | ||
|
|
d9c1293985 | ||
|
|
849a40d4b5 | ||
|
|
177387e9b0 | ||
|
|
cacce54714 | ||
|
|
12082322ee | ||
|
|
7e0a5b7fec | ||
|
|
d2cf4afc81 | ||
|
|
3e0a50926f | ||
|
|
cce62de075 | ||
|
|
dff816324d | ||
|
|
d9450df7e9 | ||
|
|
41fc81fab6 | ||
|
|
aa35498bdd | ||
|
|
a33e2c6e36 | ||
|
|
75ef82d18a | ||
|
|
eb3c522122 | ||
|
|
6c8bcfc62e | ||
|
|
14becd0bd6 | ||
|
|
7390e21934 | ||
|
|
e408eb43bb | ||
|
|
dc0aa0851e | ||
|
|
51d7c43489 | ||
|
|
6b37967162 | ||
|
|
a03b9584ee | ||
|
|
34649dfeda | ||
|
|
bc84cfc2c8 | ||
|
|
bcba1f068b | ||
|
|
e6f30ef86b | ||
|
|
9e67999ef0 | ||
|
|
be75cef752 | ||
|
|
19ead71b48 | ||
|
|
7ebe1d6c62 | ||
|
|
2331b58b87 | ||
|
|
d495b04d85 | ||
|
|
751a8703ef | ||
|
|
1e6d26221d | ||
|
|
44a8e98c7b | ||
|
|
415519716e | ||
|
|
597f86dc7b | ||
|
|
579ed19949 | ||
|
|
9221bfa045 | ||
|
|
3057a31a6c | ||
|
|
d47ccf587c | ||
|
|
3e78d423ac | ||
|
|
0299cee5ec | ||
|
|
97ceffe689 | ||
|
|
9019d93449 | ||
|
|
32006e02c0 | ||
|
|
5ba0f6d51e | ||
|
|
c004d501f6 | ||
|
|
6067fa0fca | ||
|
|
e2c6658e59 | ||
|
|
0a6e50cbbe | ||
|
|
3732963d4b | ||
|
|
83bcbef6ce | ||
|
|
47cb4d1c49 | ||
|
|
32799cead7 | ||
|
|
dbedc2166b | ||
|
|
e86b404ca2 | ||
|
|
321a3a72f0 | ||
|
|
b512e7c390 | ||
|
|
ae7ead6272 | ||
|
|
db55719a6f | ||
|
|
4e1094e75b | ||
|
|
3fd97662f5 | ||
|
|
d6946b93c3 | ||
|
|
20217058fe | ||
|
|
e67365a19f | ||
|
|
c2f1817c6a | ||
|
|
4a948d9b01 | ||
|
|
377bc2703b | ||
|
|
196890b26f | ||
|
|
491fc2c164 | ||
|
|
1bed38f175 | ||
|
|
b124c31f65 | ||
|
|
8c588cbd66 | ||
|
|
334753b1ad | ||
|
|
f6e7401d1b | ||
|
|
ab564cc2d4 | ||
|
|
b10839a5c2 | ||
|
|
bb3323fb0e | ||
|
|
0b15ecbacd | ||
|
|
9f6afaed07 | ||
|
|
925420734e | ||
|
|
fb6bb12c52 | ||
|
|
22d12d0488 | ||
|
|
6888d959e1 | ||
|
|
65e66f52f6 | ||
|
|
225abfa126 | ||
|
|
876757f2d4 | ||
|
|
7e77398645 | ||
|
|
73c76a5a88 | ||
|
|
e5fca0d6cc | ||
|
|
eed7e5177f | ||
|
|
dd54ab31cb | ||
|
|
0085cb24ad | ||
|
|
6a758902ef | ||
|
|
0d81a9a9b6 | ||
|
|
6e4f6da633 | ||
|
|
15118ca5c1 | ||
|
|
8161560757 | ||
|
|
9ba564c864 | ||
|
|
06b5b92673 | ||
|
|
a417c373f1 | ||
|
|
5f5cc8d454 | ||
|
|
b9b6589bd7 | ||
|
|
b79f6a5fa0 | ||
|
|
0acbaeae86 | ||
|
|
bd046da3d0 | ||
|
|
a889ed7c46 | ||
|
|
e24684cb2b | ||
|
|
5f939c18b4 | ||
|
|
140f1eb31b | ||
|
|
d412dd5009 | ||
|
|
41e49423b2 | ||
|
|
8643bfeb37 | ||
|
|
31b6adf0e5 | ||
|
|
f1ac2b3507 | ||
|
|
172af307a6 | ||
|
|
135e1ef73d | ||
|
|
da55bf6af3 | ||
|
|
883a9c8b17 | ||
|
|
7da89940e3 | ||
|
|
3233b0ae3c | ||
|
|
4c2ed09915 | ||
|
|
256b6c480f | ||
|
|
dc311837f9 | ||
|
|
92aec48c99 | ||
|
|
a6ada8c457 | ||
|
|
dcc601502e | ||
|
|
dd58d8c804 | ||
|
|
2ade54b7e3 | ||
|
|
136c5854f3 | ||
|
|
c597238d9c | ||
|
|
2552a58e08 | ||
|
|
74ad5872a3 | ||
|
|
485d502bd3 | ||
|
|
47bc8d030e | ||
|
|
48fe7133f7 | ||
|
|
5d962dc5e4 | ||
|
|
31e8e5a951 | ||
|
|
858373c628 | ||
|
|
7f142d2c0d | ||
|
|
08b86232a8 | ||
|
|
6bf4f42fdb | ||
|
|
f3c7de36d8 | ||
|
|
19f556de57 | ||
|
|
e4467df411 | ||
|
|
8d305a1fb1 | ||
|
|
b47153e645 | ||
|
|
c71766c84b | ||
|
|
23e4d679ae | ||
|
|
182acb2e02 | ||
|
|
b255b15006 | ||
|
|
b458f88161 | ||
|
|
398d8f2f1c | ||
|
|
85c1a56cbf | ||
|
|
da216c6960 | ||
|
|
bc91b153bf | ||
|
|
bc50b47d3a | ||
|
|
aed15a7f25 | ||
|
|
a1f09117b0 | ||
|
|
0a4a4a51ca | ||
|
|
f7fd53bf09 | ||
|
|
cbfb863a54 | ||
|
|
9d56d72611 | ||
|
|
527c91ff9d | ||
|
|
c58c2d6700 | ||
|
|
5518eca952 | ||
|
|
6e2b67ec0b | ||
|
|
837b1e44a7 | ||
|
|
e04c230c6e | ||
|
|
a01b5a4a59 | ||
|
|
427b6ce846 | ||
|
|
b7b5af2b72 | ||
|
|
39fec57f72 | ||
|
|
238dedb6df | ||
|
|
af091117b7 | ||
|
|
ddea4e12f0 | ||
|
|
9767903252 | ||
|
|
bc75f9f8a2 | ||
|
|
63627fc1d0 | ||
|
|
c23985c1a7 | ||
|
|
af58e99dcf | ||
|
|
676670e9e3 | ||
|
|
823c52e941 | ||
|
|
7f42007648 | ||
|
|
7214ef21d2 | ||
|
|
18a4492975 | ||
|
|
99f73b1016 | ||
|
|
0c1ce6a088 | ||
|
|
ae6291ab83 | ||
|
|
617fcf7c99 | ||
|
|
9df4a74837 | ||
|
|
966d4251be | ||
|
|
84b2e9cdcd | ||
|
|
e29d63c91a | ||
|
|
805d2b8e79 | ||
|
|
9983fd1292 | ||
|
|
1de202e927 | ||
|
|
4eb9f4a485 | ||
|
|
a8801e4e41 | ||
|
|
ee1c84dbf2 | ||
|
|
e40e1fa6cd | ||
|
|
055f648ea2 | ||
|
|
37a399c3a2 | ||
|
|
bc0b11b60a | ||
|
|
65a1ca7146 | ||
|
|
2293030d4e | ||
|
|
2848f07b83 | ||
|
|
55224ddcd8 | ||
|
|
054ae75b6b | ||
|
|
c83fab611e | ||
|
|
29baf1223c | ||
|
|
2a60f607ff | ||
|
|
78f4d26aa0 | ||
|
|
f59e86f5ca | ||
|
|
1c2af36c92 | ||
|
|
badbe73f4e | ||
|
|
a9d58698cd | ||
|
|
bb3f086aa6 | ||
|
|
2db674bb03 | ||
|
|
4bc4a16a80 | ||
|
|
d88a105628 | ||
|
|
15d0c5b506 | ||
|
|
dbde79d2f2 | ||
|
|
e6e3786b47 | ||
|
|
4c1b8004fc | ||
|
|
ff4052f097 | ||
|
|
13c206d068 | ||
|
|
5b875d7c73 | ||
|
|
e33dd9008b | ||
|
|
8764910553 | ||
|
|
4c89c40944 | ||
|
|
0f0986afcf | ||
|
|
5d5f1f8bdd | ||
|
|
03e386b3ce | ||
|
|
435eac7ae6 | ||
|
|
bd5df3977d | ||
|
|
ba218053f9 | ||
|
|
1fe448a83b | ||
|
|
26a45d0117 | ||
|
|
320585a530 | ||
|
|
ca0f888a99 | ||
|
|
3b08dc2e41 | ||
|
|
cc128a49c1 | ||
|
|
e0148695f2 | ||
|
|
afe0b1dd71 | ||
|
|
353852d6da | ||
|
|
28585d1a3d | ||
|
|
9d69a48c65 | ||
|
|
2f95c76634 | ||
|
|
eac9f0e6ff | ||
|
|
043fc21e05 | ||
|
|
5854a75615 | ||
|
|
7b02946496 | ||
|
|
70f0ffd4f4 | ||
|
|
91b82c2652 | ||
|
|
b1017140aa | ||
|
|
fc806b8813 | ||
|
|
836913482b | ||
|
|
b3df3f44c6 | ||
|
|
4ffbf89e74 | ||
|
|
9851c7d93d | ||
|
|
a10188260c | ||
|
|
2201f2b202 | ||
|
|
c92e71bb7a | ||
|
|
d271fac350 | ||
|
|
ce4522fc30 | ||
|
|
a178c48de6 | ||
|
|
9d1323a044 | ||
|
|
43babfed94 | ||
|
|
6fa7ea30fb | ||
|
|
d78315695b | ||
|
|
16021865cb | ||
|
|
b516be242d | ||
|
|
0124f7cc3c | ||
|
|
f3eec35287 | ||
|
|
fb396a33b0 | ||
|
|
3370499421 | ||
|
|
d847e27cf9 | ||
|
|
9684b158ce | ||
|
|
8456808a8e | ||
|
|
9747899a19 | ||
|
|
099304605e | ||
|
|
30994d0465 | ||
|
|
71fdbe7b71 | ||
|
|
86432c5ffe | ||
|
|
4dfa1fb0f8 | ||
|
|
db59a7652f | ||
|
|
417470a81c | ||
|
|
cc639da17e | ||
|
|
f619f4a9bc | ||
|
|
5dffc2a64e | ||
|
|
bb63a8d14c | ||
|
|
c1263cc16d | ||
|
|
49f2e7d70f | ||
|
|
f93b535f70 | ||
|
|
e16d3c823b | ||
|
|
7a6fdbcf50 | ||
|
|
46041a3762 | ||
|
|
20b0553f7f | ||
|
|
5870cacf44 | ||
|
|
cb512cd98d | ||
|
|
90487eb7b7 | ||
|
|
706fa77de3 | ||
|
|
26b14ded58 | ||
|
|
3b1367dd8e | ||
|
|
e1f310317d | ||
|
|
937814ec5d | ||
|
|
b55fc649a6 | ||
|
|
f4e4506517 | ||
|
|
287a0b6669 | ||
|
|
5bddd352af | ||
|
|
9c6ea8fb9d | ||
|
|
32e8bf46a7 | ||
|
|
d61fe1bf84 | ||
|
|
47dbea947d | ||
|
|
97c6b0495e | ||
|
|
a602ece8e9 | ||
|
|
cf6dca84d8 | ||
|
|
79432ff8ad | ||
|
|
b8613431de | ||
|
|
698eafa562 | ||
|
|
d33886db89 | ||
|
|
cde09d3a59 | ||
|
|
5674f0e980 | ||
|
|
b9ade60eb2 | ||
|
|
96303723fa | ||
|
|
0f5dbc5788 | ||
|
|
8df0c3a439 | ||
|
|
ca6a86816a | ||
|
|
3ea939798f | ||
|
|
d947410e3c | ||
|
|
db59bc08ac | ||
|
|
95a8649f79 | ||
|
|
ffd10122ed | ||
|
|
c4c39f36e9 | ||
|
|
96900c3cbf | ||
|
|
69fa370d12 | ||
|
|
7496437d11 | ||
|
|
33b7d09af7 | ||
|
|
53d0974760 | ||
|
|
a87399f223 | ||
|
|
975dfb17e1 | ||
|
|
8b8bd0289b | ||
|
|
3bb69c623b | ||
|
|
dd427bdbef | ||
|
|
b40657a14a | ||
|
|
21ca5b2eec | ||
|
|
b78d584d8a | ||
|
|
e6b666a66a | ||
|
|
bab93ea4f5 | ||
|
|
70c386a934 | ||
|
|
08eb21844a | ||
|
|
7b37d6b571 | ||
|
|
7fe98253ae | ||
|
|
13385cbced | ||
|
|
f52bd2bcc0 | ||
|
|
3f20cec7b2 | ||
|
|
a0e4b020ca | ||
|
|
ea5d898b27 | ||
|
|
4e652b5ccd | ||
|
|
dd809896c8 | ||
|
|
93536d3365 | ||
|
|
098b18fe6d | ||
|
|
66efdac757 | ||
|
|
45545d3815 | ||
|
|
b65d41731b | ||
|
|
be19e97518 | ||
|
|
2ebf2b99bd | ||
|
|
be79ac2eb2 | ||
|
|
05afec3236 | ||
|
|
57879eb72e | ||
|
|
2bc915f51b | ||
|
|
1ca55805b5 | ||
|
|
93cc1be166 | ||
|
|
f88ce3f671 | ||
|
|
20aabfc273 | ||
|
|
601f8c4249 | ||
|
|
d0ccfc52b8 | ||
|
|
c22aef8ee2 | ||
|
|
3807e61a48 | ||
|
|
55722f87af | ||
|
|
212f3725ed | ||
|
|
193a312b22 | ||
|
|
6a2d2ebfd1 | ||
|
|
82beed1f44 | ||
|
|
0ede7e9921 | ||
|
|
6d200aa340 | ||
|
|
a0fbb90048 | ||
|
|
08e29e7077 | ||
|
|
d2317d0a97 | ||
|
|
972628eb65 | ||
|
|
51a56356cb | ||
|
|
3bef71f5f2 | ||
|
|
2bb1f6168a | ||
|
|
b13820fc0e | ||
|
|
723de9e81e | ||
|
|
3e161353ed | ||
|
|
2a8706630a | ||
|
|
121b6ee641 | ||
|
|
34e299bf52 | ||
|
|
0822b7b5f3 | ||
|
|
618110327a | ||
|
|
f58f476060 | ||
|
|
f5a544603a | ||
|
|
89515cd087 | ||
|
|
37731c4163 | ||
|
|
1d4720d784 | ||
|
|
a10b053489 | ||
|
|
6122c8a1e1 | ||
|
|
fa9254c240 | ||
|
|
10616bca7d | ||
|
|
307f7e15e9 | ||
|
|
86cf97d76b | ||
|
|
01f6590c04 | ||
|
|
8f0c22bae9 | ||
|
|
652a68c5b1 | ||
|
|
1f56e1360d | ||
|
|
38475ffefe | ||
|
|
7a44a4d726 | ||
|
|
9dbc0c3fd6 | ||
|
|
56bb43ea6b | ||
|
|
b287c1f60d | ||
|
|
258d53b7a6 | ||
|
|
2e11d6dd78 | ||
|
|
a2a2e22485 | ||
|
|
c182cde14b | ||
|
|
104c3bc89d | ||
|
|
2668977918 | ||
|
|
28424c96c4 | ||
|
|
9cfa8c594b | ||
|
|
5c70cd654c | ||
|
|
7aca24e51d | ||
|
|
cce0b67871 | ||
|
|
606cd83f44 | ||
|
|
32897c36f9 | ||
|
|
92e4e12655 | ||
|
|
c8e5b75165 | ||
|
|
09b9a52ad3 | ||
|
|
33378c6464 | ||
|
|
259bcfc14f | ||
|
|
c361d24ba4 | ||
|
|
d5e1b18b52 | ||
|
|
684a17a15b | ||
|
|
66b7b69d20 | ||
|
|
57254f6366 | ||
|
|
c64909ab1a | ||
|
|
34dd8541f4 | ||
|
|
50b4fb154d | ||
|
|
0b3781ec8a | ||
|
|
0e1d184715 | ||
|
|
d8c27046f6 | ||
|
|
fd09058a7d | ||
|
|
1c99b57709 | ||
|
|
9ee739d102 | ||
|
|
e2cde81b72 | ||
|
|
84a4b8fd92 | ||
|
|
d2c94909cb | ||
|
|
3683a5fb7d | ||
|
|
1223bf2fd8 | ||
|
|
a9bfe0dfab | ||
|
|
9af81c7093 | ||
|
|
1e8a5c3cde | ||
|
|
707ad866e1 | ||
|
|
c3a944b40e | ||
|
|
ab80cb8f60 | ||
|
|
4f45e047d2 | ||
|
|
bbe455ac49 | ||
|
|
b5f173fa46 | ||
|
|
4bd6ef143a | ||
|
|
fd4a696303 | ||
|
|
4af4c4e7c6 | ||
|
|
3b2e42fd61 | ||
|
|
b07d0b028f | ||
|
|
f3900ca8f9 | ||
|
|
62d43f120a | ||
|
|
c4f69fbd13 | ||
|
|
fece20ff40 | ||
|
|
bbef4b22ca | ||
|
|
481a2d213f | ||
|
|
8ed4075f1e | ||
|
|
9bf82733d1 | ||
|
|
30d66f95bc | ||
|
|
378c2c39a8 | ||
|
|
daf5fc434c | ||
|
|
e5bf90ed26 | ||
|
|
1bf3146220 | ||
|
|
ddd51850f0 | ||
|
|
e14a0c3770 | ||
|
|
b0b318ce30 | ||
|
|
6f666ca49f | ||
|
|
0cb2116bdf | ||
|
|
280113497b | ||
|
|
5f6e318329 | ||
|
|
f8921b6f10 | ||
|
|
31a08abff2 | ||
|
|
0fa1e11c5a | ||
|
|
e2c99a46be | ||
|
|
1edff41690 | ||
|
|
6d6f529d40 | ||
|
|
e2fd7d9d8e | ||
|
|
61146687b3 | ||
|
|
1d1f7fa581 | ||
|
|
67da88fab5 | ||
|
|
fb3ed70215 | ||
|
|
2fceeeee4e | ||
|
|
67102822e8 | ||
|
|
d00a0f1571 | ||
|
|
6175eb7c08 | ||
|
|
db5395ddbc | ||
|
|
7698f12112 | ||
|
|
1e8224536b | ||
|
|
a846c77c7e | ||
|
|
29812f4a82 | ||
|
|
a863951d97 | ||
|
|
146be677ba | ||
|
|
03b5f7feb8 | ||
|
|
6d54361a6d | ||
|
|
f440421ed1 | ||
|
|
e57464fc5e | ||
|
|
2a4b0f5ddb | ||
|
|
bb66e2201f | ||
|
|
4dc60e887f | ||
|
|
f6eb2e2dc8 | ||
|
|
9ecc10ab21 | ||
|
|
d7037a43c6 | ||
|
|
2471b8dfe0 | ||
|
|
0430cb49f9 | ||
|
|
7811926779 | ||
|
|
9bb66a4297 | ||
|
|
70772f0d74 | ||
|
|
728b00e4c3 | ||
|
|
97008ef984 | ||
|
|
6b86406e94 | ||
|
|
4252c364a4 | ||
|
|
4f4bc0321b | ||
|
|
6ecabe4588 | ||
|
|
93fa8484c5 | ||
|
|
ff2e55e82c | ||
|
|
259637ce3c | ||
|
|
743b9b759a | ||
|
|
73ba0b348b | ||
|
|
e93769cc81 | ||
|
|
68f9739eed | ||
|
|
c3d25b7a71 | ||
|
|
aaa582ff1a | ||
|
|
debc798aec | ||
|
|
6042f0e1e0 | ||
|
|
e10d02f45c | ||
|
|
aebf4ff728 | ||
|
|
1a2e89c9ed | ||
|
|
e10e2748b9 | ||
|
|
f422936e34 | ||
|
|
4e87f21405 | ||
|
|
dc2d79b16c | ||
|
|
88a3100563 | ||
|
|
8d3433a0e7 | ||
|
|
0fe30e5629 | ||
|
|
ea1e9037c4 | ||
|
|
24feeb17be | ||
|
|
6a7fc55572 | ||
|
|
cf047a8cee | ||
|
|
896420f8dc | ||
|
|
ebb9d9329a | ||
|
|
619f72d929 | ||
|
|
dc21e8388e | ||
|
|
8c35310cd6 | ||
|
|
642e8bbb7c | ||
|
|
3ee4143235 | ||
|
|
c136823170 | ||
|
|
92631fbfcf | ||
|
|
5a1b1a4485 | ||
|
|
3e82534c78 | ||
|
|
dd694d27b5 | ||
|
|
1900aefe32 | ||
|
|
2fe6b8c1e7 | ||
|
|
ecfaa0247a | ||
|
|
9a0cc9e043 | ||
|
|
b0360db105 | ||
|
|
0f9c95c15a | ||
|
|
8efd1da7e6 | ||
|
|
52ebba43d5 | ||
|
|
790eee7443 | ||
|
|
9f325290e8 | ||
|
|
93bf0a9a47 | ||
|
|
bdd0af21a9 | ||
|
|
aae5fe387b | ||
|
|
257c5aef51 | ||
|
|
3cae337487 | ||
|
|
779df30ec8 | ||
|
|
5609507991 | ||
|
|
1c24090c14 | ||
|
|
7da2c650d2 | ||
|
|
27fa9df2ee | ||
|
|
63c4e12259 | ||
|
|
1f66670819 | ||
|
|
a7b4f8de8d | ||
|
|
ad0d57fbf9 | ||
|
|
cfc594805b | ||
|
|
52461e673c | ||
|
|
a97edb7ef5 | ||
|
|
7a1c872861 | ||
|
|
0e5591017a | ||
|
|
a104157c9a | ||
|
|
ad244adbfa | ||
|
|
3721b328a6 | ||
|
|
dd688f48b7 | ||
|
|
296a0b2124 | ||
|
|
b9cc46e5ef | ||
|
|
375211fc30 | ||
|
|
b8b59f9dcd | ||
|
|
6760ff34ef | ||
|
|
c5de7811c4 | ||
|
|
82ef5457b0 | ||
|
|
d558476cd2 | ||
|
|
644701d995 | ||
|
|
1382d59206 | ||
|
|
b60e2c07c7 | ||
|
|
86f0307633 | ||
|
|
1db891a771 | ||
|
|
c9fa3291f5 | ||
|
|
e0f1658120 | ||
|
|
da105b7180 | ||
|
|
9c4f7cc530 | ||
|
|
d7eef8bd25 | ||
|
|
7b7c0e1eee | ||
|
|
2ae7798591 | ||
|
|
3f76453f34 | ||
|
|
8fbbe7f31e | ||
|
|
92a43b4f99 | ||
|
|
843722f82e | ||
|
|
ce79eaada8 | ||
|
|
c128086778 | ||
|
|
cc4fb8bf79 | ||
|
|
c3ac0f3d9f | ||
|
|
dfa4816633 | ||
|
|
06978a4fc4 | ||
|
|
3a2ecf6896 | ||
|
|
b357d52ec5 | ||
|
|
f8b6b1ebf8 | ||
|
|
91bd9d1111 | ||
|
|
1ec825050d | ||
|
|
a6a08d13e9 | ||
|
|
9a47c4a990 | ||
|
|
5063294177 | ||
|
|
b14917e2c6 | ||
|
|
c1bbec2a1c | ||
|
|
6227a4643a | ||
|
|
00af52815d | ||
|
|
5d3365a944 | ||
|
|
84ac2974fb | ||
|
|
c9a1515d1f | ||
|
|
5317ac5e03 | ||
|
|
9df1467ddf | ||
|
|
df79bd4515 | ||
|
|
cbb14f2ba8 | ||
|
|
1fe649e70f | ||
|
|
0d918add28 | ||
|
|
3926c98338 | ||
|
|
3bff6a1949 | ||
|
|
ec0c964ceb | ||
|
|
b4fd90c6d3 | ||
|
|
7dfd63cfa2 | ||
|
|
a562e5ca14 | ||
|
|
2885eef4ab | ||
|
|
087297d14c | ||
|
|
6e0fb95ac3 | ||
|
|
61e28146fb | ||
|
|
40d3f0ef9e | ||
|
|
99db825114 | ||
|
|
7341b377fe | ||
|
|
7f78a98de0 | ||
|
|
a64207f0ec | ||
|
|
d86f40e3a2 | ||
|
|
b74417f393 | ||
|
|
f5883abf04 | ||
|
|
02a367fd99 | ||
|
|
4870533710 | ||
|
|
9175cf5c71 | ||
|
|
8170a1b01d | ||
|
|
d1c6c763e2 | ||
|
|
0c683f7243 | ||
|
|
63de780527 | ||
|
|
c5ccbf2d1f | ||
|
|
8777535431 | ||
|
|
70192ce420 | ||
|
|
a74bbd3eeb | ||
|
|
02d79cb16a | ||
|
|
78ca9b3f1a | ||
|
|
017631e337 | ||
|
|
f9078dff2c | ||
|
|
b66381d677 | ||
|
|
49bf88f7a7 | ||
|
|
f93ceaa91d | ||
|
|
0fe122dc63 | ||
|
|
4e2a3fdbd0 | ||
|
|
3d251fa8ad | ||
|
|
af0b52448a | ||
|
|
8d200c72d3 | ||
|
|
f78cdb637d | ||
|
|
845f2d6faa | ||
|
|
525edbab80 | ||
|
|
c422b1c9a5 | ||
|
|
1043b13228 | ||
|
|
5e6c33df6c | ||
|
|
9541771703 | ||
|
|
f99d37cfad | ||
|
|
0cfe31ccd9 | ||
|
|
8fc1a5473b | ||
|
|
049b12b908 | ||
|
|
45f992b2bc | ||
|
|
9e2c66c341 | ||
|
|
2d0f59b6f2 | ||
|
|
fbba29e810 | ||
|
|
07a108760c | ||
|
|
b641bfb56a | ||
|
|
c65d80bc72 | ||
|
|
e0d266bf16 | ||
|
|
b62f7c5aee | ||
|
|
c89f04b926 | ||
|
|
ff8b4b4a88 | ||
|
|
07d63ae63a | ||
|
|
c0f5cb1641 | ||
|
|
50d84835cb | ||
|
|
8cdf4ef618 | ||
|
|
eff3a7acb4 | ||
|
|
18cd967a9c | ||
|
|
328d6c1d17 | ||
|
|
716eddac7b | ||
|
|
9b15af3bb7 | ||
|
|
b732e0d55a | ||
|
|
d92a1cee1c | ||
|
|
10a40bfcaf | ||
|
|
af397ba150 | ||
|
|
c7a2ec8290 | ||
|
|
145c155ba5 | ||
|
|
6f9ef32d96 | ||
|
|
aa5b9dbbbd | ||
|
|
f11be44c02 | ||
|
|
4276c8f23e | ||
|
|
9e1352c8b1 | ||
|
|
d46589ad29 | ||
|
|
09b7e67c52 | ||
|
|
79e1abe624 | ||
|
|
3db3bf1b74 | ||
|
|
a335c31385 | ||
|
|
9bd1f0a492 | ||
|
|
7a2c82461e | ||
|
|
21f7888f55 | ||
|
|
97349a9bb2 | ||
|
|
ce3b6ed7c2 | ||
|
|
e3fd564efd | ||
|
|
5cf96134d5 | ||
|
|
607c477e7d | ||
|
|
5e0619b500 | ||
|
|
17920e1195 | ||
|
|
721454aa90 | ||
|
|
d870896cfb | ||
|
|
270eb7cf1d | ||
|
|
527fd94145 | ||
|
|
04e4572088 | ||
|
|
0961eb5976 | ||
|
|
0311359922 | ||
|
|
ec09adf03e | ||
|
|
b031103df8 | ||
|
|
7701521a2e | ||
|
|
0c683d4f75 | ||
|
|
200d095034 | ||
|
|
94576a876a | ||
|
|
0fa1922bb0 | ||
|
|
c557905858 | ||
|
|
31b21d74b1 | ||
|
|
153244c390 | ||
|
|
e97b5c3c89 | ||
|
|
374893a5ae | ||
|
|
17f581f654 | ||
|
|
590b431ec1 | ||
|
|
98266fe0e1 | ||
|
|
2e236e90ba | ||
|
|
c5aee0810c | ||
|
|
f13d757976 | ||
|
|
7a0a62af2d | ||
|
|
ceab1d2fd2 | ||
|
|
639e7e0b3f | ||
|
|
89601305f6 | ||
|
|
4600b5a3bf | ||
|
|
b620307983 | ||
|
|
891ca70ade | ||
|
|
9ed2a50d26 | ||
|
|
cbf615d699 | ||
|
|
97b1a0090d | ||
|
|
9078aa6d08 | ||
|
|
8677146a8d | ||
|
|
2c14dfb781 | ||
|
|
057c5f073c | ||
|
|
e902da6595 | ||
|
|
8b5414c8f7 | ||
|
|
c86ece4dc0 | ||
|
|
1f71619b6b | ||
|
|
5b34b9c795 | ||
|
|
99d15899f6 | ||
|
|
c114a8b507 | ||
|
|
0dd37c2481 | ||
|
|
b5d7c96bba | ||
|
|
a76792ced4 | ||
|
|
39091240ff | ||
|
|
0ccb753892 | ||
|
|
63dda84c8b | ||
|
|
7ba1f85d48 | ||
|
|
bb9a23fe0f | ||
|
|
8536824d7e | ||
|
|
78073babe4 | ||
|
|
521d15219c | ||
|
|
7469a3c349 | ||
|
|
153a32e340 | ||
|
|
f155d4f150 | ||
|
|
d683dd2c38 | ||
|
|
7ebba741a8 | ||
|
|
d10f683098 | ||
|
|
0270133ecf | ||
|
|
d7b479d97d | ||
|
|
4366c512fe | ||
|
|
229a773ed2 | ||
|
|
d882f20436 | ||
|
|
9d7235af20 | ||
|
|
c2eb53d154 | ||
|
|
7629e347df | ||
|
|
2764caae29 | ||
|
|
a87bd2a928 | ||
|
|
202c920064 | ||
|
|
a08316bba0 | ||
|
|
520e5ebb7a | ||
|
|
5d5a4cacb1 | ||
|
|
b885a1a0d4 | ||
|
|
1705bd3ae9 | ||
|
|
e87c69f989 | ||
|
|
1c529eea3d | ||
|
|
738b0cfe9a | ||
|
|
913561cb2a | ||
|
|
05a91565dc | ||
|
|
79827efe9b | ||
|
|
8722cd89fc | ||
|
|
52fcc4ad1e | ||
|
|
59a096bfd6 | ||
|
|
5a1f541e13 | ||
|
|
94bd1c6a93 | ||
|
|
5b1aef5e52 | ||
|
|
89bfcdc44e | ||
|
|
fba81138ea | ||
|
|
d50e07265e | ||
|
|
c92891538e | ||
|
|
ccc1e9bc8b | ||
|
|
f33b398428 | ||
|
|
226a8af262 | ||
|
|
ebcc5ab4b1 | ||
|
|
10e16e8379 | ||
|
|
df1f3d8a00 | ||
|
|
5e2dfffe25 | ||
|
|
897f2ea6dd | ||
|
|
3ff39ec578 | ||
|
|
3d852a535d | ||
|
|
6f6a61f31a | ||
|
|
10f54f5790 | ||
|
|
0e7280585a | ||
|
|
1da7173f27 | ||
|
|
1cb1e68a01 | ||
|
|
b59c8a5512 | ||
|
|
fe63ad0976 | ||
|
|
941cb7b851 | ||
|
|
d1cf0d9fd7 | ||
|
|
64c2bb4d6b | ||
|
|
24c9f5c17e | ||
|
|
d368e4e80d | ||
|
|
5c0ff84fc4 | ||
|
|
502a21b6b6 | ||
|
|
0e9bf59c0f | ||
|
|
108f9fccdd | ||
|
|
ac884bd7c3 | ||
|
|
a4cb5c991c | ||
|
|
68f1f55f37 | ||
|
|
1dc779d5e8 | ||
|
|
f781c7a08c | ||
|
|
a8511a9f39 | ||
|
|
47714eec45 | ||
|
|
c46e9b2f4d | ||
|
|
26d579f13f | ||
|
|
6556d26742 | ||
|
|
3cc7bd3cdb | ||
|
|
608dce2205 | ||
|
|
f86e50c723 | ||
|
|
b60fe33886 | ||
|
|
5210a143fd | ||
|
|
dc78dc9b0d | ||
|
|
6b11c1a180 | ||
|
|
b3669f6d66 | ||
|
|
bbff75e037 | ||
|
|
7e10618ceb | ||
|
|
7f4def6b83 | ||
|
|
5790d246c8 | ||
|
|
19dee09c86 | ||
|
|
dfe2889912 | ||
|
|
223ba791fe | ||
|
|
0d49bbe7ac | ||
|
|
8381e8122a | ||
|
|
f38924c7fe | ||
|
|
43152c9341 | ||
|
|
cf84e8b7cc | ||
|
|
2b42e73530 | ||
|
|
60030959f2 | ||
|
|
7174523ac5 | ||
|
|
f573fef9eb | ||
|
|
b4250d8254 | ||
|
|
ac4d4de3c1 | ||
|
|
05e6d008fa | ||
|
|
dd4abb2073 | ||
|
|
612aba1365 | ||
|
|
94dce09570 | ||
|
|
cc241c5a7b | ||
|
|
13cf9d01f0 | ||
|
|
47453fec3f | ||
|
|
641d506559 | ||
|
|
3dec2b8159 | ||
|
|
a0bd969140 | ||
|
|
b30d42a37b | ||
|
|
a03acc68e7 | ||
|
|
05296473d3 | ||
|
|
2118f8c764 | ||
|
|
e366af98b5 | ||
|
|
81e2ac44c3 | ||
|
|
07bb326c06 | ||
|
|
bcc2c8cc2d | ||
|
|
2e0e17f1aa | ||
|
|
c517b44e82 | ||
|
|
f311339786 | ||
|
|
34853d0322 | ||
|
|
9c60b69c88 | ||
|
|
4f10bccf84 | ||
|
|
c7eaebf597 | ||
|
|
60e1052d33 | ||
|
|
7e77c102b0 | ||
|
|
a452c582ab | ||
|
|
0d3adb074d | ||
|
|
8ec4b52dda | ||
|
|
9265c68383 | ||
|
|
4bd2d78ecb | ||
|
|
e7aa766d0a | ||
|
|
7d8300b3ce | ||
|
|
af8a1234ed | ||
|
|
bd0ecd0a9d | ||
|
|
35c8f02f90 | ||
|
|
f160952817 | ||
|
|
9e5a302ab1 | ||
|
|
a1dc19fa26 | ||
|
|
e79ded934f | ||
|
|
ef3e7d9286 | ||
|
|
68b25ddbb5 | ||
|
|
f96040eade | ||
|
|
599a808054 | ||
|
|
382c5c55ec | ||
|
|
afb2306904 | ||
|
|
2642da3be3 | ||
|
|
dcbf283c9d | ||
|
|
f38fa0132c | ||
|
|
569053f7e0 | ||
|
|
037a97ff3d |
17
.editorconfig
Normal file
17
.editorconfig
Normal file
@@ -0,0 +1,17 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.java]
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
4
.github/CODEOWNERS
vendored
Normal file
4
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
* @takezoe
|
||||
|
||||
build.sbt @xuwei-k
|
||||
project/* @xuwei-k
|
||||
6
.github/CONTRIBUTING.md
vendored
Normal file
6
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# The guidelines for contributing
|
||||
|
||||
- At first, see [Wiki](https://github.com/gitbucket/gitbucket/wiki) and check issues and pull requests whether there is a same request in the past.
|
||||
- The highest priority of GitBucket is the ease of installation and API compatibility with GitHub, so your feature request might be rejected if they go against those principles. If you don't wanna waste your time to make a pull request, ask us about your idea at [gitter room](https://gitter.im/gitbucket/gitbucket) before starting your work.
|
||||
- You can edit the GitBucket documentation on Wiki if you have a GitHub account. When you find any mistakes or lacks in the documentation, please update it directly.
|
||||
- All your contributions are handled as [Apache Software License, Version 2.0](https://github.com/gitbucket/gitbucket/blob/master/LICENSE). When you create a pull request or update the documentation, we assume you agreed this clause.
|
||||
18
.github/ISSUE_TEMPLATE.md
vendored
Normal file
18
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
### Before submitting an issue to GitBucket I have first:
|
||||
|
||||
- [ ] read the [contribution guidelines](https://github.com/gitbucket/gitbucket/blob/master/.github/CONTRIBUTING.md)
|
||||
- [ ] searched for similar already existing issue
|
||||
- [ ] read the documentation and [wiki](https://github.com/gitbucket/gitbucket/wiki)
|
||||
|
||||
*(if you have performed all the above, remove the paragraph and continue describing the issue with template below)*
|
||||
|
||||
## Issue
|
||||
**Impacted version**: xxxx
|
||||
|
||||
**Deployment mode**: *explain here how you use GitBucket : standalone app, under webcontainer (which one), with an http frontend (nginx, httpd, ...)*
|
||||
|
||||
**Problem description**:
|
||||
- *be as explicit as you can*
|
||||
- *describe the problem and its symptoms*
|
||||
- *explain how to reproduce*
|
||||
- *attach whatever information that can help understanding the context (screen capture, log files)*
|
||||
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
### Before submitting a pull-request to GitBucket I have first:
|
||||
|
||||
- [ ] read the [contribution guidelines](https://github.com/gitbucket/gitbucket/blob/master/.github/CONTRIBUTING.md)
|
||||
- [ ] rebased my branch over master
|
||||
- [ ] verified that project is compiling
|
||||
- [ ] verified that tests are passing
|
||||
- [ ] squashed my commits as appropriate *(keep several commits if it is relevant to understand the PR)*
|
||||
- [ ] [marked as closed using commit message](https://help.github.com/articles/closing-issues-via-commit-messages/) all issue ID that this PR should correct
|
||||
5
.github/SUPPORT.md
vendored
Normal file
5
.github/SUPPORT.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# The support guidelines
|
||||
|
||||
- At first, see [Wiki](https://github.com/gitbucket/gitbucket/wiki) and check issues whether there is a same question or request in the past.
|
||||
- If you can't find same question and report, send it to [gitter room](https://gitter.im/gitbucket/gitbucket) before raising an issue.
|
||||
- Write issues in English if it's possible. It enables many of contributors to help you.
|
||||
6
.github/dependabot.yml
vendored
Normal file
6
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
39
.github/workflows/build.yml
vendored
Normal file
39
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
name: build
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
matrix:
|
||||
java: [8, 11, 17]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
cache-name: cache-sbt-libs
|
||||
with:
|
||||
path: |
|
||||
~/.ivy2/cache
|
||||
~/.sbt
|
||||
~/.cache/coursier/v1
|
||||
key: build-${{ env.cache-name }}-${{ hashFiles('build.sbt') }}
|
||||
- name: Set up JDK
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: ${{ matrix.java }}
|
||||
distribution: adopt
|
||||
- name: Run tests
|
||||
run: sbt scalafmtSbtCheck scalafmtCheck test:scalafmtCheck test
|
||||
- name: Scala 3
|
||||
run: sbt '++ 3.1.2!' update # TODO
|
||||
- name: Build executable
|
||||
run: sbt executable
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: gitbucket-java${{ matrix.java }}-${{ github.sha }}
|
||||
path: ./target/executable/gitbucket.*
|
||||
18
.gitignore
vendored
18
.gitignore
vendored
@@ -1,5 +1,9 @@
|
||||
*.class
|
||||
*.log
|
||||
.ensime
|
||||
.ensime_cache
|
||||
.DS_Store
|
||||
.java-version
|
||||
|
||||
# sbt specific
|
||||
dist/*
|
||||
@@ -8,13 +12,27 @@ lib_managed/
|
||||
src_managed/
|
||||
project/boot/
|
||||
project/plugins/project/
|
||||
.bsp/
|
||||
|
||||
# Scala-IDE specific
|
||||
.scala_dependencies
|
||||
.classpath
|
||||
.project
|
||||
.cache
|
||||
.cache-main
|
||||
.cache-tests
|
||||
.settings
|
||||
|
||||
# IntelliJ specific
|
||||
.idea/
|
||||
.idea_modules/
|
||||
*.iml
|
||||
|
||||
# Metals specific
|
||||
.metals
|
||||
.bloop
|
||||
**/metals.sbt
|
||||
|
||||
# Visual Studio Code specific
|
||||
.vscode
|
||||
|
||||
|
||||
9
.scala-steward.conf
Normal file
9
.scala-steward.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
updates.limit = 3
|
||||
|
||||
updates.includeScala = true
|
||||
|
||||
updates.pin = [
|
||||
{ groupId = "org.eclipse.jetty", version = "9." }
|
||||
{ groupId = "org.eclipse.jgit", version = "5." }
|
||||
{ groupId = "com.zaxxer", version = "4." }
|
||||
]
|
||||
12
.scalafmt.conf
Normal file
12
.scalafmt.conf
Normal file
@@ -0,0 +1,12 @@
|
||||
version = "1.5.1"
|
||||
project.git = true
|
||||
|
||||
maxColumn = 120
|
||||
docstrings = JavaDoc
|
||||
|
||||
align.tokens = ["%", "%%", {code = "=>", owner = "Case"}]
|
||||
align.openParenCallSite = false
|
||||
align.openParenDefnSite = false
|
||||
continuationIndent.callSite = 2
|
||||
continuationIndent.defnSite = 2
|
||||
danglingParentheses = true
|
||||
656
CHANGELOG.md
Normal file
656
CHANGELOG.md
Normal file
@@ -0,0 +1,656 @@
|
||||
# Changelog
|
||||
All changes to the project will be documented in this file.
|
||||
|
||||
## 4.38.3 - 30 Oct 2022
|
||||
- Fix several issues around multiple assignees in issues and pull requests
|
||||
- Fix IllegalStateException when returning unknown avatar image
|
||||
|
||||
## 4.38.2 - 20 Sep 2022
|
||||
- Resurrect assignee icons on the issue list
|
||||
|
||||
## 4.38.1 - 10 Sep 2022
|
||||
- Fix comment diff in Chrome 105
|
||||
- Fix Markdown table CSS
|
||||
- Fix HTML rendering of multiple asignees
|
||||
|
||||
## 4.38.0 - 3 Sep 2022
|
||||
- Support multiple assignees for Issues and Pull requests
|
||||
- Custom fields for issues and pull requests
|
||||
- Reset password by users
|
||||
- Allow to configure Jetty idle timeout in standalone mode
|
||||
- Horizontal scroll for too wide tables in Markdown
|
||||
- Hide header content on signin and register page
|
||||
- Fix the default charset of the online editor in the repository viewer
|
||||
- Fix the milestone count
|
||||
- Some improvements and bugfixes for WebAPI and WebHook
|
||||
|
||||
## 4.37.2 - 16 Jan 2022
|
||||
- Fixed a security issue reported by [Positive Technologies](https://www.ptsecurity.com/ww-en/). Great thanks for their detailed report and close support!
|
||||
|
||||
## 4.37.1 - 14 Dec 2021
|
||||
- Update gist-plugin and notification-plugin
|
||||
- Fix SSHCommand extension point for apache-sshd 2.x
|
||||
|
||||
## 4.37.0 - 11 Dec 2021
|
||||
- Enhance Git Reference APIs
|
||||
- Add milestone data to issue list API
|
||||
- Support "all" in issue list API
|
||||
- Support EDDSA in signed commit verification
|
||||
- Support custom SSH url
|
||||
- Relax max passward length limitation
|
||||
- Relax max webhook url length limitation
|
||||
|
||||
## 4.36.2 - 16 Aug 2021
|
||||
- Escape user name in avatar image tag
|
||||
|
||||
## 4.36.1 - 22 Jul 2021
|
||||
- Bump gitbucket-gist-plugin to 4.21.0
|
||||
|
||||
## 4.36.0 - 17 Jul 2021
|
||||
- Tag selector in the repository viewer
|
||||
- Link issues/pull requests of other repositories
|
||||
- Files and lines can be linked in the diff view
|
||||
- Option to disable XSS protection
|
||||
|
||||
## 4.35.3 - 14 Jan 2021
|
||||
- Fix a bug that Wiki page cannot be deleted
|
||||
- Fix a deployment issue on Tomcat
|
||||
|
||||
## 4.35.2 - 30 Dec 2020
|
||||
- Upgrade gitbucket-notifications-plugin to 1.10.0
|
||||
- Upgrade oauth2-oidc-sdk to 8.29.1 to solve dependency issue
|
||||
|
||||
## 4.35.1 - 29 Dec 2020
|
||||
- Fix database migration issue which happens if webhook is configured
|
||||
- Call push webhook when pull request is merged
|
||||
- Show commit status at commits tab of pull request
|
||||
|
||||
## 4.35.0 - 25 Dec 2020
|
||||
- Editor and source viewer color theme
|
||||
- Auto completion for issues and pull requests
|
||||
- Upload image from clipboard
|
||||
- Close multiple issues by commit comment
|
||||
- Create pull request from online editor
|
||||
- Milestone overview
|
||||
- Commit status at various places
|
||||
- WebAPI coverage improvements
|
||||
|
||||
## 4.34.0 - 26 Jul 2020
|
||||
- Enhancement admin settings UI
|
||||
- File upload settings
|
||||
- Restrict repository operations
|
||||
- User-defined CSS
|
||||
- Limit the repository list in the sidebar
|
||||
- Improve MariaDB support
|
||||
- Improve activity logging
|
||||
- CLI option to persist session on disk in the standalone mode
|
||||
- Web API updates
|
||||
- Add [list commits API](https://developer.github.com/v3/repos/commits/#list-commits)
|
||||
- Bundled plugins updates
|
||||
- [gitbucket-gist-plugin](https://github.com/gitbucket/gitbucket-gist-plugin) 4.18.0 -> 4.19.0
|
||||
- [gitbucket-notifications-plugin](https://github.com/gitbucket/gitbucket-notifications-plugin) 1.8.0 -> 1.9.0
|
||||
|
||||
## 4.33.0 - 31 Dec 2019
|
||||
- All CLI options are configurable by environment variables
|
||||
- Folding pull request files
|
||||
- WebHook security options
|
||||
- Add assignee and assignees properties to some Web APIs' response
|
||||
|
||||
## 4.32.0 - 7 Aug 2019
|
||||
- Bump to Scala 2.13.0 and Scalatra 2.7.0
|
||||
- Draft pull request
|
||||
- Drop network installation of plugins
|
||||
- Compare view works for commit id
|
||||
- Apply default priority to pull requests
|
||||
- Focus title after clicking issue / pull request edit button
|
||||
|
||||
## 4.31.2 - 7 Apr 2019
|
||||
- Bug and security fix
|
||||
|
||||
## 4.31.1 - 17 Mar 2019
|
||||
- Bug fix
|
||||
|
||||
## 4.31.0 - 17 Mar 2019
|
||||
- Docker support in CI plugin
|
||||
- Verify GPG key signed commit
|
||||
- OAuth2 Token (sent as a parameter) authentication support and new APIs in Web API
|
||||
- OGP (Open Graph protocol) support
|
||||
- Username completion with avatars
|
||||
|
||||
## 4.30.1 - 22 Dec 2018
|
||||
- Bug fix for several WebHooks and Web API
|
||||
|
||||
## 4.30.0 - 15 Dec 2018
|
||||
- Automatic ChangeLog Summary generation for new Releases
|
||||
- A lot of GitBucket Web API updates to increase compatibility with the GitHub API.
|
||||
- Display of checkboxes in Markdown files in Git repositories
|
||||
- A new extension point for plugins: anonymousAccessiblePaths
|
||||
- Group support in the Gist Plugin
|
||||
- Allow redirection to the Release Page from the Activity Timeline Page
|
||||
|
||||
## 4.29.0 - 29 Sep 2018
|
||||
- Official Docker image has been available
|
||||
- Enhance file edit and delete buttons of the repository viewer
|
||||
- Fix Patch button to generate patches for all files in the commit
|
||||
- Display confirmation dialog for Transfer Ownership and Garbage collection
|
||||
- Fix wrong url encoding in "Compare & pull request"
|
||||
|
||||
## 4.28.0 - 1 Sep 2018
|
||||
- Proxy support for plugin installation
|
||||
- Fix some bugs around pull requests
|
||||
|
||||
## 4.27.0 - 29 Jul 2018
|
||||
- Create new tag on the browser
|
||||
- EditorConfig support
|
||||
- Improve issues / pull requests search
|
||||
- Some improvements and bug fixes for plugin installation via internet and pull request commenting
|
||||
|
||||
## 4.26.0 - 30 Jun 2018
|
||||
- Installing plugins from the central registry
|
||||
- Repositories tab in the dashboard
|
||||
- Fork dialog enhancement
|
||||
- Adjust pull request creation suggestor
|
||||
- Keep showing incompleted task list
|
||||
- New notification hooks
|
||||
|
||||
## 4.25.0 - 29 May 2018
|
||||
- Security improvements
|
||||
- Show mail address at the profile page
|
||||
- Task list on commit comments
|
||||
- More detailed editing history of issues and pull requests
|
||||
- Expose user public keys
|
||||
- Download repository improvements
|
||||
|
||||
## 4.24.1 - 1 May 2018
|
||||
- Fix bug in Web API authentication
|
||||
|
||||
## 4.24.0 - 30 Apr 2018
|
||||
- Diff for each review comment on pull requests
|
||||
- Extra mail addresses support
|
||||
- Show tags at the commit list
|
||||
- Keep wrap mode of the online editor
|
||||
- Renew layout of gitbucket-gist-plugin
|
||||
- Web API of gitbucket-ci-plugin
|
||||
|
||||
## 4.23.1 - 10 Apr 2018
|
||||
- Fix bug that the contents API doesn't work for the repository root
|
||||
- Fix shutdown problem in Tomcat deployment
|
||||
- Render by plugins at the blob view even if it's a binary file
|
||||
|
||||
## 4.23.0 - 31 Mar 2018
|
||||
- Allow tail slash in URL
|
||||
- Display commit message of tags at the releases page
|
||||
- Add labels property to issues and pull requests API response
|
||||
- Plugins list API
|
||||
- Git authentication with personal access token
|
||||
- Max parallel builds and max stored history in CI plugin became configurable
|
||||
|
||||
## 4.22.0 - 3 Mar 2018
|
||||
- Pull request merge strategy settings
|
||||
- Create repository with an empty commit
|
||||
- Improve database viewer
|
||||
- Update maven-repository-plugin
|
||||
|
||||
## 4.21.2 - 27 Jan 2018
|
||||
- Bugfix
|
||||
|
||||
## 4.21.1 - 27 Jan 2018
|
||||
- Bugfix
|
||||
|
||||
## 4.21.0 - 27 Jan 2018
|
||||
- Release page
|
||||
- OpenID Connect support
|
||||
- New database viewer
|
||||
- Submodule links to web page
|
||||
- Clarify close/reopen button
|
||||
|
||||
## 4.20.0 - 23 Dec 2017
|
||||
- Squash and rebase merge strategy for pull requests
|
||||
- Quick pull request creation
|
||||
- Download patch from the diff view
|
||||
- Fork and create repository are proceeded asynchronously
|
||||
- Create new repository by copying existing git repository
|
||||
- Hide overflowed repository names in the sidebar
|
||||
- Support CreateEvent web hook
|
||||
- Display conflicting files if pull request can't be merged
|
||||
|
||||
## 4.19.3 - 7 Dec 2017
|
||||
- Fix file uploading bug
|
||||
- Fix reply comment form behavior in the diff view
|
||||
|
||||
## 4.19.2 - 3 Dec 2017
|
||||
- Fix routing bug in `CompositeScalatraFilter`
|
||||
- Resolve id attribute collision in the web hook editing form
|
||||
|
||||
## 4.19.1 - 2 Dec 2017
|
||||
- Update gitbucket-notifications-plugin because it had a version compatibility issue
|
||||
|
||||
## 4.19.0 - 2 Dec 2017
|
||||
- [gitbucket-maven-repository-plugin](https://github.com/takezoe/gitbucket-maven-repository-plugin) is available
|
||||
- Upgrade to Scalatra 2.6
|
||||
- Improve layout of the system settings page
|
||||
- New extension point (`sshCommandProvider`)
|
||||
- Dropped [gitbucket-pages-plugin](https://github.com/gitbucket/gitbucket-pages-plugin) from bundled plugins temporary because we couldn't complete update for Scalatra 2.6 before this release.
|
||||
|
||||
## 4.18.0 - 14 Oct 2017
|
||||
- Form to reply to review comment
|
||||
- Display fullname in username suggestion
|
||||
- Commit hook plugins are applied to online editing
|
||||
- Improve gitbucket-ci-plugin
|
||||
|
||||
## 4.17.0 - 30 Sep 2017
|
||||
- [gitbucket-ci-plugin](https://github.com/takezoe/gitbucket-ci-plugin) is available
|
||||
- Transferring to URL with commit ID
|
||||
- Drop uploadable file type limitation
|
||||
- Improve Mailer API
|
||||
- Web API and webhook enhancement
|
||||
|
||||
## 4.16.0 - 2 Sep 2017
|
||||
- Support AdminLTE color skin
|
||||
- Improve unexpected error handling
|
||||
- Show commit status on the commits list
|
||||
|
||||
## 4.15.0 - 5 Aug 2017
|
||||
- Bundle GitBucket organization plugins
|
||||
- Notifications plugin
|
||||
- Plugin hot deployment
|
||||
- Update Slick to 3.2.1 from 3.2.0
|
||||
- Support ed25519 keys for SSH
|
||||
- Markdown preview in comment editing forms
|
||||
|
||||
## 4.14.1 - 4 Jul 2017
|
||||
- Bug fix: Possibility of error in forking repository
|
||||
|
||||
## 4.14 - 1 Jul 2017
|
||||
- Support priority in issues and pull requests
|
||||
- Show icons when the sidebar is collapsed
|
||||
- Support gollum events in web hook
|
||||
- Support account (user / group) level web hook
|
||||
- Add `--max_file_size` option
|
||||
- Configuration by system property or environment variable
|
||||
|
||||
## 4.13 - 29 May 2017
|
||||
- Uploading files into the repository
|
||||
- HTML is available in Markdown
|
||||
- Added filter box to dropdown menus
|
||||
|
||||
## 4.12 - 30 Apr 2017
|
||||
- [Gist plug-in](https://github.com/gitbucket/gitbucket-gist-plugin) provides JavaScript to embed snippet
|
||||
- Dropdown menu filter in the branch comparing page
|
||||
- Caution for the embedded H2 database
|
||||
|
||||
## 4.11 - 1 Apr 2017
|
||||
- Deploy keys support
|
||||
- Auto generate avatar images
|
||||
- Collaborators of the private forked repository are copied from the original repository
|
||||
- Cache avatar images in the browser
|
||||
- New extension point to receive events about repository
|
||||
|
||||
## 4.10 - 25 Feb 2017
|
||||
- Update to Scala 2.12, Scalatra 2.5 and Slick 3.2
|
||||
- Display file size in the file viewer
|
||||
|
||||
## 4.9 - 29 Jan 2017
|
||||
- GitLFS support
|
||||
- Template for issues and pull requests
|
||||
- Manual label color editing
|
||||
- Account description
|
||||
- `--tmp-dir` option for standalone mode
|
||||
- More APIs for issues
|
||||
- [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository)
|
||||
- [Create an issue](https://developer.github.com/v3/issues/#create-an-issue)
|
||||
|
||||
## 4.8 - 23 Dec 2016
|
||||
- Search for repository names from the global header
|
||||
- Filter repositories on the sidebar of the dashboard
|
||||
- Search issues and wiki
|
||||
- Keep pull request comments after new commits are pushed
|
||||
- New web API to get a single issue
|
||||
- Performance improvement for the repository viewer
|
||||
|
||||
## 4.7.1 - 28 Nov 2016
|
||||
- Bug fix: group repositories are not shown in the your repositories list on the sidebar
|
||||
- Small performance improvement of the dashboard
|
||||
|
||||
## 4.7 - 26 Nov 2016
|
||||
- New permission system
|
||||
- Dropdown filter for issue labels, milestones and assignees
|
||||
- Keep sidebar folding status
|
||||
- Link from milestone label to the issue list
|
||||
|
||||
## 4.6 - 29 Oct 2016
|
||||
- Add disable option for forking
|
||||
- Add History button to wiki page
|
||||
- Git repository URL redirection for GitHub compatibility
|
||||
- Get-Content API improvement
|
||||
- Indicate who is group master in Members tab in group view
|
||||
|
||||
## 4.5 - 29 Sep 2016
|
||||
- Attach files by dropping into textarea
|
||||
- Issues / Pull requests switcher in dashboard
|
||||
- HikariCP could be configured in `GITBUCKET_HOME/database.conf`
|
||||
- Improve Cookie security
|
||||
- Display commit count on the history button
|
||||
- Improve mobile view
|
||||
|
||||
## 4.4 - 28 Aug 2016
|
||||
- Import a SQL dump file to the database
|
||||
- `go get` support in private repositories
|
||||
- Sort milestones by due date
|
||||
- apache-sshd has been updated to 1.2.0
|
||||
|
||||
## 4.3 - 30 Jul 2016
|
||||
- Emoji support by [gitbucket-emoji-plugin](https://github.com/gitbucket/gitbucket-emoji-plugin)
|
||||
- User name suggestion
|
||||
- Add new web APIs and basic authentication support for API access
|
||||
- Root Endpoint
|
||||
- [List endpoints](https://developer.github.com/v3/#root-endpoint)
|
||||
- [List Branches](https://developer.github.com/v3/repos/branches/#list-branches)
|
||||
- [Get contents](https://developer.github.com/v3/repos/contents/#get-contents)
|
||||
- [Get a Reference](https://developer.github.com/v3/git/refs/#get-a-reference)
|
||||
- [List Collaborators](https://developer.github.com/v3/repos/collaborators/#list-collaborators)
|
||||
- [List user repositories](https://developer.github.com/v3/repos/#list-user-repositories)
|
||||
- [Get a group](https://developer.github.com/v3/orgs/#get-an-organization)
|
||||
- [List group repositories](https://developer.github.com/v3/repos/#list-organization-repositories)
|
||||
- Add new extension points
|
||||
- `assetsMapping` : Supplies resources in plugin classpath as web assets
|
||||
- `suggestionProvider` : Provides suggestion in the Markdown editing textarea
|
||||
- `textDecorator` : Decorate text nodes in HTML which is converted from Markdown
|
||||
|
||||
## 4.2.1 - 3 Jul 2016
|
||||
- Fix migration bug
|
||||
|
||||
This is hotfix for a critical bug in migration. If you are new installation, use 4.2.0. But if you have an exisiting installation and it had been updated to 4.0 from 3.x, you must update to 4.2.1.
|
||||
|
||||
## 4.2 - 2 Jul 2016
|
||||
- New UI based on [AdminLTE](https://github.com/almasaeed2010/AdminLTE)
|
||||
- git gc
|
||||
- Issues and Wiki have been possible to be disabled
|
||||
- SMTP configuration test mail
|
||||
|
||||
## 4.1 - 4 Jun 2016
|
||||
- Generic ssh user
|
||||
- Improve branch protection UI
|
||||
- Default value of pull request title
|
||||
|
||||
## 4.0 - 30 Apr 2016
|
||||
- MySQL and PostgreSQL support
|
||||
- Data export and import
|
||||
- Migration system has been switched to [solidbase](https://github.com/gitbucket/solidbase)
|
||||
|
||||
**Note:** You can upgrade to GitBucket 4.0 from 3.14. If your GitBucket is 3.13 or before, you have to upgrade 3.14 at first.
|
||||
|
||||
## 3.14 - 30 Apr 2016
|
||||
- File attachment and search for wiki pages
|
||||
- New extension points to add menus
|
||||
- Content-Type of webhooks has been choosable
|
||||
|
||||
## 3.13 - 1 Apr 2016
|
||||
- Refresh user interface for wide screen
|
||||
- Add `pull_request` key in list issues API for pull requests
|
||||
- Add `X-Hub-Signature` security to webhooks
|
||||
- Provide SHA-256 checksum for `gitbucket.war`
|
||||
|
||||
## 3.12 - 27 Feb 2016
|
||||
- New GitHub UI
|
||||
- Improve mobile view
|
||||
- Improve printing style
|
||||
- Individual URL for pull request tabs
|
||||
- SSH host configuration is separated from HTTP base URL
|
||||
|
||||
## 3.11 - 30 Jan 2016
|
||||
- Upgrade Scalatra to 2.4
|
||||
- Sidebar and Footer for Wiki
|
||||
- Branch protection and receive hook extension point for plug-in
|
||||
- Limit recent updated repositories list
|
||||
- Issue actions look-alike GitHub
|
||||
- Web API for labels
|
||||
- Requires Java 8
|
||||
|
||||
## 3.10 - 30 Dec 2015
|
||||
- Move to Bootstrap3
|
||||
- New URL for raw contents (`raw/master/doc/activity.md` instead of `blob/master/doc/activity.md?raw=true`)
|
||||
- Update xsbt-web-plugin
|
||||
- Update H2 database
|
||||
|
||||
## 3.9 - 5 Dec 2015
|
||||
- GFM inline breaks support in Markdown
|
||||
- WebHook on create review comment is available
|
||||
- WebHook event trigger is selectable
|
||||
|
||||
## 3.8 - 31 Oct 2015
|
||||
- Moved to GitHub organization
|
||||
- Omit diff view for large differences
|
||||
- Repository creation API
|
||||
- Render url as link in repository description
|
||||
- Expand attachable file types
|
||||
|
||||
## 3.7 - 3 Oct 2015
|
||||
- Markdown processor has been switched to [markedj](https://github.com/gitbucket/markedj) from pegdown
|
||||
- Clone in desktop button
|
||||
- Providing MD5 and SHA-1 checksum for `gitbucket.war` has started
|
||||
|
||||
## 3.6 - 30 Aug 2015
|
||||
- User interface Improvements: Especially, commit list, issues and pull request have been updated largely.
|
||||
- Installed plugins list has been available at the system administration console.
|
||||
- Pages and repository list in the sidebar have been limited and more pages and repositories link is available.
|
||||
- More reference link notation in Markdown has been supported.
|
||||
|
||||
## 3.5 - 1 Aug 2015
|
||||
- Octicons has been applied
|
||||
- Global header has been enhanced. Now it's further similar to GitHub.
|
||||
- Default compare / pull request target has been changed to the parent repository
|
||||
- A lot of updates for [gitbucket-gist-plugin](https://github.com/gitbucket/gitbucket-gist-plugin)
|
||||
|
||||
## 3.4 - 27 Jun 2015
|
||||
- Declarative style plug-in definition
|
||||
- New extension point to add markup render
|
||||
- go-import support
|
||||
|
||||
## 3.3 - 31 May 2015
|
||||
- Rich graphical diff for images
|
||||
- File finder is available in the repository viewer
|
||||
- Blame is displayed at the source viewer
|
||||
- Remain user data and repositories even if user is disabled
|
||||
- Mobile view improvement
|
||||
|
||||
## 3.2 - 3 May 2015
|
||||
- Directory history button
|
||||
- Compare / pull request button
|
||||
- Limit of activity log
|
||||
|
||||
## 3.1.1 - 4 Apr 2015
|
||||
- Rolled back H2 version to avoid version compatibility issue
|
||||
- Plug-ins became possible to access ServletContext
|
||||
|
||||
## 3.1 - 28 Mar 2015
|
||||
- Web APIs for Jenkins github pull-request builder
|
||||
- Improved diff view
|
||||
- Bump Scalatra to 2.3.1, sbt to 0.13.8
|
||||
|
||||
## 3.0 - 3 Mar 2015
|
||||
- New plug-in system is available
|
||||
- Connection pooling by c3p0
|
||||
- New branch UI
|
||||
- Compare between specified commit ids
|
||||
|
||||
## 2.8 - 1 Feb 2015
|
||||
- New logo and icons
|
||||
- New system setting options to control visibility
|
||||
- Comment on side-by-side diff
|
||||
- Information message on sign-in page
|
||||
- Fork repository by group account
|
||||
|
||||
## 2.7 - 29 Dec 2014
|
||||
- Comment for commit and diff
|
||||
- Fix security issue in markdown rendering
|
||||
- Some bug fix and improvements
|
||||
|
||||
## 2.6 - 24 Nov 2014
|
||||
- Search box at issues and pull requests
|
||||
- Information from administrator
|
||||
- Pull request UI has been updated
|
||||
- Move to TravisCI from Buildhive
|
||||
- Some bug fix and improvements
|
||||
|
||||
## 2.5 - 4 Nov 2014
|
||||
- New Dashboard
|
||||
- Change datetime format
|
||||
- Create branch from Web UI
|
||||
- Task list in Markdown
|
||||
- Some bug fix and improvements
|
||||
|
||||
## 2.4.1 - 6 Oct 2014
|
||||
- Bug fix
|
||||
|
||||
## 2.4 - 6 Oct 2014
|
||||
- New UI is applied to Issues and Pull requests
|
||||
- Side-by-side diff is available
|
||||
- Fix relative path problem in Markdown links and images
|
||||
- Plugin System is disabled in default
|
||||
- Some bug fix and improvements
|
||||
|
||||
## 2.3 - 1 Sep 2014
|
||||
- Scala based plugin system
|
||||
- Embedded Jetty war extraction directory moved to `GITBUCKET_HOME/tmp`
|
||||
- Some bug fix and improvements
|
||||
|
||||
## 2.2.1 - 5 Aug 2014
|
||||
- Bug fix
|
||||
|
||||
## 2.2 - 4 Aug 2014
|
||||
- Plug-in system is available
|
||||
- Move to Scala 2.11, Scalatra 2.3 and Slick 2.1
|
||||
- tar.gz export for repository contents
|
||||
- LDAP authentication improvement (mail address became optional)
|
||||
- Show news feed of a private repository to members
|
||||
- Some bug fix and improvements
|
||||
|
||||
## 2.1 - 6 Jul 2014
|
||||
- Upgrade to Slick 2.0 from 1.9
|
||||
- Base part of the plug-in system is merged
|
||||
- Many bug fix and improvements
|
||||
|
||||
## 2.0 - 31 May 2014
|
||||
- Modern Github UI
|
||||
- Preview in AceEditor
|
||||
- Select lines by clicking line number in blob view
|
||||
|
||||
## 1.13 - 29 Apr 2014
|
||||
- Direct file editing in the repository viewer using AceEditor
|
||||
- File attachment for issues
|
||||
- Atom feed of user activity
|
||||
- Fix some bugs
|
||||
|
||||
## 1.12 - 29 Mar 2014
|
||||
- SSH repository access is available
|
||||
- Allow users can create and management their groups
|
||||
- Git submodule support
|
||||
- Close issues via commit messages
|
||||
- Show repository description below the name on repository page
|
||||
- Fix presentation of the source viewer
|
||||
- Upgrade to sbt 0.13
|
||||
- Fix some bugs
|
||||
|
||||
## 1.11.1 - 06 Mar 2014
|
||||
- Bug fix
|
||||
|
||||
## 1.11 - 01 Mar 2014
|
||||
- Base URL for redirection, notification and repository URL box is configurable
|
||||
- Remove ```--https``` option because it's possible to substitute in the base url
|
||||
- Headline anchor is available for Markdown contents such as Wiki page
|
||||
- Improve H2 connectivity
|
||||
- Label is available for pull requests not only issues
|
||||
- Delete branch button is added
|
||||
- Repository icons are updated
|
||||
- Select lines of source code by URL hash like `#L10` or `#L10-L15` in repository viewer
|
||||
- Display reference to issue from others in comment list
|
||||
- Fix some bugs
|
||||
|
||||
## 1.10 - 01 Feb 2014
|
||||
- Rename repository
|
||||
- Transfer repository owner
|
||||
- Change default data directory to `HOME/.gitbucket` from `HOME/gitbucket` to avoid problem like #243, but if data directory already exist at HOME/gitbucket, it continues being used.
|
||||
- Add LDAP display name attribute
|
||||
- Response performance improvement
|
||||
- Fix some bugs
|
||||
|
||||
## 1.9 - 28 Dec 2013
|
||||
- Display GITBUCKET_HOME on the system settings page
|
||||
- Fix some bugs
|
||||
|
||||
## 1.8 - 30 Nov 2013
|
||||
- Add user and group deletion
|
||||
- Improve pull request performance
|
||||
- Pull request synchronization (when source repository is updated after pull request, it's applied to the pull request)
|
||||
- LDAP StartTLS support
|
||||
- Enable hard wrapping in Markdown
|
||||
- Add new some options to specify the data directory. See details in [Wiki](https://github.com/takezoe/gitbucket/wiki/DirectoryStructure).
|
||||
- Fix some bugs
|
||||
|
||||
## 1.7 - 26 Oct 2013
|
||||
- Support working on Java6 in embedded Jetty mode
|
||||
- Add `--host` option to bind specified host name in embedded Jetty mode
|
||||
- Add `--https=true` option to force https scheme when using embedded Jetty mode at the back of https proxy
|
||||
- Add full name as user property
|
||||
- Change link color for absent Wiki pages
|
||||
- Add ZIP download button to the repository viewer tab
|
||||
- Improve ZIP exporting performance
|
||||
- Expand issue and comment textarea for long text automatically
|
||||
- Add conflict detection in Wiki
|
||||
- Add reverting wiki page from history
|
||||
- Match committer to user name by email address
|
||||
- Mail notification sender is customizable
|
||||
- Add link to changeset in refs comment for issues
|
||||
- Fix some bugs
|
||||
|
||||
## 1.6 - 1 Oct 2013
|
||||
- Web hook
|
||||
- Performance improvement for pull request
|
||||
- Executable war file
|
||||
- Specify suitable Content-Type for downloaded files in the repository viewer
|
||||
- Fix some bugs
|
||||
|
||||
## 1.5 - 4 Sep 2013
|
||||
- Fork and pull request
|
||||
- LDAP authentication
|
||||
- Mail notification
|
||||
- Add an option to turn off the gravatar support
|
||||
- Add the branch tab in the repository viewer
|
||||
- Encoding auto detection for the file content in the repository viewer
|
||||
- Add favicon, header logo and icons for the timeline
|
||||
- Specify data directory via environment variable GITBUCKET_HOME
|
||||
- Fix some bugs
|
||||
|
||||
## 1.4 - 31 Jul 2013
|
||||
- Group management
|
||||
- Repository search for code and issues
|
||||
- Display user related issues on the dashboard
|
||||
- Display participants avatar of issues on the issue page
|
||||
- Performance improvement for repository viewer
|
||||
- Alert by milestone due date
|
||||
- H2 database administration console
|
||||
- Fix some bugs
|
||||
|
||||
## 1.3 - 18 Jul 2013
|
||||
- Batch updating for issues
|
||||
- Display assigned user on issue list
|
||||
- User icon and Gravatar support
|
||||
- Convert @xxxx to link to the account page
|
||||
- Add copy to clipboard button for git clone URL
|
||||
- Allow multi-byte characters as wiki page name
|
||||
- Allow to create the empty repository
|
||||
- Fix some bugs
|
||||
|
||||
## 1.2 - 09 Jul 2013
|
||||
- Add activity timeline
|
||||
- Bugfix for Git 1.8.1.5 or later
|
||||
- Allow multi-byte characters as label
|
||||
- Fix some bugs
|
||||
|
||||
## 1.1 - 05 Jul 2013
|
||||
- Fix some bugs
|
||||
- Upgrade to JGit 3.0
|
||||
|
||||
## 1.0 - 04 Jul 2013
|
||||
- This is a first public release
|
||||
5
LICENSE
5
LICENSE
@@ -1,4 +1,3 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
@@ -179,7 +178,7 @@
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
@@ -187,7 +186,7 @@
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
159
README.md
159
README.md
@@ -1,116 +1,87 @@
|
||||
GitBucket
|
||||
GitBucket [](https://gitter.im/gitbucket/gitbucket) [](https://github.com/gitbucket/gitbucket/actions?query=workflow%3Abuild+branch%3Amaster) [](https://index.scala-lang.org/gitbucket/gitbucket/gitbucket) [](https://github.com/gitbucket/gitbucket/blob/master/LICENSE)
|
||||
=========
|
||||
|
||||
GitBucket is the easily installable Github clone written with Scala.
|
||||
GitBucket is a Git web platform powered by Scala offering:
|
||||
|
||||
The current version of GitBucket provides a basic features below:
|
||||
- Easy installation
|
||||
- Intuitive UI
|
||||
- High extensibility by plugins
|
||||
- API compatibility with GitHub
|
||||
|
||||
- Public / Private Git repository (http access only)
|
||||
- Repository viewer (some advanced features such as online file editing are not implemented)
|
||||
- Repository search (Code and Issues)
|
||||
- Wiki
|
||||
- Issues
|
||||
- Fork / Pull request
|
||||
- Mail notification
|
||||
- Activity timeline
|
||||
- User management (for Administrators)
|
||||
- Group (like Organization in Github)
|
||||
- LDAP integration
|
||||
- Gravatar support
|
||||

|
||||
|
||||
Following features are not implemented, but we will make them in the future release!
|
||||
Features
|
||||
--------
|
||||
The current version of GitBucket provides many features such as:
|
||||
|
||||
- File editing in repository viewer
|
||||
- Comment for the changeset
|
||||
- Network graph
|
||||
- Statics
|
||||
- Watch / Star
|
||||
|
||||
If you want to try the development version of GitBucket, see the documentation for developers at [Wiki](https://github.com/takezoe/gitbucket/wiki).
|
||||
- Public / Private Git repositories (with http/https and ssh access)
|
||||
- GitLFS support
|
||||
- Repository viewer including an online file editor
|
||||
- Issues, Pull Requests and Wiki for repositories
|
||||
- Activity timeline and email notifications
|
||||
- Account and group management with LDAP integration
|
||||
- a Plug-in system
|
||||
|
||||
Installation
|
||||
--------
|
||||
GitBucket requires **Java8**. You have to install it, if it is not already installed.
|
||||
|
||||
1. Download latest **gitbucket.war** from [the release page](https://github.com/takezoe/gitbucket/releases).
|
||||
2. Deploy it to the Servlet 3.0 container such as Tomcat 7.x, Jetty 8.x, GlassFish 3.x or higher.
|
||||
3. Access **http://[hostname]:[port]/gitbucket/** using your web browser.
|
||||
1. Download the latest **gitbucket.war** from [the releases page](https://github.com/gitbucket/gitbucket/releases) and run it by `java -jar gitbucket.war`.
|
||||
2. Go to `http://[hostname]:8080/` and log in with ID: **root** / Pass: **root**.
|
||||
|
||||
The default administrator account is **root** and password is **root**.
|
||||
You can also deploy `gitbucket.war` to a servlet container which supports Servlet 3.0 (like Jetty, Tomcat, JBoss, etc). Note that GitBucket doesn't support Jakarta EE yet.
|
||||
|
||||
or you can start GitBucket by ```java -jar gitbucket.war``` without servlet container. In this case, GitBucket URL is **http://[hostname]:8080/**. You can specify following options.
|
||||
For more information about installation on Mac or Windows Server (with IIS), or configuration of Apache or Nginx and also integration with other tools or services such as Jenkins or Slack, see [Wiki](https://github.com/gitbucket/gitbucket/wiki).
|
||||
|
||||
- --port=[NUMBER]
|
||||
- --prefix=[CONTEXTPATH]
|
||||
To upgrade GitBucket, replace `gitbucket.war` with the new version, after stopping GitBucket. All GitBucket data is stored in `HOME/.gitbucket` by default. So if you want to back up GitBucket's data, copy this directory to the backup location.
|
||||
|
||||
To upgrade GitBucket, only replace gitbucket.war. All GitBucket data is stored in HOME/gitbucket. So if you want to back up GitBucket data, copy this directory to the other disk.
|
||||
|
||||
For Installation on Windows Server with IIS see [this wiki page](https://github.com/takezoe/gitbucket/wiki/Installation-on-IIS-and-Helicontech-Zoo)
|
||||
|
||||
Release Notes
|
||||
Plugins
|
||||
--------
|
||||
### 1.7 - 26 Oct 2013
|
||||
- Support working on Java6 in embedded Jetty mode
|
||||
- Add ```--host``` option to bind specified host name in embedded Jetty mode
|
||||
- Add ```--https=true``` option to use https in embedded Jetty mode
|
||||
- Add full name as user property
|
||||
- Change link color for absent Wiki pages
|
||||
- Add ZIP download button to the repository viewer tab
|
||||
- Improve ZIP exporting performance
|
||||
- Expand issue and comment textarea for long text automatically
|
||||
- Add conflict detection in Wiki
|
||||
- Add reverting wiki page from history
|
||||
- Match committer to user name by email address
|
||||
- Mail notification sender is customizable
|
||||
- Add link to changeset in refs comment for issues
|
||||
- Fix some bugs
|
||||
GitBucket has a plug-in system that allows extra functionality. Officially the following plug-ins are provided:
|
||||
|
||||
### 1.6 - 1 Oct 2013
|
||||
- Web hook
|
||||
- Performance improvement for pull request
|
||||
- Executable war file
|
||||
- Specify suitable Content-Type for downloaded files in the repository viewer
|
||||
- Fix some bugs
|
||||
- [gitbucket-gist-plugin](https://github.com/gitbucket/gitbucket-gist-plugin)
|
||||
- [gitbucket-emoji-plugin](https://github.com/gitbucket/gitbucket-emoji-plugin)
|
||||
- [gitbucket-pages-plugin](https://github.com/gitbucket/gitbucket-pages-plugin)
|
||||
- [gitbucket-notifications-plugin](https://github.com/gitbucket/gitbucket-notifications-plugin)
|
||||
|
||||
### 1.5 - 4 Sep 2013
|
||||
- Fork and pull request
|
||||
- LDAP authentication
|
||||
- Mail notification
|
||||
- Add an option to turn off the gravatar support
|
||||
- Add the branch tab in the repository viewer
|
||||
- Encoding auto detection for the file content in the repository viewer
|
||||
- Add favicon, header logo and icons for the timeline
|
||||
- Specify data directory via environment variable GITBUCKET_HOME
|
||||
- Fix some bugs
|
||||
You can find more plugins made by the community at [GitBucket community plugins](https://gitbucket-plugins.github.io/).
|
||||
|
||||
### 1.4 - 31 Jul 2013
|
||||
- Group management
|
||||
- Repository search for code and issues
|
||||
- Display user related issues on the dashboard
|
||||
- Display participants avatar of issues on the issue page
|
||||
- Performance improvement for repository viewer
|
||||
- Alert by milestone due date
|
||||
- H2 database administration console
|
||||
- Fix some bugs
|
||||
Building and Development
|
||||
-----------
|
||||
If you want to try the development version of GitBucket, or want to contribute to the project, please see the [Developer's Guide](https://github.com/gitbucket/gitbucket/blob/master/doc/readme.md).
|
||||
It provides instructions on building from source and on setting up an IDE for debugging.
|
||||
It also contains documentation of the core concepts used within the project.
|
||||
|
||||
### 1.3 - 18 Jul 2013
|
||||
- Batch updating for issues
|
||||
- Display assigned user on issue list
|
||||
- User icon and Gravatar support
|
||||
- Convert @xxxx to link to the account page
|
||||
- Add copy to clipboard button for git clone URL
|
||||
- Allow multi-byte characters as wiki page name
|
||||
- Allow to create the empty repository
|
||||
- Fix some bugs
|
||||
Support
|
||||
--------
|
||||
|
||||
### 1.2 - 09 Jul 2013
|
||||
- Add activity timeline
|
||||
- Bugfix for Git 1.8.1.5 or later
|
||||
- Allow multi-byte characters as label
|
||||
- Fix some bugs
|
||||
- If you have any questions about GitBucket, see [Wiki](https://github.com/gitbucket/gitbucket/wiki) and check issues whether there is a same question or request in the past.
|
||||
- If you can't find same question and report, send it to our [Gitter room](https://gitter.im/gitbucket/gitbucket) before raising an issue.
|
||||
- The highest priority of GitBucket is the ease of installation and API compatibility with GitHub, so your feature request might be rejected if they go against those principles.
|
||||
|
||||
### 1.1 - 05 Jul 2013
|
||||
- Fix some bugs
|
||||
- Upgrade to JGit 3.0
|
||||
What's New in 4.38.x
|
||||
-------------
|
||||
## 4.38.3 - 30 Oct 2022
|
||||
- Fix several issues around multiple assignees in issues and pull requests
|
||||
- Fix IllegalStateException when returning unknown avatar image
|
||||
|
||||
### 1.0 - 04 Jul 2013
|
||||
- This is a first public release
|
||||
## 4.38.2 - 20 Sep 2022
|
||||
- Resurrect assignee icons on the issue list
|
||||
|
||||
## 4.38.1 - 10 Sep 2022
|
||||
- Fix comment diff in Chrome 105
|
||||
- Fix Markdown table CSS
|
||||
- Fix HTML rendering of multiple asignees
|
||||
|
||||
## 4.38.0 - 3 Sep 2022
|
||||
- Support multiple assignees for Issues and Pull requests
|
||||
- Custom fields for issues and pull requests
|
||||
- Reset password by users
|
||||
- Allow to configure Jetty idle timeout in standalone mode
|
||||
- Horizontal scroll for too wide tables in Markdown
|
||||
- Hide header content on signin and register page
|
||||
- Fix the default charset of the online editor in the repository viewer
|
||||
- Fix the milestone count
|
||||
- Some improvements and bugfixes for WebAPI and WebHook
|
||||
|
||||
See the [change log](CHANGELOG.md) for all of the updates.
|
||||
|
||||
291
build.sbt
Normal file
291
build.sbt
Normal file
@@ -0,0 +1,291 @@
|
||||
import com.typesafe.sbt.license.{DepModuleInfo, LicenseInfo}
|
||||
import com.jsuereth.sbtpgp.PgpKeys._
|
||||
|
||||
val Organization = "io.github.gitbucket"
|
||||
val Name = "gitbucket"
|
||||
val GitBucketVersion = "4.38.3"
|
||||
val ScalatraVersion = "2.8.4"
|
||||
val JettyVersion = "9.4.49.v20220914"
|
||||
val JgitVersion = "5.13.1.202206130422-r"
|
||||
|
||||
lazy val root = (project in file("."))
|
||||
.enablePlugins(SbtTwirl, ScalatraPlugin)
|
||||
|
||||
sourcesInBase := false
|
||||
organization := Organization
|
||||
name := Name
|
||||
version := GitBucketVersion
|
||||
scalaVersion := "2.13.10"
|
||||
|
||||
// scalafmtOnCompile := true
|
||||
|
||||
coverageExcludedPackages := ".*\\.html\\..*"
|
||||
|
||||
// dependency settings
|
||||
resolvers ++= Seq(
|
||||
Classpaths.typesafeReleases,
|
||||
"sonatype-snapshot" at "https://oss.sonatype.org/content/repositories/snapshots/"
|
||||
)
|
||||
|
||||
libraryDependencies ++= Seq(
|
||||
"org.eclipse.jgit" % "org.eclipse.jgit.http.server" % JgitVersion,
|
||||
"org.eclipse.jgit" % "org.eclipse.jgit.archive" % JgitVersion,
|
||||
"org.scalatra" %% "scalatra" % ScalatraVersion cross CrossVersion.for3Use2_13,
|
||||
"org.scalatra" %% "scalatra-json" % ScalatraVersion cross CrossVersion.for3Use2_13,
|
||||
"org.scalatra" %% "scalatra-forms" % ScalatraVersion cross CrossVersion.for3Use2_13,
|
||||
"org.json4s" %% "json4s-jackson" % "4.0.6" cross CrossVersion.for3Use2_13,
|
||||
"commons-io" % "commons-io" % "2.11.0",
|
||||
"io.github.gitbucket" % "solidbase" % "1.0.5",
|
||||
"io.github.gitbucket" % "markedj" % "1.0.17",
|
||||
"org.apache.commons" % "commons-compress" % "1.21",
|
||||
"org.apache.commons" % "commons-email" % "1.5",
|
||||
"commons-net" % "commons-net" % "3.8.0",
|
||||
"org.apache.httpcomponents" % "httpclient" % "4.5.13",
|
||||
"org.apache.sshd" % "apache-sshd" % "2.9.1" exclude ("org.slf4j", "slf4j-jdk14") exclude ("org.apache.sshd", "sshd-mina") exclude ("org.apache.sshd", "sshd-netty"),
|
||||
"org.apache.tika" % "tika-core" % "2.5.0",
|
||||
"com.github.takezoe" %% "blocking-slick-32" % "0.0.12" cross CrossVersion.for3Use2_13,
|
||||
"com.novell.ldap" % "jldap" % "2009-10-07",
|
||||
"com.h2database" % "h2" % "1.4.199",
|
||||
"org.mariadb.jdbc" % "mariadb-java-client" % "3.0.8",
|
||||
"org.postgresql" % "postgresql" % "42.5.0",
|
||||
"ch.qos.logback" % "logback-classic" % "1.2.11",
|
||||
"com.zaxxer" % "HikariCP" % "4.0.3" exclude ("org.slf4j", "slf4j-api"),
|
||||
"com.typesafe" % "config" % "1.4.2",
|
||||
"fr.brouillard.oss.security.xhub" % "xhub4j-core" % "1.1.0",
|
||||
"io.github.java-diff-utils" % "java-diff-utils" % "4.12",
|
||||
"org.cache2k" % "cache2k-all" % "1.6.0.Final",
|
||||
"net.coobird" % "thumbnailator" % "0.4.18",
|
||||
"com.github.zafarkhaja" % "java-semver" % "0.9.0",
|
||||
"com.nimbusds" % "oauth2-oidc-sdk" % "10.1",
|
||||
"org.eclipse.jetty" % "jetty-webapp" % JettyVersion % "provided",
|
||||
"javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided",
|
||||
"junit" % "junit" % "4.13.2" % "test",
|
||||
"org.scalatra" %% "scalatra-scalatest" % ScalatraVersion % "test" cross CrossVersion.for3Use2_13,
|
||||
"org.mockito" % "mockito-core" % "4.8.1" % "test",
|
||||
"com.dimafeng" %% "testcontainers-scala" % "0.40.11" % "test",
|
||||
"org.testcontainers" % "mysql" % "1.17.5" % "test",
|
||||
"org.testcontainers" % "postgresql" % "1.17.5" % "test",
|
||||
"net.i2p.crypto" % "eddsa" % "0.3.0",
|
||||
"is.tagomor.woothee" % "woothee-java" % "1.11.0",
|
||||
"org.ec4j.core" % "ec4j-core" % "0.3.0",
|
||||
"org.kohsuke" % "github-api" % "1.313" % "test"
|
||||
)
|
||||
|
||||
libraryDependencies ~= {
|
||||
_.map {
|
||||
case x if x.name == "twirl-api" =>
|
||||
x cross CrossVersion.for3Use2_13
|
||||
case x =>
|
||||
x
|
||||
}
|
||||
}
|
||||
|
||||
// Compiler settings
|
||||
scalacOptions := Seq(
|
||||
"-deprecation",
|
||||
"-language:postfixOps",
|
||||
"-opt:l:method",
|
||||
"-feature",
|
||||
"-Wunused:imports",
|
||||
"-Wconf:cat=unused&src=twirl/.*:s,cat=unused&src=scala/gitbucket/core/model/[^/]+\\.scala:s"
|
||||
)
|
||||
compile / javacOptions ++= Seq("-target", "8", "-source", "8")
|
||||
Jetty / javaOptions += "-Dlogback.configurationFile=/logback-dev.xml"
|
||||
|
||||
// Test settings
|
||||
//testOptions in Test += Tests.Argument("-l", "ExternalDBTest")
|
||||
Test / javaOptions += "-Dgitbucket.home=target/gitbucket_home_for_test"
|
||||
Test / testOptions += Tests.Setup(() => new java.io.File("target/gitbucket_home_for_test").mkdir())
|
||||
Test / fork := true
|
||||
|
||||
// Packaging options
|
||||
packageOptions += Package.MainClass("JettyLauncher")
|
||||
|
||||
// Assembly settings
|
||||
assembly / test := {}
|
||||
assembly / assemblyMergeStrategy := {
|
||||
case PathList("META-INF", xs @ _*) =>
|
||||
(xs map { _.toLowerCase }) match {
|
||||
case ("manifest.mf" :: Nil) => MergeStrategy.discard
|
||||
case _ => MergeStrategy.discard
|
||||
}
|
||||
case x => MergeStrategy.first
|
||||
}
|
||||
|
||||
// Exclude a war file from published artifacts
|
||||
signedArtifacts := {
|
||||
signedArtifacts.value.filterNot {
|
||||
case (_, file) => file.getName.endsWith(".war") || file.getName.endsWith(".war.asc")
|
||||
}
|
||||
}
|
||||
|
||||
// Create executable war file
|
||||
val ExecutableConfig = config("executable").hide
|
||||
Keys.ivyConfigurations += ExecutableConfig
|
||||
libraryDependencies ++= Seq(
|
||||
"org.eclipse.jetty" % "jetty-security" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-webapp" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-continuation" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-server" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-xml" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-http" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-servlet" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-io" % JettyVersion % "executable",
|
||||
"org.eclipse.jetty" % "jetty-util" % JettyVersion % "executable"
|
||||
)
|
||||
|
||||
// Run package task before test to generate target/webapp for integration test
|
||||
Test / test := {
|
||||
_root_.sbt.Keys.`package`.value
|
||||
(Test / test).value
|
||||
}
|
||||
|
||||
val executableKey = TaskKey[File]("executable")
|
||||
executableKey := {
|
||||
import java.util.jar.Attributes.{Name => AttrName}
|
||||
import java.util.jar.{Manifest => JarManifest}
|
||||
|
||||
val workDir = Keys.target.value / "executable"
|
||||
val warName = Keys.name.value + ".war"
|
||||
|
||||
val log = streams.value.log
|
||||
log info s"building executable webapp in ${workDir}"
|
||||
|
||||
// initialize temp directory
|
||||
val temp = workDir / "webapp"
|
||||
IO delete temp
|
||||
|
||||
// include jetty classes
|
||||
val jettyJars = Keys.update.value select configurationFilter(name = ExecutableConfig.name)
|
||||
jettyJars foreach { jar =>
|
||||
IO unzip (jar, temp, (name: String) =>
|
||||
(name startsWith "javax/") ||
|
||||
(name startsWith "org/"))
|
||||
}
|
||||
|
||||
// include original war file
|
||||
val warFile = (Keys.`package`).value
|
||||
IO unzip (warFile, temp)
|
||||
|
||||
// include launcher classes
|
||||
val classDir = (Compile / Keys.classDirectory).value
|
||||
val launchClasses = Seq("JettyLauncher.class" /*, "HttpsSupportConnector.class" */ )
|
||||
launchClasses foreach { name =>
|
||||
IO copyFile (classDir / name, temp / name)
|
||||
}
|
||||
|
||||
// include plugins
|
||||
val pluginsDir = temp / "WEB-INF" / "classes" / "plugins"
|
||||
IO createDirectory (pluginsDir)
|
||||
|
||||
val plugins = IO readLines (Keys.baseDirectory.value / "src" / "main" / "resources" / "bundle-plugins.txt")
|
||||
plugins.foreach { plugin =>
|
||||
plugin.trim.split(":") match {
|
||||
case Array(pluginId, pluginVersion) =>
|
||||
val url = "https://github.com/" +
|
||||
s"gitbucket/gitbucket-${pluginId}-plugin/releases/download/${pluginVersion}/gitbucket-${pluginId}-plugin-${pluginVersion}.jar"
|
||||
log info s"Download: ${url}"
|
||||
IO transfer (new java.net.URL(url).openStream, pluginsDir / url.substring(url.lastIndexOf("/") + 1))
|
||||
case _ => ()
|
||||
}
|
||||
}
|
||||
|
||||
// zip it up
|
||||
IO delete (temp / "META-INF" / "MANIFEST.MF")
|
||||
val contentMappings = (temp.allPaths --- PathFinder(temp)).get pair { file =>
|
||||
IO.relativizeFile(temp, file)
|
||||
}
|
||||
val manifest = new JarManifest
|
||||
manifest.getMainAttributes put (AttrName.MANIFEST_VERSION, "1.0")
|
||||
manifest.getMainAttributes put (AttrName.MAIN_CLASS, "JettyLauncher")
|
||||
val outputFile = workDir / warName
|
||||
IO jar (contentMappings.map { case (file, path) => (file, path.toString) }, outputFile, manifest, None)
|
||||
|
||||
// generate checksums
|
||||
Seq(
|
||||
"md5" -> "MD5",
|
||||
"sha1" -> "SHA-1",
|
||||
"sha256" -> "SHA-256"
|
||||
).foreach {
|
||||
case (extension, algorithm) =>
|
||||
val checksumFile = workDir / (warName + "." + extension)
|
||||
Checksums generate (outputFile, checksumFile, algorithm)
|
||||
}
|
||||
|
||||
// done
|
||||
log info s"built executable webapp ${outputFile}"
|
||||
outputFile
|
||||
}
|
||||
publishTo := {
|
||||
val nexus = "https://oss.sonatype.org/"
|
||||
if (version.value.trim.endsWith("SNAPSHOT")) Some("snapshots" at nexus + "content/repositories/snapshots")
|
||||
else Some("releases" at nexus + "service/local/staging/deploy/maven2")
|
||||
}
|
||||
publishMavenStyle := true
|
||||
pomIncludeRepository := { _ =>
|
||||
false
|
||||
}
|
||||
pomExtra := (
|
||||
<url>https://github.com/gitbucket/gitbucket</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<scm>
|
||||
<url>https://github.com/gitbucket/gitbucket</url>
|
||||
<connection>scm:git:https://github.com/gitbucket/gitbucket.git</connection>
|
||||
</scm>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>takezoe</id>
|
||||
<name>Naoki Takezoe</name>
|
||||
<url>https://github.com/takezoe</url>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>shimamoto</id>
|
||||
<name>Takako Shimamoto</name>
|
||||
<url>https://github.com/shimamoto</url>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>tanacasino</id>
|
||||
<name>Tomofumi Tanaka</name>
|
||||
<url>https://github.com/tanacasino</url>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>mrkm4ntr</id>
|
||||
<name>Shintaro Murakami</name>
|
||||
<url>https://github.com/mrkm4ntr</url>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>nazoking</id>
|
||||
<name>nazoking</name>
|
||||
<url>https://github.com/nazoking</url>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>McFoggy</id>
|
||||
<name>Matthieu Brouillard</name>
|
||||
<url>https://github.com/McFoggy</url>
|
||||
</developer>
|
||||
</developers>
|
||||
)
|
||||
|
||||
Test / testOptions ++= {
|
||||
if (scala.util.Properties.isWin) {
|
||||
Seq(
|
||||
Tests.Exclude(
|
||||
Set(
|
||||
"gitbucket.core.GitBucketCoreModuleSpec"
|
||||
)
|
||||
)
|
||||
)
|
||||
} else {
|
||||
Nil
|
||||
}
|
||||
}
|
||||
|
||||
Jetty / javaOptions ++= Seq(
|
||||
"-Xdebug",
|
||||
"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
|
||||
)
|
||||
61
build.xml
61
build.xml
@@ -1,61 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<project name="gitbucket" default="all" basedir=".">
|
||||
|
||||
<property name="target.dir" value="target"/>
|
||||
<property name="embed.classes.dir" value="${target.dir}/embed-classes"/>
|
||||
<property name="jetty.dir" value="embed-jetty"/>
|
||||
<property name="scala.version" value="2.10"/>
|
||||
<property name="gitbucket.version" value="0.0.1"/>
|
||||
<property name="jetty.version" value="8.1.8.v20121106"/>
|
||||
<property name="servlet.version" value="3.0.0.v201112011016"/>
|
||||
|
||||
<condition property="sbt.exec" value="sbt.bat" else="sbt.sh">
|
||||
<os family="windows" />
|
||||
</condition>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${embed.classes.dir}"/>
|
||||
<delete file="${target.dir}/scala-${scala.version}/gitbucket.war"/>
|
||||
</target>
|
||||
|
||||
<target name="war" depends="clean">
|
||||
<exec executable="${sbt.exec}" resolveexecutable="true" failonerror="true">
|
||||
<arg line="clean compile test package" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="embed" depends="war">
|
||||
<mkdir dir="${embed.classes.dir}"/>
|
||||
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/javax.servlet-${servlet.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-continuation-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-http-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-io-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-security-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-server-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-servlet-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-util-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-webapp-${jetty.version}.jar" />
|
||||
<unzip dest="${embed.classes.dir}" src="${jetty.dir}/jetty-xml-${jetty.version}.jar" />
|
||||
|
||||
<zip destfile="${target.dir}/scala-${scala.version}/gitbucket_${scala.version}-${gitbucket.version}.war"
|
||||
basedir="${embed.classes.dir}"
|
||||
update = "true"
|
||||
includes="javax/**,org/**"/>
|
||||
|
||||
<zip destfile="${target.dir}/scala-${scala.version}/gitbucket_${scala.version}-${gitbucket.version}.war"
|
||||
basedir="${target.dir}/scala-${scala.version}/classes"
|
||||
update = "true"
|
||||
includes="JettyLauncher.class,HttpsSupportConnector.class"/>
|
||||
</target>
|
||||
|
||||
<target name="rename" depends="embed">
|
||||
<rename src="${target.dir}/scala-${scala.version}/gitbucket_${scala.version}-${gitbucket.version}.war"
|
||||
dest="${target.dir}/scala-${scala.version}/gitbucket.war"/>
|
||||
</target>
|
||||
|
||||
<target name="all" depends="rename">
|
||||
</target>
|
||||
|
||||
|
||||
</project>
|
||||
@@ -1,2 +0,0 @@
|
||||
%~d0
|
||||
cmd /k cd %~p0
|
||||
13
contrib/README.md
Normal file
13
contrib/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Contrib Notes #
|
||||
|
||||
The configuration script adapts according to the OS.
|
||||
The `linux` directory contains scripts for Ubuntu and RedHat.
|
||||
The Mac scripts have been folded in as well.
|
||||
Common scripts are in this directory.
|
||||
|
||||
This version of scripts has so far only been tested on Ubuntu and Mac. Someone else will have to test on RedHat.
|
||||
|
||||
To run:
|
||||
|
||||
1. Edit `gitbucket.conf` to suit.
|
||||
2. Type: `install`
|
||||
62
contrib/gitbucket.conf
Normal file
62
contrib/gitbucket.conf
Normal file
@@ -0,0 +1,62 @@
|
||||
# Configuration section is below. Ignore this part
|
||||
|
||||
function isUbuntu {
|
||||
if [ -f /etc/lsb-release ]; then
|
||||
grep -i ubuntu /etc/lsb-release | head -n 1 | cut -d \ -f 1 | cut -d = -f 2
|
||||
fi
|
||||
}
|
||||
|
||||
function isRedHat {
|
||||
if [ -d "/etc/rc.d/init.d" ]; then echo yes; fi
|
||||
}
|
||||
|
||||
function isMac {
|
||||
if [[ "$(uname -a | cut -d \ -f 1 )" == "Darwin" ]]; then echo yes; fi
|
||||
}
|
||||
|
||||
#
|
||||
# Configuration section start
|
||||
#
|
||||
|
||||
# Bind host
|
||||
GITBUCKET_HOST=0.0.0.0
|
||||
|
||||
# Other Java option
|
||||
GITBUCKET_JVM_OPTS=-Dmail.smtp.starttls.enable=true
|
||||
|
||||
# Data directory, holds repositories
|
||||
GITBUCKET_HOME=/var/lib/gitbucket
|
||||
|
||||
GITBUCKET_LOG_DIR=/var/log/gitbucket
|
||||
|
||||
# Server port
|
||||
GITBUCKET_PORT=8080
|
||||
|
||||
# URL prefix for the GitBucket page (http://<host>:<port>/<prefix>/)
|
||||
GITBUCKET_PREFIX=
|
||||
|
||||
# Directory where GitBucket is installed
|
||||
# Configuration is stored here:
|
||||
GITBUCKET_DIR=/usr/share/gitbucket
|
||||
GITBUCKET_WAR_DIR=$GITBUCKET_DIR/lib
|
||||
|
||||
# Path to the WAR file
|
||||
GITBUCKET_WAR_FILE=$GITBUCKET_WAR_DIR/gitbucket.war
|
||||
|
||||
# GitBucket version to fetch when installing
|
||||
GITBUCKET_VERSION=3.5
|
||||
|
||||
#
|
||||
# End of configuration section. Ignore this part
|
||||
#
|
||||
if [ `isUbuntu` ]; then
|
||||
GITBUCKET_SERVICE=/etc/init.d/gitbucket
|
||||
elif [ `isRedHat` ]; then
|
||||
GITBUCKET_SERVICE=/etc/rc.d/init.d
|
||||
elif [ `isMac` ]; then
|
||||
GITBUCKET_SERVICE=/Library/StartupItems/GitBucket/GitBucket
|
||||
else
|
||||
echo "Don't know how to install onto this OS"
|
||||
exit -2
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# /etc/rc.d/init.d/gitbucket
|
||||
# RedHat: /etc/rc.d/init.d/gitbucket
|
||||
# Ubuntu: /etc/init.d/gitbucket
|
||||
# Mac OS/X: /Library/StartupItems/GitBucket
|
||||
#
|
||||
# Starts the GitBucket server
|
||||
#
|
||||
@@ -8,28 +10,44 @@
|
||||
# description: Run GitBucket server
|
||||
# processname: java
|
||||
|
||||
# Source function library
|
||||
. /etc/rc.d/init.d/functions
|
||||
set -e
|
||||
|
||||
[ -f /etc/rc.d/init.d/functions ] && source /etc/rc.d/init.d/functions # RedHat
|
||||
[ -f /etc/rc.common ] && source /etc/rc.common # Mac OS/X
|
||||
|
||||
# Default values
|
||||
GITBUCKET_HOME=/var/lib/gitbucket
|
||||
GITBUCKET_WAR_FILE=/usr/share/gitbucket/lib/gitbucket.war
|
||||
|
||||
# Pull in cq settings
|
||||
[ -f /etc/sysconfig/gitbucket ] && . /etc/sysconfig/gitbucket
|
||||
[ -f /etc/sysconfig/gitbucket ] && source /etc/sysconfig/gitbucket # RedHat
|
||||
[ -f gitbucket.conf ] && source gitbucket.conf # For all systems
|
||||
|
||||
# Location of the log and PID file
|
||||
LOG_FILE=/var/log/gitbucket/run.log
|
||||
LOG_FILE=$GITBUCKET_LOG_DIR/run.log
|
||||
PID_FILE=/var/run/gitbucket.pid
|
||||
|
||||
# Default return value
|
||||
RETVAL=0
|
||||
RED='\033[1m\E[37;41m'
|
||||
GREEN='\033[1m\E[37;42m'
|
||||
OFF='\E[0m'
|
||||
|
||||
if [ -z "$(which success)" ]; then
|
||||
function success {
|
||||
printf "%b\n" "$GREEN $* $OFF"
|
||||
}
|
||||
fi
|
||||
if [ -z "$(which failure)" ]; then
|
||||
function failure {
|
||||
printf "%b\n" "$RED $* $OFF"
|
||||
}
|
||||
fi
|
||||
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
echo -n $"Starting GitBucket server: "
|
||||
|
||||
# Compile statup parameters
|
||||
START_OPTS=
|
||||
if [ $GITBUCKET_PORT ]; then
|
||||
START_OPTS="${START_OPTS} --port=${GITBUCKET_PORT}"
|
||||
fi
|
||||
@@ -39,21 +57,16 @@ start() {
|
||||
if [ $GITBUCKET_HOST ]; then
|
||||
START_OPTS="${START_OPTS} --host=${GITBUCKET_HOST}"
|
||||
fi
|
||||
if [ $GITBUCKET_HTTPS ]; then
|
||||
START_OPTS="${START_OPTS} --https=true"
|
||||
fi
|
||||
|
||||
# Run the Java process
|
||||
GITBUCKET_HOME="${GITBUCKET_HOME}" java $GITBUCKET_JVM_OPTS -jar $GITBUCKET_WAR_FILE $START_OPTS >>$LOG_FILE 2>&1 &
|
||||
RETVAL=$?
|
||||
|
||||
# Store PID of the Java process into a file
|
||||
echo $! > $PID_FILE
|
||||
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
success "GitBucket startup"
|
||||
success "Success"
|
||||
else
|
||||
failure "GitBucket startup"
|
||||
failure "Exit code $RETVAL"
|
||||
fi
|
||||
|
||||
echo
|
||||
@@ -85,25 +98,41 @@ restart() {
|
||||
start
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
## MacOS proxies for System V service hooks:
|
||||
StartService() {
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
}
|
||||
|
||||
StopService() {
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
}
|
||||
|
||||
RestartService() {
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status -p $PID_FILE java
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 [start|stop|restart|status]"
|
||||
RETVAL=2
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
exit $RETVAL
|
||||
if [ `isMac` ]; then
|
||||
RunService "$1"
|
||||
else
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status -p $PID_FILE java
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 [start|stop|restart|status]"
|
||||
RETVAL=2
|
||||
esac
|
||||
exit $RETVAL
|
||||
fi
|
||||
|
||||
69
contrib/install
Executable file
69
contrib/install
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Only tested on Ubuntu 14.04
|
||||
|
||||
# Uses information stored in GitBucket git repo on GitHub as defaults.
|
||||
# Edit gitbucket.conf before running this
|
||||
|
||||
set -e
|
||||
|
||||
GITBUCKET_VERSION=2.1
|
||||
|
||||
if [ ! -f gitbucket.conf ]; then
|
||||
echo "gitbucket.conf not found, aborting"
|
||||
exit -3
|
||||
fi
|
||||
source gitbucket.conf
|
||||
|
||||
function createDir {
|
||||
if [ ! -d "$1" ]; then
|
||||
echo "Making $1 directory."
|
||||
sudo mkdir -p "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$(which iptables)" ]; then
|
||||
echo "Opening port $GITBUCKET_PORT in firewall."
|
||||
sudo iptables -A INPUT -p tcp --dport $GITBUCKET_PORT -j ACCEPT
|
||||
echo "Please use iptables-persistent:"
|
||||
echo " sudo apt-get install iptables-persistent"
|
||||
echo "After installed, you can save/reload iptables rules anytime:"
|
||||
echo " sudo /etc/init.d/iptables-persistent save"
|
||||
echo " sudo /etc/init.d/iptables-persistent reload"
|
||||
fi
|
||||
|
||||
createDir "$GITBUCKET_HOME"
|
||||
createDir "$GITBUCKET_WAR_DIR"
|
||||
createDir "$GITBUCKET_DIR"
|
||||
createDir "$GITBUCKET_LOG_DIR"
|
||||
|
||||
echo "Fetching GitBucket v$GITBUCKET_VERSION and saving as $GITBUCKET_WAR_FILE"
|
||||
sudo wget -qO "$GITBUCKET_WAR_FILE" https://github.com/gitbucket/gitbucket/releases/download/$GITBUCKET_VERSION/gitbucket.war
|
||||
|
||||
sudo rm -f "$GITBUCKET_LOG_DIR/run.log"
|
||||
|
||||
echo "Copying gitbucket.conf to $GITBUCKET_DIR"
|
||||
sudo cp gitbucket.conf $GITBUCKET_DIR
|
||||
if [ `isUbuntu` ] || [ `isRedHat` ]; then
|
||||
sudo cp gitbucket.init "$GITBUCKET_SERVICE"
|
||||
# Install gitbucket as a service that starts when system boots
|
||||
sudo chown root:root $GITBUCKET_SERVICE
|
||||
sudo chmod 755 $GITBUCKET_SERVICE
|
||||
sudo update-rc.d "$(basename $GITBUCKET_SERVICE)" defaults 98 02
|
||||
echo "Starting GitBucket service"
|
||||
sudo $GITBUCKET_SERVICE start
|
||||
elif [ `isMac` ]; then
|
||||
sudo macosx/makePlist
|
||||
echo "Starting GitBucket service"
|
||||
sudo cp gitbucket.conf "$GITBUCKET_SERVICE"
|
||||
sudo cp gitbucket.init "$GITBUCKET_SERVICE"
|
||||
sudo chmod a+x "$GITBUCKET_SERVICE"
|
||||
sudo "$GITBUCKET_SERVICE" start
|
||||
else
|
||||
echo "Don't know how to install this OS"
|
||||
exit -2
|
||||
fi
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
less "$GITBUCKET_LOG_DIR/run.log"
|
||||
fi
|
||||
16
contrib/linux/redhat/README.md
Normal file
16
contrib/linux/redhat/README.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Contrib Notes #
|
||||
|
||||
RPM spec file and init script for Red Hat Enterprise Linux 6.x.
|
||||
|
||||
To create RPM:
|
||||
|
||||
1. Edit `../../gitbucket.conf` to suit.
|
||||
2. Edit `gitbucket.init` to suit.
|
||||
3. Edit `gitbucket.spec` to suit.
|
||||
4. Place `gitbucket.spec` to rpm/SPECS/.
|
||||
5. Place `gitbucket.init` and `gitbucket.war` to rpm/SOURCES/.
|
||||
6. Execute `rpmbuild -ba rpm/SPECS/gitbucket.spec`
|
||||
|
||||
This rpm runs gitbucket not as root user but as gitbucket user.
|
||||
This rpm creates user and group named `gitbucket` at installation.
|
||||
This rpm make chkconfig of gitbucket to be on.
|
||||
108
contrib/linux/redhat/gitbucket.init
Normal file
108
contrib/linux/redhat/gitbucket.init
Normal file
@@ -0,0 +1,108 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# RedHat: /etc/rc.d/init.d/gitbucket
|
||||
#
|
||||
# Starts the GitBucket server
|
||||
#
|
||||
# chkconfig: 345 60 40
|
||||
# description: Run GitBucket server
|
||||
# processname: java
|
||||
|
||||
[ -f /etc/rc.d/init.d/functions ] && source /etc/rc.d/init.d/functions # RedHat
|
||||
|
||||
# Default values
|
||||
GITBUCKET_HOME=/var/lib/gitbucket
|
||||
GITBUCKET_WAR_FILE=/usr/share/gitbucket/lib/gitbucket.war
|
||||
|
||||
# Pull in cq settings
|
||||
[ -f /etc/sysconfig/gitbucket ] && source /etc/sysconfig/gitbucket # RedHat
|
||||
[ -f gitbucket.conf ] && source gitbucket.conf # For all systems
|
||||
|
||||
# Location of the log and PID file
|
||||
LOG_FILE=$GITBUCKET_LOG_DIR/run.log
|
||||
|
||||
RED='\033[1m\E[37;41m'
|
||||
GREEN='\033[1m\E[37;42m'
|
||||
OFF='\E[0m'
|
||||
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
echo -n $"Starting GitBucket server: "
|
||||
|
||||
START_OPTS=
|
||||
if [ $GITBUCKET_PORT ]; then
|
||||
START_OPTS="${START_OPTS} --port=${GITBUCKET_PORT}"
|
||||
fi
|
||||
if [ $GITBUCKET_PREFIX ]; then
|
||||
START_OPTS="${START_OPTS} --prefix=${GITBUCKET_PREFIX}"
|
||||
fi
|
||||
if [ $GITBUCKET_HOST ]; then
|
||||
START_OPTS="${START_OPTS} --host=${GITBUCKET_HOST}"
|
||||
fi
|
||||
|
||||
GITBUCKET_HOME="${GITBUCKET_HOME}" daemon --user=gitbucket java $GITBUCKET_JVM_OPTS -jar $GITBUCKET_WAR_FILE $START_OPTS >>$LOG_FILE 2>&1 &
|
||||
sleep 3
|
||||
pgrep -f $GITBUCKET_WAR_FILE >> $LOG_FILE 2>&1
|
||||
RETVAL=$?
|
||||
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
success "Success"
|
||||
else
|
||||
failure "Exit code $RETVAL"
|
||||
fi
|
||||
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping GitBucket server: "
|
||||
|
||||
# Run the Java process
|
||||
pkill -f $GITBUCKET_WAR_FILE >>$LOG_FILE 2>&1
|
||||
RETVAL=$?
|
||||
|
||||
if [ $RETVAL -eq 0 ] ; then
|
||||
success "GitBucket stopping"
|
||||
else
|
||||
failure "GitBucket stopping"
|
||||
fi
|
||||
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
pgrep -f $GITBUCKET_WAR_FILE >> $LOG_FILE 2>&1
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
echo $"GitBucket is running...."
|
||||
else
|
||||
echo $"GitBucket is stopped"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 [start|stop|restart|status]"
|
||||
RETVAL=2
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
|
||||
82
contrib/linux/redhat/gitbucket.spec
Normal file
82
contrib/linux/redhat/gitbucket.spec
Normal file
@@ -0,0 +1,82 @@
|
||||
Name: gitbucket
|
||||
Summary: GitHub clone written with Scala.
|
||||
Version: 2.6
|
||||
Release: 1%{?dist}
|
||||
License: Apache
|
||||
URL: https://github.com/gitbucket/gitbucket
|
||||
Group: System/Servers
|
||||
Source0: %{name}.war
|
||||
Source1: %{name}.init
|
||||
Source2: %{name}.conf
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
BuildArch: noarch
|
||||
Requires: java >= 1.7
|
||||
|
||||
|
||||
%description
|
||||
|
||||
GitBucket is the easily installable GitHub clone written with Scala.
|
||||
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && %{__rm} -rf "%{buildroot}"
|
||||
%{__mkdir_p} %{buildroot}{%{_sysconfdir}/{init.d,sysconfig},%{_datarootdir}/%{name}/lib,%{_sharedstatedir}/%{name},%{_localstatedir}/log/%{name}}
|
||||
%{__install} -m 0644 %{SOURCE0} %{buildroot}%{_datarootdir}/%{name}/lib
|
||||
%{__install} -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/%{name}
|
||||
%{__install} -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
||||
touch %{buildroot}%{_localstatedir}/log/%{name}/run.log
|
||||
|
||||
%pre
|
||||
/usr/sbin/groupadd -r gitbucket &> /dev/null || :
|
||||
/usr/sbin/useradd -g gitbucket -s /bin/false -r -c "GitBucket GitHub clone" -d %{_sharedstatedir}/%{name} gitbucket &> /dev/null || :
|
||||
|
||||
%post
|
||||
/sbin/chkconfig --add gitbucket
|
||||
|
||||
%preun
|
||||
if [ "$1" = 0 ]; then
|
||||
/sbin/service gitbucket stop > /dev/null 2>&1
|
||||
/sbin/chkconfig --del gitbucket
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%postun
|
||||
if [ "$1" -ge 1 ]; then
|
||||
/sbin/service gitbucket restart > /dev/null 2>&1
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && %{__rm} -rf "%{buildroot}"
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_datarootdir}/%{name}/lib/%{name}.war
|
||||
%config %{_sysconfdir}/init.d/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
||||
%attr(0755,gitbucket,gitbucket) %{_sharedstatedir}/%{name}
|
||||
%attr(0750,gitbucket,gitbucket) %{_localstatedir}/log/%{name}
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Nov 24 2014 Toru Takahashi <torutk at gmail.com>
|
||||
- Version bump to v2.6
|
||||
|
||||
* Sun Nov 09 2014 Toru Takahashi <torutk at gmail.com>
|
||||
- Version bump to v2.5
|
||||
|
||||
* Sun Oct 26 2014 Toru Takahashi <torutk at gmail.com>
|
||||
- Version bump to v2.4.1
|
||||
|
||||
* Mon Jul 21 2014 Toru Takahashi <torutk at gmail.com>
|
||||
- execute as gitbucket user
|
||||
|
||||
* Sun Jul 20 2014 Toru Takahashi <torutk at gmail.com>
|
||||
- Version bump to v2.1.
|
||||
|
||||
* Mon Oct 28 2013 Jiri Tyr <jiri_DOT_tyr at gmail.com>
|
||||
- Version bump to v1.7.
|
||||
|
||||
* Thu Oct 17 2013 Jiri Tyr <jiri_DOT_tyr at gmail.com>
|
||||
- First build.
|
||||
21
contrib/linux/redhat/selinux/gitbucket.te
Normal file
21
contrib/linux/redhat/selinux/gitbucket.te
Normal file
@@ -0,0 +1,21 @@
|
||||
module gitbucket 1.0;
|
||||
|
||||
require {
|
||||
type smtp_port_t;
|
||||
type tomcat_t;
|
||||
type tomcat_var_lib_t;
|
||||
type unreserved_port_t;
|
||||
|
||||
class file { execute };
|
||||
class tcp_socket { name_bind };
|
||||
class tcp_socket { name_connect };
|
||||
}
|
||||
|
||||
# allow tomcat to send emails
|
||||
allow tomcat_t smtp_port_t:tcp_socket { name_connect };
|
||||
|
||||
# allow file executes, required during repo creation
|
||||
allow tomcat_t tomcat_var_lib_t:file { execute };
|
||||
|
||||
# allow tomcat to serve repositories via SSH
|
||||
allow tomcat_t unreserved_port_t:tcp_socket { name_bind };
|
||||
32
contrib/linux/redhat/selinux/readme.md
Normal file
32
contrib/linux/redhat/selinux/readme.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Red Hat Enterprise Linux / CentOS SELinux policy module for GitBucket
|
||||
|
||||
One way to run GitBucket on Enterprise Linux is under Tomcat. Since EL 7.4, Tomcat is no longer unconfined.
|
||||
Thus since 7.4, Enterprise Linux blocks certain operations that are required for GitBucket to work properly:
|
||||
|
||||
* Tomcat is not allowed to connect to SMTP ports, which is required to send email notifications.
|
||||
* Tomcat is not allowed to execute files, which is required for creating repositories.
|
||||
* Tomcat is not allowed to act as a server on unreserved ports, which is required for serving repositories via SSH.
|
||||
|
||||
To mitigate this, you can use the SELinux policy module provided as `gitbucket.te`. You can deploy the module with the
|
||||
attached script, e.g.:
|
||||
|
||||
~~~
|
||||
./sedeploy.sh gitbucket
|
||||
~~~
|
||||
|
||||
You most likely also need to fix file contexts on your system. Assuming a new, default Tomcat installation on 7.4, you
|
||||
can do so by issuing the following commands:
|
||||
|
||||
~~~
|
||||
GITBUCKET_HOME='/usr/share/tomcat/.gitbucket'
|
||||
mkdir -p ${GITBUCKET_HOME}
|
||||
chown tomcat.tomcat ${GITBUCKET_HOME}
|
||||
semanage fcontext -a -t tomcat_var_lib_t "${GITBUCKET_HOME}(/.*)?"
|
||||
restorecon -rv ${GITBUCKET_HOME}
|
||||
|
||||
JAVA_CONF='/usr/share/tomcat/.java'
|
||||
mkdir -p ${JAVA_CONF}
|
||||
chown tomcat.tomcat ${JAVA_CONF}
|
||||
semanage fcontext -a -t tomcat_cache_t "${JAVA_CONF}(/.*)?"
|
||||
restorecon -rv ${JAVA_CONF}
|
||||
~~~
|
||||
14
contrib/linux/redhat/selinux/sedeploy.sh
Executable file
14
contrib/linux/redhat/selinux/sedeploy.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
MODULE=${1}
|
||||
|
||||
# this will create a .mod file
|
||||
checkmodule -M -m -o ${MODULE}.mod ${MODULE}.te
|
||||
|
||||
# this will create a compiled semodule
|
||||
semodule_package -m ${MODULE}.mod -o ${MODULE}.pp
|
||||
|
||||
# this will install the module
|
||||
semodule -i ${MODULE}.pp
|
||||
28
contrib/macosx/makePlist
Executable file
28
contrib/macosx/makePlist
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
# From http://docstore.mik.ua/orelly/unix3/mac/ch02_02.htm
|
||||
source gitbucket.conf
|
||||
GITBUCKET_SERVICE_DIR=`dirname "$GITBUCKET_SERVICE"`
|
||||
mkdir -p "$GITBUCKET_SERVICE_DIR"
|
||||
cat << EOF > "$GITBUCKET_SERVICE_DIR/gitbucket.plist"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>gitbucket</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/bin/java</string>
|
||||
<string>$GITBUCKET_JVM_OPTS</string>
|
||||
<string>-jar</string>
|
||||
<string>gitbucket.war</string>
|
||||
<string>--host=$GITBUCKET_HOST</string>
|
||||
<string>--port=$GITBUCKET_PORT</string>
|
||||
<string>--https=true</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
EOF
|
||||
@@ -1,20 +0,0 @@
|
||||
# Bind host
|
||||
#GITBUCKET_HOST=0.0.0.0
|
||||
|
||||
# Server port
|
||||
#GITBUCKET_PORT=8080
|
||||
|
||||
# Force HTTPS scheme
|
||||
#GITBUCKET_HTTPS=false
|
||||
|
||||
# Data directory (GITBUCKET_HOME/gitbucket)
|
||||
#GITBUCKET_HOME=/var/lib/gitbucket
|
||||
|
||||
# Path to the WAR file
|
||||
#GITBUCKET_WAR_FILE=/usr/share/gitbucket/lib/gitbucket.war
|
||||
|
||||
# URL prefix for the GitBucket page (http://<host>:<port>/<prefix>/)
|
||||
#GITBUCKET_PREFIX=
|
||||
|
||||
# Other Java option
|
||||
#GITBUCKET_JVM_OPTS=
|
||||
@@ -1,44 +0,0 @@
|
||||
Name: gitbucket
|
||||
Summary: Github clone written with Scala.
|
||||
Version: 1.6
|
||||
Release: 1%{?dist}
|
||||
License: Apache
|
||||
URL: https://github.com/takezoe/gitbucket
|
||||
Group: System/Servers
|
||||
Source0: %{name}.war
|
||||
Source1: %{name}.init
|
||||
Source2: %{name}.conf
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
BuildArch: noarch
|
||||
Requires: java >= 1.7
|
||||
|
||||
|
||||
%description
|
||||
|
||||
GitBucket is the easily installable Github clone written with Scala.
|
||||
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && %{__rm} -rf "%{buildroot}"
|
||||
%{__mkdir_p} %{buildroot}{%{_sysconfdir}/{init.d,sysconfig},%{_datarootdir}/%{name}/lib,%{_sharedstatedir}/%{name},%{_localstatedir}/log/%{name}}
|
||||
%{__install} -m 0644 %{SOURCE0} %{buildroot}%{_datarootdir}/%{name}/lib
|
||||
%{__install} -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/%{name}
|
||||
%{__install} -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
||||
touch %{buildroot}%{_localstatedir}/log/%{name}/run.log
|
||||
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && %{__rm} -rf "%{buildroot}"
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_datarootdir}/%{name}/lib/%{name}.war
|
||||
%{_sysconfdir}/init.d/%{name}
|
||||
%config %{_sysconfdir}/sysconfig/%{name}
|
||||
%{_localstatedir}/log/%{name}/run.log
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Oct 17 2013 Jiri Tyr <jiri_DOT_tyr at gmail.com>
|
||||
- First build.
|
||||
22
doc/activity.md
Normal file
22
doc/activity.md
Normal file
@@ -0,0 +1,22 @@
|
||||
Activity Timeline
|
||||
========
|
||||
GitBucket records several types of user activity to ```ACTIVITY``` table. Activity types are shown below:
|
||||
|
||||
type | message | additional information
|
||||
------------------|------------------------------------------------------|------------------------
|
||||
create_repository |$user created $owner/$repo |-
|
||||
open_issue |$user opened issue $owner/$repo#$issueId |-
|
||||
close_issue |$user closed issue $owner/$repo#$issueId |-
|
||||
close_issue |$user closed pull request $owner/$repo#$issueId |-
|
||||
reopen_issue |$user reopened issue $owner/$repo#$issueId |-
|
||||
comment_issue |$user commented on issue $owner/$repo#$issueId |-
|
||||
comment_issue |$user commented on pull request $owner/$repo#$issueId |-
|
||||
create_wiki |$user created the $owner/$repo wiki |$page
|
||||
edit_wiki |$user edited the $owner/$repo wiki |$page<br>$page:$commitId(since 1.5)
|
||||
push |$user pushed to $owner/$repo#$branch to $owner/$repo |$commitId:$shortMessage\n*
|
||||
create_tag |$user created tag $tag at $owner/$repo |-
|
||||
create_branch |$user created branch $branch at $owner/$repo |-
|
||||
delete_branch |$user deleted branch $branch at $owner/$repo |-
|
||||
fork |$user forked $owner/$repo to $owner/$repo |-
|
||||
open_pullreq |$user opened pull request $owner/$repo#issueId |-
|
||||
merge_pullreq |$user merge pull request $owner/$repo#issueId |-
|
||||
60
doc/authenticator.md
Normal file
60
doc/authenticator.md
Normal file
@@ -0,0 +1,60 @@
|
||||
Authentication in Controller
|
||||
========
|
||||
GitBucket provides many [authenticators](https://github.com/gitbucket/gitbucket/blob/master/src/main/scala/gitbucket/core/util/Authenticator.scala) to access controlling in the controller.
|
||||
|
||||
For example, in the case of `RepositoryViewerController`,
|
||||
it references three authenticators: `ReadableUsersAuthenticator`, `ReferrerAuthenticator` and `CollaboratorsAuthenticator`.
|
||||
|
||||
```scala
|
||||
class RepositoryViewerController extends RepositoryViewerControllerBase
|
||||
with RepositoryService with AccountService with ActivityService with IssuesService with WebHookService with CommitsService
|
||||
with ReadableUsersAuthenticator with ReferrerAuthenticator with CollaboratorsAuthenticator with PullRequestService with CommitStatusService
|
||||
with WebHookPullRequestService with WebHookPullRequestReviewCommentService
|
||||
|
||||
trait RepositoryViewerControllerBase extends ControllerBase {
|
||||
self: RepositoryService with AccountService with ActivityService with IssuesService with WebHookService with CommitsService
|
||||
with ReadableUsersAuthenticator with ReferrerAuthenticator with CollaboratorsAuthenticator with PullRequestService with CommitStatusService
|
||||
with WebHookPullRequestService with WebHookPullRequestReviewCommentService =>
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
Authenticators provide a method to add guard to actions in the controller:
|
||||
|
||||
- `ReadableUsersAuthenticator` provides `readableUsersOnly` method
|
||||
- `ReferrerAuthenticator` provides `referrersOnly` method
|
||||
- `CollaboratorsAuthenticator` provides `collaboratorsOnly` method
|
||||
|
||||
These methods are available in each action as below:
|
||||
|
||||
```scala
|
||||
// Allows only the repository owner (or manager for group repository) and administrators.
|
||||
get("/:owner/:repository/tree/*")(referrersOnly { repository =>
|
||||
...
|
||||
})
|
||||
|
||||
// Allows only collaborators and administrators.
|
||||
get("/:owner/:repository/new/*")(collaboratorsOnly { repository =>
|
||||
...
|
||||
})
|
||||
|
||||
// Allows only signed-in users which can access the repository.
|
||||
post("/:owner/:repository/commit/:id/comment/new", commentForm)(readableUsersOnly { (form, repository) =>
|
||||
...
|
||||
})
|
||||
```
|
||||
|
||||
Currently, GitBucket provides below authenticators:
|
||||
|
||||
|Trait | Method | Description |
|
||||
|--------------------------|-----------------|--------------------------------------------------------------------------------------|
|
||||
|OneselfAuthenticator |oneselfOnly |Allows only oneself and administrators. |
|
||||
|OwnerAuthenticator |ownerOnly |Allows only the repository owner and administrators. |
|
||||
|UsersAuthenticator |usersOnly |Allows only signed-in users. |
|
||||
|AdminAuthenticator |adminOnly |Allows only administrators. |
|
||||
|CollaboratorsAuthenticator|collaboratorsOnly|Allows only collaborators and administrators. |
|
||||
|ReferrerAuthenticator |referrersOnly |Allows only the repository owner (or manager for group repository) and administrators.|
|
||||
|ReadableUsersAuthenticator|readableUsersOnly|Allows only signed-in users which can access the repository. |
|
||||
|GroupManagerAuthenticator |managersOnly |Allows only the group managers. |
|
||||
|
||||
Of course, if you make a new plugin, you can implement your own authenticator according to requirement in your plugin.
|
||||
54
doc/auto_update.md
Normal file
54
doc/auto_update.md
Normal file
@@ -0,0 +1,54 @@
|
||||
Automatic Schema Updating
|
||||
========
|
||||
GitBucket updates database schema automatically using [Solidbase](https://github.com/gitbucket/solidbase) in the first run after the upgrading.
|
||||
|
||||
To release a new version of GitBucket, add the version definition to [gitbucket.core.GitBucketCoreModule](https://github.com/gitbucket/gitbucket/blob/master/src/main/scala/gitbucket/core/GitBucketCoreModule.scala) at first.
|
||||
|
||||
```scala
|
||||
object GitBucketCoreModule extends Module("gitbucket-core",
|
||||
new Version("4.0.0",
|
||||
new LiquibaseMigration("update/gitbucket-core_4.0.xml"),
|
||||
new SqlMigration("update/gitbucket-core_4.0.sql")
|
||||
),
|
||||
new Version("4.1.0"),
|
||||
new Version("4.2.0",
|
||||
new LiquibaseMigration("update/gitbucket-core_4.2.xml")
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
Next, add a XML file which updates database schema into [/src/main/resources/update/](https://github.com/gitbucket/gitbucket/tree/master/src/main/resources/update) with a filename defined in `GitBucketCoreModule`.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="REPOSITORY">
|
||||
<column name="ENABLE_WIKI" type="boolean" nullable="false" defaultValueBoolean="true"/>
|
||||
<column name="ENABLE_ISSUES" type="boolean" nullable="false" defaultValueBoolean="true"/>
|
||||
<column name="EXTERNAL_WIKI_URL" type="varchar(200)" nullable="true"/>
|
||||
<column name="EXTERNAL_ISSUES_URL" type="varchar(200)" nullable="true"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
```
|
||||
|
||||
Solidbase stores the current version to `VERSIONS` table and checks it at start-up. If the stored version different from the actual version, it executes differences between the stored version and the actual version.
|
||||
|
||||
We can add the SQL file instead of the XML file using `SqlMigration`. It tries to load a SQL file from classpath in the following order:
|
||||
|
||||
1. Specified path (if specified)
|
||||
2. `${moduleId}_${version}_${database}.sql`
|
||||
3. `${moduleId}_${version}.sql`
|
||||
|
||||
Also we can add any code by extending `Migration`:
|
||||
|
||||
```scala
|
||||
object GitBucketCoreModule extends Module("gitbucket-core",
|
||||
new Version("4.0.0", new Migration(){
|
||||
override def migrate(moduleId: String, version: String, context: java.util.Map[String, String]): Unit = {
|
||||
...
|
||||
}
|
||||
})
|
||||
)
|
||||
```
|
||||
|
||||
See more details at [README of Solidbase](https://github.com/gitbucket/solidbase).
|
||||
61
doc/build.md
Normal file
61
doc/build.md
Normal file
@@ -0,0 +1,61 @@
|
||||
How to build and run from the source tree
|
||||
========
|
||||
|
||||
First of all, Install [sbt](http://www.scala-sbt.org/index.html).
|
||||
|
||||
```shell
|
||||
$ brew install sbt
|
||||
```
|
||||
|
||||
Run for Development
|
||||
--------
|
||||
|
||||
If you want to test GitBucket, type the following command in the root directory of the source tree.
|
||||
|
||||
```shell
|
||||
$ sbt ~jetty:start
|
||||
```
|
||||
|
||||
Then access `http://localhost:8080/` in your browser. The default administrator account is `root` and password is `root`.
|
||||
|
||||
Source code modifications are detected and a reloading happens automatically. You can modify the logging configuration by editing `src/main/resources/logback-dev.xml`.
|
||||
|
||||
Build war file
|
||||
--------
|
||||
|
||||
To build a war file, run the following command:
|
||||
|
||||
```shell
|
||||
$ sbt package
|
||||
```
|
||||
|
||||
`gitbucket_2.13-x.x.x.war` is generated into `target/scala-2.13`.
|
||||
|
||||
To build an executable war file, run
|
||||
|
||||
```shell
|
||||
$ sbt executable
|
||||
```
|
||||
|
||||
at the top of the source tree. It generates executable `gitbucket.war` into `target/executable`. We release this war file as release artifact.
|
||||
|
||||
Run tests spec
|
||||
---------
|
||||
Before running tests, you need to install docker.
|
||||
|
||||
```shell
|
||||
$ brew cask install docker # Install Docker
|
||||
$ open /Applications/Docker.app # Start Docker
|
||||
```
|
||||
|
||||
To run the full series of tests, run the following command:
|
||||
|
||||
```shell
|
||||
$ sbt test
|
||||
```
|
||||
|
||||
If you don't have docker, you can skip docker tests which require docker as follows:
|
||||
|
||||
```shell
|
||||
$ sbt "testOnly * -- -l ExternalDBTest"
|
||||
```
|
||||
89
doc/comment_action.md
Normal file
89
doc/comment_action.md
Normal file
@@ -0,0 +1,89 @@
|
||||
About Action in Issue Comment
|
||||
========
|
||||
After the issue creation at GitBucket, users can add comments or close it.
|
||||
The details are saved at `ISSUE_COMMENT` table.
|
||||
|
||||
To determine if it was any operation, you see the `ACTION` column.
|
||||
And in the case of some actions, `CONTENT` column value contains additional information.
|
||||
|
||||
|ACTION |CONTENT |
|
||||
|----------------|--------------------------|
|
||||
|comment |comment |
|
||||
|close_comment |comment |
|
||||
|reopen_comment |comment |
|
||||
|close |"Close" |
|
||||
|reopen |"Reopen" |
|
||||
|commit |comment commitId |
|
||||
|merge |comment |
|
||||
|delete_branch |branchName |
|
||||
|refer |issueId:title |
|
||||
|add_label |labelName |
|
||||
|delete_label |labelName |
|
||||
|change_priority |oldPriority:priority |
|
||||
|change_milestone|oldMilestone:milestone |
|
||||
|assign |oldAssigned:assigned |
|
||||
|change_title |oldTitle(CRLF)title \[1\] |
|
||||
|
||||
\[1\]: (CRLF) is "\r\n"
|
||||
|
||||
|
||||
### comment
|
||||
|
||||
This value is saved when users have made a normal comment.
|
||||
|
||||
### close_comment, reopen_comment
|
||||
|
||||
These values are saved when users have reopened or closed the issue with comments.
|
||||
|
||||
### close, reopen
|
||||
|
||||
These values are saved when users have reopened or closed the issue.
|
||||
At the same time, store the fixed value(i.e. "Close" or "Reopen") to the `CONTENT` column.
|
||||
Therefore, this comment is not displayed, and not counted as a comment.
|
||||
|
||||
### commit
|
||||
|
||||
This value is saved when users have pushed including the `#issueId` to the commit message.
|
||||
At the same time, store it to the `CONTENT` column with its commit id.
|
||||
This comment is displayed. But it can not be edited by all users, and also not counted as a comment.
|
||||
|
||||
### merge
|
||||
|
||||
This value is saved when users have merged the pull request.
|
||||
At the same time, store the message to the `CONTENT` column.
|
||||
This comment is displayed. But it can not be edited by all users, and also not counted as a comment.
|
||||
|
||||
### delete_branch
|
||||
|
||||
This value is saved when users have deleted the branch. Users can delete branch after merging pull request which is requested from the same repository.
|
||||
At the same time, store it to the `CONTENT` column with the deleted branch name.
|
||||
Therefore, this comment is not displayed, and not counted as a comment.
|
||||
|
||||
### refer
|
||||
|
||||
This value is saved when other issue or issue comment contains reference to the issue like `#issueId`.
|
||||
At the same time, store id and title of the referrer issue as `id:title`.
|
||||
|
||||
### add_label
|
||||
|
||||
This value is saved when users have added the label.
|
||||
|
||||
### delete_label
|
||||
|
||||
This value is saved when users have deleted the label.
|
||||
|
||||
### change_priority
|
||||
|
||||
This value is saved when users have changed the priority.
|
||||
|
||||
### change_milestone
|
||||
|
||||
This value is saved when users have changed the milestone.
|
||||
|
||||
### assign
|
||||
|
||||
This value is saved when users have assign issue/PR to user or remove the assign.
|
||||
|
||||
### change_title
|
||||
|
||||
This value is saved when users have changed the title.
|
||||
22
doc/debug.md
Normal file
22
doc/debug.md
Normal file
@@ -0,0 +1,22 @@
|
||||
Debug GitBucket on IntelliJ
|
||||
========
|
||||
Add following configuration for allowing remote debugging to `buils.sbt`:
|
||||
|
||||
```scala
|
||||
javaOptions in Jetty ++= Seq(
|
||||
"-Xdebug",
|
||||
"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
|
||||
)
|
||||
```
|
||||
|
||||
Run GitBucket:
|
||||
|
||||
```shell
|
||||
$ sbt ~jetty:start
|
||||
```
|
||||
|
||||
In IntelliJ, create remote debug configuration as follows. Make sure port number is same as above configuration.
|
||||
|
||||

|
||||
|
||||
Then you can start debugging on IntelliJ!
|
||||
45
doc/directory.md
Normal file
45
doc/directory.md
Normal file
@@ -0,0 +1,45 @@
|
||||
Directory Structure
|
||||
========
|
||||
GitBucket persists all data into __HOME/.gitbucket__ in default (In 1.9 or before, HOME/gitbucket is default).
|
||||
|
||||
This directory has following structure:
|
||||
|
||||
```
|
||||
* /HOME/gitbucket
|
||||
* /repositories
|
||||
* /USER_NAME
|
||||
* /REPO_NAME.git (substance of repository. GitServlet sees this directory)
|
||||
* /REPO_NAME.wiki.git (wiki repository)
|
||||
* /REPO_NAME
|
||||
* /issues (files which are attached to issue)
|
||||
* /lfs (LFS managed files)
|
||||
* /data
|
||||
* /USER_NAME
|
||||
* /files
|
||||
* avatar.xxx (image file of user avatar)
|
||||
* /plugins
|
||||
* plugin.jar
|
||||
* /.installed (copied available plugins from the parent directory automatically)
|
||||
* /tmp
|
||||
* /_upload
|
||||
* /SESSION_ID (removed at session timeout)
|
||||
* current time millis + random 10 alphanumeric chars (temporary file for file uploading)
|
||||
* /USER_NAME
|
||||
* /init-REPO_NAME (used in repository creation and removed after it) ... unused since 1.8
|
||||
* /REPO_NAME.wiki (working directory for wiki repository) ... unused since 1.8
|
||||
* /REPO_NAME
|
||||
* /download (temporary directories are created under this directory)
|
||||
```
|
||||
|
||||
There are some ways to specify the data directory instead of the default location.
|
||||
|
||||
1. Environment variable __GITBUCKET_HOME__
|
||||
2. System property __gitbucket.home__ (e.g. ```-Dgitbucket.home=PATH_TO_DATADIR```)
|
||||
3. Command line option for embedded Jetty (e.g. ```java -jar gitbucket.war --data=PATH_TO_DATADIR```)
|
||||
4. Context parameter __gitbucket.home__ in web.xml like below:
|
||||
```xml
|
||||
<context-param>
|
||||
<param-name>gitbucket.home</param-name>
|
||||
<param-value>PATH_TO_DATADIR</param-value>
|
||||
</context-param>
|
||||
```
|
||||
794
doc/icons.svg
Normal file
794
doc/icons.svg
Normal file
@@ -0,0 +1,794 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="2000" height="2000" viewBox="0, 0, 2000, 2000">
|
||||
<g id="Layer_1">
|
||||
<g id="path4000">
|
||||
<path d="M583.868,482.54 C583.868,482.54 596.594,491.899 620.234,491.631 C643.873,491.363 650.538,482.54 650.538,482.54 L671.558,404.092 L563.665,404.092 z" fill="#B3B3B3"/>
|
||||
<path d="M583.868,482.54 C583.868,482.54 596.594,491.899 620.234,491.631 C643.873,491.363 650.538,482.54 650.538,482.54 L671.558,404.092 L563.665,404.092 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="1"/>
|
||||
</g>
|
||||
<path d="M215.018,822.461 C215.018,822.461 217.291,803.608 246.459,799.039 C256.428,797.478 278.667,793.574 278.667,770.933" fill-opacity="0" stroke="#B3B3B3" stroke-width="17.059" id="path3207"/>
|
||||
<path d="M62.863,746.321 C62.863,801.014 132.287,797.758 132.287,797.758" fill-opacity="0" stroke="#B3B3B3" stroke-width="17.56" id="path4318"/>
|
||||
<g id="rect3935">
|
||||
<path d="M9.359,600.772 L185.078,600.772 L185.078,623.958 L9.359,623.958 z" fill="#B3B3B3"/>
|
||||
<path d="M9.359,600.772 L185.078,600.772 L185.078,623.958 L9.359,623.958 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.781" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<g id="path3894-1">
|
||||
<path d="M450.793,475.007 L401.329,532.789 L414.646,471.965 z" fill="#B3B3B3"/>
|
||||
<path d="M450.793,475.007 L401.329,532.789 L414.646,471.965 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="7.485"/>
|
||||
</g>
|
||||
<g id="rect3088-5-5">
|
||||
<path d="M373.916,407.856 L485.485,407.856 L485.485,477.7 L373.916,477.7 z" fill="#B3B3B3"/>
|
||||
<path d="M373.916,407.856 L485.485,407.856 L485.485,477.7 L373.916,477.7 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="19.036" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<path d="M306.191,155.761 L306.191,70.894 C306.191,70.894 307.419,60.791 295.143,60.791 C282.868,60.791 261.385,60.791 261.385,60.791" fill-opacity="0" stroke="#008000" stroke-width="15" id="path3850"/>
|
||||
<g id="path2991">
|
||||
<path d="M159.256,113.426 C159.256,151.442 128.438,182.26 90.422,182.26 C52.407,182.26 21.589,151.442 21.589,113.426 C21.589,75.411 52.407,44.593 90.422,44.593 C128.438,44.593 159.256,75.411 159.256,113.426 z" fill="#008000"/>
|
||||
<path d="M159.256,113.426 C159.256,151.442 128.438,182.26 90.422,182.26 C52.407,182.26 21.589,151.442 21.589,113.426 C21.589,75.411 52.407,44.593 90.422,44.593 C128.438,44.593 159.256,75.411 159.256,113.426 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993">
|
||||
<path d="M148.532,113.917 C148.532,145.702 122.765,171.469 90.98,171.469 C59.194,171.469 33.427,145.702 33.427,113.917 C33.427,82.131 59.194,56.364 90.98,56.364 C122.765,56.364 148.532,82.131 148.532,113.917 z" fill="#FFFFFF"/>
|
||||
<path d="M148.532,113.917 C148.532,145.702 122.765,171.469 90.98,171.469 C59.194,171.469 33.427,145.702 33.427,113.917 C33.427,82.131 59.194,56.364 90.98,56.364 C122.765,56.364 148.532,82.131 148.532,113.917 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect2995">
|
||||
<path d="M81.339,65.348 L100.605,65.348 L100.605,130.839 L81.339,130.839 z" fill="#008000"/>
|
||||
<path d="M81.339,65.348 L100.605,65.348 L100.605,130.839 L81.339,130.839 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997">
|
||||
<path d="M81.509,143.757 L101.128,143.757 L101.128,161.089 L81.509,161.089 z" fill="#008000"/>
|
||||
<path d="M81.509,143.757 L101.128,143.757 L101.128,161.089 L81.509,161.089 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="rect3818">
|
||||
<path d="M230.385,74.531 L232.534,74.531 L232.534,143.355 L230.385,143.355 z" fill="#FFFFFF"/>
|
||||
<path d="M230.385,74.531 L232.534,74.531 L232.534,143.355 L230.385,143.355 z" fill-opacity="0" stroke="#008000" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4">
|
||||
<path d="M246.225,160.683 C246.225,168.561 239.776,174.947 231.82,174.947 C223.864,174.947 217.414,168.561 217.414,160.683 C217.414,152.805 223.864,146.419 231.82,146.419 C239.776,146.419 246.225,152.805 246.225,160.683 z" fill="#FFFFFF"/>
|
||||
<path d="M246.225,160.683 C246.225,168.561 239.776,174.947 231.82,174.947 C223.864,174.947 217.414,168.561 217.414,160.683 C217.414,152.805 223.864,146.419 231.82,146.419 C239.776,146.419 246.225,152.805 246.225,160.683 z" fill-opacity="0" stroke="#008000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795">
|
||||
<path d="M245.212,61.462 C245.212,69.34 238.762,75.726 230.806,75.726 C222.85,75.726 216.4,69.34 216.4,61.462 C216.4,53.585 222.85,47.198 230.806,47.198 C238.762,47.198 245.212,53.585 245.212,61.462 z" fill="#FFFFFF"/>
|
||||
<path d="M245.212,61.462 C245.212,69.34 238.762,75.726 230.806,75.726 C222.85,75.726 216.4,69.34 216.4,61.462 C216.4,53.585 222.85,47.198 230.806,47.198 C238.762,47.198 245.212,53.585 245.212,61.462 z" fill-opacity="0" stroke="#008000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-4-0">
|
||||
<path d="M320.671,160.75 C320.671,168.628 314.221,175.014 306.265,175.014 C298.309,175.014 291.86,168.628 291.86,160.75 C291.86,152.872 298.309,146.486 306.265,146.486 C314.221,146.486 320.671,152.872 320.671,160.75 z" fill="#FFFFFF"/>
|
||||
<path d="M320.671,160.75 C320.671,168.628 314.221,175.014 306.265,175.014 C298.309,175.014 291.86,168.628 291.86,160.75 C291.86,152.872 298.309,146.486 306.265,146.486 C314.221,146.486 320.671,152.872 320.671,160.75 z" fill-opacity="0" stroke="#008000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3852">
|
||||
<path d="M279.602,36.54 L279.602,83.2 L249.511,61.99 z" fill="#008000"/>
|
||||
<path d="M279.602,36.54 L279.602,83.2 L249.511,61.99 z" fill-opacity="0" stroke="#008000" stroke-width="0.55"/>
|
||||
</g>
|
||||
<path d="M308.603,323.909 L308.603,239.042 C308.603,239.042 309.831,228.939 297.555,228.939 C285.279,228.939 263.797,228.939 263.797,228.939" fill-opacity="0" stroke="#800000" stroke-width="15" id="path3850-4"/>
|
||||
<g id="path2991-8">
|
||||
<path d="M161.667,281.574 C161.667,319.59 130.85,350.407 92.834,350.407 C54.819,350.407 24.001,319.59 24.001,281.574 C24.001,243.558 54.819,212.741 92.834,212.741 C130.85,212.741 161.667,243.558 161.667,281.574 z" fill="#800000"/>
|
||||
<path d="M161.667,281.574 C161.667,319.59 130.85,350.407 92.834,350.407 C54.819,350.407 24.001,319.59 24.001,281.574 C24.001,243.558 54.819,212.741 92.834,212.741 C130.85,212.741 161.667,243.558 161.667,281.574 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-8">
|
||||
<path d="M150.944,282.064 C150.944,313.85 125.177,339.617 93.391,339.617 C61.606,339.617 35.839,313.85 35.839,282.064 C35.839,250.279 61.606,224.512 93.391,224.512 C125.177,224.512 150.944,250.279 150.944,282.064 z" fill="#FFFFFF"/>
|
||||
<path d="M150.944,282.064 C150.944,313.85 125.177,339.617 93.391,339.617 C61.606,339.617 35.839,313.85 35.839,282.064 C35.839,250.279 61.606,224.512 93.391,224.512 C125.177,224.512 150.944,250.279 150.944,282.064 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect2995-2">
|
||||
<path d="M83.75,233.496 L103.017,233.496 L103.017,298.986 L83.75,298.986 z" fill="#800000"/>
|
||||
<path d="M83.75,233.496 L103.017,233.496 L103.017,298.986 L83.75,298.986 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997-4">
|
||||
<path d="M83.921,311.905 L103.54,311.905 L103.54,329.237 L83.921,329.237 z" fill="#800000"/>
|
||||
<path d="M83.921,311.905 L103.54,311.905 L103.54,329.237 L83.921,329.237 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="rect3818-5">
|
||||
<path d="M232.797,242.679 L234.946,242.679 L234.946,311.502 L232.797,311.502 z" fill="#FFFFFF"/>
|
||||
<path d="M232.797,242.679 L234.946,242.679 L234.946,311.502 L232.797,311.502 z" fill-opacity="0" stroke="#800000" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-5">
|
||||
<path d="M248.637,328.831 C248.637,336.708 242.187,343.095 234.231,343.095 C226.275,343.095 219.826,336.708 219.826,328.831 C219.826,320.953 226.275,314.566 234.231,314.566 C242.187,314.566 248.637,320.953 248.637,328.831 z" fill="#FFFFFF"/>
|
||||
<path d="M248.637,328.831 C248.637,336.708 242.187,343.095 234.231,343.095 C226.275,343.095 219.826,336.708 219.826,328.831 C219.826,320.953 226.275,314.566 234.231,314.566 C242.187,314.566 248.637,320.953 248.637,328.831 z" fill-opacity="0" stroke="#800000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-1">
|
||||
<path d="M247.623,229.61 C247.623,237.488 241.174,243.874 233.218,243.874 C225.262,243.874 218.812,237.488 218.812,229.61 C218.812,221.732 225.262,215.346 233.218,215.346 C241.174,215.346 247.623,221.732 247.623,229.61 z" fill="#FFFFFF"/>
|
||||
<path d="M247.623,229.61 C247.623,237.488 241.174,243.874 233.218,243.874 C225.262,243.874 218.812,237.488 218.812,229.61 C218.812,221.732 225.262,215.346 233.218,215.346 C241.174,215.346 247.623,221.732 247.623,229.61 z" fill-opacity="0" stroke="#800000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-4-0-7">
|
||||
<path d="M323.083,328.898 C323.083,336.775 316.633,343.162 308.677,343.162 C300.721,343.162 294.271,336.775 294.271,328.898 C294.271,321.02 300.721,314.633 308.677,314.633 C316.633,314.633 323.083,321.02 323.083,328.898 z" fill="#FFFFFF"/>
|
||||
<path d="M323.083,328.898 C323.083,336.775 316.633,343.162 308.677,343.162 C300.721,343.162 294.271,336.775 294.271,328.898 C294.271,321.02 300.721,314.633 308.677,314.633 C316.633,314.633 323.083,321.02 323.083,328.898 z" fill-opacity="0" stroke="#800000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3852-1">
|
||||
<path d="M282.013,204.688 L282.013,251.348 L251.923,230.137 z" fill="#800000"/>
|
||||
<path d="M282.013,204.688 L282.013,251.348 L251.923,230.137 z" fill-opacity="0" stroke="#800000" stroke-width="0.55"/>
|
||||
</g>
|
||||
<path d="M439.891,42.342 L643.358,42.342 L643.358,245.81 L439.891,245.81 z" fill="#CCCCCC" id="rect2985"/>
|
||||
<path d="M610.846,124.458 C610.846,161.784 580.587,192.042 543.262,192.042 C505.936,192.042 475.678,161.784 475.678,124.458 C475.678,87.132 505.936,56.874 543.262,56.874 C580.587,56.874 610.846,87.132 610.846,124.458 z" fill="#FFFFFF" id="path2989"/>
|
||||
<g id="path2993-2">
|
||||
<path d="M484.685,245.601 L603.47,245.601 L544.162,112.49 z" fill="#FFFFFF"/>
|
||||
<path d="M484.685,245.601 L603.47,245.601 L544.162,112.49 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="1.054"/>
|
||||
</g>
|
||||
<path d="M307.593,489.153 L307.593,404.286 C307.593,404.286 308.82,394.183 296.545,394.183 C284.269,394.183 262.786,394.183 262.786,394.183" fill-opacity="0" stroke="#B3B3B3" stroke-width="15" id="path3850-1"/>
|
||||
<g id="path2991-7">
|
||||
<path d="M160.657,446.818 C160.657,484.833 129.84,515.651 91.824,515.651 C53.808,515.651 22.991,484.833 22.991,446.818 C22.991,408.802 53.808,377.984 91.824,377.984 C129.84,377.984 160.657,408.802 160.657,446.818 z" fill="#B3B3B3"/>
|
||||
<path d="M160.657,446.818 C160.657,484.833 129.84,515.651 91.824,515.651 C53.808,515.651 22.991,484.833 22.991,446.818 C22.991,408.802 53.808,377.984 91.824,377.984 C129.84,377.984 160.657,408.802 160.657,446.818 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4">
|
||||
<path d="M149.934,447.308 C149.934,479.094 124.167,504.861 92.381,504.861 C60.596,504.861 34.828,479.094 34.828,447.308 C34.828,415.523 60.596,389.756 92.381,389.756 C124.167,389.756 149.934,415.523 149.934,447.308 z" fill="#FFFFFF"/>
|
||||
<path d="M149.934,447.308 C149.934,479.094 124.167,504.861 92.381,504.861 C60.596,504.861 34.828,479.094 34.828,447.308 C34.828,415.523 60.596,389.756 92.381,389.756 C124.167,389.756 149.934,415.523 149.934,447.308 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect2995-0">
|
||||
<path d="M82.74,398.739 L102.007,398.739 L102.007,464.23 L82.74,464.23 z" fill="#B3B3B3"/>
|
||||
<path d="M82.74,398.739 L102.007,398.739 L102.007,464.23 L82.74,464.23 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997-9">
|
||||
<path d="M82.911,477.149 L102.53,477.149 L102.53,494.48 L82.911,494.48 z" fill="#B3B3B3"/>
|
||||
<path d="M82.911,477.149 L102.53,477.149 L102.53,494.48 L82.911,494.48 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="rect3818-4">
|
||||
<path d="M231.787,407.923 L233.935,407.923 L233.935,476.746 L231.787,476.746 z" fill="#FFFFFF"/>
|
||||
<path d="M231.787,407.923 L233.935,407.923 L233.935,476.746 L231.787,476.746 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-8">
|
||||
<path d="M247.627,494.074 C247.627,501.952 241.177,508.338 233.221,508.338 C225.265,508.338 218.816,501.952 218.816,494.074 C218.816,486.197 225.265,479.81 233.221,479.81 C241.177,479.81 247.627,486.197 247.627,494.074 z" fill="#FFFFFF"/>
|
||||
<path d="M247.627,494.074 C247.627,501.952 241.177,508.338 233.221,508.338 C225.265,508.338 218.816,501.952 218.816,494.074 C218.816,486.197 225.265,479.81 233.221,479.81 C241.177,479.81 247.627,486.197 247.627,494.074 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8">
|
||||
<path d="M246.613,394.854 C246.613,402.732 240.164,409.118 232.208,409.118 C224.252,409.118 217.802,402.732 217.802,394.854 C217.802,386.976 224.252,380.59 232.208,380.59 C240.164,380.59 246.613,386.976 246.613,394.854 z" fill="#FFFFFF"/>
|
||||
<path d="M246.613,394.854 C246.613,402.732 240.164,409.118 232.208,409.118 C224.252,409.118 217.802,402.732 217.802,394.854 C217.802,386.976 224.252,380.59 232.208,380.59 C240.164,380.59 246.613,386.976 246.613,394.854 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-4-0-2">
|
||||
<path d="M322.072,494.141 C322.072,502.019 315.623,508.405 307.667,508.405 C299.711,508.405 293.261,502.019 293.261,494.141 C293.261,486.264 299.711,479.877 307.667,479.877 C315.623,479.877 322.072,486.264 322.072,494.141 z" fill="#FFFFFF"/>
|
||||
<path d="M322.072,494.141 C322.072,502.019 315.623,508.405 307.667,508.405 C299.711,508.405 293.261,502.019 293.261,494.141 C293.261,486.264 299.711,479.877 307.667,479.877 C315.623,479.877 322.072,486.264 322.072,494.141 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3852-4">
|
||||
<path d="M281.003,369.932 L281.003,416.591 L250.912,395.381 z" fill="#B3B3B3"/>
|
||||
<path d="M281.003,369.932 L281.003,416.591 L250.912,395.381 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="0.55"/>
|
||||
</g>
|
||||
<g id="rect3088">
|
||||
<path d="M394.325,382.21 L518.574,382.21 L518.574,459.992 L394.325,459.992 z" fill="#FFFFFF"/>
|
||||
<path d="M394.325,382.21 L518.574,382.21 L518.574,459.992 L394.325,459.992 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="21.2" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<g id="path3894">
|
||||
<path d="M452.812,456.961 L505.34,514.54 L491.198,453.931 z" fill="#B3B3B3"/>
|
||||
<path d="M452.812,456.961 L505.34,514.54 L491.198,453.931 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="7.7"/>
|
||||
</g>
|
||||
<g id="rect3088-5">
|
||||
<path d="M405.586,381.471 L517.155,381.471 L517.155,451.314 L405.586,451.314 z" fill="#B3B3B3"/>
|
||||
<path d="M405.586,381.471 L517.155,381.471 L517.155,451.314 L405.586,451.314 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="19.036" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<g id="path2991-7-7">
|
||||
<path d="M152.8,612.829 C152.8,643.627 127.833,668.593 97.036,668.593 C66.238,668.593 41.272,643.627 41.272,612.829 C41.272,582.032 66.238,557.065 97.036,557.065 C127.833,557.065 152.8,582.032 152.8,612.829 z" fill="#B3B3B3"/>
|
||||
<path d="M152.8,612.829 C152.8,643.627 127.833,668.593 97.036,668.593 C66.238,668.593 41.272,643.627 41.272,612.829 C41.272,582.032 66.238,557.065 97.036,557.065 C127.833,557.065 152.8,582.032 152.8,612.829 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="0.535"/>
|
||||
</g>
|
||||
<g id="path2993-4-1">
|
||||
<path d="M135.769,612.856 C135.769,634.203 118.464,651.509 97.117,651.509 C75.769,651.509 58.464,634.203 58.464,612.856 C58.464,591.509 75.769,574.204 97.117,574.204 C118.464,574.204 135.769,591.509 135.769,612.856 z" fill="#FFFFFF"/>
|
||||
<path d="M135.769,612.856 C135.769,634.203 118.464,651.509 97.117,651.509 C75.769,651.509 58.464,634.203 58.464,612.856 C58.464,591.509 75.769,574.204 97.117,574.204 C118.464,574.204 135.769,591.509 135.769,612.856 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.371"/>
|
||||
</g>
|
||||
<g id="path2991-7-1">
|
||||
<path d="M360.813,616.87 C360.813,654.885 329.996,685.703 291.98,685.703 C253.964,685.703 223.147,654.885 223.147,616.87 C223.147,578.854 253.964,548.036 291.98,548.036 C329.996,548.036 360.813,578.854 360.813,616.87 z" fill="#B3B3B3"/>
|
||||
<path d="M360.813,616.87 C360.813,654.885 329.996,685.703 291.98,685.703 C253.964,685.703 223.147,654.885 223.147,616.87 C223.147,578.854 253.964,548.036 291.98,548.036 C329.996,548.036 360.813,578.854 360.813,616.87 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-5">
|
||||
<path d="M350.09,617.36 C350.09,649.146 324.323,674.913 292.537,674.913 C260.752,674.913 234.984,649.146 234.984,617.36 C234.984,585.575 260.752,559.808 292.537,559.808 C324.323,559.808 350.09,585.575 350.09,617.36 z" fill="#FFFFFF"/>
|
||||
<path d="M350.09,617.36 C350.09,649.146 324.323,674.913 292.537,674.913 C260.752,674.913 234.984,649.146 234.984,617.36 C234.984,585.575 260.752,559.808 292.537,559.808 C324.323,559.808 350.09,585.575 350.09,617.36 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect2995-0-2">
|
||||
<path d="M282.896,568.792 L302.163,568.792 L302.163,634.282 L282.896,634.282 z" fill="#B3B3B3"/>
|
||||
<path d="M282.896,568.792 L302.163,568.792 L302.163,634.282 L282.896,634.282 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997-9-7">
|
||||
<path d="M283.067,647.2 L302.686,647.2 L302.686,664.532 L283.067,664.532 z" fill="#B3B3B3"/>
|
||||
<path d="M283.067,647.2 L302.686,647.2 L302.686,664.532 L283.067,664.532 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="rect4046-3">
|
||||
<path d="M265.347,590.671 L222.652,566.769 L229.715,603.704 L265.347,590.671 z" fill="#FFFFFF"/>
|
||||
<path d="M265.347,590.671 L222.652,566.769 L229.715,603.704 L265.347,590.671 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="1.93" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4046">
|
||||
<path d="M258.314,586.135 L229.499,570.007 L234.118,595.192 L258.314,586.135 z" fill="#B3B3B3"/>
|
||||
<path d="M258.314,586.135 L229.499,570.007 L234.118,595.192 L258.314,586.135 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="1.313" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4046-3-2">
|
||||
<path d="M317.971,646.518 L360.666,670.419 L353.603,633.485 L317.971,646.518 z" fill="#FFFFFF"/>
|
||||
<path d="M317.971,646.518 L360.666,670.419 L353.603,633.485 L317.971,646.518 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="1.93" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4046-1">
|
||||
<path d="M323.933,652.482 L352.748,668.61 L348.129,643.425 L323.933,652.482 z" fill="#B3B3B3"/>
|
||||
<path d="M323.933,652.482 L352.748,668.61 L348.129,643.425 L323.933,652.482 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="1.313" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path2991-7-79">
|
||||
<path d="M540.417,614.85 C540.417,652.865 509.6,683.683 471.584,683.683 C433.568,683.683 402.751,652.865 402.751,614.85 C402.751,576.834 433.568,546.016 471.584,546.016 C509.6,546.016 540.417,576.834 540.417,614.85 z" fill="#B3B3B3"/>
|
||||
<path d="M540.417,614.85 C540.417,652.865 509.6,683.683 471.584,683.683 C433.568,683.683 402.751,652.865 402.751,614.85 C402.751,576.834 433.568,546.016 471.584,546.016 C509.6,546.016 540.417,576.834 540.417,614.85 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-54">
|
||||
<path d="M529.694,615.34 C529.694,647.125 503.927,672.893 472.141,672.893 C440.356,672.893 414.589,647.125 414.589,615.34 C414.589,583.555 440.356,557.787 472.141,557.787 C503.927,557.787 529.694,583.555 529.694,615.34 z" fill="#FFFFFF"/>
|
||||
<path d="M529.694,615.34 C529.694,647.125 503.927,672.893 472.141,672.893 C440.356,672.893 414.589,647.125 414.589,615.34 C414.589,583.555 440.356,557.787 472.141,557.787 C503.927,557.787 529.694,583.555 529.694,615.34 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect4271">
|
||||
<path d="M521.629,568.481 L546.81,594.751 L505.942,637.386 L480.762,611.116 z" fill="#FFFFFF"/>
|
||||
<path d="M521.629,568.481 L546.81,594.751 L505.942,637.386 L480.762,611.116 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="4.802" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect2995-0-3-3">
|
||||
<path d="M486.899,587.752 L498.348,576.303 L525.283,603.238 L513.834,614.687 z" fill="#B3B3B3"/>
|
||||
<path d="M486.899,587.752 L498.348,576.303 L525.283,603.238 L513.834,614.687 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="0.513"/>
|
||||
</g>
|
||||
<g id="rect2995-0-3-2">
|
||||
<path d="M540.917,564.622 L552.295,576 L513.62,614.676 L502.242,603.298 z" fill="#B3B3B3"/>
|
||||
<path d="M540.917,564.622 L552.295,576 L513.62,614.676 L502.242,603.298 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="0.613"/>
|
||||
</g>
|
||||
<g id="rect2995-0-3">
|
||||
<path d="M462.5,566.771 L481.767,566.771 L481.767,632.262 L462.5,632.262 z" fill="#B3B3B3"/>
|
||||
<path d="M462.5,566.771 L481.767,566.771 L481.767,632.262 L462.5,632.262 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997-9-1">
|
||||
<path d="M462.955,644.956 L482.574,644.956 L482.574,662.287 L462.955,662.287 z" fill="#B3B3B3"/>
|
||||
<path d="M462.955,644.956 L482.574,644.956 L482.574,662.287 L462.955,662.287 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="rect3818-4-8">
|
||||
<path d="M62.784,747.977 L64.932,747.977 L64.932,816.8 L62.784,816.8 z" fill="#FFFFFF"/>
|
||||
<path d="M62.784,747.977 L64.932,747.977 L64.932,816.8 L62.784,816.8 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-8-7">
|
||||
<path d="M78.624,834.13 C78.624,842.008 72.174,848.394 64.218,848.394 C56.262,848.394 49.813,842.008 49.813,834.13 C49.813,826.252 56.262,819.866 64.218,819.866 C72.174,819.866 78.624,826.252 78.624,834.13 z" fill="#FFFFFF"/>
|
||||
<path d="M78.624,834.13 C78.624,842.008 72.174,848.394 64.218,848.394 C56.262,848.394 49.813,842.008 49.813,834.13 C49.813,826.252 56.262,819.866 64.218,819.866 C72.174,819.866 78.624,826.252 78.624,834.13 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4">
|
||||
<path d="M77.61,734.91 C77.61,742.788 71.161,749.174 63.205,749.174 C55.249,749.174 48.799,742.788 48.799,734.91 C48.799,727.032 55.249,720.646 63.205,720.646 C71.161,720.646 77.61,727.032 77.61,734.91 z" fill="#FFFFFF"/>
|
||||
<path d="M77.61,734.91 C77.61,742.788 71.161,749.174 63.205,749.174 C55.249,749.174 48.799,742.788 48.799,734.91 C48.799,727.032 55.249,720.646 63.205,720.646 C71.161,720.646 77.61,727.032 77.61,734.91 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-4-8-7-7">
|
||||
<path d="M152.898,797.667 C152.898,805.544 146.448,811.931 138.492,811.931 C130.536,811.931 124.087,805.544 124.087,797.667 C124.087,789.789 130.536,783.402 138.492,783.402 C146.448,783.402 152.898,789.789 152.898,797.667 z" fill="#FFFFFF"/>
|
||||
<path d="M152.898,797.667 C152.898,805.544 146.448,811.931 138.492,811.931 C130.536,811.931 124.087,805.544 124.087,797.667 C124.087,789.789 130.536,783.402 138.492,783.402 C146.448,783.402 152.898,789.789 152.898,797.667 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="rect3818-4-8-4">
|
||||
<path d="M213.61,747.063 L215.759,747.063 L215.759,815.886 L213.61,815.886 z" fill="#FFFFFF"/>
|
||||
<path d="M213.61,747.063 L215.759,747.063 L215.759,815.886 L213.61,815.886 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-8-7-8">
|
||||
<path d="M229.451,833.216 C229.451,841.094 223.001,847.48 215.045,847.48 C207.089,847.48 200.639,841.094 200.639,833.216 C200.639,825.338 207.089,818.952 215.045,818.952 C223.001,818.952 229.451,825.338 229.451,833.216 z" fill="#FFFFFF"/>
|
||||
<path d="M229.451,833.216 C229.451,841.094 223.001,847.48 215.045,847.48 C207.089,847.48 200.639,841.094 200.639,833.216 C200.639,825.338 207.089,818.952 215.045,818.952 C223.001,818.952 229.451,825.338 229.451,833.216 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8">
|
||||
<path d="M228.437,733.996 C228.437,741.873 221.987,748.26 214.031,748.26 C206.075,748.26 199.626,741.873 199.626,733.996 C199.626,726.118 206.075,719.731 214.031,719.731 C221.987,719.731 228.437,726.118 228.437,733.996 z" fill="#FFFFFF"/>
|
||||
<path d="M228.437,733.996 C228.437,741.873 221.987,748.26 214.031,748.26 C206.075,748.26 199.626,741.873 199.626,733.996 C199.626,726.118 206.075,719.731 214.031,719.731 C221.987,719.731 228.437,726.118 228.437,733.996 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8-2">
|
||||
<path d="M295.005,765.037 C295.005,772.915 288.555,779.301 280.599,779.301 C272.643,779.301 266.193,772.915 266.193,765.037 C266.193,757.159 272.643,750.773 280.599,750.773 C288.555,750.773 295.005,757.159 295.005,765.037 z" fill="#FFFFFF"/>
|
||||
<path d="M295.005,765.037 C295.005,772.915 288.555,779.301 280.599,779.301 C272.643,779.301 266.193,772.915 266.193,765.037 C266.193,757.159 272.643,750.773 280.599,750.773 C288.555,750.773 295.005,757.159 295.005,765.037 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3992-4">
|
||||
<path d="M677.589,395.106 C677.589,405.481 650.861,413.892 617.891,413.892 C584.921,413.892 558.193,405.481 558.193,395.106 C558.193,384.731 584.921,376.32 617.891,376.32 C650.861,376.32 677.589,384.731 677.589,395.106 z" fill="#B3B3B3"/>
|
||||
<path d="M677.589,395.106 C677.589,405.481 650.861,413.892 617.891,413.892 C584.921,413.892 558.193,405.481 558.193,395.106 C558.193,384.731 584.921,376.32 617.891,376.32 C650.861,376.32 677.589,384.731 677.589,395.106 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="10" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect2995-0-2-7">
|
||||
<path d="M651.087,376.107 L651.087,396.357 L632.275,396.357 L632.275,423.576 L651.087,423.576 L651.087,441.482 L678.275,441.482 L678.275,423.576 L697.65,423.576 L697.65,396.357 L678.275,396.357 L678.275,376.107 L651.087,376.107 z" fill="#B3B3B3"/>
|
||||
<path d="M651.087,376.107 L651.087,396.357 L632.275,396.357 L632.275,423.576 L651.087,423.576 L651.087,441.482 L678.275,441.482 L678.275,423.576 L697.65,423.576 L697.65,396.357 L678.275,396.357 L678.275,376.107 L651.087,376.107 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="8.571"/>
|
||||
</g>
|
||||
<g id="path2991-7-2">
|
||||
<path d="M723.493,615.976 C723.493,653.992 692.676,684.81 654.66,684.81 C616.644,684.81 585.827,653.992 585.827,615.976 C585.827,577.961 616.644,547.143 654.66,547.143 C692.676,547.143 723.493,577.961 723.493,615.976 z" fill="#B3B3B3"/>
|
||||
<path d="M723.493,615.976 C723.493,653.992 692.676,684.81 654.66,684.81 C616.644,684.81 585.827,653.992 585.827,615.976 C585.827,577.961 616.644,547.143 654.66,547.143 C692.676,547.143 723.493,577.961 723.493,615.976 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-7">
|
||||
<path d="M707.365,616.038 C707.365,645.075 683.826,668.615 654.789,668.615 C625.751,668.615 602.212,645.075 602.212,616.038 C602.212,587.001 625.751,563.462 654.789,563.462 C683.826,563.462 707.365,587.001 707.365,616.038 z" fill="#FFFFFF"/>
|
||||
<path d="M707.365,616.038 C707.365,645.075 683.826,668.615 654.789,668.615 C625.751,668.615 602.212,645.075 602.212,616.038 C602.212,587.001 625.751,563.462 654.789,563.462 C683.826,563.462 707.365,587.001 707.365,616.038 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.504"/>
|
||||
</g>
|
||||
<g id="rect2995-0-6">
|
||||
<path d="M695.28,567.323 L708.018,581.411 L615.14,665.393 L602.401,651.305 z" fill="#B3B3B3"/>
|
||||
<path d="M695.28,567.323 L708.018,581.411 L615.14,665.393 L602.401,651.305 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="1.007"/>
|
||||
</g>
|
||||
<g id="g4284">
|
||||
<g id="rect4201">
|
||||
<path d="M336.17,737.103 C336.17,737.103 372.868,730.771 385.714,731.389 C398.56,732.007 412.402,737.103 412.402,737.103 L412.402,830.478 C412.402,830.478 398.56,825.382 385.714,824.764 C372.868,824.146 336.17,830.478 336.17,830.478 z" fill="#FFFFFF"/>
|
||||
<path d="M336.17,737.103 C336.17,737.103 372.868,730.771 385.714,731.389 C398.56,732.007 412.402,737.103 412.402,737.103 L412.402,830.478 C412.402,830.478 398.56,825.382 385.714,824.764 C372.868,824.146 336.17,830.478 336.17,830.478 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="9.482" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203">
|
||||
<path d="M355.332,755.123 L391.81,755.123 L391.81,758.744 L355.332,758.744 z" fill="#FFFFFF"/>
|
||||
<path d="M355.332,755.123 L391.81,755.123 L391.81,758.744 L355.332,758.744 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2">
|
||||
<path d="M356.047,777.981 L392.525,777.981 L392.525,781.602 L356.047,781.602 z" fill="#FFFFFF"/>
|
||||
<path d="M356.047,777.981 L392.525,777.981 L392.525,781.602 L356.047,781.602 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-3">
|
||||
<path d="M356.047,799.981 L392.525,799.981 L392.525,803.602 L356.047,803.602 z" fill="#FFFFFF"/>
|
||||
<path d="M356.047,799.981 L392.525,799.981 L392.525,803.602 L356.047,803.602 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path4245">
|
||||
<path d="M332.988,837.946 C332.988,837.946 372.01,827.288 386.458,828.206 C400.906,829.124 417.012,837.946 417.012,837.946" fill="#B3B3B3"/>
|
||||
<path d="M332.988,837.946 C332.988,837.946 372.01,827.288 386.458,828.206 C400.906,829.124 417.012,837.946 417.012,837.946" fill-opacity="0" stroke="#B3B3B3" stroke-width="12.961"/>
|
||||
</g>
|
||||
<g id="g4277">
|
||||
<g id="rect4201-2">
|
||||
<path d="M494.67,736.807 C494.67,736.807 457.853,730.474 444.965,731.092 C432.078,731.71 418.191,736.807 418.191,736.807 L418.191,830.181 C418.191,830.181 432.078,825.085 444.965,824.467 C457.853,823.849 494.67,830.181 494.67,830.181 z" fill="#FFFFFF"/>
|
||||
<path d="M494.67,736.807 C494.67,736.807 457.853,730.474 444.965,731.092 C432.078,731.71 418.191,736.807 418.191,736.807 L418.191,830.181 C418.191,830.181 432.078,825.085 444.965,824.467 C457.853,823.849 494.67,830.181 494.67,830.181 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="9.513" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-21">
|
||||
<path d="M475.446,754.826 L438.849,754.826 L438.849,758.447 L475.446,758.447 z" fill="#FFFFFF"/>
|
||||
<path d="M475.446,754.826 L438.849,754.826 L438.849,758.447 L475.446,758.447 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-6">
|
||||
<path d="M474.729,777.684 L438.133,777.684 L438.133,781.305 L474.729,781.305 z" fill="#FFFFFF"/>
|
||||
<path d="M474.729,777.684 L438.133,777.684 L438.133,781.305 L474.729,781.305 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-3-8">
|
||||
<path d="M474.729,799.684 L438.133,799.684 L438.133,803.305 L474.729,803.305 z" fill="#FFFFFF"/>
|
||||
<path d="M474.729,799.684 L438.133,799.684 L438.133,803.305 L474.729,803.305 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path4245-5">
|
||||
<path d="M497.863,837.649 C497.863,837.649 458.714,826.991 444.219,827.909 C429.724,828.827 413.566,837.649 413.566,837.649" fill="#B3B3B3"/>
|
||||
<path d="M497.863,837.649 C497.863,837.649 458.714,826.991 444.219,827.909 C429.724,828.827 413.566,837.649 413.566,837.649" fill-opacity="0" stroke="#B3B3B3" stroke-width="13.003"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="g3107">
|
||||
<g id="rect3075">
|
||||
<path d="M563.777,776.482 L610,730.259 L672.149,792.408 L625.926,838.631 z" fill="#B3B3B3"/>
|
||||
<path d="M563.777,776.482 L610,730.259 L672.149,792.408 L625.926,838.631 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="9.707" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect3075-1">
|
||||
<path d="M559.935,726.033 L607.36,726.566 L606.827,773.992 L559.402,773.459 z" fill="#B3B3B3"/>
|
||||
<path d="M559.935,726.033 L607.36,726.566 L606.827,773.992 L559.402,773.459 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="6.074" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path3100">
|
||||
<path d="M592.33,748.581 C595.261,751.513 595.261,756.266 592.33,759.198 C589.398,762.13 584.644,762.13 581.712,759.198 C578.78,756.266 578.78,751.513 581.712,748.581 C584.644,745.649 589.398,745.649 592.33,748.581 z" fill="#FFFFFF"/>
|
||||
<path d="M592.33,748.581 C595.261,751.513 595.261,756.266 592.33,759.198 C589.398,762.13 584.644,762.13 581.712,759.198 C578.78,756.266 578.78,751.513 581.712,748.581 C584.644,745.649 589.398,745.649 592.33,748.581 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="9.535" stroke-linecap="round"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="rect2995-0-2-7-7">
|
||||
<path d="M631.179,718.824 L631.179,739.074 L612.367,739.074 L612.367,766.292 L631.179,766.292 L631.179,784.199 L658.367,784.199 L658.367,766.292 L677.742,766.292 L677.742,739.074 L658.367,739.074 L658.367,718.824 L631.179,718.824 z" fill="#B3B3B3"/>
|
||||
<path d="M631.179,718.824 L631.179,739.074 L612.367,739.074 L612.367,766.292 L631.179,766.292 L631.179,784.199 L658.367,784.199 L658.367,766.292 L677.742,766.292 L677.742,739.074 L658.367,739.074 L658.367,718.824 L631.179,718.824 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="8.571"/>
|
||||
</g>
|
||||
<path d="M37.874,887.379 L150.697,887.379 L150.697,1024.488 L37.874,1024.488 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="6.166" id="rect3083"/>
|
||||
<path d="M37.568,887.787 L151.004,887.787 L151.004,998.366 L37.568,998.366 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="5.553" id="rect3083-7"/>
|
||||
<path d="M40.533,888.354 L60.182,888.354 L60.182,996.37 L40.533,996.37 z" fill="#B3B3B3" id="rect2995-0-4"/>
|
||||
<path d="M69.033,901.926 L80.11,901.926 L80.11,913.513 L69.033,913.513 z" fill="#B3B3B3" id="rect2995-0-4-0"/>
|
||||
<path d="M69.033,924.949 L80.11,924.949 L80.11,936.537 L69.033,936.537 z" fill="#B3B3B3" id="rect2995-0-4-0-9"/>
|
||||
<path d="M69.033,947.973 L80.11,947.973 L80.11,959.561 L69.033,959.561 z" fill="#B3B3B3" id="rect2995-0-4-0-9-4"/>
|
||||
<path d="M69.033,970.997 L80.11,970.997 L80.11,982.585 L69.033,982.585 z" fill="#B3B3B3" id="rect2995-0-4-0-9-4-8"/>
|
||||
<path d="M58.747,1008.069 L86.967,1008.069 L86.967,1028.227 L58.747,1028.227 z" fill="#B3B3B3" id="rect2995-0-4-8"/>
|
||||
<path d="M74.13,1027.791 L66.438,1034.293 L58.747,1040.796 L58.747,1027.791 L58.747,1014.786 L66.438,1021.288 z" fill="#B3B3B3" id="path4002"/>
|
||||
<path d="M73.027,1027.791 L79.978,1034.293 L86.93,1040.796 L86.93,1027.791 L86.93,1014.786 L79.978,1021.288 z" fill="#B3B3B3" id="path4002-2"/>
|
||||
<path d="M197.589,886.909 L310.411,886.909 L310.411,1024.017 L197.589,1024.017 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="6.166" id="rect3083-4"/>
|
||||
<path d="M197.282,887.317 L310.718,887.317 L310.718,997.896 L197.282,997.896 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="5.553" id="rect3083-7-5"/>
|
||||
<path d="M200.247,887.884 L219.896,887.884 L219.896,995.9 L200.247,995.9 z" fill="#B3B3B3" id="rect2995-0-4-5"/>
|
||||
<path d="M218.461,1007.598 L246.682,1007.598 L246.682,1027.757 L218.461,1027.757 z" fill="#B3B3B3" id="rect2995-0-4-8-5"/>
|
||||
<path d="M233.844,1027.321 L226.153,1033.824 L218.461,1040.326 L218.461,1027.321 L218.461,1014.316 L226.153,1020.819 z" fill="#B3B3B3" id="path4002-27"/>
|
||||
<path d="M232.741,1027.321 L239.693,1033.824 L246.644,1040.326 L246.644,1027.321 L246.644,1014.316 L239.693,1020.819 z" fill="#B3B3B3" id="path4002-2-6"/>
|
||||
<path d="M253.805,948.352 L273.454,948.352 L273.454,986.667 L253.805,986.667 z" fill="#B3B3B3" id="rect2995-0-4-5-7"/>
|
||||
<path d="M228.066,900.37 L247.715,900.37 L247.715,933.129 L228.066,933.129 z" fill="#B3B3B3" id="rect2995-0-4-5-7-6"/>
|
||||
<path d="M227.906,932.653 L241.436,918.405 L269.22,944.789 L255.69,959.037 z" fill="#B3B3B3" id="rect2995-0-4-5-7-8"/>
|
||||
<path d="M278.632,900.37 L298.281,900.37 L298.281,933.129 L278.632,933.129 z" fill="#B3B3B3" id="rect2995-0-4-5-7-6-9"/>
|
||||
<path d="M298.392,932.121 L285.456,918.405 L258.894,943.805 L271.829,957.522 z" fill="#B3B3B3" id="rect2995-0-4-5-7-8-2"/>
|
||||
<g id="rect3083-7-5-7">
|
||||
<path d="M362.125,942.66 L476.301,942.66 L476.301,1025.189 L362.125,1025.189 z" fill="#FFFFFF"/>
|
||||
<path d="M362.125,942.66 L476.301,942.66 L476.301,1025.189 L362.125,1025.189 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="4.813"/>
|
||||
</g>
|
||||
<path d="M450.3,943.806 L475.505,943.806 L475.505,1025.558 L450.3,1025.558 z" fill="#B3B3B3" id="rect2995-0-4-5-9"/>
|
||||
<path d="M376.811,954.433 L454.039,954.433 L454.039,964.969 L376.811,964.969 z" fill="#B3B3B3" id="rect2995-0-4-5-9-5"/>
|
||||
<path d="M376.237,978.161 L453.464,978.161 L453.464,988.697 L376.237,988.697 z" fill="#B3B3B3" id="rect2995-0-4-5-9-5-4"/>
|
||||
<path d="M376.237,1002.161 L453.464,1002.161 L453.464,1012.697 L376.237,1012.697 z" fill="#B3B3B3" id="rect2995-0-4-5-9-5-4-3"/>
|
||||
<path d="M381.162,940.8 L381.162,910.941 C381.162,910.941 390.092,887.418 418.377,887.055 C445.32,886.708 454.992,909.954 454.992,909.954 L455.107,941.947" fill-opacity="0" stroke="#B3B3B3" stroke-width="15.226" id="path4310"/>
|
||||
<g id="path2991-7-1-4">
|
||||
<path d="M691.408,957.408 C691.408,995.423 660.59,1026.241 622.575,1026.241 C584.559,1026.241 553.742,995.423 553.742,957.408 C553.742,919.392 584.559,888.575 622.575,888.575 C660.59,888.575 691.408,919.392 691.408,957.408 z" fill="#B3B3B3"/>
|
||||
<path d="M691.408,957.408 C691.408,995.423 660.59,1026.241 622.575,1026.241 C584.559,1026.241 553.742,995.423 553.742,957.408 C553.742,919.392 584.559,888.575 622.575,888.575 C660.59,888.575 691.408,919.392 691.408,957.408 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-5-8">
|
||||
<path d="M680.685,957.898 C680.685,989.684 654.917,1015.451 623.132,1015.451 C591.346,1015.451 565.579,989.684 565.579,957.898 C565.579,926.113 591.346,900.346 623.132,900.346 C654.917,900.346 680.685,926.113 680.685,957.898 z" fill="#FFFFFF"/>
|
||||
<path d="M680.685,957.898 C680.685,989.684 654.917,1015.451 623.132,1015.451 C591.346,1015.451 565.579,989.684 565.579,957.898 C565.579,926.113 591.346,900.346 623.132,900.346 C654.917,900.346 680.685,926.113 680.685,957.898 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<path d="M617.433,939.273 L631.101,939.273 L631.101,1004.878 L617.433,1004.878 z" fill="#B3B3B3" id="rect2995-0-2-8"/>
|
||||
<g id="rect4046-3-4">
|
||||
<path d="M595.942,931.209 L553.247,907.307 L560.31,944.242 L595.942,931.209 z" fill="#FFFFFF"/>
|
||||
<path d="M595.942,931.209 L553.247,907.307 L560.31,944.242 L595.942,931.209 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="1.93" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4046-5">
|
||||
<path d="M588.909,926.673 L560.094,910.545 L564.713,935.73 L588.909,926.673 z" fill="#B3B3B3"/>
|
||||
<path d="M588.909,926.673 L560.094,910.545 L564.713,935.73 L588.909,926.673 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="1.313" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect3075-11">
|
||||
<path d="M1389.845,733.625 C1389.679,748.281 1389.512,762.937 1389.345,777.593 C1391.543,777.615 1393.741,777.635 1395.939,777.656 C1394.387,779.219 1392.835,780.781 1391.283,782.344 C1411.991,803.052 1432.7,823.76 1453.408,844.469 C1468.814,829.062 1484.221,813.656 1499.627,798.25 C1478.918,777.531 1458.21,756.812 1437.502,736.094 C1435.773,737.833 1434.043,739.573 1432.314,741.312 C1432.335,738.917 1432.356,736.521 1432.377,734.125 C1418.2,733.958 1404.023,733.792 1389.846,733.625 z" fill="#FFFFFF"/>
|
||||
<path d="M1389.845,733.625 C1389.679,748.281 1389.512,762.937 1389.345,777.593 C1391.543,777.615 1393.741,777.635 1395.939,777.656 C1394.387,779.219 1392.835,780.781 1391.283,782.344 C1411.991,803.052 1432.7,823.76 1453.408,844.469 C1468.814,829.062 1484.221,813.656 1499.627,798.25 C1478.918,777.531 1458.21,756.812 1437.502,736.094 C1435.773,737.833 1434.043,739.573 1432.314,741.312 C1432.335,738.917 1432.356,736.521 1432.377,734.125 C1418.2,733.958 1404.023,733.792 1389.846,733.625 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="9" stroke-linecap="round"/>
|
||||
</g>
|
||||
<path d="M606.483,964.91 L606.483,951.243 L672.089,951.243 L672.089,964.91 z" fill="#B3B3B3" id="rect2995-0-2-8-6"/>
|
||||
<g id="rect3075-11-7">
|
||||
<path d="M1396.666,740.606 C1396.539,751.76 1396.412,762.914 1396.286,774.068 C1397.958,774.084 1399.631,774.099 1401.304,774.115 C1400.122,775.304 1398.941,776.494 1397.76,777.683 C1413.52,793.442 1429.28,809.202 1445.039,824.962 C1456.764,813.237 1468.489,801.513 1480.213,789.788 C1464.454,774.02 1448.694,758.253 1432.934,742.485 C1431.618,743.809 1430.302,745.133 1428.986,746.457 C1429.002,744.633 1429.017,742.81 1429.034,740.987 C1418.244,740.86 1407.455,740.733 1396.666,740.606 z" fill="#FFFFFF"/>
|
||||
<path d="M1396.666,740.606 C1396.539,751.76 1396.412,762.914 1396.286,774.068 C1397.958,774.084 1399.631,774.099 1401.304,774.115 C1400.122,775.304 1398.941,776.494 1397.76,777.683 C1413.52,793.442 1429.28,809.202 1445.039,824.962 C1456.764,813.237 1468.489,801.513 1480.213,789.788 C1464.454,774.02 1448.694,758.253 1432.934,742.485 C1431.618,743.809 1430.302,745.133 1428.986,746.457 C1429.002,744.633 1429.017,742.81 1429.034,740.987 C1418.244,740.86 1407.455,740.733 1396.666,740.606 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="6.849" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path3100-2">
|
||||
<path d="M1424.031,752.219 C1428.538,756.726 1428.538,764.032 1424.031,768.539 C1419.525,773.045 1412.218,773.045 1407.712,768.539 C1403.205,764.032 1403.205,756.726 1407.712,752.219 C1412.218,747.713 1419.525,747.713 1424.031,752.219 z" fill="#FFFFFF"/>
|
||||
<path d="M1424.031,752.219 C1428.538,756.726 1428.538,764.032 1424.031,768.539 C1419.525,773.045 1412.218,773.045 1407.712,768.539 C1403.205,764.032 1403.205,756.726 1407.712,752.219 C1412.218,747.713 1419.525,747.713 1424.031,752.219 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.585" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4114">
|
||||
<path d="M1424.128,790.638 L1445.171,769.595 L1474.295,798.719 L1453.252,819.762 z" fill="#FFFFFF"/>
|
||||
<path d="M1424.128,790.638 L1445.171,769.595 L1474.295,798.719 L1453.252,819.762 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="7.133"/>
|
||||
</g>
|
||||
<g id="path2991-7-6">
|
||||
<path d="M969.889,84.636 C969.889,122.652 939.072,153.469 901.056,153.469 C863.04,153.469 832.223,122.652 832.223,84.636 C832.223,46.62 863.04,15.803 901.056,15.803 C939.072,15.803 969.889,46.62 969.889,84.636 z" fill="#A0A0A0"/>
|
||||
<path d="M969.889,84.636 C969.889,122.652 939.072,153.469 901.056,153.469 C863.04,153.469 832.223,122.652 832.223,84.636 C832.223,46.62 863.04,15.803 901.056,15.803 C939.072,15.803 969.889,46.62 969.889,84.636 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-8">
|
||||
<path d="M959.166,85.127 C959.166,116.912 933.399,142.679 901.613,142.679 C869.828,142.679 844.061,116.912 844.061,85.127 C844.061,53.341 869.828,27.574 901.613,27.574 C933.399,27.574 959.166,53.341 959.166,85.127 z" fill="#FFFFFF"/>
|
||||
<path d="M959.166,85.127 C959.166,116.912 933.399,142.679 901.613,142.679 C869.828,142.679 844.061,116.912 844.061,85.127 C844.061,53.341 869.828,27.574 901.613,27.574 C933.399,27.574 959.166,53.341 959.166,85.127 z" fill-opacity="0" stroke="#808080" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect2995-0-8">
|
||||
<path d="M891.972,36.558 L911.239,36.558 L911.239,102.049 L891.972,102.049 z" fill="#A0A0A0"/>
|
||||
<path d="M891.972,36.558 L911.239,36.558 L911.239,102.049 L891.972,102.049 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997-9-2">
|
||||
<path d="M892.143,114.967 L911.762,114.967 L911.762,132.299 L892.143,132.299 z" fill="#A0A0A0"/>
|
||||
<path d="M892.143,114.967 L911.762,114.967 L911.762,132.299 L892.143,132.299 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="g4284-1">
|
||||
<g id="rect4201-26">
|
||||
<path d="M829.877,204.061 C829.877,204.061 866.575,197.729 879.421,198.347 C892.267,198.964 906.109,204.061 906.109,204.061 L906.109,297.436 C906.109,297.436 892.267,292.339 879.421,291.721 C866.575,291.104 829.877,297.436 829.877,297.436 z" fill="#FFFFFF"/>
|
||||
<path d="M829.877,204.061 C829.877,204.061 866.575,197.729 879.421,198.347 C892.267,198.964 906.109,204.061 906.109,204.061 L906.109,297.436 C906.109,297.436 892.267,292.339 879.421,291.721 C866.575,291.104 829.877,297.436 829.877,297.436 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="9.482" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-0">
|
||||
<path d="M849.039,222.081 L885.517,222.081 L885.517,225.701 L849.039,225.701 z" fill="#FFFFFF"/>
|
||||
<path d="M849.039,222.081 L885.517,222.081 L885.517,225.701 L849.039,225.701 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-4">
|
||||
<path d="M849.754,244.938 L886.232,244.938 L886.232,248.559 L849.754,248.559 z" fill="#FFFFFF"/>
|
||||
<path d="M849.754,244.938 L886.232,244.938 L886.232,248.559 L849.754,248.559 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-3-9">
|
||||
<path d="M849.754,266.939 L886.232,266.939 L886.232,270.559 L849.754,270.559 z" fill="#FFFFFF"/>
|
||||
<path d="M849.754,266.939 L886.232,266.939 L886.232,270.559 L849.754,270.559 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path4245-4">
|
||||
<path d="M826.695,304.903 C826.695,304.903 865.716,294.245 880.165,295.163 C894.613,296.081 910.719,304.903 910.719,304.903" fill="#B3B3B3"/>
|
||||
<path d="M826.695,304.903 C826.695,304.903 865.716,294.245 880.165,295.163 C894.613,296.081 910.719,304.903 910.719,304.903" fill-opacity="0" stroke="#A0A0A0" stroke-width="12.961"/>
|
||||
</g>
|
||||
<g id="g4277-6">
|
||||
<g id="rect4201-2-0">
|
||||
<path d="M988.377,203.764 C988.377,203.764 951.56,197.432 938.672,198.05 C925.784,198.668 911.898,203.764 911.898,203.764 L911.898,297.139 C911.898,297.139 925.784,292.042 938.672,291.425 C951.56,290.807 988.377,297.139 988.377,297.139 z" fill="#FFFFFF"/>
|
||||
<path d="M988.377,203.764 C988.377,203.764 951.56,197.432 938.672,198.05 C925.784,198.668 911.898,203.764 911.898,203.764 L911.898,297.139 C911.898,297.139 925.784,292.042 938.672,291.425 C951.56,290.807 988.377,297.139 988.377,297.139 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="9.513" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-21-3">
|
||||
<path d="M969.152,221.784 L932.556,221.784 L932.556,225.405 L969.152,225.405 z" fill="#FFFFFF"/>
|
||||
<path d="M969.152,221.784 L932.556,221.784 L932.556,225.405 L969.152,225.405 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-6-6">
|
||||
<path d="M968.436,244.641 L931.84,244.641 L931.84,248.262 L968.436,248.262 z" fill="#FFFFFF"/>
|
||||
<path d="M968.436,244.641 L931.84,244.641 L931.84,248.262 L968.436,248.262 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-3-8-2">
|
||||
<path d="M968.436,266.642 L931.84,266.642 L931.84,270.263 L968.436,270.263 z" fill="#FFFFFF"/>
|
||||
<path d="M968.436,266.642 L931.84,266.642 L931.84,270.263 L968.436,270.263 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path4245-5-4">
|
||||
<path d="M991.569,304.606 C991.569,304.606 952.421,293.949 937.926,294.866 C923.431,295.784 907.273,304.606 907.273,304.606" fill="#B3B3B3"/>
|
||||
<path d="M991.569,304.606 C991.569,304.606 952.421,293.949 937.926,294.866 C923.431,295.784 907.273,304.606 907.273,304.606" fill-opacity="0" stroke="#A0A0A0" stroke-width="13.003"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M942.845,472.215 L942.845,387.348 C942.845,387.348 944.073,377.245 931.797,377.245 C919.521,377.245 898.039,377.245 898.039,377.245" fill-opacity="0" stroke="#A0A0A0" stroke-width="15" id="path3850-1-1"/>
|
||||
<g id="rect3818-4-7">
|
||||
<path d="M867.039,390.985 L869.187,390.985 L869.187,459.808 L867.039,459.808 z" fill="#FFFFFF"/>
|
||||
<path d="M867.039,390.985 L869.187,390.985 L869.187,459.808 L867.039,459.808 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-8-4">
|
||||
<path d="M882.879,477.136 C882.879,485.014 876.429,491.4 868.473,491.4 C860.517,491.4 854.068,485.014 854.068,477.136 C854.068,469.259 860.517,462.872 868.473,462.872 C876.429,462.872 882.879,469.259 882.879,477.136 z" fill="#FFFFFF"/>
|
||||
<path d="M882.879,477.136 C882.879,485.014 876.429,491.4 868.473,491.4 C860.517,491.4 854.068,485.014 854.068,477.136 C854.068,469.259 860.517,462.872 868.473,462.872 C876.429,462.872 882.879,469.259 882.879,477.136 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-0">
|
||||
<path d="M881.865,377.916 C881.865,385.794 875.416,392.18 867.46,392.18 C859.504,392.18 853.054,385.794 853.054,377.916 C853.054,370.038 859.504,363.652 867.46,363.652 C875.416,363.652 881.865,370.038 881.865,377.916 z" fill="#FFFFFF"/>
|
||||
<path d="M881.865,377.916 C881.865,385.794 875.416,392.18 867.46,392.18 C859.504,392.18 853.054,385.794 853.054,377.916 C853.054,370.038 859.504,363.652 867.46,363.652 C875.416,363.652 881.865,370.038 881.865,377.916 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-4-0-2-9">
|
||||
<path d="M957.324,477.203 C957.324,485.081 950.875,491.467 942.919,491.467 C934.963,491.467 928.513,485.081 928.513,477.203 C928.513,469.326 934.963,462.939 942.919,462.939 C950.875,462.939 957.324,469.326 957.324,477.203 z" fill="#FFFFFF"/>
|
||||
<path d="M957.324,477.203 C957.324,485.081 950.875,491.467 942.919,491.467 C934.963,491.467 928.513,485.081 928.513,477.203 C928.513,469.326 934.963,462.939 942.919,462.939 C950.875,462.939 957.324,469.326 957.324,477.203 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3852-4-4">
|
||||
<path d="M916.255,352.994 L916.255,399.653 L886.165,378.443 z" fill="#A0A0A0"/>
|
||||
<path d="M916.255,352.994 L916.255,399.653 L886.165,378.443 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="0.55"/>
|
||||
</g>
|
||||
<g id="rect3953">
|
||||
<path d="M871.854,546.111 L878.997,553.254 L833.283,598.968 L826.14,591.825 z" fill="#A0A0A0"/>
|
||||
<path d="M871.854,546.111 L878.997,553.254 L833.283,598.968 L826.14,591.825 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="rect3953-8">
|
||||
<path d="M877.987,632.232 L870.844,639.374 L825.13,593.66 L832.273,586.517 z" fill="#A0A0A0"/>
|
||||
<path d="M877.987,632.232 L870.844,639.374 L825.13,593.66 L832.273,586.517 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="rect3953-82">
|
||||
<path d="M959.87,591.826 L952.728,598.968 L907.013,553.254 L914.156,546.111 z" fill="#A0A0A0"/>
|
||||
<path d="M959.87,591.826 L952.728,598.968 L907.013,553.254 L914.156,546.111 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="rect3953-82-4">
|
||||
<path d="M910.116,641.395 L902.973,634.252 L948.687,588.538 L955.83,595.68 z" fill="#A0A0A0"/>
|
||||
<path d="M910.116,641.395 L902.973,634.252 L948.687,588.538 L955.83,595.68 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="g4016">
|
||||
<g id="rect3953-82-4-1-4">
|
||||
<path d="M901.66,795.087 L917.47,779.277 L966.852,828.659 L951.042,844.469 z" fill="#A0A0A0"/>
|
||||
<path d="M901.66,795.087 L917.47,779.277 L966.852,828.659 L951.042,844.469 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="11.053"/>
|
||||
</g>
|
||||
<g id="rect3953-82-4-1-7-0">
|
||||
<path d="M866.314,748.302 L870.684,743.931 L923.627,796.873 L919.256,801.244 z" fill="#A0A0A0"/>
|
||||
<path d="M866.314,748.302 L870.684,743.931 L923.627,796.873 L919.256,801.244 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="6.017"/>
|
||||
</g>
|
||||
<g id="path3226">
|
||||
<path d="M834.333,751.795 C824.112,741.574 824.591,724.521 835.405,713.708 C846.218,702.894 863.271,702.414 873.493,712.636 C883.714,722.858 883.235,739.911 872.421,750.724 C861.608,761.538 844.555,762.017 834.333,751.795 z" fill="#A0A0A0"/>
|
||||
<path d="M834.333,751.795 C824.112,741.574 824.591,724.521 835.405,713.708 C846.218,702.894 863.271,702.414 873.493,712.636 C883.714,722.858 883.235,739.911 872.421,750.724 C861.608,761.538 844.555,762.017 834.333,751.795 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.536"/>
|
||||
</g>
|
||||
<path d="M830.328,738.658 C819.882,728.213 817.963,713.195 826.042,705.117 C834.121,697.038 849.138,698.957 859.584,709.402 C870.029,719.848 871.948,734.865 863.869,742.944 C855.791,751.023 840.774,749.104 830.328,738.658 z" fill="#FFFFFF" id="path3226-9"/>
|
||||
</g>
|
||||
<path d="M912.995,736.468 L947.28,770.754 L897.28,820.754 L862.995,786.468 z" fill="#FFFFFF" id="rect4027"/>
|
||||
<g id="g4022">
|
||||
<g id="rect3953-82-4-1">
|
||||
<path d="M914.66,784.426 L898.85,768.616 L948.231,719.234 L964.042,735.045 z" fill="#A0A0A0"/>
|
||||
<path d="M914.66,784.426 L898.85,768.616 L948.231,719.234 L964.042,735.045 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="11.053"/>
|
||||
</g>
|
||||
<g id="rect3953-82-4-1-7">
|
||||
<path d="M862.174,826.216 L857.803,821.845 L910.746,768.902 L915.117,773.273 z" fill="#A0A0A0"/>
|
||||
<path d="M862.174,826.216 L857.803,821.845 L910.746,768.902 L915.117,773.273 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="6.017"/>
|
||||
</g>
|
||||
<g id="rect3182">
|
||||
<path d="M851.456,814.022 L836.452,848.251 L870.703,833.269 L872.227,829.8 L854.925,812.498 L851.456,814.022 z" fill="#A0A0A0"/>
|
||||
<path d="M851.456,814.022 L836.452,848.251 L870.703,833.269 L872.227,829.8 L854.925,812.498 L851.456,814.022 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="4.636"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="path2991-7-6-1">
|
||||
<path d="M1228.488,89.805 C1228.488,127.82 1197.671,158.638 1159.655,158.638 C1121.64,158.638 1090.822,127.82 1090.822,89.805 C1090.822,51.789 1121.64,20.971 1159.655,20.971 C1197.671,20.971 1228.488,51.789 1228.488,89.805 z" fill="#3C3C3C"/>
|
||||
<path d="M1228.488,89.805 C1228.488,127.82 1197.671,158.638 1159.655,158.638 C1121.64,158.638 1090.822,127.82 1090.822,89.805 C1090.822,51.789 1121.64,20.971 1159.655,20.971 C1197.671,20.971 1228.488,51.789 1228.488,89.805 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-8-7">
|
||||
<path d="M1217.765,90.295 C1217.765,122.081 1191.998,147.848 1160.212,147.848 C1128.427,147.848 1102.66,122.081 1102.66,90.295 C1102.66,58.51 1128.427,32.742 1160.212,32.742 C1191.998,32.742 1217.765,58.51 1217.765,90.295 z" fill="#FFFFFF"/>
|
||||
<path d="M1217.765,90.295 C1217.765,122.081 1191.998,147.848 1160.212,147.848 C1128.427,147.848 1102.66,122.081 1102.66,90.295 C1102.66,58.51 1128.427,32.742 1160.212,32.742 C1191.998,32.742 1217.765,58.51 1217.765,90.295 z" fill-opacity="0" stroke="#3C3C80" stroke-width="0.552"/>
|
||||
</g>
|
||||
<g id="rect2995-0-8-4">
|
||||
<path d="M1150.571,41.726 L1169.838,41.726 L1169.838,107.217 L1150.571,107.217 z" fill="#3C3C3C"/>
|
||||
<path d="M1150.571,41.726 L1169.838,41.726 L1169.838,107.217 L1150.571,107.217 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.733"/>
|
||||
</g>
|
||||
<g id="rect2997-9-2-0">
|
||||
<path d="M1150.742,120.136 L1170.361,120.136 L1170.361,137.467 L1150.742,137.467 z" fill="#3C3C3C"/>
|
||||
<path d="M1150.742,120.136 L1170.361,120.136 L1170.361,137.467 L1150.742,137.467 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.381"/>
|
||||
</g>
|
||||
<g id="g4284-1-9">
|
||||
<g id="rect4201-26-4">
|
||||
<path d="M1088.476,209.229 C1088.476,209.229 1125.174,202.897 1138.02,203.515 C1150.866,204.133 1164.708,209.229 1164.708,209.229 L1164.708,302.604 C1164.708,302.604 1150.866,297.508 1138.02,296.89 C1125.174,296.272 1088.476,302.604 1088.476,302.604 z" fill="#FFFFFF"/>
|
||||
<path d="M1088.476,209.229 C1088.476,209.229 1125.174,202.897 1138.02,203.515 C1150.866,204.133 1164.708,209.229 1164.708,209.229 L1164.708,302.604 C1164.708,302.604 1150.866,297.508 1138.02,296.89 C1125.174,296.272 1088.476,302.604 1088.476,302.604 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="9.482" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-0-8">
|
||||
<path d="M1107.638,227.249 L1144.116,227.249 L1144.116,230.87 L1107.638,230.87 z" fill="#FFFFFF"/>
|
||||
<path d="M1107.638,227.249 L1144.116,227.249 L1144.116,230.87 L1107.638,230.87 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-4-8">
|
||||
<path d="M1108.353,250.107 L1144.831,250.107 L1144.831,253.728 L1108.353,253.728 z" fill="#FFFFFF"/>
|
||||
<path d="M1108.353,250.107 L1144.831,250.107 L1144.831,253.728 L1108.353,253.728 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-3-9-2">
|
||||
<path d="M1108.353,272.107 L1144.831,272.107 L1144.831,275.728 L1108.353,275.728 z" fill="#FFFFFF"/>
|
||||
<path d="M1108.353,272.107 L1144.831,272.107 L1144.831,275.728 L1108.353,275.728 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.807" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path4245-4-4">
|
||||
<path d="M1085.294,310.072 C1085.294,310.072 1124.315,299.414 1138.764,300.332 C1153.212,301.25 1169.318,310.072 1169.318,310.072" fill="#B3B3B3"/>
|
||||
<path d="M1085.294,310.072 C1085.294,310.072 1124.315,299.414 1138.764,300.332 C1153.212,301.25 1169.318,310.072 1169.318,310.072" fill-opacity="0" stroke="#3C3C3C" stroke-width="12.961"/>
|
||||
</g>
|
||||
<g id="g4277-6-5">
|
||||
<g id="rect4201-2-0-5">
|
||||
<path d="M1246.976,208.933 C1246.976,208.933 1210.159,202.601 1197.271,203.218 C1184.384,203.836 1170.497,208.933 1170.497,208.933 L1170.497,302.308 C1170.497,302.308 1184.384,297.211 1197.271,296.593 C1210.159,295.976 1246.976,302.308 1246.976,302.308 z" fill="#FFFFFF"/>
|
||||
<path d="M1246.976,208.933 C1246.976,208.933 1210.159,202.601 1197.271,203.218 C1184.384,203.836 1170.497,208.933 1170.497,208.933 L1170.497,302.308 C1170.497,302.308 1184.384,297.211 1197.271,296.593 C1210.159,295.976 1246.976,302.308 1246.976,302.308 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="9.513" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-21-3-1">
|
||||
<path d="M1227.751,226.953 L1191.155,226.953 L1191.155,230.573 L1227.751,230.573 z" fill="#FFFFFF"/>
|
||||
<path d="M1227.751,226.953 L1191.155,226.953 L1191.155,230.573 L1227.751,230.573 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-6-6-7">
|
||||
<path d="M1227.035,249.81 L1190.439,249.81 L1190.439,253.431 L1227.035,253.431 z" fill="#FFFFFF"/>
|
||||
<path d="M1227.035,249.81 L1190.439,249.81 L1190.439,253.431 L1227.035,253.431 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4203-2-3-8-2-1">
|
||||
<path d="M1227.035,271.811 L1190.439,271.811 L1190.439,275.431 L1227.035,275.431 z" fill="#FFFFFF"/>
|
||||
<path d="M1227.035,271.811 L1190.439,271.811 L1190.439,275.431 L1227.035,275.431 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.833" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path4245-5-4-1">
|
||||
<path d="M1250.169,309.775 C1250.169,309.775 1211.02,299.117 1196.525,300.035 C1182.03,300.953 1165.872,309.775 1165.872,309.775" fill="#B3B3B3"/>
|
||||
<path d="M1250.169,309.775 C1250.169,309.775 1211.02,299.117 1196.525,300.035 C1182.03,300.953 1165.872,309.775 1165.872,309.775" fill-opacity="0" stroke="#3C3C3C" stroke-width="13.003"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M1201.444,477.383 L1201.444,392.516 C1201.444,392.516 1202.672,382.413 1190.396,382.413 C1178.12,382.413 1156.638,382.413 1156.638,382.413" fill-opacity="0" stroke="#3C3C3C" stroke-width="15" id="path3850-1-1-5"/>
|
||||
<g id="rect3818-4-7-2">
|
||||
<path d="M1125.638,396.153 L1127.786,396.153 L1127.786,464.977 L1125.638,464.977 z" fill="#FFFFFF"/>
|
||||
<path d="M1125.638,396.153 L1127.786,396.153 L1127.786,464.977 L1125.638,464.977 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-8-4-7">
|
||||
<path d="M1141.478,482.305 C1141.478,490.183 1135.028,496.569 1127.072,496.569 C1119.116,496.569 1112.667,490.183 1112.667,482.305 C1112.667,474.427 1119.116,468.041 1127.072,468.041 C1135.028,468.041 1141.478,474.427 1141.478,482.305 z" fill="#FFFFFF"/>
|
||||
<path d="M1141.478,482.305 C1141.478,490.183 1135.028,496.569 1127.072,496.569 C1119.116,496.569 1112.667,490.183 1112.667,482.305 C1112.667,474.427 1119.116,468.041 1127.072,468.041 C1135.028,468.041 1141.478,474.427 1141.478,482.305 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-0-6">
|
||||
<path d="M1140.464,383.085 C1140.464,390.962 1134.015,397.349 1126.059,397.349 C1118.103,397.349 1111.653,390.962 1111.653,383.085 C1111.653,375.207 1118.103,368.82 1126.059,368.82 C1134.015,368.82 1140.464,375.207 1140.464,383.085 z" fill="#FFFFFF"/>
|
||||
<path d="M1140.464,383.085 C1140.464,390.962 1134.015,397.349 1126.059,397.349 C1118.103,397.349 1111.653,390.962 1111.653,383.085 C1111.653,375.207 1118.103,368.82 1126.059,368.82 C1134.015,368.82 1140.464,375.207 1140.464,383.085 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-4-0-2-9-1">
|
||||
<path d="M1215.923,482.372 C1215.923,490.25 1209.474,496.636 1201.518,496.636 C1193.562,496.636 1187.112,490.25 1187.112,482.372 C1187.112,474.494 1193.562,468.108 1201.518,468.108 C1209.474,468.108 1215.923,474.494 1215.923,482.372 z" fill="#FFFFFF"/>
|
||||
<path d="M1215.923,482.372 C1215.923,490.25 1209.474,496.636 1201.518,496.636 C1193.562,496.636 1187.112,490.25 1187.112,482.372 C1187.112,474.494 1193.562,468.108 1201.518,468.108 C1209.474,468.108 1215.923,474.494 1215.923,482.372 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3852-4-4-4">
|
||||
<path d="M1174.854,358.162 L1174.854,404.822 L1144.764,383.612 z" fill="#3C3C3C"/>
|
||||
<path d="M1174.854,358.162 L1174.854,404.822 L1144.764,383.612 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="0.55"/>
|
||||
</g>
|
||||
<g id="rect3953-2">
|
||||
<path d="M1130.453,551.28 L1137.596,558.423 L1091.882,604.137 L1084.739,596.994 z" fill="#3C3C3C"/>
|
||||
<path d="M1130.453,551.28 L1137.596,558.423 L1091.882,604.137 L1084.739,596.994 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="rect3953-8-3">
|
||||
<path d="M1136.586,637.4 L1129.443,644.543 L1083.729,598.829 L1090.872,591.686 z" fill="#3C3C3C"/>
|
||||
<path d="M1136.586,637.4 L1129.443,644.543 L1083.729,598.829 L1090.872,591.686 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="rect3953-82-2">
|
||||
<path d="M1218.469,596.994 L1211.327,604.137 L1165.612,558.423 L1172.755,551.28 z" fill="#3C3C3C"/>
|
||||
<path d="M1218.469,596.994 L1211.327,604.137 L1165.612,558.423 L1172.755,551.28 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="rect3953-82-4-2">
|
||||
<path d="M1168.715,646.563 L1161.572,639.42 L1207.286,593.706 L1214.429,600.849 z" fill="#3C3C3C"/>
|
||||
<path d="M1168.715,646.563 L1161.572,639.42 L1207.286,593.706 L1214.429,600.849 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.148"/>
|
||||
</g>
|
||||
<g id="g4138">
|
||||
<g id="rect3953-82-4-1-4-6">
|
||||
<path d="M1160.259,800.256 L1176.069,784.446 L1225.451,833.827 L1209.641,849.638 z" fill="#3C3C3C"/>
|
||||
<path d="M1160.259,800.256 L1176.069,784.446 L1225.451,833.827 L1209.641,849.638 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="11.053"/>
|
||||
</g>
|
||||
<g id="rect3953-82-4-1-7-0-8">
|
||||
<path d="M1124.913,753.47 L1129.283,749.099 L1182.226,802.042 L1177.855,806.413 z" fill="#3C3C3C"/>
|
||||
<path d="M1124.913,753.47 L1129.283,749.099 L1182.226,802.042 L1177.855,806.413 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="6.017"/>
|
||||
</g>
|
||||
<g id="path3226-5">
|
||||
<path d="M1092.932,756.964 C1082.711,746.742 1083.19,729.69 1094.004,718.876 C1104.817,708.063 1121.87,707.583 1132.092,717.805 C1142.313,728.027 1141.834,745.079 1131.02,755.893 C1120.207,766.706 1103.154,767.186 1092.932,756.964 z" fill="#3C3C3C"/>
|
||||
<path d="M1092.932,756.964 C1082.711,746.742 1083.19,729.69 1094.004,718.876 C1104.817,708.063 1121.87,707.583 1132.092,717.805 C1142.313,728.027 1141.834,745.079 1131.02,755.893 C1120.207,766.706 1103.154,767.186 1092.932,756.964 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="7.536"/>
|
||||
</g>
|
||||
<path d="M1088.927,743.827 C1078.481,733.381 1076.562,718.364 1084.641,710.285 C1092.72,702.206 1107.737,704.125 1118.183,714.571 C1128.628,725.017 1130.547,740.034 1122.469,748.113 C1114.39,756.191 1099.373,754.273 1088.927,743.827 z" fill="#FFFFFF" id="path3226-9-7"/>
|
||||
<path d="M1170.308,742.065 L1204.594,776.351 L1154.594,826.351 L1120.308,792.065 z" fill="#FFFFFF" id="rect4027-6"/>
|
||||
<g id="rect3953-82-4-1-8">
|
||||
<path d="M1173.259,789.595 L1157.449,773.785 L1206.83,724.403 L1222.641,740.213 z" fill="#3C3C3C"/>
|
||||
<path d="M1173.259,789.595 L1157.449,773.785 L1206.83,724.403 L1222.641,740.213 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="11.053"/>
|
||||
</g>
|
||||
<g id="rect3953-82-4-1-7-9">
|
||||
<path d="M1120.773,831.384 L1116.402,827.013 L1169.345,774.071 L1173.716,778.442 z" fill="#3C3C3C"/>
|
||||
<path d="M1120.773,831.384 L1116.402,827.013 L1169.345,774.071 L1173.716,778.442 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="6.017"/>
|
||||
</g>
|
||||
<g id="rect3182-2">
|
||||
<path d="M1110.055,819.191 L1095.051,853.419 L1129.302,838.438 L1130.827,834.968 L1113.525,817.666 L1110.055,819.191 z" fill="#3C3C3C"/>
|
||||
<path d="M1110.055,819.191 L1095.051,853.419 L1129.302,838.438 L1130.827,834.968 L1113.525,817.666 L1110.055,819.191 z" fill-opacity="0" stroke="#3C3C3C" stroke-width="4.636"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="path2991-7-1-4-1">
|
||||
<path d="M148.345,1166.648 C148.345,1204.663 117.528,1235.481 79.512,1235.481 C41.496,1235.481 10.679,1204.663 10.679,1166.648 C10.679,1128.632 41.496,1097.815 79.512,1097.815 C117.528,1097.815 148.345,1128.632 148.345,1166.648 z" fill="#BEBEFF"/>
|
||||
<path d="M148.345,1166.648 C148.345,1204.663 117.528,1235.481 79.512,1235.481 C41.496,1235.481 10.679,1204.663 10.679,1166.648 C10.679,1128.632 41.496,1097.815 79.512,1097.815 C117.528,1097.815 148.345,1128.632 148.345,1166.648 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.66"/>
|
||||
</g>
|
||||
<g id="path2993-4-5-8-7">
|
||||
<path d="M137.622,1167.138 C137.622,1198.924 111.855,1224.691 80.069,1224.691 C48.284,1224.691 22.516,1198.924 22.516,1167.138 C22.516,1135.353 48.284,1109.586 80.069,1109.586 C111.855,1109.586 137.622,1135.353 137.622,1167.138 z" fill="#FFFFFF"/>
|
||||
<path d="M137.622,1167.138 C137.622,1198.924 111.855,1224.691 80.069,1224.691 C48.284,1224.691 22.516,1198.924 22.516,1167.138 C22.516,1135.353 48.284,1109.586 80.069,1109.586 C111.855,1109.586 137.622,1135.353 137.622,1167.138 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="0.552"/>
|
||||
</g>
|
||||
<path d="M74.371,1148.512 L88.038,1148.512 L88.038,1214.118 L74.371,1214.118 z" fill="#BEBEFA" id="rect2995-0-2-8-4"/>
|
||||
<g id="rect4046-3-4-0">
|
||||
<path d="M52.879,1140.449 L10.184,1116.547 L17.247,1153.482 L52.879,1140.449 z" fill="#FFFFFF"/>
|
||||
<path d="M52.879,1140.449 L10.184,1116.547 L17.247,1153.482 L52.879,1140.449 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="1.93" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4046-5-9">
|
||||
<path d="M45.846,1135.913 L17.031,1119.785 L21.65,1144.97 L45.846,1135.913 z" fill="#BEBEFF"/>
|
||||
<path d="M45.846,1135.913 L17.031,1119.785 L21.65,1144.97 L45.846,1135.913 z" fill-opacity="0" stroke="#BEBEFF" stroke-width="1.313" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect3075-11-4">
|
||||
<path d="M236.5,1107.334 C236.333,1121.99 236.166,1136.646 236,1151.302 C238.198,1151.324 240.395,1151.344 242.593,1151.365 C241.041,1152.928 239.489,1154.49 237.937,1156.053 C258.646,1176.761 279.354,1197.469 300.062,1218.178 C315.468,1202.771 330.875,1187.365 346.281,1171.959 C325.573,1151.24 304.864,1130.521 284.156,1109.803 C282.427,1111.542 280.698,1113.282 278.968,1115.021 C278.99,1112.626 279.01,1110.23 279.031,1107.834 C264.854,1107.667 250.677,1107.501 236.5,1107.334 z" fill="#FFFFFF"/>
|
||||
<path d="M236.5,1107.334 C236.333,1121.99 236.166,1136.646 236,1151.302 C238.198,1151.324 240.395,1151.344 242.593,1151.365 C241.041,1152.928 239.489,1154.49 237.937,1156.053 C258.646,1176.761 279.354,1197.469 300.062,1218.178 C315.468,1202.771 330.875,1187.365 346.281,1171.959 C325.573,1151.24 304.864,1130.521 284.156,1109.803 C282.427,1111.542 280.698,1113.282 278.968,1115.021 C278.99,1112.626 279.01,1110.23 279.031,1107.834 C264.854,1107.667 250.677,1107.501 236.5,1107.334 z" fill-opacity="0" stroke="#BEBEFA" stroke-width="9" stroke-linecap="round"/>
|
||||
</g>
|
||||
<path d="M63.42,1174.15 L63.42,1160.483 L129.026,1160.483 L129.026,1174.15 z" fill="#BEBEFA" id="rect2995-0-2-8-6-8"/>
|
||||
<g id="rect3075-11-7-8">
|
||||
<path d="M243.32,1114.315 C243.193,1125.469 243.067,1136.623 242.94,1147.777 C244.613,1147.793 246.285,1147.808 247.958,1147.824 C246.777,1149.013 245.595,1150.203 244.414,1151.392 C260.174,1167.151 275.934,1182.911 291.693,1198.671 C303.418,1186.946 315.143,1175.222 326.867,1163.497 C311.108,1147.729 295.348,1131.962 279.588,1116.194 C278.272,1117.518 276.956,1118.842 275.64,1120.166 C275.656,1118.342 275.671,1116.519 275.688,1114.696 C264.899,1114.569 254.109,1114.442 243.32,1114.315 z" fill="#FFFFFF"/>
|
||||
<path d="M243.32,1114.315 C243.193,1125.469 243.067,1136.623 242.94,1147.777 C244.613,1147.793 246.285,1147.808 247.958,1147.824 C246.777,1149.013 245.595,1150.203 244.414,1151.392 C260.174,1167.151 275.934,1182.911 291.693,1198.671 C303.418,1186.946 315.143,1175.222 326.867,1163.497 C311.108,1147.729 295.348,1131.962 279.588,1116.194 C278.272,1117.518 276.956,1118.842 275.64,1120.166 C275.656,1118.342 275.671,1116.519 275.688,1114.696 C264.899,1114.569 254.109,1114.442 243.32,1114.315 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="6.849" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="path3100-2-2">
|
||||
<path d="M270.685,1125.928 C275.192,1130.435 275.192,1137.741 270.685,1142.248 C266.179,1146.754 258.872,1146.754 254.366,1142.248 C249.859,1137.741 249.859,1130.435 254.366,1125.928 C258.872,1121.422 266.179,1121.422 270.685,1125.928 z" fill="#FFFFFF"/>
|
||||
<path d="M270.685,1125.928 C275.192,1130.435 275.192,1137.741 270.685,1142.248 C266.179,1146.754 258.872,1146.754 254.366,1142.248 C249.859,1137.741 249.859,1130.435 254.366,1125.928 C258.872,1121.422 266.179,1121.422 270.685,1125.928 z" fill-opacity="0" stroke="#BEBEFA" stroke-width="7.585" stroke-linecap="round"/>
|
||||
</g>
|
||||
<g id="rect4114-4">
|
||||
<path d="M270.782,1164.347 L291.825,1143.305 L320.949,1172.429 L299.906,1193.471 z" fill="#FFFFFF"/>
|
||||
<path d="M270.782,1164.347 L291.825,1143.305 L320.949,1172.429 L299.906,1193.471 z" fill-opacity="0" stroke="#BEBEFF" stroke-width="7.133"/>
|
||||
</g>
|
||||
<path d="M444.846,1211.217 C444.846,1211.217 447.118,1192.364 476.287,1187.796 C486.256,1186.234 508.495,1182.331 508.495,1159.69" fill-opacity="0" stroke="#BEBEFF" stroke-width="17.059" id="path3207-5"/>
|
||||
<g id="rect3818-4-8-4-5">
|
||||
<path d="M443.438,1135.819 L445.587,1135.819 L445.587,1204.643 L443.438,1204.643 z" fill="#FFFFFF"/>
|
||||
<path d="M443.438,1135.819 L445.587,1135.819 L445.587,1204.643 L443.438,1204.643 z" fill-opacity="0" stroke="#BEBEFA" stroke-width="15"/>
|
||||
</g>
|
||||
<g id="path3795-4-8-7-8-1">
|
||||
<path d="M459.278,1221.972 C459.278,1229.85 452.829,1236.236 444.873,1236.236 C436.917,1236.236 430.467,1229.85 430.467,1221.972 C430.467,1214.094 436.917,1207.708 444.873,1207.708 C452.829,1207.708 459.278,1214.094 459.278,1221.972 z" fill="#FFFFFF"/>
|
||||
<path d="M459.278,1221.972 C459.278,1229.85 452.829,1236.236 444.873,1236.236 C436.917,1236.236 430.467,1229.85 430.467,1221.972 C430.467,1214.094 436.917,1207.708 444.873,1207.708 C452.829,1207.708 459.278,1214.094 459.278,1221.972 z" fill-opacity="0" stroke="#BEBEFF" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8-7">
|
||||
<path d="M458.265,1122.752 C458.265,1130.63 451.815,1137.016 443.859,1137.016 C435.903,1137.016 429.453,1130.63 429.453,1122.752 C429.453,1114.874 435.903,1108.488 443.859,1108.488 C451.815,1108.488 458.265,1114.874 458.265,1122.752 z" fill="#FFFFFF"/>
|
||||
<path d="M458.265,1122.752 C458.265,1130.63 451.815,1137.016 443.859,1137.016 C435.903,1137.016 429.453,1130.63 429.453,1122.752 C429.453,1114.874 435.903,1108.488 443.859,1108.488 C451.815,1108.488 458.265,1114.874 458.265,1122.752 z" fill-opacity="0" stroke="#BEBEFF" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8-2-1">
|
||||
<path d="M524.832,1153.794 C524.832,1161.672 518.383,1168.058 510.427,1168.058 C502.471,1168.058 496.021,1161.672 496.021,1153.794 C496.021,1145.916 502.471,1139.53 510.427,1139.53 C518.383,1139.53 524.832,1145.916 524.832,1153.794 z" fill="#FFFFFF"/>
|
||||
<path d="M524.832,1153.794 C524.832,1161.672 518.383,1168.058 510.427,1168.058 C502.471,1168.058 496.021,1161.672 496.021,1153.794 C496.021,1145.916 502.471,1139.53 510.427,1139.53 C518.383,1139.53 524.832,1145.916 524.832,1153.794 z" fill-opacity="0" stroke="#BEBEFF" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="g3992">
|
||||
<path d="M1704.368,51.875 L1720.533,68.041 L1646.34,142.233 L1630.175,126.068 z" fill="#3C3C3C" id="rect2995-0-8-4-1"/>
|
||||
<path d="M1599.987,96.742 L1615.64,81.088 L1660.886,126.335 L1645.233,141.988 z" fill="#3C3C3C" id="rect2995-0-8-4-1-4"/>
|
||||
</g>
|
||||
<g id="g4112">
|
||||
<path d="M1468.322,48.548 L1484.487,64.713 L1410.294,138.906 L1394.129,122.741 z" fill="#A0A0A0" id="rect2995-0-8-4-1-5"/>
|
||||
<path d="M1363.94,93.415 L1379.593,77.761 L1424.84,123.008 L1409.187,138.661 z" fill="#A0A0A0" id="rect2995-0-8-4-1-4-5"/>
|
||||
</g>
|
||||
<path d="M1454.823,275.861 L1382.568,332.264 L1402.021,272.893 z" fill="#B3B3B3" id="path3894-1-1"/>
|
||||
<g id="rect3088-5-5-7">
|
||||
<path d="M1372.165,222.803 L1487.252,222.803 L1487.252,281.66 L1372.165,281.66 z" fill="#B3B3B3"/>
|
||||
<path d="M1372.165,222.803 L1487.252,222.803 L1487.252,281.66 L1372.165,281.66 z" fill-opacity="0" stroke="#B3B3B3" stroke-width="32.985" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<g id="rect4170">
|
||||
<path d="M1405.281,364.617 L1428.986,364.617 L1428.986,500.829 L1405.281,500.829 z" fill="#DCDCDC"/>
|
||||
<path d="M1405.281,364.617 L1428.986,364.617 L1428.986,500.829 L1405.281,500.829 z" fill-opacity="0" stroke="#DCDCDC" stroke-width="1.392" stroke-miterlimit="4.3"/>
|
||||
</g>
|
||||
<g id="rect4166">
|
||||
<path d="M1355.731,391.55 L1470.966,391.55 L1470.966,442.009 L1355.731,442.009 z" fill="#DCDCDC"/>
|
||||
<path d="M1355.731,391.55 L1470.966,391.55 L1470.966,442.009 L1355.731,442.009 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="9.98" stroke-miterlimit="4.3"/>
|
||||
</g>
|
||||
<g id="rect4174">
|
||||
<path d="M1465.955,397.292 L1486.652,417.137 L1465.955,436.982 L1445.258,417.137 z" fill="#DCDCDC"/>
|
||||
<path d="M1465.955,397.292 L1486.652,417.137 L1465.955,436.982 L1445.258,417.137 z" fill-opacity="0" stroke="#DCDCDC" stroke-width="0.942" stroke-miterlimit="4.3"/>
|
||||
</g>
|
||||
<g id="path4364">
|
||||
<path d="M1426.457,416.302 C1426.457,421.48 1422.26,425.677 1417.082,425.677 C1411.904,425.677 1407.706,421.48 1407.706,416.302 C1407.706,411.124 1411.904,406.926 1417.082,406.926 C1422.26,406.926 1426.457,411.124 1426.457,416.302 z" fill="#FFFFE6"/>
|
||||
<path d="M1426.457,416.302 C1426.457,421.48 1422.26,425.677 1417.082,425.677 C1411.904,425.677 1407.706,421.48 1407.706,416.302 C1407.706,411.124 1411.904,406.926 1417.082,406.926 C1422.26,406.926 1426.457,411.124 1426.457,416.302 z" fill-opacity="0" stroke="#FFFFFF" stroke-width="8.603" stroke-miterlimit="4.3"/>
|
||||
</g>
|
||||
<path d="M1684.796,276.068 L1612.54,332.47 L1631.994,273.099 z" fill="#DCDCDC" id="path3894-1-1-1"/>
|
||||
<g id="rect3088-5-5-7-7">
|
||||
<path d="M1602.137,223.01 L1717.224,223.01 L1717.224,281.866 L1602.137,281.866 z" fill="#DCDCDC"/>
|
||||
<path d="M1602.137,223.01 L1717.224,223.01 L1717.224,281.866 L1602.137,281.866 z" fill-opacity="0" stroke="#DCDCDC" stroke-width="32.985" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<g id="rect3220">
|
||||
<path d="M42.774,1300.197 L111.779,1300.197 L111.779,1369.202 L42.774,1369.202 z" fill="#3C3C3C"/>
|
||||
<path d="M42.774,1300.197 L111.779,1300.197 L111.779,1369.202 L42.774,1369.202 z" fill-opacity="0" stroke="#888888" stroke-width="48.237" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<path d="M112.129,1315.562 L57.129,1370.562 L42.843,1356.276 L97.843,1301.276 z" fill="#FFFFFF" id="rect3998-1"/>
|
||||
<path d="M56.4,1300.576 L111.4,1355.576 L97.114,1369.862 L42.114,1314.862 z" fill="#FFFFFF" id="rect3998-1-7"/>
|
||||
<g id="rect3220-4">
|
||||
<path d="M235.208,1299.692 L304.213,1299.692 L304.213,1368.697 L235.208,1368.697 z" fill="#0088CC"/>
|
||||
<path d="M235.208,1299.692 L304.213,1299.692 L304.213,1368.697 L235.208,1368.697 z" fill-opacity="0" stroke="#0088CC" stroke-width="48.237" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<path d="M304.563,1315.057 L249.563,1370.057 L235.277,1355.771 L290.277,1300.771 z" fill="#FFFFFF" id="rect3998-1-0"/>
|
||||
<path d="M248.834,1300.071 L303.834,1355.071 L289.549,1369.357 L234.549,1314.357 z" fill="#FFFFFF" id="rect3998-1-7-9"/>
|
||||
<g id="path3795-4-8-4">
|
||||
<path d="M1412.392,641.966 C1412.392,650.212 1405.641,656.896 1397.313,656.896 C1388.985,656.896 1382.235,650.212 1382.235,641.966 C1382.235,633.72 1388.985,627.035 1397.313,627.035 C1405.641,627.035 1412.392,633.72 1412.392,641.966 z" fill="#A0A0A0"/>
|
||||
<path d="M1412.392,641.966 C1412.392,650.212 1405.641,656.896 1397.313,656.896 C1388.985,656.896 1382.235,650.212 1382.235,641.966 C1382.235,633.72 1388.985,627.035 1397.313,627.035 C1405.641,627.035 1412.392,633.72 1412.392,641.966 z" fill="#A0A0A0"/>
|
||||
</g>
|
||||
<path d="M1396.792,592.168 C1426.908,592.168 1450.613,610.989 1450.613,639.54" fill-opacity="0" stroke="#A0A0A0" stroke-width="20" stroke-linecap="round"/>
|
||||
<path d="M1397.792,545.653 C1453.613,544.493 1499.627,588.735 1499.627,636.54" fill-opacity="0" stroke="#A0A0A0" stroke-width="20" stroke-linecap="round"/>
|
||||
<path d="M871.125,1039.025 C871.125,1039.025 873.794,1016.889 908.043,1011.524 C919.748,1009.691 945.861,1005.107 945.861,978.522" fill-opacity="0" stroke="#A0A0A0" stroke-width="17.059" id="path3207"/>
|
||||
<g id="rect3818-4-8-4">
|
||||
<path d="M869.474,950.497 L871.997,950.497 L871.997,1031.308 L869.474,1031.308 z" fill="#A0A0A0"/>
|
||||
<g>
|
||||
<path d="M869.474,950.497 L871.997,950.497 L871.997,1031.308 L869.474,1031.308 z" fill="#A0A0A0"/>
|
||||
<path d="M869.474,950.497 L871.997,950.497 L871.997,1031.308 L869.474,1031.308 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="15"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="path3795-4-8-7-8">
|
||||
<path d="M888.074,1051.656 C888.074,1060.906 880.5,1068.405 871.159,1068.405 C861.817,1068.405 854.243,1060.906 854.243,1051.656 C854.243,1042.406 861.817,1034.908 871.159,1034.908 C880.5,1034.908 888.074,1042.406 888.074,1051.656 z" fill="#FFFFFF"/>
|
||||
<path d="M888.074,1051.656 C888.074,1060.906 880.5,1068.405 871.159,1068.405 C861.817,1068.405 854.243,1060.906 854.243,1051.656 C854.243,1042.406 861.817,1034.908 871.159,1034.908 C880.5,1034.908 888.074,1042.406 888.074,1051.656 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8">
|
||||
<path d="M886.883,935.155 C886.883,944.404 879.31,951.903 869.968,951.903 C860.626,951.903 853.054,944.404 853.054,935.155 C853.054,925.904 860.626,918.405 869.968,918.405 C879.31,918.405 886.883,925.904 886.883,935.155 z" fill="#FFFFFF"/>
|
||||
<path d="M886.883,935.155 C886.883,944.404 879.31,951.903 869.968,951.903 C860.626,951.903 853.054,944.404 853.054,935.155 C853.054,925.904 860.626,918.405 869.968,918.405 C879.31,918.405 886.883,925.904 886.883,935.155 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8-2">
|
||||
<path d="M965.046,971.602 C965.046,980.852 957.472,988.351 948.13,988.351 C938.789,988.351 931.215,980.852 931.215,971.602 C931.215,962.352 938.789,954.854 948.13,954.854 C957.472,954.854 965.046,962.352 965.046,971.602 z" fill="#FFFFFF"/>
|
||||
<path d="M965.046,971.602 C965.046,980.852 957.472,988.351 948.13,988.351 C938.789,988.351 931.215,980.852 931.215,971.602 C931.215,962.352 938.789,954.854 948.13,954.854 C957.472,954.854 965.046,962.352 965.046,971.602 z" fill-opacity="0" stroke="#A0A0A0" stroke-width="7.989"/>
|
||||
</g>
|
||||
<path d="M1114.353,1042.412 C1114.353,1042.412 1117.022,1020.275 1151.271,1014.91 C1162.976,1013.077 1189.089,1008.493 1189.089,981.909" fill-opacity="0" stroke="#000000" stroke-width="17.059" id="path3207"/>
|
||||
<g id="rect3818-4-8-4">
|
||||
<path d="M1112.701,953.884 L1115.225,953.884 L1115.225,1034.695 L1112.701,1034.695 z" fill="#A0A0A0"/>
|
||||
<g>
|
||||
<path d="M1112.701,953.884 L1115.225,953.884 L1115.225,1034.695 L1112.701,1034.695 z" fill="#A0A0A0"/>
|
||||
<path d="M1112.701,953.884 L1115.225,953.884 L1115.225,1034.695 L1112.701,1034.695 z" fill-opacity="0" stroke="#000000" stroke-width="15"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="path3795-4-8-7-8">
|
||||
<path d="M1131.302,1055.043 C1131.302,1064.293 1123.728,1071.791 1114.386,1071.791 C1105.045,1071.791 1097.471,1064.293 1097.471,1055.043 C1097.471,1045.792 1105.045,1038.294 1114.386,1038.294 C1123.728,1038.294 1131.302,1045.792 1131.302,1055.043 z" fill="#FFFFFF"/>
|
||||
<path d="M1131.302,1055.043 C1131.302,1064.293 1123.728,1071.791 1114.386,1071.791 C1105.045,1071.791 1097.471,1064.293 1097.471,1055.043 C1097.471,1045.792 1105.045,1038.294 1114.386,1038.294 C1123.728,1038.294 1131.302,1045.792 1131.302,1055.043 z" fill-opacity="0" stroke="#000000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8">
|
||||
<path d="M1130.111,938.542 C1130.111,947.791 1122.537,955.29 1113.196,955.29 C1103.854,955.29 1096.282,947.791 1096.282,938.542 C1096.282,929.291 1103.854,921.792 1113.196,921.792 C1122.537,921.792 1130.111,929.291 1130.111,938.542 z" fill="#FFFFFF"/>
|
||||
<path d="M1130.111,938.542 C1130.111,947.791 1122.537,955.29 1113.196,955.29 C1103.854,955.29 1096.282,947.791 1096.282,938.542 C1096.282,929.291 1103.854,921.792 1113.196,921.792 C1122.537,921.792 1130.111,929.291 1130.111,938.542 z" fill-opacity="0" stroke="#000000" stroke-width="7.989"/>
|
||||
</g>
|
||||
<g id="path3795-8-4-8-2">
|
||||
<path d="M1208.274,974.989 C1208.274,984.239 1200.7,991.738 1191.358,991.738 C1182.016,991.738 1174.443,984.239 1174.443,974.989 C1174.443,965.739 1182.016,958.241 1191.358,958.241 C1200.7,958.241 1208.274,965.739 1208.274,974.989 z" fill="#FFFFFF"/>
|
||||
<path d="M1208.274,974.989 C1208.274,984.239 1200.7,991.738 1191.358,991.738 C1182.016,991.738 1174.443,984.239 1174.443,974.989 C1174.443,965.739 1182.016,958.241 1191.358,958.241 C1200.7,958.241 1208.274,965.739 1208.274,974.989 z" fill-opacity="0" stroke="#000000" stroke-width="7.989"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 82 KiB |
131
doc/licenses.md
Normal file
131
doc/licenses.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# gitbucket-licenses
|
||||
|
||||
Category | License | Dependency | Notes
|
||||
--- | --- | --- | ---
|
||||
Apache | [ Apache License, Version 2.0 ]( http://opensource.org/licenses/apache2.0.php ) | org.osgi # org.osgi.core # 4.3.1 | <notextile></notextile>
|
||||
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.googlecode.javaewah # JavaEWAH # 1.1.6 | <notextile></notextile>
|
||||
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) | org.cache2k # cache2k-all # 1.2.0.Final | <notextile></notextile>
|
||||
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) | org.cache2k # cache2k-api # 1.2.0.Final | <notextile></notextile>
|
||||
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) | org.cache2k # cache2k-core # 1.2.0.Final | <notextile></notextile>
|
||||
Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.objenesis # objenesis # 2.6 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # apache-sshd # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # sshd-cli # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # sshd-common # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # sshd-core # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # sshd-putty # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # sshd-scp # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) | org.apache.sshd # sshd-sftp # 2.1.0 | <notextile></notextile>
|
||||
Apache | [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | net.java.dev.jna # jna # 4.5.1 | <notextile></notextile>
|
||||
Apache | [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | net.java.dev.jna # jna-platform # 4.5.1 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.github.stephenc.jcip # jcip-annotations # 1.0-1 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.kohlschutter.junixsocket # junixsocket-common # 2.0.4 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.kohlschutter.junixsocket # junixsocket-native-common # 2.0.4 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | com.typesafe # config # 1.3.3 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | com.typesafe.akka # akka-actor_2.12 # 2.5.18 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | commons-io # commons-io # 2.6 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | is.tagomor.woothee # woothee-java # 1.8.0 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.commons # commons-compress # 1.18 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.commons # commons-email # 1.5 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.commons # commons-lang3 # 3.6 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.httpcomponents # httpclient # 4.5.6 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.httpcomponents # httpcore # 4.4.10 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.httpcomponents # httpmime # 4.5.3 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.apache.tika # tika-core # 1.19.1 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.ec4j.core # ec4j-core # 0.0.3 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.liquibase # liquibase-core # 3.6.2 | <notextile></notextile>
|
||||
Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.yaml # snakeyaml # 1.18 | <notextile></notextile>
|
||||
Apache | [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) | com.nimbusds # oauth2-oidc-sdk # 5.64.4 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-http # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-io # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-security # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-server # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-servlet # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-util # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-webapp # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License - Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.eclipse.jetty # jetty-xml # 9.4.6.v20170531 | <notextile></notextile>
|
||||
Apache | [Apache Software License, Version 1.1](http://www.apache.org/licenses/LICENSE-1.1) | org.bouncycastle # bcpg-jdk15on # 1.60 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | com.github.bkromhout # java-diff-utils # 2.1.1 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html) | com.typesafe.play # twirl-api_2.12 # 1.3.15 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.json4s # json4s-ast_2.12 # 3.5.2 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.json4s # json4s-core_2.12 # 3.5.2 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.json4s # json4s-jackson_2.12 # 3.5.2 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.json4s # json4s-scalap_2.12 # 3.5.2 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | org.scala-lang # scala-library # 2.12.8 | <notextile></notextile>
|
||||
Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | org.scala-lang # scala-reflect # 2.12.8 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.enragedginger # akka-quartz-scheduler_2.12 # 1.7.0-akka-2.5.x | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.fasterxml.jackson.core # jackson-annotations # 2.8.0 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.fasterxml.jackson.core # jackson-core # 2.8.4 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.fasterxml.jackson.core # jackson-databind # 2.8.4 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.github.takezoe # blocking-slick-32_2.12 # 0.0.11 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.code.findbugs # jsr305 # 3.0.0 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.nimbusds # lang-tag # 1.4.3 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.nimbusds # nimbus-jose-jwt # 5.5 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.zaxxer # HikariCP # 3.2.0 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | eu.medsea.mimeutil # mime-util # 2.1.3 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.github.gitbucket # markedj # 1.0.15 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.github.gitbucket # solidbase # 1.0.3 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | net.bytebuddy # byte-buddy # 1.9.3 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | net.bytebuddy # byte-buddy-agent # 1.9.3 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | net.minidev # accessors-smart # 1.2 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | net.minidev # json-smart # 2.3 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jetbrains # annotations # 15.0 | <notextile></notextile>
|
||||
Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.quartz-scheduler # quartz # 2.3.0 | <notextile></notextile>
|
||||
Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.scalactic # scalactic_2.12 # 3.0.3 | <notextile></notextile>
|
||||
Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | org.scalatest # scalatest_2.12 # 3.0.3 | <notextile></notextile>
|
||||
BSD | [BSD](http://github.com/scalatra/scalatra/raw/HEAD/LICENSE) | org.scalatra # scalatra-common_2.12 # 2.6.3 | <notextile></notextile>
|
||||
BSD | [BSD](http://github.com/scalatra/scalatra/raw/HEAD/LICENSE) | org.scalatra # scalatra-forms_2.12 # 2.6.3 | <notextile></notextile>
|
||||
BSD | [BSD](http://github.com/scalatra/scalatra/raw/HEAD/LICENSE) | org.scalatra # scalatra-json_2.12 # 2.6.3 | <notextile></notextile>
|
||||
BSD | [BSD](http://github.com/scalatra/scalatra/raw/HEAD/LICENSE) | org.scalatra # scalatra-scalatest_2.12 # 2.6.3 | <notextile></notextile>
|
||||
BSD | [BSD](http://github.com/scalatra/scalatra/raw/HEAD/LICENSE) | org.scalatra # scalatra-test_2.12 # 2.6.3 | <notextile></notextile>
|
||||
BSD | [BSD](http://github.com/scalatra/scalatra/raw/HEAD/LICENSE) | org.scalatra # scalatra_2.12 # 2.6.3 | <notextile></notextile>
|
||||
BSD | [BSD 3-clause](http://opensource.org/licenses/BSD-3-Clause) | org.scala-lang.modules # scala-java8-compat_2.12 # 0.8.0 | <notextile></notextile>
|
||||
BSD | [BSD 3-clause](http://opensource.org/licenses/BSD-3-Clause) | org.scala-lang.modules # scala-parser-combinators_2.12 # 1.0.6 | <notextile></notextile>
|
||||
BSD | [BSD 3-clause](http://opensource.org/licenses/BSD-3-Clause) | org.scala-lang.modules # scala-xml_2.12 # 1.0.6 | <notextile></notextile>
|
||||
BSD | [BSD-2-Clause](https://jdbc.postgresql.org/about/license.html) | org.postgresql # postgresql # 42.2.5 | <notextile></notextile>
|
||||
BSD | [Eclipse Distribution License (New BSD License)](null) | org.eclipse.jgit # org.eclipse.jgit # 5.2.0.201812061821-r | <notextile></notextile>
|
||||
BSD | [Eclipse Distribution License (New BSD License)](null) | org.eclipse.jgit # org.eclipse.jgit.archive # 5.2.0.201812061821-r | <notextile></notextile>
|
||||
BSD | [Eclipse Distribution License (New BSD License)](null) | org.eclipse.jgit # org.eclipse.jgit.http.server # 5.2.0.201812061821-r | <notextile></notextile>
|
||||
BSD | [New BSD License](http://www.opensource.org/licenses/bsd-license.php) | org.hamcrest # hamcrest-core # 1.3 | <notextile></notextile>
|
||||
BSD | [Revised BSD](http://www.jcraft.com/jsch/LICENSE.txt) | com.jcraft # jsch # 0.1.54 | <notextile></notextile>
|
||||
BSD | [Revised BSD](http://www.jcraft.com/jzlib/LICENSE.txt) | com.jcraft # jzlib # 1.1.1 | <notextile></notextile>
|
||||
BSD | [Two-clause BSD-style license](http://github.com/slick/slick/blob/master/LICENSE.txt) | com.typesafe.slick # slick_2.12 # 3.2.1 | <notextile></notextile>
|
||||
CC0 | [CC0](http://creativecommons.org/publicdomain/zero/1.0/) | org.reactivestreams # reactive-streams # 1.0.0 | <notextile></notextile>
|
||||
CC0 | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) | net.i2p.crypto # eddsa # 0.3.0 | <notextile></notextile>
|
||||
CC0 | [CC0 1.0 Universal License](http://creativecommons.org/publicdomain/zero/1.0/) | org.scijava # native-lib-loader # 2.0.2 | <notextile></notextile>
|
||||
CDDL | [Common Development and Distribution License (CDDL) v1.0](https://glassfish.dev.java.net/public/CDDLv1.0.html) | javax.activation # activation # 1.1 | <notextile></notextile>
|
||||
GPL | [CDDL/GPLv2+CE](https://javaee.github.io/javamail/LICENSE) | com.sun.mail # javax.mail # 1.6.1 | <notextile></notextile>
|
||||
GPL | [GPL2 w/ CPE](https://oss.oracle.com/licenses/CDDL+GPL-1.1) | javax.xml.bind # jaxb-api # 2.3.0 | <notextile></notextile>
|
||||
GPL with Classpath Extension | [CDDL + GPLv2 with classpath exception](https://github.com/javaee/javax.annotation/blob/master/LICENSE) | javax.annotation # javax.annotation-api # 1.3.1 | <notextile></notextile>
|
||||
GPL with Classpath Extension | [CDDL + GPLv2 with classpath exception](https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html) | javax.servlet # javax.servlet-api # 3.1.0 | <notextile></notextile>
|
||||
LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-classic # 1.2.3 | <notextile></notextile>
|
||||
LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-core # 1.2.3 | <notextile></notextile>
|
||||
LGPL | [GNU Lesser General Public License, Version 2.1](http://www.gnu.org/licenses/lgpl-2.1.html) | com.mchange # c3p0 # 0.9.5.2 | <notextile></notextile>
|
||||
LGPL | [GNU Lesser General Public License, Version 2.1](http://www.gnu.org/licenses/lgpl-2.1.html) | com.mchange # mchange-commons-java # 0.2.11 | <notextile></notextile>
|
||||
LGPL | [LGPL-2.1](null) | org.mariadb.jdbc # mariadb-java-client # 2.3.0 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.rnorth # tcp-unix-socket-proxy # 1.0.2 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.rnorth.duct-tape # duct-tape # 1.0.7 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.rnorth.visible-assertions # visible-assertions # 2.1.1 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.testcontainers # database-commons # 1.10.3 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.testcontainers # jdbc # 1.10.3 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.testcontainers # mysql # 1.10.3 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.testcontainers # postgresql # 1.10.3 | <notextile></notextile>
|
||||
MIT | [MIT](http://opensource.org/licenses/MIT) | org.testcontainers # testcontainers # 1.10.3 | <notextile></notextile>
|
||||
MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | org.slf4j # slf4j-api # 1.7.25 | <notextile></notextile>
|
||||
MIT | [The MIT License](http://www.opensource.org/licenses/mit-license.php) | com.github.zafarkhaja # java-semver # 0.9.0 | <notextile></notextile>
|
||||
MIT | [The MIT License](https://jsoup.org/license) | org.jsoup # jsoup # 1.10.2 | <notextile></notextile>
|
||||
MIT | [The MIT License](https://github.com/mockito/mockito/blob/master/LICENSE) | org.mockito # mockito-core # 2.23.4 | <notextile></notextile>
|
||||
MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | com.dimafeng # testcontainers-scala_2.12 # 0.22.0 | <notextile></notextile>
|
||||
MIT | [The MIT License (MIT)](http://www.opensource.org/licenses/mit-license.html) | net.coobird # thumbnailator # 0.4.8 | <notextile></notextile>
|
||||
Mozilla | [MPL 2.0 or EPL 1.0](http://h2database.com/html/license.html) | com.h2database # h2 # 1.4.197 | <notextile></notextile>
|
||||
Mozilla | [Mozilla Public License 1.1 (MPL 1.1)](http://www.mozilla.org/MPL/MPL-1.1.html) | com.googlecode.juniversalchardet # juniversalchardet # 1.0.3 | <notextile></notextile>
|
||||
unrecognized | [Bouncy Castle Licence](http://www.bouncycastle.org/licence.html) | org.bouncycastle # bcpkix-jdk15on # 1.60 | <notextile></notextile>
|
||||
unrecognized | [Bouncy Castle Licence](http://www.bouncycastle.org/licence.html) | org.bouncycastle # bcprov-jdk15on # 1.60 | <notextile></notextile>
|
||||
unrecognized | [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) | junit # junit # 4.12 | <notextile></notextile>
|
||||
unrecognized | [The OpenLDAP Public License](http://www.openldap.org/software/release/license.html) | com.novell.ldap # jldap # 2009-10-07 | <notextile></notextile>
|
||||
unrecognized | [none specified](none specified) | com.thoughtworks.paranamer # paranamer # 2.8 | <notextile></notextile>
|
||||
unrecognized | [none specified](none specified) | commons-codec # commons-codec # 1.10 | <notextile></notextile>
|
||||
unrecognized | [none specified](none specified) | commons-logging # commons-logging # 1.2 | <notextile></notextile>
|
||||
unrecognized | [none specified](none specified) | fr.brouillard.oss.security.xhub # xhub4j-core # 1.0.0 | <notextile></notextile>
|
||||
unrecognized | [none specified](none specified) | org.ow2.asm # asm # 5.0.4 | <notextile></notextile>
|
||||
unrecognized | [none specified](none specified) | tomcat # tomcat-apr # 5.5.23 | <notextile></notextile>
|
||||
|
||||
12
doc/readme.md
Normal file
12
doc/readme.md
Normal file
@@ -0,0 +1,12 @@
|
||||
Developer's Guide
|
||||
========
|
||||
* [Build from source tree](build.md)
|
||||
* [Debug on IntelliJ](debug.md)
|
||||
* [Directory Structure](directory.md)
|
||||
* [Mapping and Validation](validation.md)
|
||||
* [Authentication in Controller](authenticator.md)
|
||||
* [About Action in Issue Comment](comment_action.md)
|
||||
* [Activity Types](activity.md)
|
||||
* [Automatic Schema Updating](auto_update.md)
|
||||
* [Release Operation](release.md)
|
||||
* [Licenses](licenses.md)
|
||||
59
doc/release.md
Normal file
59
doc/release.md
Normal file
@@ -0,0 +1,59 @@
|
||||
Release Operation
|
||||
========
|
||||
|
||||
Update version number
|
||||
--------
|
||||
|
||||
Note to update version number in files below:
|
||||
|
||||
### build.sbt
|
||||
|
||||
```scala
|
||||
val Organization = "gitbucket"
|
||||
val Name = "gitbucket"
|
||||
val GitBucketVersion = "4.0.0" // <---- update version!!
|
||||
val ScalatraVersion = "2.4.0"
|
||||
val JettyVersion = "9.3.6.v20151106"
|
||||
```
|
||||
|
||||
### src/main/scala/gitbucket/core/GitBucketCoreModule.scala
|
||||
|
||||
```scala
|
||||
object GitBucketCoreModule extends Module("gitbucket-core",
|
||||
new Version("4.0.0",
|
||||
new LiquibaseMigration("update/gitbucket-core_4.0.xml"),
|
||||
new SqlMigration("update/gitbucket-core_4.0.sql")
|
||||
),
|
||||
// add new version definition
|
||||
new Version("4.1.0",
|
||||
new LiquibaseMigration("update/gitbucket-core_4.1.xml")
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
Generate release files
|
||||
--------
|
||||
|
||||
### Deploy assembly jar file
|
||||
|
||||
For plug-in development, we have to publish the GitBucket jar file to the Maven central repository before release GitBucket itself.
|
||||
|
||||
First, hit following command to publish artifacts to the sonatype OSS repository:
|
||||
|
||||
```bash
|
||||
$ sbt publishSigned
|
||||
```
|
||||
|
||||
Then logged-in to https://oss.sonatype.org/, close and release the repository.
|
||||
|
||||
You need to wait up to a day until [gitbucket-notification-plugin](https://plugins.gitbucket-community.org/) which is default bundled plugin is built for new version of GitBucket.
|
||||
|
||||
### Make release war file
|
||||
|
||||
Run `sbt executable`. The release war file and fingerprint are generated into `target/executable/gitbucket.war`.
|
||||
|
||||
```bash
|
||||
$ sbt executable
|
||||
```
|
||||
|
||||
Create new release from the corresponded tag on GitHub, then upload generated jar file and fingerprints to the release.
|
||||
BIN
doc/remote_debug.png
Normal file
BIN
doc/remote_debug.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
71
doc/validation.md
Normal file
71
doc/validation.md
Normal file
@@ -0,0 +1,71 @@
|
||||
Mapping and Validation
|
||||
========
|
||||
GitBucket uses [scalatra-forms](http://scalatra.org/guides/2.6/formats/forms.html) to validate request parameters and map them to the scala object. This is inspired by Play2 form mapping / validation.
|
||||
|
||||
At first, define the mapping as following:
|
||||
|
||||
```scala
|
||||
import org.scalatra.forms._
|
||||
|
||||
case class RegisterForm(name: String, description: String)
|
||||
|
||||
val form = mapping(
|
||||
"name" -> text(required, maxlength(40)),
|
||||
"description" -> text()
|
||||
)(RegisterForm.apply)
|
||||
```
|
||||
|
||||
The servlet have to mixed in `gitbucket.core.controller.ValidationFormSupport` to validate request parameters and take mapped object. It validates request parameters before action. If any errors are detected, it throws an exception.
|
||||
|
||||
```scala
|
||||
class RegisterServlet extends ScalatraServlet with ValidationFormSupport {
|
||||
post("/register", form) { form: RegisterForm =>
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
In the view template, you can add client-side validation by adding `validate="true"` to your form. Error messages are set to `span#error-<fieldname>`.
|
||||
|
||||
```html
|
||||
<form method="POST" action="/register" validate="true">
|
||||
Name: <input type="name" type="text">
|
||||
<span class="error" id="error-name"></span>
|
||||
<br/>
|
||||
Description: <input type="description" type="text">
|
||||
<span class="error" id="error-description"></span>
|
||||
<br/>
|
||||
<input type="submit" value="Register"/>
|
||||
</form>
|
||||
```
|
||||
|
||||
Client-side validation calls `<form-action>/validate` to validate form contents. It returns a validation result as JSON. In this case, form action is `/register`, so `/register/validate` is called before submitting a form. `ValidationFormSupport` adds this JSON API automatically.
|
||||
|
||||
For Ajax request, you have to use `ajaxGet` or `ajaxPost` to define action. It almost same as '''get''' or '''post'''. You can implement actions which handle Ajax request as same as normal actions.
|
||||
Small difference is they return validation errors as JSON.
|
||||
|
||||
```scala
|
||||
ajaxPost("/register", form){ form =>
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
You can call these actions using jQuery as below:
|
||||
|
||||
```javascript
|
||||
$('#register').click(function(e){
|
||||
$.ajax($(this).attr('action'), {
|
||||
type: 'POST',
|
||||
data: {
|
||||
name: $('#name').val(),
|
||||
mail: $('#mail').val()
|
||||
}
|
||||
})
|
||||
.done(function(data){
|
||||
$('#result').text('Registered!');
|
||||
})
|
||||
.fail(function(data, status){
|
||||
displayErrors($.parseJSON(data.responseText));
|
||||
});
|
||||
});
|
||||
```
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
751
etc/icons.svg
751
etc/icons.svg
@@ -1,751 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="icons.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4"
|
||||
inkscape:cx="629.30023"
|
||||
inkscape:cy="281.44758"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1-9"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="705"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-grids="false"
|
||||
inkscape:snap-page="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="false"
|
||||
inkscape:bbox-nodes="false"
|
||||
inkscape:snap-to-guides="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3080" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="layer1-9"
|
||||
inkscape:label="Layer 1"
|
||||
transform="matrix(0.66004549,0,0,0.66004549,12.445368,29.409765)">
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:1.51504707px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 865.73247,686.51304 c 0,0 19.28074,14.1795 55.09542,13.7739 35.81468,-0.4056 45.91286,-13.7739 45.91286,-13.7739 l 31.84606,-118.8515 -163.46293,0 z"
|
||||
id="path4000"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="czcccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#b3b3b3;stroke-width:25.84518814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 306.9072,1201.5096 c 0,0 3.44333,-28.5633 47.63498,-35.4849 15.10377,-2.3655 48.7968,-8.2798 48.7968,-42.5816"
|
||||
id="path3207"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="-6.1348784"
|
||||
sodipodi:nodetypes="csc"
|
||||
inkscape:transform-center-y="1.9434039e-005" />
|
||||
<path
|
||||
style="fill:none;stroke:#b3b3b3;stroke-width:26.60422707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 76.384718,1086.1545 c 0,82.8617 105.181182,77.9295 105.181182,77.9295"
|
||||
id="path4318"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:1.18291342;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect3935"
|
||||
width="266.2222"
|
||||
height="35.127476"
|
||||
x="-4.6761055"
|
||||
y="865.6405" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:11.34059906;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 664.11762,675.10023 -74.94096,87.54344 20.17642,-92.15099 z"
|
||||
id="path3894-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:28.84111404;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect3088-5-5"
|
||||
width="169.03172"
|
||||
height="105.81662"
|
||||
x="547.64557"
|
||||
y="573.36456" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3850"
|
||||
d="m 445.03908,191.42833 0,-128.577242 c 0,0 1.85983,-15.30681 -16.73849,-15.30681 -18.59831,0 -51.14538,0 -51.14538,0"
|
||||
style="fill:none;stroke:#008000;stroke-width:22.7257061;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
id="path2991"
|
||||
transform="translate(-137.57539,-163.64471)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#008000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.83611704,0,0,0.83611704,-94.824045,-115.22257)" />
|
||||
<rect
|
||||
id="rect2995"
|
||||
y="54.447956"
|
||||
x="104.3765"
|
||||
height="99.221695"
|
||||
width="29.189819"
|
||||
style="fill:#008000;stroke:#ffffff;stroke-width:1.11112404" />
|
||||
<rect
|
||||
id="rect2997"
|
||||
y="173.24185"
|
||||
x="104.63474"
|
||||
height="26.258072"
|
||||
width="29.724136"
|
||||
style="fill:#008000;stroke:#ffffff;stroke-width:0.57680577" />
|
||||
<rect
|
||||
y="68.361099"
|
||||
x="330.18893"
|
||||
height="104.27071"
|
||||
width="3.2554624"
|
||||
id="rect3818"
|
||||
style="fill:#ffffff;stroke:#008000;stroke-width:22.7257061;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-20.394061,56.890898)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4"
|
||||
style="fill:#ffffff;stroke:#008000;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-21.929587,-93.432709)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795"
|
||||
style="fill:#ffffff;stroke:#008000;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,92.394578,56.992418)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-0"
|
||||
style="fill:#ffffff;stroke:#008000;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3852"
|
||||
d="m 404.75446,10.803052 0,70.691447 L 359.1655,49.35988 z"
|
||||
style="fill:#008000;stroke:#008000;stroke-width:0.83335358px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3850-4"
|
||||
d="m 448.69288,446.18012 0,-128.57725 c 0,0 1.85984,-15.30681 -16.73848,-15.30681 -18.59831,0 -51.14539,0 -51.14539,0"
|
||||
style="fill:none;stroke:#800000;stroke-width:22.7257061;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
id="path2991-8"
|
||||
transform="translate(-133.92158,91.107081)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#800000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993-8"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.83611704,0,0,0.83611704,-91.170233,139.52922)" />
|
||||
<rect
|
||||
id="rect2995-2"
|
||||
y="309.19974"
|
||||
x="108.03028"
|
||||
height="99.221687"
|
||||
width="29.189819"
|
||||
style="fill:#800000;stroke:#ffffff;stroke-width:1.11112404" />
|
||||
<rect
|
||||
id="rect2997-4"
|
||||
y="427.99362"
|
||||
x="108.28852"
|
||||
height="26.258072"
|
||||
width="29.724136"
|
||||
style="fill:#800000;stroke:#ffffff;stroke-width:0.57680577" />
|
||||
<rect
|
||||
y="323.11288"
|
||||
x="333.84274"
|
||||
height="104.27072"
|
||||
width="3.2554622"
|
||||
id="rect3818-5"
|
||||
style="fill:#ffffff;stroke:#800000;stroke-width:22.7257061;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-16.740254,311.64269)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-5"
|
||||
style="fill:#ffffff;stroke:#800000;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-18.275774,161.31908)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-1"
|
||||
style="fill:#ffffff;stroke:#800000;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,96.048392,311.7442)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-0-7"
|
||||
style="fill:#ffffff;stroke:#800000;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3852-1"
|
||||
d="m 408.40826,265.55484 0,70.69144 -45.58895,-32.13461 z"
|
||||
style="fill:#800000;stroke:#800000;stroke-width:0.83335358px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2985"
|
||||
width="308.26331"
|
||||
height="308.26331"
|
||||
x="647.59973"
|
||||
y="19.593252" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff"
|
||||
id="path2989"
|
||||
sodipodi:cx="246.42857"
|
||||
sodipodi:cy="327.36218"
|
||||
sodipodi:rx="35"
|
||||
sodipodi:ry="35"
|
||||
d="m 281.42857,327.36218 c 0,19.32997 -15.67003,35 -35,35 -19.32996,0 -35,-15.67003 -35,-35 0,-19.32996 15.67004,-35 35,-35 19.32997,0 35,15.67004 35,35 z"
|
||||
transform="matrix(2.9255147,0,0,2.9255147,83.281176,-813.70029)" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.59620917px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 715.46559,327.54005 179.96463,0 -89.85466,-201.67002 z"
|
||||
id="path2993-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3850-1"
|
||||
d="m 447.16245,696.53224 0,-128.57724 c 0,0 1.85984,-15.30681 -16.73848,-15.30681 -18.59831,0 -51.14539,0 -51.14539,0"
|
||||
style="fill:none;stroke:#b3b3b3;stroke-width:22.7257061;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
id="path2991-7"
|
||||
transform="translate(-135.45201,341.45921)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993-4"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.83611704,0,0,0.83611704,-92.700665,389.88135)" />
|
||||
<rect
|
||||
id="rect2995-0"
|
||||
y="559.55188"
|
||||
x="106.49989"
|
||||
height="99.221687"
|
||||
width="29.189819"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:1.11112404" />
|
||||
<rect
|
||||
id="rect2997-9"
|
||||
y="678.34576"
|
||||
x="106.75813"
|
||||
height="26.258072"
|
||||
width="29.724136"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:0.57680577" />
|
||||
<rect
|
||||
y="573.46503"
|
||||
x="332.31235"
|
||||
height="104.27072"
|
||||
width="3.2554622"
|
||||
id="rect3818-4"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:22.7257061;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-18.270676,561.99481)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-8"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-19.806206,411.67121)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-8"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,94.517962,562.09633)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-0-2"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3852-4"
|
||||
d="m 406.87783,515.90696 0,70.69145 -45.58895,-32.13462 z"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:0.83335358px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:32.11899948;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect3088"
|
||||
width="188.24272"
|
||||
height="117.84301"
|
||||
x="578.56567"
|
||||
y="534.50873" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:11.66586208;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 667.1767,647.76042 746.75901,734.99486 725.333,643.16913 z"
|
||||
id="path3894"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:28.84111404;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect3088-5"
|
||||
width="169.03172"
|
||||
height="105.81661"
|
||||
x="595.6264"
|
||||
y="533.38885" />
|
||||
<path
|
||||
id="path2991-7-7"
|
||||
transform="matrix(0.81013086,0,0,0.81013086,-79.003905,648.21364)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993-4-1"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.56153831,0,0,0.56153831,-15.312437,720.57846)" />
|
||||
<path
|
||||
id="path2991-7-1"
|
||||
transform="translate(167.79377,599.09604)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993-4-5"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.83611704,0,0,0.83611704,210.54515,647.51817)" />
|
||||
<rect
|
||||
id="rect2995-0-2"
|
||||
y="817.18872"
|
||||
x="409.74567"
|
||||
height="99.221687"
|
||||
width="29.189819"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:1.11112404" />
|
||||
<rect
|
||||
id="rect2997-9-7"
|
||||
y="935.98169"
|
||||
x="410.00391"
|
||||
height="26.258072"
|
||||
width="29.724136"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:0.57680577" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:2.92446065;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 383.15829,850.33665 -64.6851,-36.2114 10.70013,55.95688 53.98497,-19.74548 z"
|
||||
id="rect4046-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:1.98877633;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 372.50197,843.46474 -43.65605,-24.43447 6.99871,38.15621 36.65734,-13.72174 z"
|
||||
id="rect4046"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:2.92446065;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 462.88559,934.94792 64.6851,36.21128 -10.70013,-55.95672 -53.98497,19.74544 z"
|
||||
id="rect4046-3-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:1.98877633;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 471.91864,943.98419 43.65605,24.43442 -6.99871,-38.15607 -36.65734,13.72165 z"
|
||||
id="rect4046-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2991-7-79"
|
||||
transform="translate(439.9024,596.03518)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993-4-54"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.83611704,0,0,0.83611704,482.65378,644.45731)" />
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:7.27556181;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect4271"
|
||||
width="55.131588"
|
||||
height="89.475853"
|
||||
x="1123.0723"
|
||||
y="8.2489862"
|
||||
transform="matrix(0.69198127,0.72191545,-0.69198127,0.72191545,0,0)" />
|
||||
<rect
|
||||
id="rect2995-0-3-3"
|
||||
y="1106.4344"
|
||||
x="-89.869194"
|
||||
height="57.711208"
|
||||
width="24.529409"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:0.77681416"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
|
||||
<rect
|
||||
id="rect2995-0-3-2"
|
||||
y="7.221128"
|
||||
x="1139.5251"
|
||||
height="82.866272"
|
||||
width="24.378254"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:0.92796957"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,0,0)" />
|
||||
<rect
|
||||
id="rect2995-0-3"
|
||||
y="814.12781"
|
||||
x="681.85431"
|
||||
height="99.221687"
|
||||
width="29.189819"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:1.11112404" />
|
||||
<rect
|
||||
id="rect2997-9-1"
|
||||
y="932.58148"
|
||||
x="682.54327"
|
||||
height="26.258072"
|
||||
width="29.724136"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:0.57680577" />
|
||||
<rect
|
||||
y="1088.6628"
|
||||
x="76.264809"
|
||||
height="104.27072"
|
||||
width="3.2554622"
|
||||
id="rect3818-4-8"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:22.7257061;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-274.3181,1077.1951)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-8-7"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-275.85363,926.87175)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-8-4"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-161.78913,1021.9512)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-8-7-7"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<rect
|
||||
y="1087.278"
|
||||
x="304.77451"
|
||||
height="104.27072"
|
||||
width="3.2554622"
|
||||
id="rect3818-4-8-4"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:22.7257061;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-45.808546,1075.8101)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-4-8-7-8"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,-47.344075,925.48675)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-8-4-8"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(1.0049237,0,0,0.61497516,53.509086,972.5163)"
|
||||
d="m 372.74629,230.89374 c 0,19.40779 -9.7236,35.14091 -21.71827,35.14091 -11.99468,0 -21.71828,-15.73312 -21.71828,-35.14091 0,-19.40779 9.7236,-35.14092 21.71828,-35.14092 11.99467,0 21.71827,15.73313 21.71827,35.14092 z"
|
||||
sodipodi:ry="35.140915"
|
||||
sodipodi:rx="21.718279"
|
||||
sodipodi:cy="230.89374"
|
||||
sodipodi:cx="351.02802"
|
||||
id="path3795-8-4-8-2"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:12.04511166;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:6.68107271;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="path3992-4"
|
||||
sodipodi:cx="490.42908"
|
||||
sodipodi:cy="950.84186"
|
||||
sodipodi:rx="18.487062"
|
||||
sodipodi:ry="26.506598"
|
||||
d="m 508.91614,950.84186 c 0,14.63919 -8.27694,26.5066 -18.48706,26.5066 -10.21013,0 -18.48707,-11.86741 -18.48707,-26.5066 0,-14.63919 8.27694,-26.5066 18.48707,-26.5066 10.21012,0 18.48706,11.86741 18.48706,26.5066 z"
|
||||
transform="matrix(4.8923198,0,0,1.0737805,-1482.0573,-466.94845)" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:12.98546886;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 967.57233,525.26244 0,30.6797 -28.50183,0 0,41.2377 28.50183,0 0,27.1288 41.19027,0 0,-27.1288 29.354,0 0,-41.2377 -29.354,0 0,-30.6797 -41.19027,0 z"
|
||||
id="rect2995-0-2-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2991-7-2"
|
||||
transform="translate(717.27126,597.74227)"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path2993-4-7"
|
||||
d="m 359.99999,290.93362 c 0,57.59541 -46.6903,104.28572 -104.28571,104.28572 -57.59541,0 -104.28571,-46.69031 -104.28571,-104.28572 0,-57.5954 46.6903,-104.28571 104.28571,-104.28571 57.59541,0 104.28571,46.69031 104.28571,104.28571 z"
|
||||
sodipodi:ry="104.28571"
|
||||
sodipodi:rx="104.28571"
|
||||
sodipodi:cy="290.93362"
|
||||
sodipodi:cx="255.71428"
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(0.7638244,0,0,0.7638244,777.85958,666.54744)" />
|
||||
<rect
|
||||
id="rect2995-0-6"
|
||||
y="-220.76018"
|
||||
x="1298.3352"
|
||||
height="189.71017"
|
||||
width="28.775486"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:1.52545774"
|
||||
transform="matrix(0.67068946,0.74173826,-0.74173826,0.67068946,0,0)" />
|
||||
<g
|
||||
id="g4284"
|
||||
transform="translate(-77.916708,-8.657412)">
|
||||
<path
|
||||
sodipodi:nodetypes="czcczcc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="rect4201"
|
||||
d="m 568.37427,1080.8464 c 0,0 55.60005,-9.5933 75.06243,-8.6574 19.46238,0.9359 40.43273,8.6574 40.43273,8.6574 l 0,141.4674 c 0,0 -20.97035,-7.7215 -40.43273,-8.6574 -19.46238,-0.9359 -75.06243,8.6574 -75.06243,8.6574 z"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:14.36538029;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4" />
|
||||
<rect
|
||||
y="1108.1473"
|
||||
x="597.4068"
|
||||
height="5.4857273"
|
||||
width="55.265846"
|
||||
id="rect4203"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:11.82844734;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<rect
|
||||
y="1142.7776"
|
||||
x="598.48895"
|
||||
height="5.4857273"
|
||||
width="55.26585"
|
||||
id="rect4203-2"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:11.82844734;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<rect
|
||||
y="1176.1093"
|
||||
x="598.48895"
|
||||
height="5.4857273"
|
||||
width="55.26585"
|
||||
id="rect4203-2-3"
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:11.82844734;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="czc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4245"
|
||||
d="m 563.55369,1233.6274 c 0,0 59.11965,-16.1473 81.00954,-14.7566 21.8899,1.3907 46.29117,14.7566 46.29117,14.7566"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:19.6372261;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<g
|
||||
transform="matrix(-1.0032405,0,0,1,1329.8708,99.560238)"
|
||||
id="g4277">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:14.36538124;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4"
|
||||
d="m 519.67634,980.83663 c 0,0 55.60005,-9.5933 75.06243,-8.6574 19.46238,0.9359 40.43272,8.6574 40.43272,8.6574 l 0,141.46737 c 0,0 -20.97034,-7.7215 -40.43272,-8.6574 -19.46238,-0.9359 -75.06243,8.6574 -75.06243,8.6574 z"
|
||||
id="rect4201-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="czcczcc" />
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:11.82844734;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect4203-21"
|
||||
width="55.26585"
|
||||
height="5.4857273"
|
||||
x="548.70886"
|
||||
y="1008.1376" />
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:11.82844734;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect4203-2-6"
|
||||
width="55.26585"
|
||||
height="5.4857273"
|
||||
x="549.79102"
|
||||
y="1042.7678" />
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#b3b3b3;stroke-width:11.82844734;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect4203-2-3-8"
|
||||
width="55.26585"
|
||||
height="5.4857273"
|
||||
x="549.79102"
|
||||
y="1076.0995" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:19.6372261;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 514.85576,1133.6176 c 0,0 59.11965,-16.1473 81.00954,-14.7566 21.8899,1.3907 46.29116,14.7566 46.29116,14.7566"
|
||||
id="path4245-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="czc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g3107"
|
||||
transform="matrix(0.53086704,-0.53086704,0.53086704,0.53086704,-205.0028,934.47839)">
|
||||
<rect
|
||||
y="1165.7029"
|
||||
x="793.91357"
|
||||
height="177.36816"
|
||||
width="131.91675"
|
||||
id="rect3075"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:19.58793259;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<rect
|
||||
transform="matrix(0.69911762,0.71500668,-0.71500668,0.69911762,0,0)"
|
||||
y="145.59781"
|
||||
x="1379.6274"
|
||||
height="95.711494"
|
||||
width="95.711456"
|
||||
id="rect3075-1"
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:12.25645447;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="matrix(1.5150471,0,0,1.5150471,-201.2129,-64.133761)"
|
||||
d="m 710,812.36218 c 0,5.52285 -4.47715,10 -10,10 -5.52285,0 -10,-4.47715 -10,-10 0,-5.52284 4.47715,-10 10,-10 5.52285,0 10,4.47716 10,10 z"
|
||||
sodipodi:ry="10"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="812.36218"
|
||||
sodipodi:cx="700"
|
||||
id="path3100"
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:12.69999981;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#ffffff;stroke-width:12.98546886;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 937.41093,1044.4944 0,30.6797 -28.50183,0 0,41.2377 28.50183,0 0,27.1288 41.19033,0 0,-27.1288 29.35404,0 0,-41.2377 -29.35404,0 0,-30.6797 -41.19033,0 z"
|
||||
id="rect2995-0-2-7-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 38 KiB |
36
project/Checksums.scala
Normal file
36
project/Checksums.scala
Normal file
@@ -0,0 +1,36 @@
|
||||
import java.security.MessageDigest
|
||||
import scala.annotation._
|
||||
import sbt._
|
||||
import io._
|
||||
|
||||
object Checksums {
|
||||
private val bufferSize = 2048
|
||||
|
||||
def generate(source: File, target: File, algorithm: String): Unit =
|
||||
sbt.IO write (target, compute(source, algorithm))
|
||||
|
||||
def compute(file: File, algorithm: String): String =
|
||||
hex(raw(file, algorithm))
|
||||
|
||||
def raw(file: File, algorithm: String): Array[Byte] =
|
||||
(Using fileInputStream file) { is =>
|
||||
val md = MessageDigest getInstance algorithm
|
||||
val buf = new Array[Byte](bufferSize)
|
||||
md.reset()
|
||||
@tailrec
|
||||
def loop(): Unit = {
|
||||
val len = is read buf
|
||||
if (len != -1) {
|
||||
md update (buf, 0, len)
|
||||
loop()
|
||||
}
|
||||
}
|
||||
loop()
|
||||
md.digest()
|
||||
}
|
||||
|
||||
def hex(bytes: Array[Byte]): String =
|
||||
bytes map { it =>
|
||||
"%02x" format (it.toInt & 0xff)
|
||||
} mkString ""
|
||||
}
|
||||
15
project/PluginsJson.scala
Normal file
15
project/PluginsJson.scala
Normal file
@@ -0,0 +1,15 @@
|
||||
import com.eclipsesource.json.Json
|
||||
import scala.collection.JavaConverters._
|
||||
|
||||
object PluginsJson {
|
||||
|
||||
def getUrls(json: String): Seq[String] = {
|
||||
val value = Json.parse(json)
|
||||
value.asArray.values.asScala.map { plugin =>
|
||||
val pluginObject = plugin.asObject
|
||||
val latestVersionObject = pluginObject.get("versions").asArray.asScala.head.asObject
|
||||
latestVersionObject.get("url").asString
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
sbt.version=0.12.3
|
||||
sbt.version=1.7.2
|
||||
|
||||
1
project/build.sbt
Normal file
1
project/build.sbt
Normal file
@@ -0,0 +1 @@
|
||||
libraryDependencies += "com.eclipsesource.minimal-json" % "minimal-json" % "0.9.5"
|
||||
@@ -1,55 +0,0 @@
|
||||
import sbt._
|
||||
import Keys._
|
||||
import org.scalatra.sbt._
|
||||
import org.scalatra.sbt.PluginKeys._
|
||||
import sbt.ScalaVersion
|
||||
import twirl.sbt.TwirlPlugin._
|
||||
import com.typesafe.sbteclipse.plugin.EclipsePlugin.EclipseKeys
|
||||
|
||||
object MyBuild extends Build {
|
||||
val Organization = "jp.sf.amateras"
|
||||
val Name = "gitbucket"
|
||||
val Version = "0.0.1"
|
||||
val ScalaVersion = "2.10.3"
|
||||
val ScalatraVersion = "2.2.1"
|
||||
|
||||
lazy val project = Project (
|
||||
"gitbucket",
|
||||
file("."),
|
||||
settings = Defaults.defaultSettings ++ ScalatraPlugin.scalatraWithJRebel ++ Seq(
|
||||
organization := Organization,
|
||||
name := Name,
|
||||
version := Version,
|
||||
scalaVersion := ScalaVersion,
|
||||
resolvers ++= Seq(
|
||||
Classpaths.typesafeReleases,
|
||||
"amateras-repo" at "http://amateras.sourceforge.jp/mvn/"
|
||||
),
|
||||
scalacOptions := Seq("-deprecation"),
|
||||
libraryDependencies ++= Seq(
|
||||
"org.eclipse.jgit" % "org.eclipse.jgit.http.server" % "3.0.0.201306101825-r",
|
||||
"org.scalatra" %% "scalatra" % ScalatraVersion,
|
||||
"org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test",
|
||||
"org.scalatra" %% "scalatra-json" % ScalatraVersion,
|
||||
"org.json4s" %% "json4s-jackson" % "3.2.5",
|
||||
"jp.sf.amateras" %% "scalatra-forms" % "0.0.2",
|
||||
"commons-io" % "commons-io" % "2.4",
|
||||
"org.pegdown" % "pegdown" % "1.4.1",
|
||||
"org.apache.commons" % "commons-compress" % "1.5",
|
||||
"org.apache.commons" % "commons-email" % "1.3.1",
|
||||
"org.apache.httpcomponents" % "httpclient" % "4.3",
|
||||
"com.typesafe.slick" %% "slick" % "1.0.1",
|
||||
"com.novell.ldap" % "jldap" % "2009-10-07",
|
||||
"com.h2database" % "h2" % "1.3.173",
|
||||
"ch.qos.logback" % "logback-classic" % "1.0.13" % "runtime",
|
||||
"org.eclipse.jetty" % "jetty-webapp" % "8.1.8.v20121106" % "container;provided",
|
||||
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container;provided;test" artifacts (Artifact("javax.servlet", "jar", "jar")),
|
||||
"junit" % "junit" % "4.11" % "test"
|
||||
),
|
||||
EclipseKeys.withSource := true,
|
||||
javacOptions in compile ++= Seq("-target", "6", "-source", "6"),
|
||||
testOptions in Test += Tests.Argument(TestFrameworks.Specs2, "junitxml", "console"),
|
||||
packageOptions += Package.MainClass("JettyLauncher")
|
||||
) ++ seq(Twirl.settings: _*)
|
||||
)
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.2.0")
|
||||
scalacOptions ++= Seq("-unchecked", "-deprecation", "-feature")
|
||||
|
||||
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.1")
|
||||
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-twirl" % "1.5.1")
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.0.0")
|
||||
addSbtPlugin("org.scalatra.sbt" % "sbt-scalatra" % "1.0.4")
|
||||
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-license-report" % "1.2.0")
|
||||
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.0")
|
||||
|
||||
addSbtPlugin("org.scalatra.sbt" % "scalatra-sbt" % "0.3.0")
|
||||
|
||||
addSbtPlugin("io.spray" % "sbt-twirl" % "0.6.1")
|
||||
|
||||
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.2")
|
||||
addDependencyTreePlugin
|
||||
|
||||
Binary file not shown.
2
sbt.bat
2
sbt.bat
@@ -1,2 +0,0 @@
|
||||
set SCRIPT_DIR=%~dp0
|
||||
java -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M -jar "%SCRIPT_DIR%\sbt-launch-0.12.3.jar" %*
|
||||
1
sbt.sh
1
sbt.sh
@@ -1 +0,0 @@
|
||||
java -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M -jar `dirname $0`/sbt-launch-0.12.3.jar "$@"
|
||||
@@ -1,75 +1,297 @@
|
||||
import org.eclipse.jetty.io.EndPoint;
|
||||
import org.eclipse.jetty.server.Request;
|
||||
import org.eclipse.jetty.http.HttpVersion;
|
||||
import org.eclipse.jetty.server.Handler;
|
||||
import org.eclipse.jetty.server.HttpConfiguration;
|
||||
import org.eclipse.jetty.server.HttpConnectionFactory;
|
||||
import org.eclipse.jetty.server.SecureRequestCustomizer;
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.server.nio.SelectChannelConnector;
|
||||
import org.eclipse.jetty.server.ServerConnector;
|
||||
import org.eclipse.jetty.server.SslConnectionFactory;
|
||||
import org.eclipse.jetty.server.handler.HandlerList;
|
||||
import org.eclipse.jetty.server.handler.SecuredRedirectHandler;
|
||||
import org.eclipse.jetty.server.handler.StatisticsHandler;
|
||||
import org.eclipse.jetty.server.session.DefaultSessionCache;
|
||||
import org.eclipse.jetty.server.session.FileSessionDataStore;
|
||||
import org.eclipse.jetty.server.session.SessionCache;
|
||||
import org.eclipse.jetty.server.session.SessionHandler;
|
||||
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||
import org.eclipse.jetty.webapp.WebAppContext;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.File;
|
||||
import java.net.InetAddress;
|
||||
import java.net.URL;
|
||||
import java.security.ProtectionDomain;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static java.util.function.Function.identity;
|
||||
import static java.util.stream.Collectors.toSet;
|
||||
|
||||
public class JettyLauncher {
|
||||
|
||||
private interface Defaults {
|
||||
|
||||
String CONNECTORS = "http";
|
||||
String HOST = "0.0.0.0";
|
||||
|
||||
int HTTP_PORT = 8080;
|
||||
int HTTPS_PORT = 8443;
|
||||
|
||||
boolean REDIRECT_HTTPS = false;
|
||||
}
|
||||
|
||||
private interface Connectors {
|
||||
|
||||
String HTTP = "http";
|
||||
String HTTPS = "https";
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String host = null;
|
||||
int port = 8080;
|
||||
String contextPath = "/";
|
||||
boolean forceHttps = false;
|
||||
System.setProperty("java.awt.headless", "true");
|
||||
|
||||
String connectors = getEnvironmentVariable("gitbucket.connectors");
|
||||
String host = getEnvironmentVariable("gitbucket.host");
|
||||
String port = getEnvironmentVariable("gitbucket.port");
|
||||
String securePort = getEnvironmentVariable("gitbucket.securePort");
|
||||
String keyStorePath = getEnvironmentVariable("gitbucket.keyStorePath");
|
||||
String keyStorePassword = getEnvironmentVariable("gitbucket.keyStorePassword");
|
||||
String keyManagerPassword = getEnvironmentVariable("gitbucket.keyManagerPassword");
|
||||
String redirectHttps = getEnvironmentVariable("gitbucket.redirectHttps");
|
||||
String contextPath = getEnvironmentVariable("gitbucket.prefix");
|
||||
String tmpDirPath = getEnvironmentVariable("gitbucket.tempDir");
|
||||
String jettyIdleTimeout = getEnvironmentVariable("gitbucket.jettyIdleTimeout");
|
||||
boolean saveSessions = false;
|
||||
|
||||
for(String arg: args) {
|
||||
if(arg.equals("--save_sessions")) {
|
||||
saveSessions = true;
|
||||
}
|
||||
if(arg.startsWith("--") && arg.contains("=")) {
|
||||
String[] dim = arg.split("=");
|
||||
if(dim.length >= 2) {
|
||||
if(dim[0].equals("--host")) {
|
||||
host = dim[1];
|
||||
} else if(dim[0].equals("--port")) {
|
||||
port = Integer.parseInt(dim[1]);
|
||||
} else if(dim[0].equals("--prefix")) {
|
||||
contextPath = dim[1];
|
||||
} else if(dim[0].equals("--https") && (dim[1].equals("1") || dim[1].equals("true"))) {
|
||||
forceHttps = true;
|
||||
String[] dim = arg.split("=", 2);
|
||||
if(dim.length == 2) {
|
||||
switch (dim[0]) {
|
||||
case "--connectors":
|
||||
connectors = dim[1];
|
||||
break;
|
||||
case "--host":
|
||||
host = dim[1];
|
||||
break;
|
||||
case "--port":
|
||||
port = dim[1];
|
||||
break;
|
||||
case "--secure_port":
|
||||
securePort = dim[1];
|
||||
break;
|
||||
case "--key_store_path":
|
||||
keyStorePath = dim[1];
|
||||
break;
|
||||
case "--key_store_password":
|
||||
keyStorePassword = dim[1];
|
||||
break;
|
||||
case "--key_manager_password":
|
||||
keyManagerPassword = dim[1];
|
||||
break;
|
||||
case "--redirect_https":
|
||||
redirectHttps = dim[1];
|
||||
break;
|
||||
case "--prefix":
|
||||
contextPath = dim[1];
|
||||
break;
|
||||
case "--gitbucket.home":
|
||||
System.setProperty("gitbucket.home", dim[1]);
|
||||
break;
|
||||
case "--temp_dir":
|
||||
tmpDirPath = dim[1];
|
||||
break;
|
||||
case "--plugin_dir":
|
||||
System.setProperty("gitbucket.pluginDir", dim[1]);
|
||||
break;
|
||||
case "--jetty_idle_timeout":
|
||||
jettyIdleTimeout = dim[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Server server = new Server();
|
||||
|
||||
HttpsSupportConnector connector = new HttpsSupportConnector(forceHttps);
|
||||
if(host != null) {
|
||||
connector.setHost(host);
|
||||
if (contextPath != null && !contextPath.startsWith("/")) {
|
||||
contextPath = "/" + contextPath;
|
||||
}
|
||||
connector.setMaxIdleTime(1000 * 60 * 60);
|
||||
connector.setSoLingerTime(-1);
|
||||
connector.setPort(port);
|
||||
server.addConnector(connector);
|
||||
|
||||
final String hostName = InetAddress.getByName(fallback(host, Defaults.HOST)).getHostName();
|
||||
|
||||
final Server server = new Server();
|
||||
|
||||
final Set<String> connectorsSet = Stream.of(fallback(connectors, Defaults.CONNECTORS)
|
||||
.toLowerCase().split(",")).map(String::trim).collect(toSet());
|
||||
|
||||
final List<ServerConnector> connectorInstances = new ArrayList<>();
|
||||
|
||||
final HttpConfiguration httpConfig = new HttpConfiguration();
|
||||
httpConfig.setSendServerVersion(false);
|
||||
if (connectorsSet.contains(Connectors.HTTPS)) {
|
||||
httpConfig.setSecurePort(fallback(securePort, Defaults.HTTPS_PORT, Integer::parseInt));
|
||||
}
|
||||
if (jettyIdleTimeout != null && jettyIdleTimeout.trim().length() != 0) {
|
||||
httpConfig.setIdleTimeout(Long.parseLong(jettyIdleTimeout.trim()));
|
||||
} else {
|
||||
httpConfig.setIdleTimeout(300000L); // default is 5min
|
||||
}
|
||||
|
||||
if (connectorsSet.contains(Connectors.HTTP)) {
|
||||
final ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(httpConfig));
|
||||
connector.setHost(hostName);
|
||||
connector.setPort(fallback(port, Defaults.HTTP_PORT, Integer::parseInt));
|
||||
|
||||
connectorInstances.add(connector);
|
||||
}
|
||||
|
||||
if (connectorsSet.contains(Connectors.HTTPS)) {
|
||||
final SslContextFactory sslContextFactory = new SslContextFactory.Server();
|
||||
|
||||
sslContextFactory.setKeyStorePath(requireNonNull(keyStorePath,
|
||||
"You must specify a path to an SSL keystore via the --key_store_path command line argument" +
|
||||
" or GITBUCKET_KEYSTOREPATH environment variable."));
|
||||
|
||||
sslContextFactory.setKeyStorePassword(requireNonNull(keyStorePassword,
|
||||
"You must specify a an SSL keystore password via the --key_store_password argument" +
|
||||
" or GITBUCKET_KEYSTOREPASSWORD environment variable."));
|
||||
|
||||
sslContextFactory.setKeyManagerPassword(requireNonNull(keyManagerPassword,
|
||||
"You must specify a key manager password via the --key_manager_password' argument" +
|
||||
" or GITBUCKET_KEYMANAGERPASSWORD environment variable."));
|
||||
|
||||
final HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig);
|
||||
httpsConfig.addCustomizer(new SecureRequestCustomizer());
|
||||
|
||||
final ServerConnector connector = new ServerConnector(server,
|
||||
new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()),
|
||||
new HttpConnectionFactory(httpsConfig));
|
||||
|
||||
connector.setHost(hostName);
|
||||
connector.setPort(fallback(securePort, Defaults.HTTPS_PORT, Integer::parseInt));
|
||||
|
||||
connectorInstances.add(connector);
|
||||
}
|
||||
|
||||
require(!connectorInstances.isEmpty(),
|
||||
"No server connectors could be configured, please check your --connectors command line argument" +
|
||||
" or GITBUCKET_CONNECTORS environment variable.");
|
||||
|
||||
server.setConnectors(connectorInstances.toArray(new ServerConnector[0]));
|
||||
|
||||
WebAppContext context = new WebAppContext();
|
||||
|
||||
if(saveSessions) {
|
||||
File sessDir = new File(getGitBucketHome(), "sessions");
|
||||
if(!sessDir.exists()){
|
||||
mkdir(sessDir);
|
||||
}
|
||||
SessionHandler sessions = context.getSessionHandler();
|
||||
SessionCache cache = new DefaultSessionCache(sessions);
|
||||
FileSessionDataStore fsds = new FileSessionDataStore();
|
||||
fsds.setStoreDir(sessDir);
|
||||
cache.setSessionDataStore(fsds);
|
||||
sessions.setSessionCache(cache);
|
||||
}
|
||||
|
||||
File tmpDir;
|
||||
if(tmpDirPath == null || tmpDirPath.equals("")){
|
||||
tmpDir = new File(getGitBucketHome(), "tmp");
|
||||
if(!tmpDir.exists()){
|
||||
mkdir(tmpDir);
|
||||
}
|
||||
} else {
|
||||
tmpDir = new File(tmpDirPath);
|
||||
if(!tmpDir.exists()){
|
||||
throw new java.io.FileNotFoundException(
|
||||
String.format("temp_dir \"%s\" not found", tmpDirPath));
|
||||
} else if(!tmpDir.isDirectory()) {
|
||||
throw new IllegalArgumentException(
|
||||
String.format("temp_dir \"%s\" is not a directory", tmpDirPath));
|
||||
}
|
||||
}
|
||||
context.setTempDirectory(tmpDir);
|
||||
|
||||
// Disabling the directory listing feature.
|
||||
context.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
|
||||
|
||||
ProtectionDomain domain = JettyLauncher.class.getProtectionDomain();
|
||||
URL location = domain.getCodeSource().getLocation();
|
||||
|
||||
context.setContextPath(contextPath);
|
||||
context.setContextPath(contextPath == null ? "" : contextPath);
|
||||
context.setDescriptor(location.toExternalForm() + "/WEB-INF/web.xml");
|
||||
context.setServer(server);
|
||||
context.setWar(location.toExternalForm());
|
||||
|
||||
server.setHandler(context);
|
||||
final HandlerList handlers = new HandlerList();
|
||||
|
||||
if (fallback(redirectHttps, Defaults.REDIRECT_HTTPS, Boolean::parseBoolean)) {
|
||||
handlers.addHandler(new SecuredRedirectHandler());
|
||||
}
|
||||
|
||||
handlers.addHandler(addStatisticsHandler(context));
|
||||
|
||||
server.setHandler(handlers);
|
||||
server.setStopAtShutdown(true);
|
||||
server.setStopTimeout(7_000);
|
||||
server.start();
|
||||
server.join();
|
||||
}
|
||||
}
|
||||
|
||||
class HttpsSupportConnector extends SelectChannelConnector {
|
||||
private boolean forceHttps;
|
||||
|
||||
public HttpsSupportConnector(boolean forceHttps) {
|
||||
this.forceHttps = forceHttps;
|
||||
private static File getGitBucketHome(){
|
||||
String home = System.getProperty("gitbucket.home");
|
||||
if(home != null && home.length() > 0){
|
||||
return new File(home);
|
||||
}
|
||||
home = System.getenv("GITBUCKET_HOME");
|
||||
if(home != null && home.length() > 0){
|
||||
return new File(home);
|
||||
}
|
||||
return new File(System.getProperty("user.home"), ".gitbucket");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customize(final EndPoint endpoint, final Request request) throws IOException {
|
||||
if (this.forceHttps) {
|
||||
request.setScheme("https");
|
||||
super.customize(endpoint, request);
|
||||
private static String getEnvironmentVariable(String key){
|
||||
String value = System.getenv(key.toUpperCase().replace('.', '_'));
|
||||
if (value != null && value.length() == 0){
|
||||
return null;
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
private static <T, R> T fallback(R value, T defaultValue, Function<R, T> converter) {
|
||||
return value == null ? defaultValue : converter.apply(value);
|
||||
}
|
||||
|
||||
private static <T> T fallback(T value, T defaultValue) {
|
||||
return fallback(value, defaultValue, identity());
|
||||
}
|
||||
|
||||
private static void require(boolean condition, String message) {
|
||||
if (!condition) {
|
||||
throw new IllegalArgumentException(message);
|
||||
}
|
||||
}
|
||||
|
||||
private static <T> T requireNonNull(T value, String message) {
|
||||
require(value != null, message);
|
||||
return value;
|
||||
}
|
||||
|
||||
private static void mkdir(File dir) {
|
||||
if (!dir.mkdirs()) {
|
||||
throw new RuntimeException("Unable to create directory: " + dir);
|
||||
}
|
||||
}
|
||||
|
||||
private static Handler addStatisticsHandler(Handler handler) {
|
||||
// The graceful shutdown is implemented via the statistics handler.
|
||||
// See the following: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420142
|
||||
final StatisticsHandler statisticsHandler = new StatisticsHandler();
|
||||
statisticsHandler.setHandler(handler);
|
||||
return statisticsHandler;
|
||||
}
|
||||
}
|
||||
|
||||
93
src/main/java/gitbucket/core/util/PatchUtil.java
Normal file
93
src/main/java/gitbucket/core/util/PatchUtil.java
Normal file
@@ -0,0 +1,93 @@
|
||||
package gitbucket.core.util;
|
||||
|
||||
import org.eclipse.jgit.api.errors.PatchApplyException;
|
||||
import org.eclipse.jgit.diff.RawText;
|
||||
import org.eclipse.jgit.internal.JGitText;
|
||||
import org.eclipse.jgit.patch.FileHeader;
|
||||
import org.eclipse.jgit.patch.HunkHeader;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class helps to apply patch. Most of these code came from {@link org.eclipse.jgit.api.ApplyCommand}.
|
||||
*/
|
||||
public class PatchUtil {
|
||||
|
||||
public static String apply(String source, String patch, FileHeader fh)
|
||||
throws IOException, PatchApplyException {
|
||||
RawText rt = new RawText(source.getBytes("UTF-8"));
|
||||
List<String> oldLines = new ArrayList<>(rt.size());
|
||||
for (int i = 0; i < rt.size(); i++)
|
||||
oldLines.add(rt.getString(i));
|
||||
List<String> newLines = new ArrayList<>(oldLines);
|
||||
for (HunkHeader hh : fh.getHunks()) {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
out.write(patch.getBytes("UTF-8"), hh.getStartOffset(), hh.getEndOffset() - hh.getStartOffset());
|
||||
RawText hrt = new RawText(out.toByteArray());
|
||||
List<String> hunkLines = new ArrayList<>(hrt.size());
|
||||
for (int i = 0; i < hrt.size(); i++)
|
||||
hunkLines.add(hrt.getString(i));
|
||||
int pos = 0;
|
||||
for (int j = 1; j < hunkLines.size(); j++) {
|
||||
String hunkLine = hunkLines.get(j);
|
||||
switch (hunkLine.charAt(0)) {
|
||||
case ' ':
|
||||
if (!newLines.get(hh.getNewStartLine() - 1 + pos).equals(
|
||||
hunkLine.substring(1))) {
|
||||
throw new PatchApplyException(MessageFormat.format(
|
||||
JGitText.get().patchApplyException, hh));
|
||||
}
|
||||
pos++;
|
||||
break;
|
||||
case '-':
|
||||
if (!newLines.get(hh.getNewStartLine() - 1 + pos).equals(
|
||||
hunkLine.substring(1))) {
|
||||
throw new PatchApplyException(MessageFormat.format(
|
||||
JGitText.get().patchApplyException, hh));
|
||||
}
|
||||
newLines.remove(hh.getNewStartLine() - 1 + pos);
|
||||
break;
|
||||
case '+':
|
||||
newLines.add(hh.getNewStartLine() - 1 + pos,
|
||||
hunkLine.substring(1));
|
||||
pos++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!isNoNewlineAtEndOfFile(fh))
|
||||
newLines.add(""); //$NON-NLS-1$
|
||||
if (!rt.isMissingNewlineAtEnd())
|
||||
oldLines.add(""); //$NON-NLS-1$
|
||||
if (!isChanged(oldLines, newLines))
|
||||
return null; // don't touch the file
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String l : newLines) {
|
||||
// don't bother handling line endings - if it was windows, the \r is
|
||||
// still there!
|
||||
sb.append(l).append('\n');
|
||||
}
|
||||
sb.deleteCharAt(sb.length() - 1);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static boolean isChanged(List<String> ol, List<String> nl) {
|
||||
if (ol.size() != nl.size())
|
||||
return true;
|
||||
for (int i = 0; i < ol.size(); i++)
|
||||
if (!ol.get(i).equals(nl.get(i)))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean isNoNewlineAtEndOfFile(FileHeader fh) {
|
||||
HunkHeader lastHunk = fh.getHunks().get(fh.getHunks().size() - 1);
|
||||
RawText lhrt = new RawText(lastHunk.getBuffer());
|
||||
return lhrt.getString(lhrt.size() - 1).equals(
|
||||
"\\ No newline at end of file"); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
52
src/main/java/org/postgresql/Driver2.java
Normal file
52
src/main/java/org/postgresql/Driver2.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package org.postgresql;
|
||||
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Proxy;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* Wraps the PostgreSQL JDBC driver to convert the returning column names to lower case.
|
||||
*/
|
||||
public class Driver2 extends Driver {
|
||||
|
||||
@Override
|
||||
public java.sql.Connection connect(String url, Properties info) throws SQLException {
|
||||
Connection conn = super.connect(url, info);
|
||||
|
||||
Object proxy = Proxy.newProxyInstance(
|
||||
conn.getClass().getClassLoader(),
|
||||
new Class[]{ Connection.class },
|
||||
new ConnectionProxyHandler(conn)
|
||||
);
|
||||
|
||||
return Connection.class.cast(proxy);
|
||||
}
|
||||
|
||||
|
||||
private static class ConnectionProxyHandler implements InvocationHandler {
|
||||
|
||||
private Connection conn;
|
||||
|
||||
public ConnectionProxyHandler(Connection conn){
|
||||
this.conn = conn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
|
||||
if(method.getName().equals("prepareStatement")){
|
||||
if(args != null && args.length == 2 && args[1].getClass().isArray()){
|
||||
String[] keys = (String[]) args[1];
|
||||
for(int i = 0; i < keys.length; i++){
|
||||
keys[i] = keys[i].toLowerCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
return method.invoke(conn, args);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
4
src/main/resources/bundle-plugins.txt
Normal file
4
src/main/resources/bundle-plugins.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
notifications:1.11.0
|
||||
gist:4.22.0
|
||||
emoji:4.6.0
|
||||
pages:1.10.0
|
||||
26
src/main/resources/logback-dev.xml
Normal file
26
src/main/resources/logback-dev.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||
<file>gitbucket.log</file>
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
|
||||
<!--
|
||||
<logger name="service.WebHookService" level="DEBUG" />
|
||||
<logger name="servlet" level="DEBUG" />
|
||||
<logger name="scala.slick.jdbc.JdbcBackend.statement" level="DEBUG" />
|
||||
-->
|
||||
|
||||
</configuration>
|
||||
@@ -6,12 +6,23 @@
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!--
|
||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||
<file>gitbucket.log</file>
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
-->
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
|
||||
|
||||
<!--
|
||||
<logger name="service.WebHookService" level="DEBUG" />
|
||||
<logger name="servlet" level="DEBUG" />
|
||||
<logger name="scala.slick.jdbc.JdbcBackend.statement" level="DEBUG" />
|
||||
-->
|
||||
|
||||
</configuration>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,135 +0,0 @@
|
||||
CREATE TABLE ACCOUNT(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
MAIL_ADDRESS VARCHAR(100) NOT NULL,
|
||||
PASSWORD VARCHAR(40) NOT NULL,
|
||||
ADMINISTRATOR BOOLEAN NOT NULL,
|
||||
URL VARCHAR(200),
|
||||
REGISTERED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP NOT NULL,
|
||||
LAST_LOGIN_DATE TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE REPOSITORY(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
PRIVATE BOOLEAN NOT NULL,
|
||||
DESCRIPTION TEXT,
|
||||
DEFAULT_BRANCH VARCHAR(100),
|
||||
REGISTERED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP NOT NULL,
|
||||
LAST_ACTIVITY_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE COLLABORATOR(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
COLLABORATOR_NAME VARCHAR(100) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ISSUE(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
ISSUE_ID INT NOT NULL,
|
||||
OPENED_USER_NAME VARCHAR(100) NOT NULL,
|
||||
MILESTONE_ID INT,
|
||||
ASSIGNED_USER_NAME VARCHAR(100),
|
||||
TITLE TEXT NOT NULL,
|
||||
CONTENT TEXT,
|
||||
CLOSED BOOLEAN NOT NULL,
|
||||
REGISTERED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ISSUE_ID(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
ISSUE_ID INT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ISSUE_COMMENT(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
ISSUE_ID INT NOT NULL,
|
||||
COMMENT_ID INT AUTO_INCREMENT,
|
||||
ACTION VARCHAR(10),
|
||||
COMMENTED_USER_NAME VARCHAR(100) NOT NULL,
|
||||
CONTENT TEXT NOT NULL,
|
||||
REGISTERED_DATE TIMESTAMP NOT NULL,
|
||||
UPDATED_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE LABEL(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
LABEL_ID INT AUTO_INCREMENT,
|
||||
LABEL_NAME VARCHAR(100) NOT NULL,
|
||||
COLOR CHAR(6) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ISSUE_LABEL(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
ISSUE_ID INT NOT NULL,
|
||||
LABEL_ID INT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE MILESTONE(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
MILESTONE_ID INT AUTO_INCREMENT,
|
||||
TITLE VARCHAR(100) NOT NULL,
|
||||
DESCRIPTION TEXT,
|
||||
DUE_DATE TIMESTAMP,
|
||||
CLOSED_DATE TIMESTAMP
|
||||
);
|
||||
|
||||
ALTER TABLE ACCOUNT ADD CONSTRAINT IDX_ACCOUNT_PK PRIMARY KEY (USER_NAME);
|
||||
ALTER TABLE ACCOUNT ADD CONSTRAINT IDX_ACCOUNT_1 UNIQUE (MAIL_ADDRESS);
|
||||
|
||||
ALTER TABLE REPOSITORY ADD CONSTRAINT IDX_REPOSITORY_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE REPOSITORY ADD CONSTRAINT IDX_REPOSITORY_FK0 FOREIGN KEY (USER_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
|
||||
ALTER TABLE COLLABORATOR ADD CONSTRAINT IDX_COLLABORATOR_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE COLLABORATOR ADD CONSTRAINT IDX_COLLABORATOR_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE COLLABORATOR ADD CONSTRAINT IDX_COLLABORATOR_FK1 FOREIGN KEY (COLLABORATOR_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
|
||||
ALTER TABLE ISSUE ADD CONSTRAINT IDX_ISSUE_PK PRIMARY KEY (ISSUE_ID, USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE ISSUE ADD CONSTRAINT IDX_ISSUE_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE ISSUE ADD CONSTRAINT IDX_ISSUE_FK1 FOREIGN KEY (OPENED_USER_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
ALTER TABLE ISSUE ADD CONSTRAINT IDX_ISSUE_FK2 FOREIGN KEY (MILESTONE_ID) REFERENCES MILESTONE (MILESTONE_ID);
|
||||
|
||||
ALTER TABLE ISSUE_ID ADD CONSTRAINT IDX_ISSUE_ID_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE ISSUE_ID ADD CONSTRAINT IDX_ISSUE_ID_FK1 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
|
||||
ALTER TABLE ISSUE_COMMENT ADD CONSTRAINT IDX_ISSUE_COMMENT_PK PRIMARY KEY (COMMENT_ID);
|
||||
ALTER TABLE ISSUE_COMMENT ADD CONSTRAINT IDX_ISSUE_COMMENT_1 UNIQUE (USER_NAME, REPOSITORY_NAME, ISSUE_ID, COMMENT_ID);
|
||||
ALTER TABLE ISSUE_COMMENT ADD CONSTRAINT IDX_ISSUE_COMMENT_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME, ISSUE_ID) REFERENCES ISSUE (USER_NAME, REPOSITORY_NAME, ISSUE_ID);
|
||||
|
||||
ALTER TABLE LABEL ADD CONSTRAINT IDX_LABEL_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, LABEL_ID);
|
||||
ALTER TABLE LABEL ADD CONSTRAINT IDX_LABEL_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
|
||||
ALTER TABLE ISSUE_LABEL ADD CONSTRAINT IDX_ISSUE_LABEL_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, ISSUE_ID, LABEL_ID);
|
||||
ALTER TABLE ISSUE_LABEL ADD CONSTRAINT IDX_ISSUE_LABEL_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME, ISSUE_ID) REFERENCES ISSUE (USER_NAME, REPOSITORY_NAME, ISSUE_ID);
|
||||
|
||||
ALTER TABLE MILESTONE ADD CONSTRAINT IDX_MILESTONE_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, MILESTONE_ID);
|
||||
ALTER TABLE MILESTONE ADD CONSTRAINT IDX_MILESTONE_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
|
||||
INSERT INTO ACCOUNT (
|
||||
USER_NAME,
|
||||
MAIL_ADDRESS,
|
||||
PASSWORD,
|
||||
ADMINISTRATOR,
|
||||
URL,
|
||||
REGISTERED_DATE,
|
||||
UPDATED_DATE,
|
||||
LAST_LOGIN_DATE
|
||||
) VALUES (
|
||||
'root',
|
||||
'root@localhost',
|
||||
'dc76e9f0c0006e8f919e0c515c66dbba3982f785',
|
||||
true,
|
||||
'https://github.com/takezoe/gitbucket',
|
||||
SYSDATE,
|
||||
SYSDATE,
|
||||
NULL
|
||||
);
|
||||
@@ -1,8 +0,0 @@
|
||||
-- Fix COLLABORATOR constraints
|
||||
ALTER TABLE COLLABORATOR DROP CONSTRAINT IDX_COLLABORATOR_FK1 IF EXISTS;
|
||||
ALTER TABLE COLLABORATOR DROP CONSTRAINT IDX_COLLABORATOR_FK0 IF EXISTS;
|
||||
ALTER TABLE COLLABORATOR DROP CONSTRAINT IDX_COLLABORATOR_PK IF EXISTS;
|
||||
|
||||
ALTER TABLE COLLABORATOR ADD CONSTRAINT IDX_COLLABORATOR_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, COLLABORATOR_NAME);
|
||||
ALTER TABLE COLLABORATOR ADD CONSTRAINT IDX_COLLABORATOR_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE COLLABORATOR ADD CONSTRAINT IDX_COLLABORATOR_FK1 FOREIGN KEY (COLLABORATOR_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
@@ -1,24 +0,0 @@
|
||||
CREATE TABLE ACTIVITY(
|
||||
ACTIVITY_ID INT AUTO_INCREMENT,
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
ACTIVITY_USER_NAME VARCHAR(100) NOT NULL,
|
||||
ACTIVITY_TYPE VARCHAR(100) NOT NULL,
|
||||
MESSAGE TEXT NOT NULL,
|
||||
ADDITIONAL_INFO TEXT,
|
||||
ACTIVITY_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE COMMIT_LOG (
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
COMMIT_ID VARCHAR(40) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE ACTIVITY ADD CONSTRAINT IDX_ACTIVITY_PK PRIMARY KEY (ACTIVITY_ID);
|
||||
ALTER TABLE ACTIVITY ADD CONSTRAINT IDX_ACTIVITY_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
ALTER TABLE ACTIVITY ADD CONSTRAINT IDX_ACTIVITY_FK1 FOREIGN KEY (ACTIVITY_USER_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
|
||||
ALTER TABLE COMMIT_LOG ADD CONSTRAINT IDX_COMMIT_LOG_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, COMMIT_ID);
|
||||
ALTER TABLE COMMIT_LOG ADD CONSTRAINT IDX_COMMIT_LOG_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
ALTER TABLE ACCOUNT ADD COLUMN IMAGE VARCHAR(100);
|
||||
|
||||
UPDATE ISSUE_COMMENT SET ACTION = 'comment' WHERE ACTION IS NULL;
|
||||
|
||||
ALTER TABLE ISSUE_COMMENT ALTER COLUMN ACTION VARCHAR(20) NOT NULL;
|
||||
|
||||
UPDATE ISSUE_COMMENT SET ACTION = 'close_comment' WHERE ACTION = 'close';
|
||||
UPDATE ISSUE_COMMENT SET ACTION = 'reopen_comment' WHERE ACTION = 'reopen';
|
||||
@@ -1,24 +0,0 @@
|
||||
CREATE TABLE GROUP_MEMBER(
|
||||
GROUP_NAME VARCHAR(100) NOT NULL,
|
||||
USER_NAME VARCHAR(100) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE GROUP_MEMBER ADD CONSTRAINT IDX_GROUP_MEMBER_PK PRIMARY KEY (GROUP_NAME, USER_NAME);
|
||||
ALTER TABLE GROUP_MEMBER ADD CONSTRAINT IDX_GROUP_MEMBER_FK0 FOREIGN KEY (GROUP_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
ALTER TABLE GROUP_MEMBER ADD CONSTRAINT IDX_GROUP_MEMBER_FK1 FOREIGN KEY (USER_NAME) REFERENCES ACCOUNT (USER_NAME);
|
||||
|
||||
ALTER TABLE ACCOUNT ADD COLUMN GROUP_ACCOUNT BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
|
||||
CREATE OR REPLACE VIEW ISSUE_OUTLINE_VIEW AS
|
||||
SELECT
|
||||
A.USER_NAME,
|
||||
A.REPOSITORY_NAME,
|
||||
A.ISSUE_ID,
|
||||
NVL(B.COMMENT_COUNT, 0) AS COMMENT_COUNT
|
||||
FROM ISSUE A
|
||||
LEFT OUTER JOIN (
|
||||
SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM ISSUE_COMMENT
|
||||
WHERE ACTION IN ('comment', 'close_comment', 'reopen_comment')
|
||||
GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
|
||||
) B
|
||||
ON (A.USER_NAME = B.USER_NAME AND A.REPOSITORY_NAME = B.REPOSITORY_NAME AND A.ISSUE_ID = B.ISSUE_ID);
|
||||
@@ -1,21 +0,0 @@
|
||||
ALTER TABLE REPOSITORY ADD COLUMN ORIGIN_USER_NAME VARCHAR(100);
|
||||
ALTER TABLE REPOSITORY ADD COLUMN ORIGIN_REPOSITORY_NAME VARCHAR(100);
|
||||
ALTER TABLE REPOSITORY ADD COLUMN PARENT_USER_NAME VARCHAR(100);
|
||||
ALTER TABLE REPOSITORY ADD COLUMN PARENT_REPOSITORY_NAME VARCHAR(100);
|
||||
|
||||
CREATE TABLE PULL_REQUEST(
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
ISSUE_ID INT NOT NULL,
|
||||
BRANCH VARCHAR(100) NOT NULL,
|
||||
REQUEST_USER_NAME VARCHAR(100) NOT NULL,
|
||||
REQUEST_REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
REQUEST_BRANCH VARCHAR(100) NOT NULL,
|
||||
COMMIT_ID_FROM VARCHAR(40) NOT NULL,
|
||||
COMMIT_ID_TO VARCHAR(40) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE PULL_REQUEST ADD CONSTRAINT IDX_PULL_REQUEST_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, ISSUE_ID);
|
||||
ALTER TABLE PULL_REQUEST ADD CONSTRAINT IDX_PULL_REQUEST_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME, ISSUE_ID) REFERENCES ISSUE (USER_NAME, REPOSITORY_NAME, ISSUE_ID);
|
||||
|
||||
ALTER TABLE ISSUE ADD COLUMN PULL_REQUEST BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
@@ -1,8 +0,0 @@
|
||||
CREATE TABLE WEB_HOOK (
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
REPOSITORY_NAME VARCHAR(100) NOT NULL,
|
||||
URL VARCHAR(200) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE WEB_HOOK ADD CONSTRAINT IDX_WEB_HOOK_PK PRIMARY KEY (USER_NAME, REPOSITORY_NAME, URL);
|
||||
ALTER TABLE WEB_HOOK ADD CONSTRAINT IDX_WEB_HOOK_FK0 FOREIGN KEY (USER_NAME, REPOSITORY_NAME) REFERENCES REPOSITORY (USER_NAME, REPOSITORY_NAME);
|
||||
@@ -1,5 +0,0 @@
|
||||
ALTER TABLE ACCOUNT ADD COLUMN FULL_NAME VARCHAR(100);
|
||||
|
||||
UPDATE ACCOUNT SET FULL_NAME = USER_NAME WHERE FULL_NAME IS NULL;
|
||||
|
||||
ALTER TABLE ACCOUNT ALTER COLUMN FULL_NAME SET NOT NULL;
|
||||
370
src/main/resources/update/gitbucket-core_4.0.xml
Normal file
370
src/main/resources/update/gitbucket-core_4.0.xml
Normal file
@@ -0,0 +1,370 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ACCOUNT -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ACCOUNT">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="MAIL_ADDRESS" type="varchar(100)" nullable="false"/>
|
||||
<column name="PASSWORD" type="varchar(40)" nullable="false"/>
|
||||
<column name="ADMINISTRATOR" type="boolean" nullable="false"/>
|
||||
<column name="URL" type="varchar(200)" nullable="true"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="LAST_LOGIN_DATE" type="datetime" nullable="true"/>
|
||||
<column name="IMAGE" type="varchar(100)" nullable="true"/>
|
||||
<column name="GROUP_ACCOUNT" type="boolean" nullable="false"/>
|
||||
<column name="FULL_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REMOVED" type="boolean" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_ACCOUNT_PK" tableName="ACCOUNT" columnNames="USER_NAME"/>
|
||||
<addUniqueConstraint constraintName="IDX_ACCOUNT_1" tableName="ACCOUNT" columnNames="MAIL_ADDRESS"/>
|
||||
|
||||
<insert tableName="ACCOUNT">
|
||||
<column name="USER_NAME" value="root"/>
|
||||
<column name="FULL_NAME" value="root"/>
|
||||
<column name="MAIL_ADDRESS" value="root@localhost"/>
|
||||
<column name="PASSWORD" value="dc76e9f0c0006e8f919e0c515c66dbba3982f785"/>
|
||||
<column name="ADMINISTRATOR" valueBoolean="true"/>
|
||||
<column name="URL" value="https://github.com/gitbucket/gitbucket"/>
|
||||
<column name="GROUP_ACCOUNT" valueBoolean="false"/>
|
||||
<column name="REMOVED" valueBoolean="false"/>
|
||||
<column name="REGISTERED_DATE" valueDate="${currentDateTime}"/>
|
||||
<column name="UPDATED_DATE" valueDate="${currentDateTime}"/>
|
||||
</insert>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- REPOSITORY -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="REPOSITORY">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="PRIVATE" type="boolean" nullable="false"/>
|
||||
<column name="DESCRIPTION" type="text" nullable="true"/>
|
||||
<column name="DEFAULT_BRANCH" type="varchar(100)" nullable="true"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="LAST_ACTIVITY_DATE" type="datetime" nullable="false"/>
|
||||
<column name="ORIGIN_USER_NAME" type="varchar(100)" nullable="true"/>
|
||||
<column name="ORIGIN_REPOSITORY_NAME" type="varchar(100)" nullable="true"/>
|
||||
<column name="PARENT_USER_NAME" type="varchar(100)" nullable="true"/>
|
||||
<column name="PARENT_REPOSITORY_NAME" type="varchar(100)" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_REPOSITORY_PK" tableName="REPOSITORY" columnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_REPOSITORY_FK0" baseTableName="REPOSITORY" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ACCESS_TOKEN -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ACCESS_TOKEN">
|
||||
<column name="ACCESS_TOKEN_ID" type="int" nullable="false" autoIncrement="true" unique="true" primaryKeyName="IDX_ACCESS_TOKEN_PK" primaryKey="true" />
|
||||
<column name="TOKEN_HASH" type="varchar(40)" nullable="false"/>
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="NOTE" type="text" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addUniqueConstraint constraintName="IDX_ACCESS_TOKEN_TOKEN_HASH" tableName="ACCESS_TOKEN" columnNames="TOKEN_HASH"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ACCESS_TOKEN_FK0" baseTableName="ACCESS_TOKEN" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ACTIVITY -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ACTIVITY">
|
||||
<column name="ACTIVITY_ID" type="int" nullable="false" autoIncrement="true" unique="true" primaryKeyName="IDX_ACTIVITY_PK" primaryKey="true"/>
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ACTIVITY_USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ACTIVITY_TYPE" type="varchar(100)" nullable="false"/>
|
||||
<column name="MESSAGE" type="text" nullable="false"/>
|
||||
<column name="ADDITIONAL_INFO" type="text" nullable="true"/>
|
||||
<column name="ACTIVITY_DATE" type="datetime" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addForeignKeyConstraint constraintName="IDX_ACTIVITY_FK1" baseTableName="ACTIVITY" baseColumnNames="ACTIVITY_USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ACTIVITY_FK0" baseTableName="ACTIVITY" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- COLLABORATOR -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="COLLABORATOR">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="COLLABORATOR_NAME" type="varchar(100)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_COLLABORATOR_PK" tableName="COLLABORATOR" columnNames="USER_NAME, REPOSITORY_NAME, COLLABORATOR_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_COLLABORATOR_FK1" baseTableName="COLLABORATOR" baseColumnNames="COLLABORATOR_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_COLLABORATOR_FK0" baseTableName="COLLABORATOR" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- COMMIT_COMMENT -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="COMMIT_COMMENT">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="COMMIT_ID" type="varchar(100)" nullable="false"/>
|
||||
<column name="COMMENT_ID" type="int" nullable="false" autoIncrement="true" unique="true" primaryKeyName="IDX_COMMIT_COMMENT_PK" primaryKey="true" />
|
||||
<column name="COMMENTED_USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="CONTENT" type="text" nullable="false"/>
|
||||
<column name="FILE_NAME" type="varchar(260)" nullable="true"/>
|
||||
<column name="OLD_LINE_NUMBER" type="int" nullable="true"/>
|
||||
<column name="NEW_LINE_NUMBER" type="int" nullable="true"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addForeignKeyConstraint constraintName="IDX_COMMIT_COMMENT_FK0" baseTableName="COMMIT_COMMENT" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- COMMIT_STATUS -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="COMMIT_STATUS">
|
||||
<column name="COMMIT_STATUS_ID" type="int" nullable="false" autoIncrement="true" unique="true" primaryKeyName="IDX_COMMIT_STATUS_PK" primaryKey="true" />
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="COMMIT_ID" type="varchar(40)" nullable="false"/>
|
||||
<column name="CONTEXT" type="varchar(255)" nullable="false"/>
|
||||
<column name="STATE" type="varchar(10)" nullable="false"/>
|
||||
<column name="TARGET_URL" type="varchar(200)" nullable="true"/>
|
||||
<column name="DESCRIPTION" type="text" nullable="true"/>
|
||||
<column name="CREATOR" type="varchar(100)" nullable="false"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addUniqueConstraint constraintName="IDX_COMMIT_STATUS_1" tableName="COMMIT_STATUS" columnNames="USER_NAME, REPOSITORY_NAME, COMMIT_ID, CONTEXT"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_COMMIT_STATUS_FK3" baseTableName="COMMIT_STATUS" baseColumnNames="CREATOR" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_COMMIT_STATUS_FK2" baseTableName="COMMIT_STATUS" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_COMMIT_STATUS_FK1" baseTableName="COMMIT_STATUS" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- GROUP_MEMBER -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="GROUP_MEMBER">
|
||||
<column name="GROUP_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="MANAGER" type="boolean" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_GROUP_MEMBER_PK" tableName="GROUP_MEMBER" columnNames="GROUP_NAME, USER_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_GROUP_MEMBER_FK1" baseTableName="GROUP_MEMBER" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_GROUP_MEMBER_FK0" baseTableName="GROUP_MEMBER" baseColumnNames="GROUP_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- LABEL -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="LABEL">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="LABEL_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="LABEL_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="COLOR" type="char(6)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_LABEL_PK" tableName="LABEL" columnNames="USER_NAME, REPOSITORY_NAME, LABEL_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_LABEL_FK0" baseTableName="LABEL" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- MILESTONE -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="MILESTONE">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="MILESTONE_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="TITLE" type="varchar(100)" nullable="false"/>
|
||||
<column name="DESCRIPTION" type="text" nullable="true"/>
|
||||
<column name="DUE_DATE" type="datetime" nullable="true"/>
|
||||
<column name="CLOSED_DATE" type="datetime" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_MILESTONE_PK" tableName="MILESTONE" columnNames="USER_NAME, REPOSITORY_NAME, MILESTONE_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_MILESTONE_FK0" baseTableName="MILESTONE" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ISSUE">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
<column name="OPENED_USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="MILESTONE_ID" type="int" nullable="true"/>
|
||||
<column name="ASSIGNED_USER_NAME" type="varchar(100)" nullable="true"/>
|
||||
<column name="TITLE" type="text" nullable="false"/>
|
||||
<column name="CONTENT" type="text" nullable="true"/>
|
||||
<column name="CLOSED" type="boolean" nullable="false"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="PULL_REQUEST" type="boolean" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_ISSUE_PK" tableName="ISSUE" columnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_FK0" baseTableName="ISSUE" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_FK2" baseTableName="ISSUE" baseColumnNames="MILESTONE_ID" referencedTableName="MILESTONE" referencedColumnNames="MILESTONE_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_FK1" baseTableName="ISSUE" baseColumnNames="OPENED_USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE_COMMENT -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ISSUE_COMMENT">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
<column name="COMMENT_ID" type="int" nullable="false" autoIncrement="true" unique="true" primaryKeyName="IDX_ISSUE_COMMENT_PK" primaryKey="true" />
|
||||
<column name="ACTION" type="varchar(20)" nullable="false"/>
|
||||
<column name="COMMENTED_USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="CONTENT" type="text" nullable="false"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_COMMENT_FK0" baseTableName="ISSUE_COMMENT" baseColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID" referencedTableName="ISSUE" referencedColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE_ID -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ISSUE_ID">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_ISSUE_ID_PK" tableName="ISSUE_ID" columnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_ID_FK1" baseTableName="ISSUE_ID" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE_ID -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ISSUE_LABEL">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
<column name="LABEL_ID" type="int" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_ISSUE_LABEL_PK" tableName="ISSUE_LABEL" columnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID, LABEL_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_LABEL_FK0" baseTableName="ISSUE_LABEL" baseColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID" referencedTableName="ISSUE" referencedColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- PLUGIN -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="PLUGIN">
|
||||
<column name="PLUGIN_ID" type="varchar(100)" nullable="false"/>
|
||||
<column name="VERSION" type="varchar(100)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_PLUGIN_PK" tableName="PLUGIN" columnNames="PLUGIN_ID"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- PULL_REQUEST -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="PULL_REQUEST">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
<column name="BRANCH" type="varchar(100)" nullable="false"/>
|
||||
<column name="REQUEST_USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REQUEST_REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REQUEST_BRANCH" type="varchar(100)" nullable="false"/>
|
||||
<column name="COMMIT_ID_FROM" type="varchar(40)" nullable="false"/>
|
||||
<column name="COMMIT_ID_TO" type="varchar(40)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_PULL_REQUEST_PK" tableName="PULL_REQUEST" columnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_PULL_REQUEST_FK0" baseTableName="PULL_REQUEST" baseColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID" referencedTableName="ISSUE" referencedColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- SSH_KEY -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="SSH_KEY">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="SSH_KEY_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="TITLE" type="varchar(100)" nullable="false"/>
|
||||
<column name="PUBLIC_KEY" type="text" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_SSH_KEY_PK" tableName="SSH_KEY" columnNames="USER_NAME, SSH_KEY_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_SSH_KEY_FK0" baseTableName="SSH_KEY" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- WEB_HOOK -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="WEB_HOOK">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="URL" type="varchar(200)" nullable="false"/>
|
||||
<column name="TOKEN" type="varchar(100)" nullable="true"/>
|
||||
<column name="CTYPE" type="varchar(10)" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_WEB_HOOK_PK" tableName="WEB_HOOK" columnNames="USER_NAME, REPOSITORY_NAME, URL"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_WEB_HOOK_FK0" baseTableName="WEB_HOOK" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- WEB_HOOK_EVENT -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="WEB_HOOK_EVENT">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="URL" type="varchar(200)" nullable="false"/>
|
||||
<column name="EVENT" type="varchar(30)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_WEB_HOOK_EVENT_PK" tableName="WEB_HOOK_EVENT" columnNames="USER_NAME, REPOSITORY_NAME, URL, EVENT"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_WEB_HOOK_EVENT_FK0" baseTableName="WEB_HOOK_EVENT" baseColumnNames="USER_NAME, REPOSITORY_NAME, URL" referencedTableName="WEB_HOOK" referencedColumnNames="USER_NAME, REPOSITORY_NAME, URL" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- PROTECTED_BRANCH -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="PROTECTED_BRANCH">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="BRANCH" type="varchar(100)" nullable="false"/>
|
||||
<column name="STATUS_CHECK_ADMIN" type="boolean" nullable="false" defaultValueBoolean="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_PROTECTED_BRANCH_PK" tableName="PROTECTED_BRANCH" columnNames="USER_NAME, REPOSITORY_NAME, BRANCH"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_PROTECTED_BRANCH_FK0" baseTableName="PROTECTED_BRANCH" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- PROTECTED_BRANCH_REQUIRE_CONTEXT -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="PROTECTED_BRANCH_REQUIRE_CONTEXT">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="BRANCH" type="varchar(100)" nullable="false"/>
|
||||
<column name="CONTEXT" type="varchar(255)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_PROTECTED_BRANCH_REQUIRE_CONTEXT_PK" tableName="PROTECTED_BRANCH_REQUIRE_CONTEXT" columnNames="USER_NAME, REPOSITORY_NAME, BRANCH, CONTEXT"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_PROTECTED_BRANCH_REQUIRE_CONTEXT_FK0" baseTableName="PROTECTED_BRANCH_REQUIRE_CONTEXT" baseColumnNames="USER_NAME, REPOSITORY_NAME, BRANCH" referencedTableName="PROTECTED_BRANCH" referencedColumnNames="USER_NAME, REPOSITORY_NAME, BRANCH" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE_OUTLINE_VIEW -->
|
||||
<!--================================================================================================-->
|
||||
<sql>
|
||||
CREATE OR REPLACE VIEW ISSUE_OUTLINE_VIEW AS
|
||||
SELECT
|
||||
A.USER_NAME,
|
||||
A.REPOSITORY_NAME,
|
||||
A.ISSUE_ID,
|
||||
COALESCE(B.COMMENT_COUNT, 0) + COALESCE(C.COMMENT_COUNT, 0) AS COMMENT_COUNT
|
||||
FROM ISSUE A
|
||||
LEFT OUTER JOIN (
|
||||
SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM ISSUE_COMMENT
|
||||
WHERE ACTION IN ('comment', 'close_comment', 'reopen_comment')
|
||||
GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
|
||||
) B
|
||||
ON (A.USER_NAME = B.USER_NAME AND A.REPOSITORY_NAME = B.REPOSITORY_NAME AND A.ISSUE_ID = B.ISSUE_ID)
|
||||
LEFT OUTER JOIN (
|
||||
SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM COMMIT_COMMENT
|
||||
GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
|
||||
) C
|
||||
ON (A.USER_NAME = C.USER_NAME AND A.REPOSITORY_NAME = C.REPOSITORY_NAME AND A.ISSUE_ID = C.ISSUE_ID)
|
||||
</sql>
|
||||
|
||||
</changeSet>
|
||||
14
src/main/resources/update/gitbucket-core_4.11.xml
Normal file
14
src/main/resources/update/gitbucket-core_4.11.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<createTable tableName="DEPLOY_KEY">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="DEPLOY_KEY_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="TITLE" type="varchar(100)" nullable="false"/>
|
||||
<column name="PUBLIC_KEY" type="text" nullable="false"/>
|
||||
<column name="ALLOW_WRITE" type="boolean" nullable="false" defaultValueBoolean="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_DEPLOY_KEY_PK" tableName="DEPLOY_KEY" columnNames="USER_NAME, REPOSITORY_NAME, DEPLOY_KEY_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_DEPLOY_KEY_FK0" baseTableName="DEPLOY_KEY" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
</changeSet>
|
||||
62
src/main/resources/update/gitbucket-core_4.14.xml
Normal file
62
src/main/resources/update/gitbucket-core_4.14.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<createTable tableName="PRIORITY">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="PRIORITY_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="PRIORITY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="DESCRIPTION" type="varchar(255)" nullable="true"/>
|
||||
<column name="ORDERING" type="int" nullable="false"/>
|
||||
<column name="IS_DEFAULT" type="boolean" nullable="false"/>
|
||||
<column name="COLOR" type="char(6)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_PRIORITY_PK" tableName="PRIORITY" columnNames="USER_NAME, REPOSITORY_NAME, PRIORITY_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_PRIORITY_FK0" baseTableName="PRIORITY" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<addColumn tableName="ISSUE">
|
||||
<column name="PRIORITY_ID" type="int" nullable="true" />
|
||||
</addColumn>
|
||||
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_FK3" baseTableName="ISSUE" baseColumnNames="PRIORITY_ID" referencedTableName="PRIORITY" referencedColumnNames="PRIORITY_ID"/>
|
||||
|
||||
<createTable tableName="ACCOUNT_WEB_HOOK">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="URL" type="varchar(200)" nullable="false"/>
|
||||
<column name="TOKEN" type="varchar(100)" nullable="true"/>
|
||||
<column name="CTYPE" type="varchar(10)" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_ACCOUNT_WEB_HOOK_PK" tableName="ACCOUNT_WEB_HOOK" columnNames="USER_NAME, URL"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ACCOUNT_WEB_HOOK_FK0" baseTableName="ACCOUNT_WEB_HOOK" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
|
||||
<createTable tableName="ACCOUNT_WEB_HOOK_EVENT">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="URL" type="varchar(200)" nullable="false"/>
|
||||
<column name="EVENT" type="varchar(30)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<sql>
|
||||
CREATE OR REPLACE VIEW ISSUE_OUTLINE_VIEW AS
|
||||
SELECT
|
||||
A.USER_NAME,
|
||||
A.REPOSITORY_NAME,
|
||||
A.ISSUE_ID,
|
||||
COALESCE(B.COMMENT_COUNT, 0) + COALESCE(C.COMMENT_COUNT, 0) AS COMMENT_COUNT,
|
||||
COALESCE(D.ORDERING, 9999) AS PRIORITY
|
||||
FROM ISSUE A
|
||||
LEFT OUTER JOIN (
|
||||
SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM ISSUE_COMMENT
|
||||
WHERE ACTION IN ('comment', 'close_comment', 'reopen_comment')
|
||||
GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
|
||||
) B
|
||||
ON (A.USER_NAME = B.USER_NAME AND A.REPOSITORY_NAME = B.REPOSITORY_NAME AND A.ISSUE_ID = B.ISSUE_ID)
|
||||
LEFT OUTER JOIN (
|
||||
SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, COUNT(COMMENT_ID) AS COMMENT_COUNT FROM COMMIT_COMMENT
|
||||
GROUP BY USER_NAME, REPOSITORY_NAME, ISSUE_ID
|
||||
) C
|
||||
ON (A.USER_NAME = C.USER_NAME AND A.REPOSITORY_NAME = C.REPOSITORY_NAME AND A.ISSUE_ID = C.ISSUE_ID)
|
||||
LEFT OUTER JOIN PRIORITY D
|
||||
ON (A.PRIORITY_ID = D.PRIORITY_ID);
|
||||
</sql>
|
||||
</changeSet>
|
||||
10
src/main/resources/update/gitbucket-core_4.2.xml
Normal file
10
src/main/resources/update/gitbucket-core_4.2.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="REPOSITORY">
|
||||
<column name="ENABLE_ISSUES" type="boolean" nullable="false" defaultValueBoolean="true"/>
|
||||
<column name="EXTERNAL_ISSUES_URL" type="varchar(200)" nullable="true"/>
|
||||
<column name="ENABLE_WIKI" type="boolean" nullable="false" defaultValueBoolean="true"/>
|
||||
<column name="ALLOW_WIKI_EDITING" type="boolean" nullable="false" defaultValueBoolean="false"/>
|
||||
<column name="EXTERNAL_WIKI_URL" type="varchar(200)" nullable="true"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
39
src/main/resources/update/gitbucket-core_4.21.xml
Normal file
39
src/main/resources/update/gitbucket-core_4.21.xml
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<createTable tableName="RELEASE">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="TAG" type="varchar(100)" nullable="false"/>
|
||||
<column name="NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="AUTHOR" type="varchar(100)" nullable="false"/>
|
||||
<column name="CONTENT" type="text" nullable="true"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_RELEASE_PK" tableName="RELEASE" columnNames="USER_NAME, REPOSITORY_NAME, TAG"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_RELEASE_FK0" baseTableName="RELEASE" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<createTable tableName="RELEASE_ASSET">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="TAG" type="varchar(100)" nullable="false"/>
|
||||
<column name="RELEASE_ASSET_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="FILE_NAME" type="varchar(260)" nullable="false"/>
|
||||
<column name="LABEL" type="varchar(100)" nullable="true"/>
|
||||
<column name="SIZE" type="bigint" nullable="false"/>
|
||||
<column name="UPLOADER" type="varchar(100)" nullable="false"/>
|
||||
<column name="REGISTERED_DATE" type="datetime" nullable="false"/>
|
||||
<column name="UPDATED_DATE" type="datetime" nullable="false"/>
|
||||
</createTable>
|
||||
<addPrimaryKey constraintName="IDX_RELEASE_ASSET_PK" tableName="RELEASE_ASSET" columnNames="USER_NAME, REPOSITORY_NAME, TAG, FILE_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_RELEASE_ASSET_FK1" baseTableName="RELEASE_ASSET" baseColumnNames="USER_NAME, REPOSITORY_NAME, TAG" referencedTableName="RELEASE" referencedColumnNames="USER_NAME, REPOSITORY_NAME, TAG"/>
|
||||
|
||||
<createTable tableName="ACCOUNT_FEDERATION">
|
||||
<column name="ISSUER" type="varchar(100)" nullable="false"/>
|
||||
<column name="SUBJECT" type="varchar(100)" nullable="false"/>
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
</createTable>
|
||||
<addPrimaryKey constraintName="IDX_ACCOUNT_FEDERATION_PK" tableName="ACCOUNT_FEDERATION" columnNames="ISSUER, SUBJECT"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ACCOUNT_FEDERATION_FK0" baseTableName="ACCOUNT_FEDERATION" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
</changeSet>
|
||||
7
src/main/resources/update/gitbucket-core_4.22.xml
Normal file
7
src/main/resources/update/gitbucket-core_4.22.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="REPOSITORY">
|
||||
<column name="MERGE_OPTIONS" type="varchar(200)" nullable="false" defaultValue="merge-commit,squash,rebase"/>
|
||||
<column name="DEFAULT_MERGE_OPTION" type="varchar(100)" nullable="false" defaultValue="merge-commit"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
14
src/main/resources/update/gitbucket-core_4.23.xml
Normal file
14
src/main/resources/update/gitbucket-core_4.23.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<dropForeignKeyConstraint baseTableName="RELEASE_ASSET" constraintName="IDX_RELEASE_ASSET_FK1"/>
|
||||
|
||||
<dropForeignKeyConstraint baseTableName="RELEASE" constraintName="IDX_RELEASE_FK0"/>
|
||||
<dropPrimaryKey tableName="RELEASE" constraintName="IDX_RELEASE_PK"/>
|
||||
|
||||
<renameTable newTableName="RELEASE_TAG" oldTableName="RELEASE" />
|
||||
|
||||
<addPrimaryKey constraintName="IDX_RELEASE_TAG_PK" tableName="RELEASE_TAG" columnNames="USER_NAME, REPOSITORY_NAME, TAG"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_RELEASE_TAG_FK0" baseTableName="RELEASE_TAG" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<addForeignKeyConstraint constraintName="IDX_RELEASE_ASSET_FK0" baseTableName="RELEASE_ASSET" baseColumnNames="USER_NAME, REPOSITORY_NAME, TAG" referencedTableName="RELEASE_TAG" referencedColumnNames="USER_NAME, REPOSITORY_NAME, TAG"/>
|
||||
</changeSet>
|
||||
10
src/main/resources/update/gitbucket-core_4.24.xml
Normal file
10
src/main/resources/update/gitbucket-core_4.24.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<createTable tableName="ACCOUNT_EXTRA_MAIL_ADDRESS">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="EXTRA_MAIL_ADDRESS" type="varchar(100)" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_ACCOUNT_EXTRA_MAIL_ADDRESS_PK" tableName="ACCOUNT_EXTRA_MAIL_ADDRESS" columnNames="USER_NAME, EXTRA_MAIL_ADDRESS"/>
|
||||
<addUniqueConstraint constraintName="IDX_ACCOUNT_EXTRA_MAIL_ADDRESS_1" tableName="ACCOUNT_EXTRA_MAIL_ADDRESS" columnNames="EXTRA_MAIL_ADDRESS"/>
|
||||
</changeSet>
|
||||
8
src/main/resources/update/gitbucket-core_4.25.xml
Normal file
8
src/main/resources/update/gitbucket-core_4.25.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<modifyDataType columnName="PASSWORD" newDataType="varchar(200)" tableName="ACCOUNT"/>
|
||||
|
||||
<delete tableName="ACCOUNT_EXTRA_MAIL_ADDRESS">
|
||||
<where>EXTRA_MAIL_ADDRESS = ''</where>
|
||||
</delete>
|
||||
</changeSet>
|
||||
14
src/main/resources/update/gitbucket-core_4.27.xml
Normal file
14
src/main/resources/update/gitbucket-core_4.27.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="COMMIT_COMMENT">
|
||||
<column name="ORIGINAL_COMMIT_ID" type="varchar(100)" nullable="true"/>
|
||||
<column name="ORIGINAL_OLD_LINE" type="int" nullable="true"/>
|
||||
<column name="ORIGINAL_NEW_LINE" type="int" nullable="true"/>
|
||||
</addColumn>
|
||||
<update tableName="COMMIT_COMMENT">
|
||||
<column name="ORIGINAL_COMMIT_ID" valueComputed="COMMIT_ID"/>
|
||||
<column name="ORIGINAL_OLD_LINE" valueComputed="OLD_LINE_NUMBER"/>
|
||||
<column name="ORIGINAL_NEW_LINE" valueComputed="NEW_LINE_NUMBER"/>
|
||||
</update>
|
||||
<addNotNullConstraint columnName="ORIGINAL_COMMIT_ID" tableName="COMMIT_COMMENT" columnDataType="varchar(100)"/>
|
||||
</changeSet>
|
||||
16
src/main/resources/update/gitbucket-core_4.31.xml
Normal file
16
src/main/resources/update/gitbucket-core_4.31.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<!--================================================================================================-->
|
||||
<!-- SSH_KEY -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="GPG_KEY">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="KEY_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="GPG_KEY_ID" type="bigint" nullable="false"/>
|
||||
<column name="TITLE" type="varchar(100)" nullable="false"/>
|
||||
<column name="PUBLIC_KEY" type="text" nullable="false"/>
|
||||
</createTable>
|
||||
|
||||
<addPrimaryKey constraintName="IDX_GPG_KEY_PK" tableName="GPG_KEY" columnNames="USER_NAME, GPG_KEY_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_GPG_KEY_FK0" baseTableName="GPG_KEY" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
</changeSet>
|
||||
6
src/main/resources/update/gitbucket-core_4.32.xml
Normal file
6
src/main/resources/update/gitbucket-core_4.32.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="PULL_REQUEST">
|
||||
<column name="IS_DRAFT" type="boolean" nullable="false" defaultValueBoolean="false" />
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
4
src/main/resources/update/gitbucket-core_4.34.xml
Normal file
4
src/main/resources/update/gitbucket-core_4.34.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<dropTable tableName="ACTIVITY" />
|
||||
</changeSet>
|
||||
39
src/main/resources/update/gitbucket-core_4.35.xml
Normal file
39
src/main/resources/update/gitbucket-core_4.35.xml
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<!--================================================================================================-->
|
||||
<!-- WEB_HOOK -->
|
||||
<!--================================================================================================-->
|
||||
<dropForeignKeyConstraint constraintName="IDX_WEB_HOOK_EVENT_FK0" baseTableName="WEB_HOOK_EVENT"/>
|
||||
<dropForeignKeyConstraint constraintName="IDX_WEB_HOOK_FK0" baseTableName="WEB_HOOK"/>
|
||||
<dropPrimaryKey constraintName="IDX_WEB_HOOK_PK" tableName="WEB_HOOK"/>
|
||||
|
||||
<createTable tableName="WEB_HOOK_2">
|
||||
<column name="HOOK_ID" type="int" nullable="true" autoIncrement="true" unique="false" primaryKeyName="IDX_WEB_HOOK_PK" primaryKey="true" />
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="URL" type="varchar(200)" nullable="false"/>
|
||||
<column name="TOKEN" type="varchar(100)" nullable="true"/>
|
||||
<column name="CTYPE" type="varchar(10)" nullable="true"/>
|
||||
</createTable>
|
||||
|
||||
<sql>
|
||||
INSERT INTO WEB_HOOK_2 (USER_NAME, REPOSITORY_NAME, URL, TOKEN, CTYPE) SELECT USER_NAME, REPOSITORY_NAME, URL, TOKEN, CTYPE FROM WEB_HOOK
|
||||
</sql>
|
||||
|
||||
<renameTable newTableName="WEB_HOOK_BK" oldTableName="WEB_HOOK"/>
|
||||
<renameTable newTableName="WEB_HOOK" oldTableName="WEB_HOOK_2"/>
|
||||
|
||||
<addUniqueConstraint constraintName="IDX_WEB_HOOK_1" tableName="WEB_HOOK" columnNames="USER_NAME, REPOSITORY_NAME, URL"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_WEB_HOOK_FK0" baseTableName="WEB_HOOK" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_WEB_HOOK_EVENT_FK0" baseTableName="WEB_HOOK_EVENT" baseColumnNames="USER_NAME, REPOSITORY_NAME, URL" referencedTableName="WEB_HOOK" referencedColumnNames="USER_NAME, REPOSITORY_NAME, URL" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ACCOUNT_PREFERENCE -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ACCOUNT_PREFERENCE">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="HIGHLIGHTER_THEME" type="varchar(100)" nullable="false" defaultValue="prettify"/>
|
||||
</createTable>
|
||||
<addPrimaryKey constraintName="IDX_ACCOUNT_PREFERENCE_PK" tableName="ACCOUNT_PREFERENCE" columnNames="USER_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ACCOUNT_PREFERENCE_FK0" baseTableName="ACCOUNT_PREFERENCE" baseColumnNames="USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
</changeSet>
|
||||
6
src/main/resources/update/gitbucket-core_4.36.xml
Normal file
6
src/main/resources/update/gitbucket-core_4.36.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="REPOSITORY">
|
||||
<column name="SAFE_MODE" type="boolean" nullable="false" defaultValue="true"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
7
src/main/resources/update/gitbucket-core_4.37.xml
Normal file
7
src/main/resources/update/gitbucket-core_4.37.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<dropForeignKeyConstraint constraintName="IDX_WEB_HOOK_EVENT_FK0" baseTableName="WEB_HOOK_EVENT"/>
|
||||
<modifyDataType columnName="URL" newDataType="varchar(400)" tableName="WEB_HOOK_EVENT"/>
|
||||
<modifyDataType columnName="URL" newDataType="varchar(400)" tableName="WEB_HOOK"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_WEB_HOOK_EVENT_FK0" baseTableName="WEB_HOOK_EVENT" baseColumnNames="USER_NAME, REPOSITORY_NAME, URL" referencedTableName="WEB_HOOK" referencedColumnNames="USER_NAME, REPOSITORY_NAME, URL" onDelete="CASCADE" onUpdate="CASCADE"/>
|
||||
</changeSet>
|
||||
53
src/main/resources/update/gitbucket-core_4.38.xml
Normal file
53
src/main/resources/update/gitbucket-core_4.38.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<!--================================================================================================-->
|
||||
<!-- CUSTOM_FIELD -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="CUSTOM_FIELD">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="FIELD_ID" type="int" nullable="false" autoIncrement="true" unique="true"/>
|
||||
<column name="FIELD_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="FIELD_TYPE" type="varchar(100)" nullable="false"/>
|
||||
<column name="ENABLE_FOR_ISSUES" type="boolean" nullable="false"/>
|
||||
<column name="ENABLE_FOR_PULL_REQUESTS" type="boolean" nullable="false"/>
|
||||
</createTable>
|
||||
<addPrimaryKey constraintName="IDX_CUSTOM_FIELD_PK" tableName="CUSTOM_FIELD" columnNames="USER_NAME, REPOSITORY_NAME, FIELD_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_CUSTOM_FIELD_FK0" baseTableName="CUSTOM_FIELD" baseColumnNames="USER_NAME, REPOSITORY_NAME" referencedTableName="REPOSITORY" referencedColumnNames="USER_NAME, REPOSITORY_NAME"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE_CUSTOM_FIELD -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ISSUE_CUSTOM_FIELD">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
<column name="FIELD_ID" type="int" nullable="false"/>
|
||||
<column name="VALUE" type="varchar(200)" nullable="true"/>
|
||||
</createTable>
|
||||
<addPrimaryKey constraintName="IDX_ISSUE_CUSTOM_FIELD_PK" tableName="ISSUE_CUSTOM_FIELD" columnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID, FIELD_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_CUSTOM_FIELD_FK0" baseTableName="ISSUE_CUSTOM_FIELD" baseColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID" referencedTableName="ISSUE" referencedColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_CUSTOM_FIELD_FK1" baseTableName="ISSUE_CUSTOM_FIELD" baseColumnNames="USER_NAME, REPOSITORY_NAME, FIELD_ID" referencedTableName="CUSTOM_FIELD" referencedColumnNames="USER_NAME, REPOSITORY_NAME, FIELD_ID"/>
|
||||
|
||||
<!--================================================================================================-->
|
||||
<!-- ISSUE_ASSIGNEE -->
|
||||
<!--================================================================================================-->
|
||||
<createTable tableName="ISSUE_ASSIGNEE">
|
||||
<column name="USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="REPOSITORY_NAME" type="varchar(100)" nullable="false"/>
|
||||
<column name="ISSUE_ID" type="int" nullable="false"/>
|
||||
<column name="ASSIGNEE_USER_NAME" type="varchar(100)" nullable="false"/>
|
||||
</createTable>
|
||||
<addPrimaryKey constraintName="IDX_ISSUE_ASSIGNEE_PK" tableName="ISSUE_ASSIGNEE" columnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID, ASSIGNEE_USER_NAME"/>
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_ASSIGNEE_FK0" baseTableName="ISSUE_ASSIGNEE" baseColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID" referencedTableName="ISSUE" referencedColumnNames="USER_NAME, REPOSITORY_NAME, ISSUE_ID"/>
|
||||
<!--
|
||||
<addForeignKeyConstraint constraintName="IDX_ISSUE_ASSIGNEE_FK1" baseTableName="ISSUE_ASSIGNEE" baseColumnNames="ASSIGNEE_USER_NAME" referencedTableName="ACCOUNT" referencedColumnNames="USER_NAME"/>
|
||||
-->
|
||||
|
||||
<sql>
|
||||
INSERT INTO ISSUE_ASSIGNEE (USER_NAME, REPOSITORY_NAME, ISSUE_ID, ASSIGNEE_USER_NAME)
|
||||
SELECT USER_NAME, REPOSITORY_NAME, ISSUE_ID, ASSIGNED_USER_NAME FROM ISSUE WHERE ASSIGNED_USER_NAME IS NOT NULL
|
||||
</sql>
|
||||
|
||||
<dropColumn tableName="ISSUE" columnName="ASSIGNED_USER_NAME"/>
|
||||
</changeSet>
|
||||
6
src/main/resources/update/gitbucket-core_4.6.xml
Normal file
6
src/main/resources/update/gitbucket-core_4.6.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="REPOSITORY">
|
||||
<column name="ALLOW_FORK" type="boolean" nullable="false" defaultValueBoolean="true"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
38
src/main/resources/update/gitbucket-core_4.7.xml
Normal file
38
src/main/resources/update/gitbucket-core_4.7.xml
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="COLLABORATOR">
|
||||
<column name="ROLE" type="varchar(10)" nullable="false" defaultValue="ADMIN"/>
|
||||
</addColumn>
|
||||
<addColumn tableName="REPOSITORY">
|
||||
<column name="WIKI_OPTION" type="varchar(10)" nullable="false" defaultValue="DISABLE"/>
|
||||
<column name="ISSUES_OPTION" type="varchar(10)" nullable="false" defaultValue="DISABLE"/>
|
||||
</addColumn>
|
||||
<update tableName="REPOSITORY">
|
||||
<column name="WIKI_OPTION" value="DISABLE"/>
|
||||
<where>ENABLE_WIKI = FALSE</where>
|
||||
</update>
|
||||
<update tableName="REPOSITORY">
|
||||
<column name="WIKI_OPTION" value="PRIVATE"/>
|
||||
<where>ENABLE_WIKI = TRUE AND ALLOW_WIKI_EDITING = FALSE</where>
|
||||
</update>
|
||||
<update tableName="REPOSITORY">
|
||||
<column name="WIKI_OPTION" value="PUBLIC"/>
|
||||
<where>ENABLE_WIKI = TRUE AND ALLOW_WIKI_EDITING = TRUE</where>
|
||||
</update>
|
||||
<update tableName="REPOSITORY">
|
||||
<column name="ISSUES_OPTION" value="DISABLE"/>
|
||||
<where>ENABLE_ISSUES = FALSE</where>
|
||||
</update>
|
||||
<update tableName="REPOSITORY">
|
||||
<column name="ISSUES_OPTION" value="PUBLIC"/>
|
||||
<where>ENABLE_ISSUES = TRUE</where>
|
||||
</update>
|
||||
<dropColumn tableName="REPOSITORY" columnName="ENABLE_WIKI"/>
|
||||
<dropColumn tableName="REPOSITORY" columnName="ALLOW_WIKI_EDITING"/>
|
||||
<dropColumn tableName="REPOSITORY" columnName="ENABLE_ISSUES"/>
|
||||
|
||||
<!-- DELETE COLLABORATORS IN GROUP REPOSITORIES -->
|
||||
<sql>
|
||||
DELETE FROM COLLABORATOR WHERE USER_NAME IN (SELECT USER_NAME FROM ACCOUNT WHERE GROUP_ACCOUNT = TRUE)
|
||||
</sql>
|
||||
</changeSet>
|
||||
6
src/main/resources/update/gitbucket-core_4.9.xml
Normal file
6
src/main/resources/update/gitbucket-core_4.9.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<changeSet>
|
||||
<addColumn tableName="ACCOUNT">
|
||||
<column name="DESCRIPTION" type="text" nullable="true" />
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
@@ -1,29 +1,73 @@
|
||||
import app._
|
||||
import org.scalatra._
|
||||
import java.util.EnumSet
|
||||
import javax.servlet._
|
||||
|
||||
class ScalatraBootstrap extends LifeCycle {
|
||||
override def init(context: ServletContext) {
|
||||
context.mount(new IndexController, "/")
|
||||
context.mount(new SearchController, "/")
|
||||
context.mount(new FileUploadController, "/upload")
|
||||
context.mount(new SignInController, "/*")
|
||||
context.mount(new DashboardController, "/*")
|
||||
context.mount(new UserManagementController, "/*")
|
||||
context.mount(new SystemSettingsController, "/*")
|
||||
context.mount(new CreateRepositoryController, "/*")
|
||||
context.mount(new AccountController, "/*")
|
||||
context.mount(new RepositoryViewerController, "/*")
|
||||
context.mount(new WikiController, "/*")
|
||||
context.mount(new LabelsController, "/*")
|
||||
context.mount(new MilestonesController, "/*")
|
||||
context.mount(new IssuesController, "/*")
|
||||
context.mount(new PullRequestsController, "/*")
|
||||
context.mount(new RepositorySettingsController, "/*")
|
||||
import gitbucket.core.controller.{ReleaseController, _}
|
||||
import gitbucket.core.service.SystemSettingsService
|
||||
import gitbucket.core.servlet._
|
||||
import gitbucket.core.util.Directory
|
||||
import org.scalatra._
|
||||
|
||||
val dir = new java.io.File(_root_.util.Directory.GitBucketHome)
|
||||
if(!dir.exists){
|
||||
class ScalatraBootstrap extends LifeCycle with SystemSettingsService {
|
||||
override def init(context: ServletContext): Unit = {
|
||||
|
||||
val settings = loadSystemSettings()
|
||||
if (settings.baseUrl.exists(_.startsWith("https://"))) {
|
||||
context.getSessionCookieConfig.setSecure(true)
|
||||
}
|
||||
|
||||
// Register TransactionFilter at first
|
||||
context.addFilter("transactionFilter", new TransactionFilter)
|
||||
context
|
||||
.getFilterRegistration("transactionFilter")
|
||||
.addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/*")
|
||||
context.addFilter("gitAuthenticationFilter", new GitAuthenticationFilter)
|
||||
context
|
||||
.getFilterRegistration("gitAuthenticationFilter")
|
||||
.addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/git/*")
|
||||
context.addFilter("apiAuthenticationFilter", new ApiAuthenticationFilter)
|
||||
context
|
||||
.getFilterRegistration("apiAuthenticationFilter")
|
||||
.addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/api/*")
|
||||
|
||||
// Register controllers
|
||||
context.mount(new PreProcessController, "/*")
|
||||
|
||||
context.addFilter("pluginControllerFilter", new PluginControllerFilter)
|
||||
context
|
||||
.getFilterRegistration("pluginControllerFilter")
|
||||
.addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/*")
|
||||
|
||||
context.mount(new FileUploadController, "/upload")
|
||||
|
||||
val filter = new CompositeScalatraFilter()
|
||||
filter.mount(new IndexController, "/")
|
||||
filter.mount(new ApiController, "/api/v3")
|
||||
filter.mount(new SystemSettingsController, "/admin")
|
||||
filter.mount(new DashboardController, "/*")
|
||||
filter.mount(new AccountController, "/*")
|
||||
filter.mount(new RepositoryViewerController, "/*")
|
||||
filter.mount(new WikiController, "/*")
|
||||
filter.mount(new LabelsController, "/*")
|
||||
filter.mount(new PrioritiesController, "/*")
|
||||
filter.mount(new MilestonesController, "/*")
|
||||
filter.mount(new IssuesController, "/*")
|
||||
filter.mount(new PullRequestsController, "/*")
|
||||
filter.mount(new ReleaseController, "/*")
|
||||
filter.mount(new RepositorySettingsController, "/*")
|
||||
|
||||
context.addFilter("compositeScalatraFilter", filter)
|
||||
context
|
||||
.getFilterRegistration("compositeScalatraFilter")
|
||||
.addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/*")
|
||||
|
||||
// Create GITBUCKET_HOME directory if it does not exist
|
||||
val dir = new java.io.File(Directory.GitBucketHome)
|
||||
if (!dir.exists) {
|
||||
dir.mkdirs()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override def destroy(context: ServletContext): Unit = {
|
||||
Database.closeDataSource()
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user